赞助连接

赞助连接

阅 读 文 章

[转贴]FreeBSD核心入门 作者:(日)大木敦雄 译:Liangvy

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(leolee761128) | 时间:2007-05-27 | 浏览:人次 ]


 内存里动作。kthread_init(),kproc_start(&page_kp),kproc_start(&vm_kp) 
 ,kproc_start(&up_kp)等这几个进程,在fork()后相继被调用。它就是相 
 应的进程1,2,3,4等。 
 除process 1 以外,其他的进程调用并不返回调用的地址。(也就是,main() 
 的跟随执行后,并不返回locore.s)。对于process #1的kernel的虚拟内存, 
 在kthread_init()返回后,main()的跟随就完了,回到locore.s后,process #1 
 的进程空间的配置文件/sbin/init就被执行。 
 main()在process #0对应的kernel虚拟内存运行后,进入时间链表scheduler()。 
 这个并不返回。那现在就有五个进程了。 
 然后,fork() 的调用在下面说明。 
         1,分配process ID,保证struct proc()用的空间。 
         2,复制父亲的process的虚拟内存空间,作成物理内存的变换表。对 
            应两个进程,采用相对应的物理内存表。 
         3,给回父亲的struct proc和struct user,然后对子进程的struct和 
            struct user进行初始化。 
         4,kernel的stacker也进行复制。 
         5,返回父进程后,标记生成的子进程。完成处理。 
 但是,process #0 -- 4 这五个进程的虚拟内存里面什么都没有。这些是核心 
 进程的特殊部分。进程0,2,3是调节系统存在的进程的执行优先级,监视物理 
 内存的不足,如果不够就使用swap区进行交换。进程4的作用就是定期调查核心 
 的unix文件系统的管理信息与驱动程序的管理信息的一致性,使它的信息一直 
 是最新的。 

 1.3.3 /sbin/init 
 从kernel里面看,/sbin/init就是单一的进程空间里动作,与一般的 
 user program一样,提供user使用的unix文件系统的环境的服务。 
 核心启动后最初的动作就是/sbin/init。作用如下: 
         。确保file system的一致性,进行mount。 
         。之后,network的设定和各种daemon的启动。 
         。监视终端的login的配置和动作状态。这个动作完了后(logout), 
           修改和配置 login。 
 也就是说,如果没有它,用户就不能使用unix文件系统。还有就是,如果boot  
 progam参数指定-s的话,它就过渡到单一的用户模式。相对来说,普通的用户 
 模式也就是multi模式。为了使普通用户能够使用系统,/sbin/init的参考文件 
 主要在/etc目录里放着。主要就是运行/etc/rc文件对系统进行初始化。 
 /etc/rc文件的主要内容和作用如下: 
         。使系统能够使用swap区 
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 作者 入门 核心 文件 进行 设备 系统 调用 操作 v-node

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.