- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Solaris10基础:UNIX/Linux基本结构
UNIX/Linux基本结构
图1-3绘出了UNIX系统的高层次的体系结构。图中心的硬件部分向操作系统提供基本服务。操作系统直接与硬件交互,向程序提供公共服务,并使它们同硬件特性隔离。当我们把整个系统看成层的集合时,通常将操作系统称为系统内核,或简称内核,此时强调的是它同用户程序的隔离。因为程序是不依赖于其下面的硬件的,所以,如果程序对硬件没做什么假定的话,就容易把它们在不同硬件上运行的UNIX系统之间迁移。比如,那些假定了机器字长的程序就比没假定机器字长的程序更难以搬到其他机器上。外层的程序,诸如shell及编辑程序(vi),是通过引用一组明确定义的系统调用而与内核交互的。这些系统调用通知内核为调用程序做各种操作,并在内核与调用程序之间交换数据。图1-3中出现的一些程序属于标准的系统配置,就是大家所知道的命令。但是由名为a.out的程序所指示的用户自有程序也可以存在于这一层。此处的a.out是被C编译程序产生的可执行文件的标准名字。其他应用程序能在较低的程序层次之上构筑而成,因此它们存在于图1-3的最外层。比如,标准的C编译程序cc就处在图1-3的最外层;它引用C预处理程序、两次编译程序、汇编程序及装入程序(称为连接-编译程序),这些都是彼此分开的底层程序。虽然图1-3对应用程序只描绘了两个级别的层次,但用户能够对层次进行扩充,直到级别的数目适合于自己的需要。确实,为UNIX系统所偏爱的程序设计风格鼓励把现存程序组合起来去完成一个任务。
一大批提供了对系统的高层次看法的应用子程序及应用程序,诸如shell、编辑程序、SCCS(Source Code Control System)及文档准备程序包等,都逐渐变成了UNIX系统这一名称的同义语。然而,它们最终都使用由内核提供的底层服务,并通过系统调用(System Call)的集合利用这些服务。系统调用的集合及其实现系统调用的内部算法形成了内核的主体。简言之,内核提供了UNIX/Linux系统全部应用程序所依赖的服务,并且内核定义了这些服务。下面我们将进一步介绍内核,对内核的体系结构提出一个总的看法,勾画出它的基本概念和结构,这将帮助读者更好地学习以后的内容。
图1-4给出了内核的框图,显示出了各种模块及它们之间的相互关系,它特别指出了内核的两个主要成分:左边的文件子系统和右边的进程控制子系统。虽然实际上,由于某些模块同其他模块的内部操作进行交互而使内核偏离该模型,但该图仍可以作为观察内核的一个有用的逻辑观点。在图1-4中我们看到了三个层次:用户、内核及硬件。系统调用与库接口体现了图1-4中描绘的用户程序与内核间的边界。系统调用看起来像C程序中普通的函数调用,而库把这些函数调用映射成进入操作系统所需要的源语。然而,汇编语言程序可以不经过系统调用库而直接引用系统调用。程序常常使用像标准I/O库这样一些其他的库程序以提供对系统调用的更高级的使用。由于在编译期间把这些库连接到程序上,因此,以这里的观点来说,这些库是用户程序的一部分。?
图1-3? UNIX系统的高层次的体系结构?
?图1-4? UNIX系统内核结构
图1-4把系统调用的集合分成与文件子系统交互作用的部分及与进程控制子系统交互作用的部分。文件子系统管理文件,其中包括分配文件空间、管理空闲空间、控制对文件的存取,以及为用户检索数据。进程通过一个特定的系统调用集合,比如通过系统调用open,close,read,write,stat,chown及chmod等与文件子系统交互。文件子系统使用一个缓冲机制存取文件数据,缓冲机制调节在核心与二级存储设备之间的数据流。缓冲机制同块I/O设备驱动程序交互作用,以便启动往核心去的数据传送及从核心来的数据传送。设备驱动程序是用来控制外围设备操作的核心模块。块I/O设备是随机存取存储设备,或者说,它们的设备驱动程序使得它们对于系统的其他部分来说好像是随机存取存储设备。
例如,一个磁带驱动程序可以允许核心把一个磁带装置作为一个随机存取存储设备看待。文件子系统可以在没有缓冲机制干预的情况下直接与原始I/O设备驱动程序交互作用。原始设备,有时也被称为字符设备,包括所有非块设备。进程控制子系统负责进程同步、进程间通信,存储管理及进程调度。当要执行一个文件而把该文件装入存储器中时,文件子系统与进程控制子系统交互:进程子系统在执行可执行文件之前,把它们读到内存中。输入/输出存储管理模块控制存储分配。
在任何时刻,只要系统没有足够的物理存储供所有进程使用,核心就在内存与二级存储之间对进程进行交换,以便所有的进程都得到公平的执行机会。调度程序模块把CPU分配给进程。该模块调度各进程依次运行,直到它们因等待资源而自愿放
您可能关注的文档
- Unix Shell 编程简介.doc
- UNIX SHELL脚本编程.doc
- UNIX 常用指令.doc
- UNIX 高手的 20 个习惯.doc
- UNIX、Linux系统操作入门篇.doc
- UNIX_LINUX操作系统重点知识复习.doc
- UNIX_备份系统管理参考手册v1.2.doc
- Unix_文件安全与权限.doc
- UnixLinux系统网络接口带宽管理二.doc
- UNIX安装步骤.doc
- 2025至2030年中国卷材快压机市场分析及竞争策略研究报告.docx
- 2025至2030年中国卷边Z型钢市场分析及竞争策略研究报告.docx
- 2025至2030年中国厂房食堂系统市场分析及竞争策略研究报告.docx
- 2025至2030年中国压克力半弧底盆市场分析及竞争策略研究报告.docx
- 2025至2030年中国压光无纺布市场分析及竞争策略研究报告.docx
- 2025至2030年中国压克力铸型管市场分析及竞争策略研究报告.docx
- 2025至2030年中国压力式水力测功器市场分析及竞争策略研究报告.docx
- 2025至2030年中国压光上胶布市场分析及竞争策略研究报告.docx
- 妊娠合并心衰产房抢救流程.docx
- 2025至2030年中国压刨市场分析及竞争策略研究报告.docx
文档评论(0)