2009-5-22
 
1.       目录相关
 
etc:系统配置文件目录,其中的initable是由1号进程init解析的,也就是说init进程的启动要依赖initable
 
boot:系统启动相关文件夹,grub子目录,存放引导程序的配置信息等【grub.conf
 
proc:系统运行时的映射,该目录下的数字子目录为当前运行的进程号,其下包含进程运行状态等信息
 
sbin:系统管理工具一般都放在这个目录下
 
usr:其下的include子目录,是应用程序首先搜索的头文件处
 
2.       进程管理相关
 
Init进程:是系统的第一个进程,它是不会终止的。它实际上是一个普通用户进程,但是以超级用户特权运行,不是内核中的系统进程
 
fork函数:被调用一次,但是有两次返回值。在子进程中的返回值是0,在父进程中的返回值是刚创建的子进程的进程ID号。
 
fork之后是父进程还是子进程先运行是不确定的,这取决于内核所使用的调度算法。
 
fork之所以会有两个返回值是因为:子进程复制父进程的代码段与数据段,这样【假设fork之后是父进程先运行】父进程运行过后,子进程以同样的代码运行,但是当运行到fork调用的时候,就直接返回0了。
 
在用fork函数创建子进程之后,子进程会调用一种exec【其有多种变形】函数以执行刚创建的子进程。
 
kill命令,不仅可以终止进程【需指定PID,也就是说可以终止别的进程】,还有另外一个作用就是给进程发送别的信号【除了kill之外的信号】。而raise命令只给本身调用它的进程发送信号。
 
守护进程创建步骤:
(1)       fork,父进程退出
(2)       子进程中调用setsid,进行对该进程的剥离
(3)       调用chdir,改变工作目录,一般在根目录【“/”】下
(4)       调用unmask
(5)       调用close,以关闭从父进程继承来的文件描述符
之后,该新创建的子进程就是一个守护进程【在后台运行的进程】,它直接由1号进程init管理,也就是其PPID【父进程PID】为1
 
system函数:其作用是在程序执行过程中给进程以执行shell命令的机会
 
 
3.       文件操作相关
 
fopen类函数:其在读写文件的时候是带有缓存操作的,该类函数为C标准库函数
open类函数:其在读写文件的时候是不带缓存操作的,该类函数为POSIX标准函数。
 
select函数,选择等待事件的操作集。不仅仅是用于网络的,文件类操作也可以用。
 
4.       关于奇偶检验
奇校验:就是看2进制数的1的个数为奇数,是奇数个的话就在校验位填0,是偶数个的话就在校验位填1,目的是使1的个数变成奇数个
偶校验:就是看2进制数的1的个数为偶数,是偶数个的话就在校验位填0,是奇数个的话就在校验位填1,目的是使1的个数变成偶数个
然后传送数据,接收后在做相应的奇偶校验,判断是否有位传送错误。奇偶校验的目在于检错,而无纠错能力。有些检错方法,具有自动纠错能力.如循环冗余码( CRC )检错等。