操作系统-01-引论_第1页
操作系统-01-引论_第2页
操作系统-01-引论_第3页
操作系统-01-引论_第4页
操作系统-01-引论_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统李玉娟信息工程学院计算机工程教研室liyujuan程简介课程特点:概念多、原理性强、较抽象; 课程学习目的:核心基础课,有利于对计算机系统的理解和软件开发学习方法:问题驱动学习、阅读参考书、多思考;连贯前后章节、自我总结所学知识课程学习难点:概念、原理、算法、数据结构课程要求:安排预习复习;按时上课听讲;及时提交作业;旷课累计超过3次,取消平时成绩学时安排:理论64学时,实验8学时成绩:考试80,平时20(考勤+提问+作业)2参考书目及网上资源参考书目: 1)操作系统精髓与设计原理 机械工业出版社2)操作系统概念 高等教育出版社网上资源:1)中山大学操作系统网

2、络课程: /os/2)计算机考研论坛: /f183)蒲晓蓉操作系统原理视频3课程内容安排第一章 操作系统引论第二章 进程管理第三章 处理机调度与死锁第四章 存储器管理第五章 设备管理第六章 文件管理进程管理硬件管理软件管理4第一章操作系统引论5本章要点计算机系统结构:了解操作系统的地位什么是操作系统:四种基本观点现代操作系统的特征、功能、类型基本概念:批处理、多道程序设计、作业、任务、进程与线程、接口、虚拟存储、文件61.1 OS的目标和作用主要内容:一、计算机系统资源分类二、什么是操作系统三、 操作系统的目标四、 推动操作系统发展的动力7软件:系统软件(操作系统及实用程序)、应用软件硬件:处

3、理机(CPU)、内存(条)、外部I/O设备(显示器、键盘、鼠标、打印机、磁盘、磁带、扫描仪),以及系统总线一、计算机系统资源分类8计算机系统的层次用户1财务系统航空订票上网浏览超市管理科学计算(应用程序)程序设计语言 语言处理程序 系统辅助处理程序 数据库管理程序操作系统计算机硬件(裸机)用户2用户3用户4用户n(系统程序)9操作系统在计算机系统中的位置10二、什么是操作系统关于现代操作系统的四种基本观点从外部看操作系统 - 计算机用户的观点:用户环境观点 - 应用程序员的观点:虚拟机器观点从内部看操作系统 - OS开发者观点之一:资源管理观点 - OS开发者观点之二:作业组织观点11关于现代

4、OS的四种基本观点之一-用户环境观点该观点认为,操作系统是计算机用户使用计算机系统的接口,它为计算机用户提供了方便的工作环境。计算机用户:终端用户、程序员和系统设计者操作系统提供的接口 - 用户接口(User Interface,也称为命令接口) - 程序接口(系统调用,也称为应用编程接口, Application Programming Interface,简称API) 12OS作为接口的示意图用 户应用程序系统调用 命令 图标、窗口操作系统计算机硬件13关于现代OS的四种基本观点之二-虚拟机器观点该观点认为,操作系统是建立在计算机硬件平台上的虚拟机器,它为应用软件提供了许多比计算机硬件功能

5、更强或计算机硬件所没有的功能。操作系统在虚拟机中充当管理员和协调员的角色,管理计算机的软硬件资源,并协调多任务、多进程的运行。扩充:功能、计算机数量14OS实现了对计算机资源的抽象用户物理接口硬件机器指令物理接口硬件I/O软件用户I/O操作命令(Read,Write)虚机器I/O软件隐藏了I/O操作实现的细节15关于现代OS的四种基本观点之三-资源管理观点该观点认为,操作系统是计算机系统中各类资源的管理者,它负责分配、回收以及控制系统中的各种软硬件资源。跟踪资源的使用状况、满足资源请求、提高资源利用率,以及协调各程序和用户对资源的使用冲突。 - 监视资源 - 分配/回收资源 - 保护资源 16

6、关于现代OS的四种基本观点之四-作业组织观点该观点认为,操作系统是计算机系统工作流程的组织者,它负责协调在系统中运行的各个应用软件的运行次序。用于巨型机和大型服务器上,以批文件方式提交作业,请求主机逐个运行。主机操作系统负责组织、协调各个作业的运行,报告执行结果或错误信息。减少了人工干预,提高了系统的效率。这种工作方式有利于有效利用造价高且性能强大的主机资源。17操作系统的定义操作系统是计算机系统中的一个系统软件,管理和控制计算机系统中的硬件和软件资源,合理地组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。18目前流行的

