自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 共享内存的简单了解

共享内存共享内存就是不同进程之间共享的内存区域简单地说共享内存是在多个进程之间共享内存区域的一种进程间的通信方式,它是在多个进程之间对内存段进行映射的方式实现内存共享的。这是IPC最快的方式。工作机制共享内存的效率采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝,采用共享内存的通信方式效率是非常高的。共享内存的特点...

2019-08-17 11:55:16 1486

原创 进程间的死锁问题

死锁问题:1、什么是死锁?死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成一种阻塞的现象,若无外力作用,他们都将无法推进下去,此时称系统处于死锁状态或者系统产生了死锁,这些永远相互等待的进程称为死锁进程。2、产生死锁的原因:因为系统资源不足 进程运行推进的顺序不合适 资源分配不当等如果系统资源充足,进程的资源请求都能得到满足,死锁出现的可能性就很低...

2019-08-16 21:59:54 1469

原创 现有容量为10GB的磁盘分区,磁盘空间以簇(cluster)为单位进行分配,簇的大小为4KB,若采用位图法管理该分区的空闲空间,即用一位(bit)标识一个簇是否被分配,则存放该位图所需簇的个数为

现有容量为10GB的磁盘分区,磁盘空间以簇(cluster)为单位进行分配,簇的大小为4KB,若采用位图法管理该分区的空闲空间,即用一位(bit)标识一个簇是否被分配,则存放该位图所需簇的个数为 (A)A.80B.320C.80KD.320K解答:方法一:设磁盘容量为A,则A=10G=10*1024 M=10*1024*1024 K=10*1024*1024*10...

2019-08-16 18:27:36 15735 6

原创 不正确的是:A.char a[10]="china"; B.char a[10],*p=a;p="china" ..以及辨析char *a;*a="china";是否等价于char*a="china"

下面说明不正确的是()。A.char a[10]="china";B.char a[10],*p=a;p="china"C.char *a;a="china";D.char a[10],*p;p=a="china"解析:因为字符数组a是作为字符串常量存在的,只能在定义时赋值,不能像这样在后面对数组进行赋值操作。C语言中操作一个字符串常量的方法有:① 把字符串常量...

2019-08-15 16:33:37 17994 1

原创 线程安全问题

什么是线程安全?线程安全是多线程编程时的计算机程序代码中的一个概念。再此,我们得先知道什么是多线程:即就是一个程序中有多个线程在执行线程安全问题大多是由全局变量及静态变量引起的,局部变量逃逸也可能导致线程安全问题。若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。线...

2019-08-13 17:07:27 140

原创 了解进程与线程的概念及进程与线程之间的区别和联系

进程与线程:进程:进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。线程:是操作系统能够进行运算调度的最小单位。它被包含在进程中,是进程中的实际运作单位,一条线程指的是进程中一个单一顺序的控制流一个进程中可以并发多个线程,每个线程并行执行不同的任务。在Unix中,被称为轻量进程,但轻量进程更多指内核线程,而把用户线程称为线程。...

2019-08-13 16:41:17 337

原创 shell特殊变量总结:$#、$0、$*、$$、$-、$?、$1、$2、$@命令

11. bash shell 中,用来获得用户传入参数的特殊变量为( C )A.$# B.$$ C.$@ D.$0shell特殊变量总结:$#:脚本的参数个数$0: 脚本名$*:以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过九个$$:脚本运行的当前进程ID号$-:记录着当前设置的shell选项$?:显示...

2019-08-13 14:58:09 494

原创 守护进程与daemon的使用

守护进程:是运行于后台常驻内存的一种特殊进程,周期性的执行或者等待trigger执行某个任务,与用户交互断开,独立于控制终端。它的父进程是init进程守护进程一般用作服务器进程守护进程一般在系统启动时开始运行,除非强行终止,否则直到系统关机都保持运行。守护进程的名称通常以d结尾,比如sshd、xinetd、crond等守护进程的特点运行方式:后台运行 生命周期:守护进...

2019-08-12 17:18:42 449

原创 exit()函数和_exit()函数的区别

结束进程在C语言中,我们用continue,break,return结束循环或退出函数continue:结束本次循环break:跳出整个循环,或跳出switch()语句return:结束当前函数在Linux中,我们通过exit()或_exit()来结束当前进程exit()函数所需头文件:#include<stdlib.h>void exit(int ...

2019-08-11 18:38:39 1249

原创 fork()函数,fork()子进程父进程的比较总结,fork()与vfork()的比较总结

