根据学习Unix操作系统很久的积累,今天我要给大家讲解一下Unix操作系统的几个主要系统进程的知识。系统进程(Syetem Process ,又叫Daemon Process),不依赖于终端或用户的进程。用ps命令查询时,在TTY字段处显示为“?”。这些知识对我们来说是很重要的。希望大家能够好好学习。
一、Unix操作系统最先启动的几个系统进程为:
1. sched:PID=0
?; Unix操作系统核心创建的第一个进程
?; 系统启动时创建其他系统进程
?; 负责进程在swap和memory之间的切换(进程调度)
2. init:PID=1
?; 初始化boot和login进程
?; 所有用户进程的“祖先”(ancestor)
?; 所有非sched创建的系统进程的“祖先”(ancestor)
3. vhand:PID=2
?; 将memory中较少使用的页移入swap 区。
4. dbflush:PID=3
?; 在一定的时间间隔将“buffer cache”中的内容刷新至硬盘。
5. kmdaemon:PID=4
?; 管理保留内存池,以备服务进程中断时取用
6. htepi_daemon:PID=5
?; 处理“ht filesystem driver ” 的异步日志文件的修改
二、Unix操作系统中的init进程的说明:
init首先完成/etc/default/boot,然后再执行/etc/inittab中的指令。在从/etc/inittab中取得运行模式前,它首先派生一个shell完成下列工作:
- /etc/bcheckrc 检查根文件系统
- /etc/ifor_pmd 执行注册管理程序(许可证管理)
- /etc/smmck 检查TCB(Trusted Computing Base database) /etc/auth,/tcb
若选择了Unix操作系统多用户模式,init继续派生一个shell执行下列工作:
/etc/asktimerc,/etc/authchkrc(作用同smmck,只是smmck运行于单用户)
这样,我们就对Unix操作系统最先启动的几个系统进程进行了大概的了解。
【编辑推荐】