7、操作系统DOSWindows 98/2000/XP/2003/windows 7/ Vista/windows 8 UNIX(多用户多任务,分时操作系统)Linux(开放源码,类Unix OS)MVS(Multi-Video System街机用基板)VxWorks(风河公司开发的实时操作系统)SymbianAndroid iOS(手机)Netware (网络操作系统)19三、操作系统的目标方便性:编程,操作。有效性:提高资源利用率和系统吞吐量。可扩充性:模块化,易于升级。开放性:标准化(OSI),实现应用的移植和互操作。 方便性和有效性是设计操作系统时最重要的两个目标。20四、 推动操作系统发

8、展的动力不断提高计算机资源的利用率方便用户器件的不断更新换代计算机硬件升级和新硬件的出现更正软件错误计算机体系结构的不断发展单处理机系统、多处理机系统、分布式系统、计算机网络211.2 操作系统的发展过程操作系统发展是随着计算机硬件技术、应用软件的发展而发展的。22计算机技术的发展史第一代电子管计算机 (1946-1957) 第二代晶体管计算机 (1957-1964) 第三代集成电路计算机 (1964-1972) 第四代大规模集成电路计算机 (1972-现在) 23操作系统的发展史早期手工阶段 1946-1957 (无操作系统)单道批处理 1958年前后 多道程序系统 1965年前后分时OS

9、1966年前后 实时OS 1968年前后 单用户OS,网络OS 20世纪80年代 分布式OS(多机OS)、嵌入式OS、智能OS 20世纪90年代 241.2.1 无操作系统的计算机系统早期的电子数字计算机是由成千上万个电子管组成操作和编程完全由手工进行,且编程只能用机器语言(二进制代码) 程序员同时也是操作员在上机期间独占整台计算机及其它相关设备,效率非常低251.2.1 无操作系统的计算机系统人工操作方式(串行处理)用户独占全机CPU等待人工操作261.2.1 无操作系统的计算机系统人工操作方式用户独占全机CPU等待人工操作 人工操作方式严重降低了计算机资源的利用率,此即所谓人机矛盾。输入数

10、据271.2.1 无操作系统的计算机系统脱机输入输出方式减少了CPU的空闲时间提高I/O速度脱机I/O示意图主机内存磁盘磁盘外围机外围机磁盘输入设备输出设备28批处理程序(又称为监督程序(Monitor),或管理程序),管理应用程序的运行。操作步骤:1.收集一批作业,通过脱机方式将作业逐个读到磁带上保存起来。2.批处理程序将磁带上的第一个作业读入计算机,运算结束后将结果输出到输出磁带上。3.自动读入下一个作业,并运行。4.当一批作业全部执行结束后,取下输入磁带和输出磁带,用输入磁带录入下一批作业,将输出磁带送到专用输出计算机,进行脱机打印。1.2.2 单道批处理系统29监督程序作业输出作业序列

11、作业一个接一个的连续处理30单道批处理系统流程图把下一个作业的源程序转换为目标程序源程序有错吗?否装 配目标程序还有下一个作业?是否停止运 行目标程序是开始31单道程序运行情况 CPU 启动I/O I/O I/O完成 CPU I/O中断请求结束中断用户程序监督程序I/O操作321.2.2 单道批处理系统特征:自动性顺序性单道性缺点:监督程序占用内存监督程序消耗了一部分机器时间331.2.3 多道批处理系统(现代意义的操作系统)引入: 单道批处理系统中,任意时刻只允许一道作业在内存中运行,资源利用率低。 为了提高系统资源利用率和系统吞吐量,形成了多道批处理系统 。34多道批处理系统(Multip

12、rogrammed Batch Processing System)多道是指,允许多个程序同时存在于主存中,按照某种原则分派处理机,逐个执行这些程序。 批处理:用户提交的作业首先存放在外存,并排成一个队列(后备队列)。然后,由作业调度程序按照一定的算法从该队列中一次选取一个或若干个作业装入内存执行。35处理机自动切换当某个程序占用处理机,执行过程中遇到了输入/输出语句,可以启动专门负责输入/输出的系统服务程序完成输入/输出操作,处理机切换到另一个程序执行。36多道程序设计技术为了提高系统吞吐量和资源利用率,允许多个程序同时驻留内存,使处理机在这些程序之间切换,在一段时间内,执行完多个程序的处理