进程创建fork()fork()函数以父进程为蓝本复制一个进程,其ID号与父进程ID号不同,内存等与父进程不同,其他与父进程同享,只有在父进程或者子进程进行了修改后,才重新生成一份。成功时,fork返回是进程ID,失败返回-1;#include<sys/types.h>#include<unistd.h>pid_t fork(void)for k()...

2019-08-11 18:04:32 761

原创 区分‘0’、‘\0’、0、“0”以及字符的运算

以下值不等于3的表达式是_____________()A.'D'-'A'B.'6'-'3'C.\011'D.3+'\0解析:\123 、\222、 \***\后面加上三个数字(都是默认八进制)'\011'表示的是一个八进制数,转换为十进制就是1*8+1*8^0=9在此区分‘0’、‘\0’、0、“0”‘0’代表字符0,对应的ASCLL码值为48‘\0...

2019-08-08 17:24:26 1387

原创 以下函数中,和其他函数不属于一类的是____。 strcpy strncpy snprintf strcat strtok strncat

以下函数中,和其他函数不属于一类的是____。strcpy strncpy snprintf strcat strtok strncat解析:strcpy:拷贝字符串strncpy:复制某一长度的字符串到另一个字符串中strcat:连接两个字符串strtok:查找指定字符之前的子串strncat:连接某一长度的两个字符串snprintf:将可变参...

2019-08-08 15:57:28 936

原创 在Linux系统上,下面那个命令不可以用来查看文件内容() Cat ls less more

在Linux系统上,下面那个命令不可以用来查看文件内容()Cat ls less more解析:linux系统可以用来查阅全部文件的三种命令:cat more lessmore命令:可以让屏幕在显示满一屏幕时,此时可按空格键继续显示下一个画面,或按Q键停止显示less命令:可以分页显示文件,和more命令的区别就在于它支持上下键卷动屏幕,当结束游览时,只要在less命令的提示符...

2019-08-08 15:22:29 12627

原创 使用什么命令把两个文件合并成一个文件?(A) A.cat B.grep C.awk D.cut

使用什么命令把两个文件合并成一个文件?(A)A.cat B.grep C.awk D.cutgrep:是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。awk:强大的文本分析工具,把文件艾尼逐行的读入,以空格为默认分隔符将每行切片,切开的部分在进行各种分析处理。cut:linux中截取字符串命令只有cat可以合并文件。如下图...

2019-08-08 13:58:53 3598

原创 OSI七层模型与TCP/IP五层模型

在OSI模型中,HTTP协议工作在第()层,交换机工作在第()层。(B)A.7/3B.7/2C.6/3D.6/2解答:http在应用层就是第七层,交换机工作在第二层。OSI模型:开放式系统互联模型,一般都叫OSI参考模型OSI七层模型的划分:1.物理层:RJ45、CLOCK、IEEE802.3(中继器,集线器,网关)2.数据链路层:ppp、FR、HDLC、VLA...

2019-08-08 12:25:34 791

原创 Linux信号

Linux信号信号是一种软件中断,它提供了一种处理异步事件的方法,也是进程间唯一的异步通信方式。在Linux系统中,根据POSIX标准扩展以后的信号机制,不仅可以用来通知某种程序发生了什么事件,还可以给进程传递数据。一、信号的来源:两种方式:硬件方式和软件方式二、哪些情况会引发信号?1.键盘事件 ctrl+c ctrl+l2.非法内存 如果内存管理出错,系统就会发送一个信号...

2019-08-08 10:45:26 145

原创 dup和dup2函数

dup和dup2函数dup和dup2是两个非常有用的调用,他们的作用都是用来复制一个文件的描述符(使我们能够通过两个或者更多个不同的文件描述符来访问同一个文件),他们经常用来重定向进程的stdin、stdout和stderr。声明如下:#include<unistd.h>int dup(int fd);源描述符fd,返回值是描述符表中最小的文件描述符,返回的描述符和...

2019-08-07 18:08:49 2773

原创 linux下的文件空洞与空洞文件

文件空洞与空洞文件lseek()系统调用可以改变文件的偏移量,但如果程序调用使得文件偏移量跨越了文件结尾,然后在执行I/O操作,将会发生什么情况?read()调用会返回0,表示文件结尾。write()调用可以在文件尾后的任意位置写入数据。在这种情况下,对该文件的下一次写将延长该文件,并在文件中构成一个空洞,这一点是允许的。从原来文件结尾到新写入数据间的这段空间被称为文件空洞。文件空洞不占用...

2019-08-07 16:05:17 3599

原创 文件偏移lseek函数

