第1章 操作系统引论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式系统中的客户/服务器模型 C/ S结构(微内核结构) 充分的模块化,可独立更换任一模块而不会影响其他模块,从而方便第三方开发、设计模块。 未被使用的模块功能不必运行,因而能大幅度减少系统的内存需求。 具有很高的可移植性:只需要把微内核本身进行移植就可以完成将整个内核移植到新的平台上。其他模块都只依赖于微内核或其他模块,并不直接直接依赖硬件。 C/ S结构(微内核结构) 对比: 宏内核:执行效率较高 微内核:具有很好的可移植性,但效率较低(但可以通过提高硬件性能来补偿) 流行操作系统结构概览 UNIX LINUX WINDOWS UNIX UNIX于1969年诞生于贝尔实验室的计算机科学家Ken Thompsom的头脑中。 是笔记本电脑、PC、PC服务器、 中小型机、工作站、大巨型机及群集、SMP、MPP上全系列通用的操作系统。 UNIX系统的特点 可靠性高 伸缩性强 开放性好 网络功能强 强大的数据库支持功能 UNIX哲学思想 一个命令只干一件事,但要干好 神圣的“KISS 原则”: ??? KEEP? IT?? SIMPLE ,? STUPID ! 题外话:简单原则 1. 清晰原则。 代码要写得尽量清晰,避免晦涩难懂。清晰的代码不容易崩溃,而且容易理解和维护。重视注释。不为了性能的一丁点提升,而大幅增加技术的复杂性,因为复杂的技术会使得日后的阅读和维护更加艰难。 题外话:简单原则 2. 模块原则。 每个程序只做一件事,不要试图在单个程序中完成多个任务。在程序的内部,面向用户的界面(前端)应该与运算机制(后端)分离,因为前端的变化往往快于后端。 题外话:简单原则 3. 组合原则。 不同的程序之间通过接口相连。接口之间用文本格式进行通信,因为文本格式是最容易处理、最通用的格式。这就意味着尽量不要使用二进制数据进行通信,不要把二进制内容作为输出和输入。 题外话:简单原则 4. 优化原则。 在功能实现之前,不要考虑对它优化。最重要的是让一切先能够运行,其次才是效率。“先求运行,再求正确,最后求快。”(Make it run, then make it right, then make it fast.)90%的功能现在能实现,比100%的功能永远实现不了强。 传统的UNIX内核体系结构 传统的UNIX内核体系结构 传统的UNIX 内核采用整体式体系结构,用模块结构加以实现。用户可以直接通过系统调用或库函数调用请求操作系统内核服务,即由系统调用接口提供对高层软件的支持,而在内核的最底层模块则提供与硬件交互的接口。 内核的所有功能模块都可以访问内部的所有数据结构及例程,如果操作系统的任何部分有所改变,整个内核都必须重新编译,链接,安装及重新启动,这样对于操作系统的扩充及改善都不方便,尤其随着硬件设备及文件系统的变化及发展,这个问题会显得特别突出,使得操作系统的内核体系结构不得不进行相应的调整,以适应现代操作系统的要求。 LINUX内核体系结构 Linux 与大部分UNIX一样仍然采用单内核体系结构,即它是由几个逻辑功能上不同的部分组合而成的大程序,与UNIX 不同之处在于它使用“模块”来弥补纯粹的单一内核的缺点,即采用模块实现机制。 LINUX内核体系结构 1.4 计算机硬件介绍 1.5 操作系统中的主要概念 进程 死锁 存储管理 输入/输出 文件 安全 shell Shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。 Shell Shell 实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。 此外,Shell有自己的编程语言,用于对命令的编辑,它允许用户编写由shell命令组成的程序。 Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。 概念的重用 技术的变化会导致某些思想过时并迅速消失,但是,技术的另一种变化还可能再次复活某些思想。如: 组合逻辑控制方式 ?微程序控制方式 ?组合逻辑控制方式 1.6 系统调用 计算机系统中有两种状态: 核心态:操作系统内核程序执行时所处的状态。这种状态具有较高的特权,能执行一切指令,访问所有的寄存器和存储区。 用户态:用户程序运行时所处的状态。这种状态具有较低的特权,只能执行规定的指令,访问指定的寄存器和存储区。 1.6 系统调用 例如,我们知道Linux的运行空间分为内核空间与用户空间,它们各自运行在不同的级别中,逻辑上相互隔离。所以用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调

文档评论(0)

天星 + 关注
官方认证
文档贡献者

人人为我,我为人人。

版权声明书
用户编号:5342242001000034
认证主体四川龙斌文化科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6ADW1H0N

1亿VIP精品文档

相关文档