- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PART1 基础知识
第一章 什么是操作系统
1 什么是操作系统
在计算机发展史上,操作系统出现的比较晚,比高级语言出现的还要晚。在上世纪六七十年代前,计算机用户主要是专业人员,包括程序员,他们写的每个程序都要直接参与机器硬件资源的管理,比如CPU的分配,内存的分配,文件的存取,打印机的管理等等。这些工作是非常困难和繁琐的。
后来他们发现,尽管他们写的程序功能用途各不相同,但其中对机器硬件资源管理这部分程序却是大同小异的,为什么不能把这部分抽象(通用化)出来,做成一个可重复使用的单独的程序?这样,程序员就不要重复的写机器硬件资源管理程序了,只需重复使用这个单独的程序即可。这个单独的程序就叫操作系统,它代替程序员和用户管理计算机硬件资源。换句话说,操作系统是管理计算机硬件资源的程序,是计算机系统最基础的软件。
有了操作系统,使计算机软硬件体系结构得到合理分层,操作系统将用户和应用程序与硬件隔离开,不仅省缺了用户和应用程序直接管理硬件的负担,而且由操作系统对硬件进行“专业化”管理,有专门的公司或组织负责操作系统的开发,有利于使硬件性能得到更充分的发挥。
下图是现代计算机软硬件体系结构的大致分层
应用程序 中间件(90年代后出现)及基础软件 操作系统 计算机硬件
【课后调研与思考:】你知道的操作系统有哪些?中间件和基础软件有哪些?这些软件国内处于什么研发水平,有哪些典型产品?
操作系统的出现使硬件工程师和软件工程师的工作范围更加明确,对软件工程师成为单独的职业起到一定推动作用。近年来,在操作系统和应用程序之间,又划分出一层“中间件(middleware),使软件的分层更加细致,相应的,软件工程师可以明确划分为系统软件工程师和应用软件工程师。
【课后调研与思考:】你知道那些种类的系统软件和应用软件?系统软件工程师和应用软件工程师有什么主要区别?
分层是计算机软硬件体系结构设计的常用方法,比如树形数据结构、面向对象的继承关系、软件模块划分、网络七层结构以及操作系统等等。分层是软件工程的核心思想之一。从经济学的观点,分层体现了社会分工。分层观点不仅对软件,对其它科学和工程研发,乃至日常生活也适用,科学技术的基本思想并不神秘,它与经济学及日常生活的常识有密切的联系,想一想我们还能不能举出其它分层的例子?
2 操作系统的主要功能及特点
前面讨论了操作系统的概念:操作系统是管理计算机硬件的程序,同时它也为用户提供简单易用的操作接口。
现有的操作系统五花八门,很难对其应该具有的功能进行精确界定,一般认为,一个操作系统应该具有以下功能:
2.1 操作系统内核
首先是操作系统的内核部分,内核部分是用户看不到的,甚至因为安全的原因,很多操作系统不允许程序员直接访问操作系统内核,只能间接访问。操作系统的内核一般包括进程管理、存储管理、文件管理、I/O设备管理四大部分。
(1)进程管理:主要负责管理程序的运行。其基本问题主要是:
进程的创建和撤销、进程的状态管理。
程序并发执行及CPU调度(在一个CPU上“同时”运行多个程序,或在多个CPU上“同时”运行更多的程序)。
进程并发执行时,同步、互斥、死锁等问题的处理。
【注:】进程,是一个运行的程序。
(2)存储管理:其基本问题主要是:
为进程分配内存,用尽量少的内存容纳更多的进程。
当物理内存不够时,如何使用虚拟内存。
(3)文件管理:其基本问题主要是文件存储空间(硬盘等)的分配、文件目录管理、文件读写管理等。
(4)I/O设备管理:其基本问题主要是I/O缓冲、设备分配、物理设备与逻辑设备的映射等等。
上述操作系统的四大部分,是本课后面要讲解的主要内容。
2.2 操作系统外壳
其次是操作系统的外壳部分,外壳提供操作系统与使用者的接口。对于普通的用户,一般提供图形用户界面或字符操作界面,对于开发人员,一般提供API函数库或系统调用库,开发人员可以用C语言或其它语言调用这些库,呼叫操作系统底层的功能。
2.3 其它功能
现代操作系统往往还提供网络功能和安全功能,有的操作系统将这些功能做在内核里,有的做在外壳。
还有的操作系统提供一些应用程序,比如Windows光盘包含写字版、计算器、画图、屏保、IE浏览器等很多程序,这些程序即不属于操作系统内核,也不属于操作系统外壳,只是一些附送的应用程序而已。
2.4 操作系统的基本特性
一个操作系统除了(大致上)应具备上述功能外,还应该体现出以下特性:
2.4.1 并发性(concurrency)
所谓程序并发是指在计算机系统中同时存在有多个程序, 宏观上看来, 这些程序是同时向前推进的。程序的并发性具体体现在如下两个方面: (1)用户程序与用户程序之间并发执行; (
文档评论(0)