在调用read()和write()函数时,每次操作成功后,文件当前的操作位置都会移动。其中隐含了一个概念,即文件的偏移量。文件的偏移量指的是当前文件操作位置相对于文件开始位置的偏移。头文件: #include <unistd.h> #include <sys/types.h> 函数原型: off_t lseek(int fd, off_t...

2019-08-06 18:14:45 1164

原创 inode节点(详解)

首先,要明确理解inode是理解Linux/Unix文件系统和硬盘存储的基础。1.什么是inode?理解inode,要从文件存储说起。文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”。每个扇区能存储512字节(相当于0.5KB)。操作系统在读取硬盘的时候,不会一个个扇区读取,这样效率太低,而是一次性连续读取多个扇区(即一次性读取一个块),这种由多个扇区组成的“块”,是文件存取的最小单位。“...

2019-08-06 16:30:09 3142

原创 Linux I/O缓冲(系统调用和标准I/O)

1.两类I/O函数的缓冲机制1.1系统调用这类代表就是read/write等系统函数,它们是不带缓冲的,这里的缓冲指的是进程缓冲,在内核到磁盘之间还是有内核缓冲的。1.2标准I/O这类代表就是fread/fwrite等函数,它们带有进程缓冲,可移植性强,最后还是通过read/write函数实现的。2.两种缓冲的作用首先要了解一下写一条内容到文件中的过程,以标准...

2019-08-06 13:56:11 168

原创 理解文件描述符(fd)与 文件指针(FILE*),及二者的区别

所有对设备和文件的操作都是使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程所打开的文件的记录表:当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,需要把文件描述符作为参数传递给相应的函数。通常,一个进程启动时,都会打开3个文件:标准输入:对应文件描述符为0(STDIN_FILENO)标准输出:对应文件描...

2019-08-06 10:46:53 1799

原创 Shell 输入/输出重定向(深刻理解)

Shell 输入/输出重定向大多数UNIX系统命令从你的终端接受输入并将所产生的输出发送回到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。重定向命令列表如下: 命令 说明 command >file 将输...

2019-08-03 17:37:05 519 1

原创 Shell 函数

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用shell中函数的定义格式如下:[ function ] funname[()]{action;[return int;]}说明:可以带function fun()定义,也可以直接fun()定义,不带任何参数。 参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,...

2019-08-03 17:33:31 81

原创 shell脚本语言,linux中的until循环,case、esac、break、continue语句的应用

until 循环until循环执行一系列命令直至条件为true时停止until循环与while循环在处理方式上刚好相反一般while循环优于until循环,但在某些时候-也只是极少数情况下,until循环更加有用。until语法格式until conditiondo commanddonecondition一般为条件表达式,如果返回值为false,则...

2019-08-03 16:10:49 466

原创 linux,shell脚本语言,if else语句,for语句,while语句以及无限循环

if elseifif语句语法格式:if conditionthen command1 command2 ... commandN fi写成一行(适用于终端命令提示符):if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi末尾的fi就是if倒...

2019-08-03 16:06:56 848

原创 Shell test 命令

shell中的test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试 参数 说明 -eq 等于为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为...

2019-08-01 17:51:03 117

原创 Shell printf 命令

printf 命令模仿 C 程序库(library)里的 printf() 程序。printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好。printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n。...

2019-08-01 16:34:29 123

原创 linux下的正则表达式

Linux中的正则表达式:正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作,其中最为重要作用是匹配。正则表达式与通配符正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达式。通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp这些命令不支持正则表达式,所以只...

2019-08-01 10:24:19 191

原创 Navicat for Mysql注册(Navicat 8.2 MySQL 8.2.17注册码)写入注册码后,点不动确认键

在注册Navicat for Mysql时,会遇到写入注册码时,仍旧点不动确认,在此我以自己的所用版本为例说明此情况。点击 “注册”,进入此界面,搜索相应的注册码(各版本的注册码不一致)如果输入注册码后,“确定键”仍旧无法按下(名和组织可以随便写),注册码后的图标仍旧是这样的—— ,那就代表你找的注册码不对,需重新再找。如果找到正确注册码后则是这样的。此时注册码后的图标会自动变成绿...

2019-07-30 18:02:05 3268

原创 存储过程实验

一、实验目的及要求 1.掌握用户存储过程的创建操作。 2.掌握用户存储过程的执行操作。 3.掌握用户存储过程的删除操作。 二、实验环境 Microsoft SQL Server 2008 三、实验内容 对应于“S+学号”数据库 (1)创建一个无参存储过程StuScoreInfo,查询以下信息:班级,学号,姓名,性别, ...