13、技术称为多道程序设计技术(multiprogramming)。现代操作系统大多都采用了多道程序设计技术。37两道程序的多道程序设计程序B 处理机(CPU)输入设备 输出设备 输入 结束请求打印 CPU空闲 请求输入等待CPU 程序A程序B 程序A程序A 输入程序B打印程序A其他I/O38OS中引入多道程序设计技术带来的好处提高CPU的利用率可提高内存和I/O设备利用率增加系统吞吐量多道程序设计的特点:宏观上并行微观上串行 前进39在单道情况下完成程序A和程序B需要时间: 20+40+30+20+30+20+30=190CPU占用总时间:20+30+30+30=110CPU利用率:1101901

14、00%=58%程序A 运行流程:20 40 30 20程序B运行流程:30 20 30程序A程序B CPU 输出设备 等待 CPU CPU 输入设备 CPU 其他I/OCPU利用率(单道程序设计)40CPU利用率(多道程序设计)在多道情况下完成程序A和程序B需要时间:20+40+30 +30=120CPU占用总时间:20+30+30+30=110CPU利用率:110120100%=92%程序A 运行流程:20 40 30 20程序B运行流程:30 20 30程序A程序B CPU 输出设备 等待 CPU CPU 输入设备 CPU 其他I/O返回41单道和多道程序运行情况 t1t2t3t4t5t6

15、t7t8结束中断I/O 完成启动 I/OI/O 中断请求I/O 完成启动 I/OI/O中断请求用户程序监督程序I/O 操作(a) 单道程序运行情况程序A程序A I/O 请求程序A I/O 完成程序B程序B I/O 请求程序C程序C I/O 请求程序D程序D I/O 请求C I/O 完成C 再被调度程序B I/O 完成程序A再被调度程序A程序B程序C程序D调度程序(b) 四道程序运行情况A完成结束中断421.2.3 多道批处理系统特征多道性、无序性、调度性(作业调度,进程调度)优点资源利用率高;系统吞吐量大缺点平均周转时间长;无交互能力43多道程序设计技术引发的问题 处理机的分配与回收 内存的分

16、配与保护 I/O设备的共享与效率 文件的有效管理 作业的组织 441.2.4 分时系统引入:多道批处理系统:提高了资源利用率和吞吐量。但是,批处理系统交互性很差。 为了改进响应时间和性能,提供交互式操作环境,导致了分时系统的出现。分时系统的实质是,在多道程序技术的基础之上,为多个用户配置一个联机终端 45分时系统图示46分时系统联机系统服务器终端1终端2终端3终端n471.2.4 分时系统推动分时系统形成和发展的主要动力是用户的需求。用户的需求具体表现在以下几个方面: (1) 人机交互。 (2) 共享主机。 (3) 便于用户上机。 当今,通常使用专用的个人计算机或工作站来完成交互式计算任务,但

17、在20世纪60年代是行不通的,当时产生了分时系统。481.2.4 分时系统分时:多个终端分享处理器时间的技术。实现:把计算机的系统资源(尤其是CPU)进行时间上的分割,每个时间段称为一个时间片(time slice),每个用户依次轮流使用时间片。49分时系统50多道批处理系统与分时系统比较项目多道批处理系统分时系统主要目标充分使用处理器减小响应时间操作系统指令源作业提供的作业控制语言命令从终端键入的命令51分时系统实现中的关键问题(1) 及时接收:在系统中配置一个多路卡 (2) 及时处理(人机交互的关键): 各个用户的作业必须都在内存中,且能频繁的获得CPU而运行。52如何实现人机交互首先,作

