系统调用接口模块(system calls interface)规定了用户进程可以访问的网络编程API 每个网络对象都被表示为一个套接字(socket)。套接字与进程关联的方法和i-nodes节点相同。通过两个task_struct指向同一个套接字,套接字可以被多个进程共享。(4)数据流,控制流和依赖关系当网络子系统需要等待硬件请求完成时,它需要通过进程调度系统将进程阻塞和唤醒——这形成了网络子系统和进程调度子系统之间的控制流和数据流。不仅如此,虚拟文件系统通过网络子系统实现网络文件系统(NFS)——这形成了VFS和网络子系统指甲的数据流和控制流。 七、结论1、Linux内核是整个Linux系统中的一层。内核从概念上由五个主要的子系统构成:进程调度器模块、内存管理模块、虚拟文件系统、网络接口模块和进程间通信模块。这些模块之间通过函数调用和共享数据结构进行数据交互。、 2、Linux内核架构促进了他的成功,这种架构使得大量的志愿开发人员可以合适得分工合作,并且使得各个特定的模块便于扩展。 可扩展性一:Linux架构通过一项数据抽象技术使得这些子系统成为可扩展的——每个具体的硬件设备驱动都实现为单独的模块,该模块支持内核提供的统一的接口。通过这种方式,个人开发者只需要和其他内核开发者做最少的交互,就可以为Linux内核添加新的设备驱动。 可扩展性二:Linux内核支持多种不同的体系结构。在每个子系统中,都将体系结构相关的代码分割出来,形成单独的模块。通过这种方法,一些厂家在推出他们自己的芯片时,他们的内核开发小组只需要重新实现内核中机器相关的代码,就可以讲内核移植到新的芯片上运行。
参考文章:http://oss.org.cn/ossdocs/linux/kernel/a1/index.html http://www.cs.cmu.edu/afs/cs/project/able/www/paper_abstracts/intro_softarch.html http://www.cs.cmu.edu/afs/cs/project/able/www/paper_abstracts/intro_softarch.html http://www.fceia.unr.edu.ar/ingsoft/monroe00.pdf -
(编辑:ASP站长网)
|