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 )
检错等。