18、业应直接进入内存。其次,每个用户一次最长占用一个时间片的CPU。在不长的时间内能使所有的用户都执行一次,便可使每个用户都能及时地与自己的作业交互,从而使用户请求得到及时响应。53分时系统的特点多路性(同时性)独立性(独占主机)及时性(短时间得到响应)交互性(人机对话)541.2.5 实时系统所谓“实时”,是表示“及时”,而实时系统(Real-Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。 要求:响应时间短,在一定范围之内系统可靠性高。551.2.5 实时系统1、应用需求:实时控制 火炮的自动控制系统、飞机

19、的自动驾驶系统等实时信息处理 飞机或火车的订票系统、情报检索系统562、实时任务按实时任务执行时是否呈现周期性来划分周期性实时系统非周期性实时系统截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间)根据对截止时间的要求来划分硬实时任务软实时任务57实时系统与分时系统特征的比较多路性独立性及时性交互性可靠性58操作系统的类型操作系统的基本类型批处理系统分时系统实时系统目前的操作系统,通常同时具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如 UNIX系统、Windows NT等。591.3 操作系统的基

20、本特征1.3.1 并发(Concurrence)1.3.2 共享(Sharing)1.3.3 虚拟(Virtual)1.3.4 异步(Asynchronism)601.3.1 并发(Concurrence)1.并行与并发并行性是指两个或多个事件在同一时刻发生。并发性是指两个或多个事件在同一时间段内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行。但在单处理机系统中,每一时刻只能有一道程序执行,故微观上这些程序分时交替执行。在多处理机系统中,才能并行执行。并发性是OS最重要的特征,是其他三个特征的前提。611.3.1 并发(Concurrence)2.引入进程程序是静态

21、实体,不能并发执行。进程(或称作任务)是动态实体,并发指的是进程。进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的。多个进程之间可以并发执行和交换信息。要想使多个程序能够并发执行,系统必须为每个程序建立进程。线程是比进程更小的单位。621.3.2 共享(Sharing)共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。互斥共享方式资源分配后到释放前,不能被其他进程所用。这样的资源称为临界资源或独占资源。如:打印机同时访问方式如:磁盘、重入码编写的文件并发和共享是OS的两个最基本的特征,他们又互为存在的条件。631.3.3 虚拟(Virt

22、ual)虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体是实际存在的,而后者是虚的,是用户感觉上的东西。用于实现虚拟的技术,称为虚拟技术。时分复用技术:虚拟处理机,虚拟设备空分复用技术:虚拟磁盘,虚拟存储器641.3.4 异步(Asynchronism)异步性(不确定性)是由共享和并发引起的。在操作系统中可运行多道用户程序,每个用户程序的运行时间、要使用哪些系统资源、使用多长时间、使用的资源是共享还是独占的,操作系统在程序运行前是不知道的。从用户运行程序的要求的角度看,操作系统必须是确定的,即用户给定一个程序和相应的初始数据,无论在什么时候,在什么计算机系统上运行,产生的结

23、果都应是相同的。因此操作系统中需配置同步机制。651.4. 操作系统的主要功能1.4.1 处理机管理1.4.2 存储器管理1.4.3 设备管理1.4.4 文件管理1.4.5 用户接口661.4.1 处理机管理进程控制进程同步进程通讯调度(作业调度,进程调度)671.4.2 存储器管理内存分配内存保护地址映射内存扩充681.4.3 设备管理缓冲管理设备分配设备处理691.4.4 文件管理文件存储空间的管理目录管理文件的读写管理和保护701.4.5 用户接口命令接口程序接口图形接口711.5 操作系统的结构设计1.5.1 传统的操作系统结构1.5.2 客户/服务器模式1.5.3 面向对象的程序设计

24、1.5.4 微内核OS结构721.5.1 传统的操作系统结构1、无结构操作系统2、模块化结构OS3、分层式结构OS731、 无结构操作系统早期开发操作系统时,只是一组程序的集合,系统即复杂又庞大,缺乏清晰的程序结构,错误多、难以维护。设计重点:功能的实现和高效率742、 模块化OS结构将OS按其功能划分为若干具有一定独立性的模块,并规定好各模块间的接口,使各模块之间能够通过该接口实现交互。操作系统进程管理存储器管理文件管理进程控制进程调度内存分配内存保护模块子模块.752、 模块化OS结构优点: 提高了设计的正确性、可维护性; 增强了OS的可适应性; 加速了OS的开发过程;缺点: 对模块的划分

