版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统课件(第一章)第一页,共134页。为什么学习操作系统?OS涉及到计算机科学的很多领域诸如计算机体系结构/硬件、软件设计、程序设计语言、数据结构、算法、网络等的知识,OS将这些知识具化;程序员为了开发应用程序必须与操作系统打交道,系统学习OS有助于加深对使用的OS的理解,有利于深入编程;OS中的设计思想和算法值得借鉴,其中所用的许多概念和技巧可以推广应用到其他领域,同时改善思维方式;存在人们意识不到的大量“操作系统”——EmbeddedOS,需要我们设计或修改现有的OS;选择购买操作系统;进一步深造。第二页,共134页。教学目标对现代操作系统的基本概念、基本结构及运行环境有深入的认识,对操作系统这一课程有比较全面的把握深入到操作系统内部,理解并掌握操作系统的基本原理、设计方法和实现技术了解操作系统发展研究动向、新技术以及新思想,使学生具有透过变化看趋势、透过技术抓原理、把握学科发展脉搏的基本素质,为其今后在相关领域开展工作打下坚实的基础第三页,共134页。如何学习操作系统?操作系统课程的特点:实践性强(从实践总结出原理)涉及面广(硬件技术,程序方法论,软件工程,等等)错综复杂,纵横交叉发展迅速第四页,共134页。如何学习操作系统?教学方式
——主课+专题课+实验课+习题课授课教师
徐小龙学习宗旨
——理论知识+实验实践其中实验实践包括:OS的安装、使用和管理OS中的算法方法实验OS源代码的阅读与修改第五页,共134页。推荐书籍教材
《操作系统教程》,黄刚、徐小龙、段卫华编著,
人民邮电出版社,2009年出版
参考教材
现代操作系统陈向群等译
机械工业出版社
ModernOperatingSystemAndrewS.Tanenbaum
RedHatLinux9中文版入门与进阶许社村清华大学出版社深入分析Linux内核源代码 陈莉君编著人民邮电出版社第六页,共134页。第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
第七页,共134页。1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
第八页,共134页。1.1.1操作系统的地位和作用1.地位
计算机系统由硬件和软件组成操作系统在硬件基础上的第一层软件是其他软件和硬件之间的接口OS操作系统设计者系统软件设计者应用软件设计者第九页,共134页。1.1.1操作系统的地位和作用
用户1用户2用户3用户4用户n财务系统航空订票上网浏览电子商务科学计算(应用软件)编译程序汇编程序编辑程序数据库(支撑软件)操作系统计算机硬件………计算机系统的层次结构应用层系统程序层操作系统层硬件层第十页,共134页。1.1.1操作系统的地位和作用2.作用从一般用户的观点
从资源管理观点
OS可把操作系统看作是用户与计算机硬件系统之间的接口
可把操作系统视为计算机系统资源的管理者。
第十一页,共134页。1.1.1操作系统的地位和作用3.操作系统的设计目标
方便性
有效性可扩充性
开放性
OS操作系统为用户提供良好的、一致的用户接口,用户按需要输入命令,操作系统按命令去控制程序的执行;用户也可以在程序中调用操作系统的功能模块完成相应服务,而不必了解硬件的物理特性。
有效地管理和分配硬件、软件资源,合理地组织计算机的工作流程,提高系统工作效率。
为满足计算机硬件与体系结构的发展以及应用不断扩大的要求,操作系统应能方便地扩展新的功能。
开放性指的是产品和技术之间相互连接和协作的能力。无论是硬件还是软件范筹,开放性接口都已作为一种明确的或实际的行业标准广泛应用在公开发行的文档中。
第十二页,共134页。1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
第十三页,共134页。1.1.2操作系统的定义OS操作系统是计算机系统中的最基本的一种系统软件,是一些程序模块的集合——它能以尽量有效、合理的方式组织和管理计算机的软、硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,改善人机界面,使用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行第十四页,共134页。1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
第十五页,共134页。1.1.3操作系统的功能操作系统是计算机系统的资源管理者。在计算机系统中,能分配给用户使用的各种硬件和软件设施总称为资源。资源包括两大类:硬件资源和信息资源。硬件资源:处理器、存储器、I/O设备等;信息资源:程序、文件和数据等。
资源管理的目的实现资源共享提高资源利用率第十六页,共134页。1.1.3操作系统的功能资源管理的观点→资源管理者记录资源使用状况如哪些资源空闲,好坏与否,被谁使用,使用多长时间等合理的分配资源静态分配策略(在程序运行前分配,但效率不高)动态分配策略(在程序运行过程中何时用资源,何时分配。
其缺点是会出现死锁)具体完成分配回收资源第十七页,共134页。1.1.3操作系统的功能从资源管理和面向用户的角度看,操作系统的功能主要包括:处理机管理存储管理设备管理文件管理网络管理用户接口第十八页,共134页。1.1.3操作系统的功能1.处理机管理
完成处理机资源的分配调度等功能(处理机调度的单位可为进程或线程)对处理器的管理和调度最终归结为对进程和线程的管理和调度,包括:(1)进程控制和管理;(2)进程同步和互斥;(3)进程通信;(4)进程死锁;(5)线程控制和管理;(6)处理器调度,又分高级调度,中级调度和低级调度。第十九页,共134页。1.1.3操作系统的功能2.存储管理
存储管理的主要任务是管理存储器资源,为多道程序运行提供有力的支撑,便于用户使用存储资源,提高存储空间的利用率。存储管理的主要功能包括:(1)存储分配。存储管理将根据用户程序的需要分配给它存储器资源,当然程序运行结束撤离时,还需回收存储资源。(2)存储共享。存储管理能让存储器中的多个用户程序实现存储资源的共享,以提高存储器的利用率。(3)地址转换与存储保护。存储管理负责把用户的逻辑地址转换成物理地址,同时要保证各个用户程序相互隔离起来互不干扰,保护系统和用户程序存放在存储器中的信息不被破坏。(4)存储扩充。存储管理还应该能从逻辑上来扩充内存储器,把内存和外存混合起来使用,为用户提供一个比内存实际容量大得多的逻辑编程空间,第二十页,共134页。1.1.3操作系统的功能3.设备管理
设备管理的主要任务是管理各类外围设备,完成用户提出的I/O请求,提高I/O设备的利用率,以及提供每种设备的设备驱动程序和中断处理程序,为用户隐蔽硬件细节,提供方便简单的设备使用方法。
设备管理的主要功能包括:(1)提供I/O设备的控制与处理。(2)提供缓冲区的管理。(3)提供设备独立性。(4)外围设备的分配和去配。(5)实现共享型I/O设备的驱动调度。(6)实现虚拟设备。第二十一页,共134页。1.1.3操作系统的功能4.文件管理
文件管理是对系统中信息资源的管理,信息资源包括:程序和数据。
文件管理的主要任务是对用户文件和系统文件进行有效管理,实现按名存取;实现文件的共享、保护和保密,保证文件的安全性;提供给用户一整套能方便使用文件的操作和命令。
文件管理的主要功能包括:(1)提供文件逻辑组织方法;(2)提供文件物理组织方法;(3)提供文件存取方法;(4)提供文件使用方法;(5)实现文件的目录管理;(6)实现文件的共享和存取控制;(7)实现文件的存储空间管理。
第二十二页,共134页。1.1.3操作系统的功能5.网络管理网络管理的主要功能包括:(1)网上资源管理功能。计算机网络的主要目的之一是共享资源,网络操作系统应实现网上资源的共享,管理用户对资源的访问,保证信息资源的安全性和完整性。(2)数据通信管理功能。计算机联网后,结点之间可以互相传送数据,按照通信协议的规定,完成网络上计算机之间的信息传送。(3)网络管理功能。包括:故障管理、安全管理、性能管理、配置管理等。第二十三页,共134页。1.1.3操作系统的功能6.用户接口
为了使用户能灵活、方便地使用计算机和系统功能,操作系统还提供了一组使用其功能的手段称用户接口.包括两大类:程序接口和操作接口。用户通过这些接口能方便地调用操作系统功能,有效地组织作业及其工作和处理流程,并使整个系统能高效地运行。
第二十四页,共134页。1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
第二十五页,共134页。1.1.4操作系统的特性在计算机系统中同时存在多个程序。宏观上:这些程序是同时在执行的微观上:任何时刻只有一个程序在执行即微观上这些程序在CPU上轮流执行并行(parallelism):与并发相似,但多指硬件支持1.并发性(concurrence)并发性是指两个或两事件或活动在同一时间间隔内发生。并发执行的好处是能够使CPU与外设同时并行执行,提高了资源的利用率。弊端在于并发必然导致共享资源的矛盾,同时还带来诸如多道程序执行过程的中断,同一程序在不同硬件上的调度转换,同一CPU上不同程序的现场切换、存储保护以及合作进程如何同步等问题。第二十六页,共134页。1.1.4操作系统的特性共享有两种形式:一是顺序共享一种竞争性共享
2.共享性
共享指计算机系统中的资源可被多个并发执行的用户程序和系统程序共同使用。
共享性和并发性是操作系统两个最基本的特性,它们互为依存。一方面,资源的共享是因为程序的并发执行而引起的,若系统不允许程序并发执行,自然也就不存在资源共享问题。另一方面,若系统不能对资源共享实施有效管理,必然会影响到程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性。
第二十七页,共134页。1.1.4操作系统的特性不确定性也称异步性。
在多道程序并发执行的环境中,各程序之间存在着直接或间接的联系,程序的推进速度会受到运行环境的影响。3.不确定性
系统事件(运行、I/O等)的发生是具有随机性和不确定性。
操作系统的不确定性是并发与共享的必然结果。为了实现并发与共享,操作系统必须有能力随时响应和正确处理各种随机事件。它不是事先规定各种事件何时发生,而是事先安排好对各种可能事件的处理,不管这些事件何时、以何种次序以及何种组合方式发生,这就是操作系统的不确定性。
第二十八页,共134页。1.1.4操作系统的特性虚拟是指物理上没有提供,但是逻辑上却具备的功能。在用户看来好像是物理上原来就具有的功能一样。采用虚拟技术的目的是为了提高资源利用率和为用户提供易于使用、方便高效的操作环境。
虚拟性体现在如下两个方面:操作系统虚拟机对系统硬件和软件资源的虚拟机制(如虚拟处理机、虚拟内存、虚拟设备、虚拟文件系统)。
4.虚拟性
虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。操作系统的并发性、共享性、不确定性、虚拟性四个特征不是相互独立的,具有密切的关系:并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。虚拟技术为共享提供了更好的条件,而并发与共享是导致不确定性的根本原因。
第二十九页,共134页。1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
第三十页,共134页。1.1.5操作系统的性能操作系统的性能如何,直接影响计算机系统的总体性能。操作系统要能有效地使用系统资源,尽可能快地响应用户请求,方便用户使用计算机。
几个方面来评价操作系统的性能。系统效率系统可靠性与安全性系统可维护性易用性可扩充性开放性操作系统的效率主要体现在:资源的利用率要高,内存利用率高,外部设备利用均衡;对用户的周转时间要短,吞吐量要大,响应时间要尽量短。
操作系统是整个计算机系统的所有硬件与软件资源的管理者,它的可靠性与安全性,直接影响着整个计算机系统的运行可靠性与安全性。
在软件的生命期中,其维护成本已占软件成本的70%。操作系统是否具有较好的维护性是决定操作系统生命周期长短的重要因素。系统提供的各种服务能方便用户使用,人们对易用性要求越来越重视,它涉及计算机系统使用的简单性、可操作性、可携带性等。
操作系统的功能应该不断被加强、改进和完善。在引进新的系统组件时不应干扰现有的服务能力,从而能够适应不断发展的应用需求。
为了能够集成不同厂家生产的计算机及设备,且能正确有效地协同工作,支持应用程序的可移植性和互操作性,要求操作系统具有开放性。第三十一页,共134页。第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
第三十二页,共134页。1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6操作系统的形成
第三十三页,共134页。1.2.1硬件软件的发展轨迹
1.硬件
计算机硬件的进一步发展
第一代(1946~1956)电子管5千~4万(次/秒)第二代(1957~1964)晶体管几十万~百万(次/秒)第三代(1965~1970)集成电路百万~几百万(次/秒)第四代(1971~90年代)大规模集成电路几百万~几亿(次/秒)第三十四页,共134页。1.2.1硬件软件的发展轨迹
1.硬件
计算机硬件的进一步发展
晶体管数单位时间执行的指令数百万条/每秒每18个月芯片能力增长一倍。计算机第一定律——摩尔定律摩尔博士第三十五页,共134页。1.2.1硬件软件的发展轨迹
1.硬件
年代硬件特点操作系统特点背景机械计算机时代(17世纪~20世纪初)①纯机械结构,低速②只能进行简单的数学运算纯手工操作从计算尺到差分机再到分析机发展了数百年第一代计算机(1946年~20世纪50年代末)
电子管计算机①体积大,能耗高,故障多,价格贵②难以普及应用无操作系统,手工操作阶段(程序以机器码编写,载体从插件板到卡片与纸带)1906年发明电子管;1946年第一台电子管计算机ENIAC研制成功第二代计算机(20世纪50年代末~60年代中期)晶体管计算机①
采用印刷电路②稳定性与可靠性大大提高③批量生产成为可能④进入实际应用领域但数量有限①单道批处理系统②操作系统以监督软件形式出现③任务按顺序方式处理1947年发明晶体管第三十六页,共134页。1.2.1硬件软件的发展轨迹
1.硬件(续)
年代硬件特点操作系统特点背景第三代计算机(20世纪60年代中期~70年代初)集成电路计算机①体积减小,性价比迅速提高②小型计算机发展迅速③进入商业应用领域④尚不适合家庭应用的需求①涌现大批操作系统,包括多道批处理系统、分时系统和实时系统②奠定了现代操作系统的基本框架1958年发明集成电路;1971年Intel公司发明微处理器第四代计算机(20世纪70年代中期至今)大规模集成电路计算机①性能大幅度提高,价格不断下降②个人计算机成为市场的主流③计算机迅速普及④计算机应用进入高速发展的轨道①操作系统的理论基本完善②系统与网络通讯一体化(分布式操作系统和网络操作系统)③人机交互成为设计重点④操作系统性能日渐稳定1981年IBM-PC机诞生;1993年Internet开始商业化运作第三十七页,共134页。1.2.1硬件软件的发展轨迹
2.软件
主流操作系统系统特点计算机语言软件特点背景无软件时期无手工操作无编程语言,直接使用机器代码手工操作1936年图灵提出图灵机模型系统雏形期单道批处理系统作业运行的监督程序编程语言雏形期无交互机制1957年FORTRAN语言开发成功操作系统理论的成形期多道批处理系统分时系统实时系统多处理系统操作系统结构确立,分为处理机管理、内存管理、设备管理、文件管理等模块①编程语言大量涌现②结构化程序设计③C语言逐渐成为主导①字符式人机交互界面②操作命令繁多20世纪60年代的软件危机引发了软件工程的发展1969年Unix诞生1972年C语言推出第三十八页,共134页。1.2.1硬件软件的发展轨迹
2.软件(续)
主流操作系统系统特点计算机语言软件特点背景现代操作系统时期类Unix系列Windows系列人机交互成为主题①可视化界面②多媒体技术面向对象语言成为主流①过渡至图形界面②注重操作可视化20世纪80年代中期,面向对象技术开始逐步发展网络时代网络操作系统分布式操作系统微内核技术兴起Java语言和脚本语言兴起追求设计个性化;注重感官效果1995年推出Java开源软件时代嵌入式系统单内核与微内核竞争激烈编程工具向跨平台方向发展可移植性成为主题1991年发布了免费的操作系统Linux第三十九页,共134页。1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6操作系统的形成
第四十页,共134页。1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6操作系统的形成
第四十一页,共134页。1.2.4执行系统阶段
硬件获得了两方面的进展,一是通道的引入,二是中断技术的出现,这两项重大成果导致了操作系统进入执行系统阶段。
通道是一种专用处理部件,它能控制一台或多台外设工作,负责外部设备和内存之间的信息传输。它一旦被启动就能独立于CPU运行,这样可使CPU和通道并行操作,而且CPU和各种外部设备也能并行操作。
所谓中断是指当主机接到外部信号(如设备完成信号)时,马上停止原来的工作,转去处理这一事件,处理完毕之后,主机又回到原来的断点继续工作。
第四十二页,共134页。1.2.4执行系统阶段(续)借助于通道、中断技术,输入输出工作可在主机控制下完成。这时,原有的监督程序的功能扩大了,它不仅要负责调度作业自动地运行,而且还要提供输入输出控制功能(用户不能直接使用启动外设的指令,他的输入输出请求必须通过系统去执行)。这个发展了的监督程序常驻内存,称为执行系统。
第四十三页,共134页。1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6操作系统的形成
第四十四页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)
问题的提出:在IBM7094机上,若当前作业因等待I/O而暂停,CPU只能踏步直至该I/O完成对于CPU操作密集科学计算问题,浪费时间少对于商业数据处理,I/O等待时间常占80%-90%第四十五页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。
从宏观上看:并行从微观上看:串行引入多道程序设计技术的根本目的:提高效率第四十六页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)多道程序设计技术提高资源利用率和系统吞吐率的原理:例如计算某个数据处理问题,输入500个字符(花费78ms),经CPU处理52ms后,将结果2000个字符存到磁带上(花费20ms),重复进行,直至输入数据全部处理完毕。
第四十七页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)单道算题运行时处理器的使用效率
78输入机处理器磁带机130150228280300378430450时间第四十八页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)多道程序设计技术提高资源利用率和系统吞吐率的原理:为提高效率,让计算机同时接受两道算题,当第一道程序在等待外围设备的时候,让第二道程序运行,降低CPU空等时间,处理器的利用率显然可以有所提高。第四十九页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)多道程序设计技术提高资源利用率和系统吞吐率的原理:例如,计算机还接受了另一算题:从另一台磁带机上输入2000个字符(花费20ms),经42毫秒的处理后,从行式打印机上输出两行(约花费88ms)。第五十页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)两道算题运行时处理器的使用效率
78输入机处理器磁带机1130150228280300378430450时间磁带机2打印机P1P1P2P2P26220第五十一页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)多道程序设计技术提高资源利用率和系统吞吐率的原理:结果比较单道算题运行时处理器的使用效率
52/(78十52十20)≈35%两道算题运行时处理器的使用效率
(52+42)/150≈63%第五十二页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)多道程序设计技术提高资源利用率和系统吞吐率的原理:采用多道程序设计提高了效率,即增长了单位时间的算题量,但对每道程序来说,却延长了计算时间。多道程序设计技术提高资源利用率和系统吞吐率是以牺牲用户的响应时间为代价的。第五十三页,共134页。1.2.5多道程序系统阶段
多道程序设计技术(multiprogramming)操作系统中引入多道程序设计的好处:
一是提高了CPU的利用率,二是提高了内存和I/O设备的利用率,三是改进了系统的吞吐率,四是充分发挥了系统的并行性。
其主要缺点是:作业周转时间延长。第五十四页,共134页。1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6操作系统的形成
第五十五页,共134页。1.2.6操作系统的形成
多道程序系统继承并发扬了批量处理和执行系统的特点,使得作业操作过程更加自动化,在多道程序系统出现不久就出现了分时系统。多道程序和分时系统的出现,标志着操作系统的正式形成。
随着计算机网络和微型计算机组成的多机系统的出现,近年来又发展了网络操作系统和分布式操作系统。
第五十六页,共134页。第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
第五十七页,共134页。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统第五十八页,共134页。1.3.1批处理操作系统批处理操作系统的基本特征是“批量处理”,它是将作业成批装人计算机,由操作系统将其组织好,按某种调度算法选择一道或几道作业装人内存运行。它的设计目标主要是提高资源利用率与系统的吞吐量(单位时间内完成作业的数量)。批处理操作系统分为单道批处理系统和多道批处理系统两种。
第五十九页,共134页。1.3.1批处理操作系统1.单道批处理系统
作业是按批量顺序进入内存,每次只有一道作业在内存中运行。特点是:(1)单道性。监督程序每次只从磁带上装入一道作业到内存中运行,程序运行结束或出现异常才装入其后的作业运行;(2)顺序性。磁带上的一批作业按顺序装入内存执行;(3)自动性。磁带上的一批作业在监督程序的管理下自动执行,无须人工干预。第六十页,共134页。1.3.1批处理操作系统2.多道批处理系统
在内存中装入多道作业,使它们同时运行、共享系统资源。在单处理机系统中,内存中的作业只是在宏观上“同时”运行,即指多道作业都已开始运行,但尚未完成。在微观上,各作业是交替执行。任意时刻只有一道作业在处理机上运行。
第六十一页,共134页。1.3.1批处理操作系统2.多道批处理系统
(续)
多道批处理系统实现了CPU与I/O设备的并行操作。从而提高了系统资源的利用率与系统工作效率。具体表现为:(1)多道作业并行工作,减少了处理器的空闲时间,即提高了处理器的利用率;(2)作业调度可以按一定的组合选择装入内存的作业,只要搭配合理,例如,把请求使用不同设备的作业组合在一起,计算型作业与I/O型作业合理搭配,则可充分利用计算机系统的资源;(3)成批输入、自动选择和控制作业执行,减少了人工操作时间和作业切换时间。作业执行过程中,不再访问低速的设备,而是直接在高速的磁盘上存取信息,缩短了作业执行时间,有利于提高系统的吞吐量。第六十二页,共134页。1.3.1批处理操作系统2.多道批处理系统
(续)
多道批处理系统的主要特征与单道批处理系统相比,具有以下三个特征:(1)多道性。允许内存中同时装入多个作业并发执行,以充分利用系统资源。多道批处理系统的资源利用效率是基于各作业对系统资源的需求差异得到的。
(2)调度性。在外存后备队列中的多个作业,哪些装入内存,由作业调度程序按一定的策略来调度,作业装入内存并创建进程后,再由进程调度程序分配处理器。
(3)无序性。与单道批处理系统不同,在内存中的多个作业的执行次序,完成时间都与进入内存的先后顺序没有直接的对应关系。第六十三页,共134页。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统第六十四页,共134页。1.3.2分时操作系统1.分时系统的概念
所谓分时系统(TimeSharingOperatingSystem)是指一台主机与多个终端相连,允许多个用户通过终端同时以交互的方式使用计算机系统,共享资源,这种系统使得每个用户感到好像自己独占一台支持自己请求服务的计算机系统。
采用了分时技术。即把CPU时间进行分割成一定大小的时间段,每个时间段称为一个时间片,每个终端用户每次可以使用一个由时间片规定的CPU时间。多个终端用户就轮流地使用CPU,循环轮转,直至结束。第六十五页,共134页。1.3.2分时操作系统2.分时系统的实现
分时系统有不同的实现形式:(1)单道分时系统:早期的分时系统,内存中只允许一道作业运行,系统采用调入-调出的方式来实现,I/O开销太大,系统性能较差;(2)前台后台分时系统:这种实现方式是把内存划分成前台区与后台区,前台区存放分时作业,优先执行;后台区存放批处理作业,当前台区没有分时作业时,系统调度后台区的批处理作业运行。(3)多道分时系统:多道程序在内存中同时执行。
第六十六页,共134页。1.3.2分时操作系统3.分时系统的特征
与批处理系统相比具有如下特征:
(1)同时性。允许多个终端用户同时使用一个计算机系统,共享系统资源,提高了资源利用率,促进了计算机的普遍应用;(2)独立性。用户在各自的终端上请求系统服务,彼此独立,互不干扰;(3)及时性。系统能及时对用户的操作进行响应,显著提高调试和修改程序的效率,缩短了周转时间;(4)交互性。采用联机(On-line)的人一机对话的工作方式,用户在终端上可以直接输入、调试和运行自己的程序。
第六十七页,共134页。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统第六十八页,共134页。1.3.3实时操作系统1.实时系统的概念
所谓“实时”是指对随机发生的外部事件作出及时的响应并能对其进行处理。所谓外部事件是指来自与计算机系统相连接的设备所提出的服务要求,而不是由人来启动和直接干预而引起的。
实时操作系统(RealTimeOperatingSystem)的主要特点是响应及时和可靠性高。它的设计目标是能对特定的输入作出及时响应,并在规定的时间内完成对该事件的处理。
第六十九页,共134页。1.3.3实时操作系统1.实时系统的概念(续)
实时系统通常包括实时过程控制和实时信息处理两种系统。
(1)实时过程控制系统。在这类应用中要求计算机系统实时采集被测量系统数据,并对其及时进行加工处理及输出。(2)实时信息处理系统。在这类应用中要求计算机系统能对用户的服务请求及时作出回答,并能及时修改、处理系统中的数据。第七十页,共134页。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统第七十一页,共134页。1.3.4微机操作系统从七十年代中期到八十年代早期,微型计算机上运行的一般是单用户单任务操作系统,如:CP/M、MS-DOS。八十年代以后到九十年代初,微机操作系统开始支持单用户多任务和分时操作。以MP/M、XENIX和后期MS-DOS为代表。近年来,微机操作系统得到了进一步发展,以Windows、OS2、MACOS和Linux为代表的新一代微机操作系统具有GUI、多用户和多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用编程支持API等功能。
还具有以下特点:
(1)开放性;(2)通用性;(3)高性能;(4)采用微内核结构。第七十二页,共134页。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统第七十三页,共134页。1.3.5网络操作系统
网络操作系统是在一般操作系统功能的基础上提供网络通信和网络服务功能的操作系统,它是为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关协议的集合。网络操作系统主要有两种工作模式:客户机/服务器(Client/Server)模式,对等(Peer-to-Peer)模式。
第七十四页,共134页。1.3.5网络操作系统(续)
网络操作系统应该具有以下几项功能:(1)网络通信。其任务是在源计算机和目标计算机之间,实现无差错的数据传输。(2)资源管理。对网络中的所有硬、软件资源实施有效管理,协调诸用户对共享资源的使用,保证数据的一致性、完整性。(3)网络管理。包括安全控制、性能监视、维护功能等;(4)网络服务。如电子邮件、文件传输、共享设备服务、远程作业录入服务等。
第七十五页,共134页。1.3.5网络操作系统(续)
目前,计算机网络操作系统有三大主流:UNIX、Netware和WindowsNT。UNIX是唯一能跨多种平台的操作系统;WindowsNT工作在微机和工作站上;Netware则主要面向微机。支持C/S结构的微机网络操作系统则主要有:Netware、UNIXware、WindowsNT、LANManager和LANServer等。
第七十六页,共134页。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统第七十七页,共134页。1.3.6分布式操作系统
分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布。分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。分布式计算机系统是指由多台分散的计算机,经互连网络连接而成的系统,每台计算机高度自治,又相互协同,能在系统范围内实现资源管理,任务分配、能并行地运行分布式程序。
第七十八页,共134页。1.3.6分布式操作系统(续)分布式操作系统与网络操作系统的比较:(1)耦合程度。分布式系统是紧密耦合系统。(2)并行性。分布式操作系统可以将一个进程分散在各处理机上并行执行“进程迁移”;网络则各处理机上的进程独立。(3)透明性。分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;网络操作系统中对网络资源的使用要由用户明确指定。(4)健壮性。分布式系统具有更强的容错能力,能够实现系统重构。第七十九页,共134页。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统第八十页,共134页。1.3.7嵌入式操作系统
嵌入式操作系统指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件。嵌入式操作系统与应用环境密切相关。按应用范围划分,可把它分成通用型嵌入式操作系统和专用型嵌入式操作系统。前者可适用于多种应用领域,比较有名的有WindowsCE、嵌入式Linux。第八十一页,共134页。第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
第八十二页,共134页。1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
第八十三页,共134页。1.4.1整体式结构的操作系统
操作系统的整体式结构又叫模块组合法,是基于结构化程序设计的一种软件结构设计方法。主要设计思想和步骤如下:把模块作为操作系统的基本单位,按照功能需要而不是根据程序和数据的特性把整个系统分解为若干模块,还可以再进一步分成子模块,每个模块具有一定独立功能,若干个关连模块协作完成某个功能;各模块分别设计、编码、调试各个模块;最后,把所有模块连结成一个完整的系统。
第八十四页,共134页。1.4.1整体式结构的操作系统(续)
主要优点是:结构紧密、组合方便,对不同环境和用户的不同需求,可以组合不同模块来满足,从而,灵活性大;针对某个功能可用最有效的算法和任意调用其他模块中的过程来实现,因此,系统效率较高;由于划分成模块和子模块,设计及编码可齐头并进,能加快操作系统研制过程。
主要缺点是:模块独立性差,模块之间牵连甚多,形成了复杂的调用关系,甚至有很多循环调用,造成系统结构不清晰,正确性难保证,可靠性降低,系统功能的增、删、改十分困难。第八十五页,共134页。1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
第八十六页,共134页。进程管理硬件存储管理设备管理文件管理作业管理内核模式1.4.2层次式结构的操作系统
所谓层次式结构,是把操作系统划分为内核和若干模块,这些模块按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,即低层为高层服务,高层可以调用低层的功能,反之则不能。层次结构可以有全序和半序之分。如果各层之间是单向依赖的,并且每层中的诸模块之间也保持独立,没有联系,则这种层次结构被称为是全序的。如果各层之间是单向依赖的,但在某些层内允许有相互调用或通信的关系,则这种层次结构称为半序的。
层次结构的最大优点是把整体问题局部化,由于把复杂的操作系统依照一定的原则分解成若干单一功能的模块,这些模块组织成层次结构,具有单向依赖性,使层次间的依赖和调用关系更为清晰规范。第八十七页,共134页。1.4.2层次式结构的操作系统
Linux操作系统的结构用户进程系统调用接口Linux内核硬件第八十八页,共134页。1.4.2层次式结构的操作系统
Linux操作系统的结构内核的组织方式是整体式结构linux内核由很多模块组成,每个模块可以单独编译,然后用链接程序连在一起成为一个单独的目标程序内核是基于过程的开放的结构有利于不同的人参与不同过程的开发开发,允许任何人对其进行修改,改进和完善第八十九页,共134页。1.4.2层次式结构的操作系统
Linux操作系统的结构用户态系统库(函数库)应用程序系统调用接口模块内核(进程管理、存储管理、文件管理、设备管理、网络管理)设备驱动计算机硬件核心态单内核第九十页,共134页。1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
第九十一页,共134页。1.4.3虚拟机结构的操作系统
虚拟机结构是在裸机上扩展一层层软件,使相同硬件系统的计算机由于软件不同而具有各种不同的性能。虚拟机结构通常采用层次化结构的设计方法来实现。从裸机A0开始,在它上面添加一层软件,使机器的功能得以扩充,形成了一台功能比原来机器要强的虚拟机A1。又从A1出发,在它上面添加一层新的软件,把A1改造成功能更强的虚拟机A2。就这样“添加——扩充——再添加”,最终实现一台具有所需操作系统各项功能的虚拟机。
第九十二页,共134页。1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
第九十三页,共134页。1.4.4客户/服务器结构的操作系统
客户/服务器结构的思想如下:将操作系统分成两大部分,一是运行在用户态并以客户/服务器方式活动的进程;二是运行在核心态的内核。除内核部分外,操作系统的其他部分被分成若干相对独立的进程,每一个进程实现一类服务,称服务器进程。用户进程也在该层并以客户/服务器方式活动。客户进程发出消息,内核将消息传送给服务器进程,服务器进程执行客户提出的服务请求,在满足客户的要求后再通过内核发送消息把结果返回给用户。于是,客户进程与服务器进程形成了客户/服务器关系。第九十四页,共134页。1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
第九十五页,共134页。1.4.5微内核结构的操作系统
微内核是指把操作系统结构中的内存管理、设备管理、文件系统等高级服务功能尽可能地从内核中分离出来,变成几个独立的非内核模块,而在内核只保留少量最基本的功能,使内核变得简洁可靠。
其优点如下:充分的模块化,可独立更换任一模块而不会影响其他模块,从而方便第三方开发、设计模块;未被使用的模块功能不必运行,因而能大幅度减少系统的内存需求;具有很高的可移植性,理论上讲只需要单独对各微内核部分进行移植修改即可。由于微内核的体积通常很小,而且互不影响,因此工作量很小。第九十六页,共134页。1.4.5微内核结构的操作系统
客户/服务器及微内核结构操作系统服务进程客户进程1客户进程2文件服务器进程服务器主存服务器……微内核(消息传递)计算机硬件用户进程用户态核心态客户通过微内核发送消息给文件服务器第九十七页,共134页。第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
第九十八页,共134页。Linux简介1、什么是Linux
简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intelx86系列CPU的计算机上。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux最早由一位名叫LinusTorvalds的计算机爱好者开发,他的目的是设计一个代替Minix的操作系统,这个操作系统可用于386、486或奔腾处理器
的个人计算机上,并且具有Unix操作系统的
全部功能。第九十九页,共134页。Linux简介1、什么是LinuxLinux以它的高效性和灵活性著称。它能够在个人计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux可在GNU(“不是UNIX”工程的缩写)公共许可权限下免费获得,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows
一样,允许我们使用窗口、图标和菜单对系统进行操作。第一百页,共134页。Linux简介2、Linux受到软件程序员欢迎的原因
一、它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改和无约束地继续传播。二、它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。第一百零一页,共134页。Linux简介3、Linux特点
开放性:指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。多用户:是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。多任务:它是指计算机同时执行多个程序,而且
各个程序的运行互相独立。良好的用户界面第一百零二页,共134页。Linux简介3、Linux特点
设备独立性:是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样使用这些设备,而不必知道它们的具体存在形式。提供了丰富的网络功能:完善的内置网络是Linux一大特点。可靠的安全系统:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,
这为网络多用户环境中的用户提供了必要的安全保障。良好的可移植性:是指将操作系统从一个平台转移到
另一个平台使它仍然能按其自身的方式运行的能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空调过滤器更换规程
- 一例恶性心律失常患者的护理个案
- 电梯轿厢检修规程
- 水污染治理技术考试试题及答案
- 电力建设安全监管强化措施
- 骨隐球菌病护理查房
- 湿巾抑菌持久性安全性能评价
- 教育培训行业规范制度
- 锡林浩特《房产策划师》冲刺押题卷
- 护理质量与急诊护理
- (二模)2026年合肥市高三第二次教学质量检测语文试卷(含答案)
- 广东省广州市白云广雅中学2024-2025学年八年级下学期数学期中考试卷(含答案)
- 2025年四川省烟草专卖局(公司)招聘考试笔试试题(含答案)1
- 2026年西部计划志愿者招募考试题库及答案
- 2025-2026人教版高中地理选择性必修二期末综合检测练习卷(含解析)
- 产业链数字化全链条协同机制研究
- 2026年水利工程质量检测员网上继续教育考试题库200道完整版
- GB/Z 141-2025蓄电池和蓄电池组起动用铅酸蓄电池减少爆炸危险的装置性能检验的试验方法
- 校服代售合同范本
- 2026年河南交通职业技术学院单招职业适应性考试题库及参考答案详解
- 前瞻性队列研究的随访失访控制策略
评论
0/150
提交评论