2019-07-30 10:33:11 4109

原创 数据库安全性的管理

一、实验目的及要求 1. 掌握SQL Server身份验证模式。 2. 掌握创建登录账户、数据库用户的方法。 3. 掌握使用角色实现数据库安全性的方法。 4. 掌握权限的分配。 二、实验环境 Microsoft SQL Server 2008 三、实验内容 1. 创建角色ProgramerRole,拥有创建表,存储过...

2019-07-30 10:30:04 908

原创 select、epoll、poll三种模型及三种的区别及比较

POLL模型Poll功能:监测文件描述符上,是否有某些事件发生1.函数:#include<poll.h>int poll(struct pollfd *fds,unsigned int nfds,int timeout);参数:(1)fds:是一个poll函数监听的struct pollfd结构类型的数组,每一个元素中,包含了三部分内容:文件描述符,监听的事件集合,返回...

2019-07-29 16:02:58 1020

原创 Sockaddr结构体

Sockaddr和sockaddr_in的相互关系一般先把sockaddr_in变量赋值后,强制类型转换后传入用sockaddr做参数的函数sockaddr_in用于socket定义和赋值sockaddr用于函数参数sockaddr_in结构体:struct sockaddr_in中的in表示internet,就是网络地址,这只是我们比较常用的地址结构,属于AF_INET地址族,s...

2019-07-29 15:09:15 3379

原创 LT触发模式和ET触发模式

LT触发模式和ET触发模式epoll对文件描述符的操作有两种模式:LT(水平模式)和ET(边缘模式)。LT模式是默认模式,LT模式与ET模式区别如下:LT模式:当epoll_wait检测到描述符事件发生并将此事件通知应用程序,应用程序可以不立即处理该事件。下次调用epoll_wait时,会再次响应应用程序并通知此事件。使用此种模式,当数据可读的时候,epoll_wait()将会一直返回...

2019-07-29 14:31:02 744

原创 触发器试验

实验名称 触发器试验 实验地点 实验楼502 实验日期 5.23 一、实验目的及要求 1. 掌握触发器的创建、修改和删除操作 2. 掌握触发器的触发执行 3. 掌握触发器与约束的不同 二、实验环境 Windows10+SQL Sever 2008 ...

2019-07-26 09:27:38 1648 1

原创 下面哪些函数调用必须进入内核才能完成?A.fopen B.exit C.memcpy D.strlen

下面哪些函数调用必须进入内核才能完成?A.fopenB.exitC.memcpyD.strlen解析:fopen是打开文件的函数,文件也可以看成是一个设备,打开一个设备将导致给设备所属的驱动程序发送一个IRP(输入输出请求包),而真实硬件相关的驱动程序都运行于内核。exit函数是结束进程的函数,结束进程需要访问TCB和PCB等等这些数据结构,而这些数据结构都存在于内核中。me...

2019-07-26 09:02:23 1523

原创 在CPU和物理内存之间进行地址转换时,( )将地址从虚拟(逻辑)地址空间映射到物理地址空间

在CPU和物理内存之间进行地址转换时,( )将地址从虚拟(逻辑)地址空间映射到物理地址空间TCB MMU CACHE DMA解析:MMU是Memory Manage Unit的缩写,即存储管理单元,是中央处理器用来管理虚拟内存和物理内存寄存器的控制线路,也负责虚拟内存映射为物理内存。其功能是和物理内存之间进行地址转换在CPU和物理内存之间进行地址转换,将地址从逻辑空间映射到物理地址空间...

2019-07-25 14:27:47 4429 1

原创 如何获取上一条命令执行的返回码

如何获取上一条命令执行的返回码(C)A.$!B.$0C.$?D.$#汇总:$0 # 脚本启动名(包括路径) $n # 第n个参数,n=1,2,…9 $* # 所有参数列表(不包括脚本本身) $@ # 所有参数列表(独立字符串) $# #...

2019-07-25 14:26:52 4483

原创 Linux文件系统的目录结构是一棵倒挂的树,文件都按其作用分门别类地放在相关的目录中。现有一个外部设备文件,我们应该将其放在?(Linux文件系统的目录各存放什么类型的文件)

Linux文件系统的目录结构是一棵倒挂的树,文件都按其作用分门别类地放在相关的目录中。现有一个外部设备文件,我们应该将其放在?(c)A./binB./etcC./devD./lib笔记:/bin:存储系统可执行文件(二进制文件)/etc:存储密码文件/dev:存储外部设备文件/lib:存储系统的库目录...

2019-07-25 14:25:01 6590

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除