25、不精确,易存在错误; 未将资源加以区别; 模块间存在着复杂的依赖关系,使OS结构不清; 设计过程无序。763、分层式OS结构各层模块间只能是单向调用关系用户接口(命令、程序、图形)对对象操纵和管理的软件(处理机管理软件、存储器管理软件、设备管理软件、文件管理软件)操纵对象( CPU、RAM、I/O、Files )用户程序系统服务文件系统内存和I/O设备管理处理机管理硬件用户态核心态常用操作系统的层次模型773、分层式OS结构从资源管理观点出发,划分层次。在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性。系统每加一层,就构成一个比原来功能更强的虚拟机。优点:易保证系统的正确性易扩

26、充和易维护性缺点:系统效率降低了(通信)781.5.2 客户/服务器模式(C/S)1、客户/服务器模式的组成客户机网络系统提供服务服务器791.5.2 客户/服务器模式(C/S)2、客户/服务器之间的交互客户发送请求消息服务器接收消息服务器回送消息客户机接收消息801.5.2 客户/服务器模式(C/S)优点:数据的分布处理和存储便于集中管理灵活性和可扩充性易于改编应用软件不足之处:不可靠性瓶颈811.5.3 面向对象的程序设计面向对象技术的基本概念对象对象类继承面向对象技术的优点通过“重用”提高产品质量和生产率使系统具有更好的易修改性和易扩展性更易于保证系统的“正确性”和“可靠性”821.5.

27、4 微内核OS结构当前流行的OS都采用了微内核结构。采用基于客户/服务器模式。将操作系统划分为:微内核和多个服务器。831.5.4 微内核OS结构足够小的内核微内核技术是指精心设计的,能实现现代OS最基本的核心功能的部分。微内核并非是一个完整的OS,而只是为构建通用OS提供一个重要基础。微内核不仅运行在核心态,而且开机后常驻内存,它不会因为内存紧张而被换出内存。84基于C/S模式的微内核OS裸机(硬件)微内核客 户进 程客 户进 程进程服务器存储器服务器文件服务器请求应答核心态用户态851.5.4 微内核OS结构微内核的基本功能进程(线程)管理存储器管理中断和陷入处理861.5.4 微内核OS

28、结构优点提高系统的可扩展性。增强系统的可靠性。可移植性。提供了对分布式系统的支持缺点运行效率有所降低。87本章总结操作系统的概念操作系统的目标和作用计算机系统的资源操作系统的类型多道程序设计及其特点截至时间(开始截至时间;完成截至时间)操作系统的基本特征(并行性、并发性)操作系统的主要功能操作系统的结构设计88基本概念系统吞吐量是指系统在单位时间内所完成的总工作量。 周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。响应时间是指用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间,或者说,直到屏幕上显示出结果为止的一段时间间隔。返回89基本概念:脱机、联机I/O脱机

29、I/O:程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的。联机I/O:在主机直接控制下进行输入和输出的方式。返回90基本概念:可重入代码可重入代码(Reentry code)也叫纯代码(Pure code)是一种允许多个进程同时访问的代码。为了使各进程所执行的代码完全相同,故不允许任何进程对其进行修改。程序在运行过程中可以被打断,并由开始处再次执行,并且在合理的范围内(多次重入,而不造成堆栈溢出等其他问题),程序可以在被打断处继续执行,且执行结果不受影响。91例:可重入代码指可被多个函数或程序凋用的一段代码(通常是一个函数),而且它保证在被任何一个函数调

30、用时都以同样的方式运行如: void test() int i; i=2; printf(%dn,i ); i+; printf(%dn,i); 无论谁调用它结果都一样,得到 2 3但 void test() static int i=2; printf(%dn,i ); i+; prinft(%dn,i); 就不一样了,对不同的调用结果不一样: 返回92基本概念:多道程序设计技术 指,系统中允许多道程序同时准备运行,当正在运行的那道程序因为某种原因(比如等待输入或输出数据)暂时不能继续运行时,系统将自动地启动另一道程序运行;一旦原因消除(比如数据已经到达或数据已经输出完毕),暂时停止运行的那道程序在将来某个时候还可以被系统重新启动继续运行。 93基本概念:多道程序设计技术问题:协调因争夺处理机或者输入/输出设备而产生的冲突,解决同步、互斥和死锁

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论