2011年(76)
分类:
2011-09-06 14:01:25
原文地址:Linux启动和常见守护进程(DAEMON)分析 作者:platinaluo
GRUB->初始化硬件->进入protected mode加载系统->初始化各种核心数据结构 PID=0 创建 ->内核
init PID=1 为内核创建的第一个进程,接管孤儿进程,以及运行级别的转换,启动各种守护进程(内核线程)
events 处理内核事件及很多软硬事件(如断电),并分发给对事件感兴趣的线程进行响应
ksofttirq 处理软中断,由于硬中断往往需要关中断,为防止丢失新的中断,所以大部分中断交给此进程处理
kblockd管理磁盘块读写
kjournald Ext3文件系统日志管理,通常每一个MONUT的EXT3分区都有一个kjournal管理
pdflush DIRTY页面(页表中的D位,表示被写过)回写,DIRTY页面需要维护,太多的DIRTY页面容易导致突发事件内存请求响应过慢(SWAP速度)
kswapd 内存回收,确保空闲物理内存在一个合适的范围
内核->用户态 每个终端机执行minegetty进程,设定终端机属性,显示LOGIN画面,登陆后创建子进程(登陆进程),检查用户名密码,进入SHELL进程;若错误,则控制权返回GETTY进程。进入SHELL后可以按CTRL+D终止SHELL 返回到GETTY
用户进程:
crond 执行定时任务
mineetty 等待用户从TTY登陆
bash shell 接受用户命令,解释执行
sshd 服务器守护进程,ssh(远程登陆),控制文件传输
klogd 故障处理时传输消息
syslogd 系统日志进程
udevd 支持用户态设备操作(userspace device)
加载内核后并执行INTI上的各个进程,然后加载操作系统的环境变量(/ect/rc.d/rc.sysinit)及用户配置文件(etc/.profile),最后根据运行级(runlevel, /etc/inittab) 打开图形或文件界面,我们可以通过编辑这个文件来设定运行模式。