计算机操作系统第一次课
计算机操作系统,课时:64 授课教师:戴丽金 E-mail: d.lijin163.com,引 言,课程特点:概念多、原理性强、较抽象 课程学习目的:基础核心课、有利于对 计算机系统的理解和软件开发,计算机操作系统,一、操作系统引论 二、进程管理 三、 处理机调度与死锁 四、存储器管理 五、设备管理 六、文件管理 七、操作系统接口,第一章 操作系统引论,1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 操作系统的结构设计,1.1 操作系统的目标和作用,1.1.1 操作系统的目标,1. 方便性(用户的观点):提供良好的、一致的用户接口 2. 有效性 (系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程 3. 可扩充性和开放性(开放的观点):操作系统的功能和管理策略、硬件的类型和规模、多个系统之间的资源共享和互操作,1.1.2 操作系统的作用,1. OS作为用户与计算机硬件系统之间的接口 OS作为用户与计算机硬件系统之间接口的含义是:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。或者说,用户在OS帮助下,能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。应注意,OS是一个系统软件,因而这种接口是软件接口。,(1) 图形、窗口方式。用户通过屏幕上的窗口和图标来操纵计算机系统和运行自己的程序。 (2) 命令方式。这是指由OS提供了一组联机命令(语言), 用户可通过键盘输入有关命令,来直接操纵计算机系统。 (3) 系统调用方式。OS提供了一组系统调用,用户可在自己的应用程序中通过相应的系统调用,来操纵计算机。,图 1-1 OS作为接口的示意图,2. OS作为计算机系统资源的管理者 在一个计算机系统中,通常都含有各种各样的硬件和软件资源。 归纳起来可将资源分为四类:处理器、存储器、 I/O设备以及信息(数据和程序)。,2. OS作为计算机系统资源的管理者 管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。,3. OS用作扩充机器/虚拟机 通常把覆盖了软件的机器称为扩充机器或虚拟机。 对于一台完全无软件的计算机系统(即裸机),即使其功能再强,也必定是难于使用的。如果我们在裸机上覆盖上一层I/O设备管理软件,用户便可利用它所提供的I/O命令,来进行数据输入和打印输出。此时用户所看到的机器, 将是一台比裸机功能更强、使用更方便的机器。如果我们又在第一层软件上再覆盖上一层文件管理软件,则用户可利用该软件提供的文件存取命令,来进行文件的存取。此时,用户所看到的是台功能更强的虚机器。如果我们又在文件管理软件上再覆盖一层面向用户的窗口软件,则用户便可在窗口环境下方便地使用计算机,形成一台功能更强的虚机器。,操作系统在计算机系统中的地位,操作系统的定义 什么是OS: 1、自底向上-OS是用来高效地控制和管理系统资源的程序集合。 2、自顶向下-OS是为用户提供一个等价的扩展计算机或称虚拟机,以方便用户使用计算机的程序集合。,操作系统的定义 操作系统是控制和管理计算机系统的硬件和软件资源、合理地组织计算机工作流程,以及方便用户的程序和数据的集合。,1.1.3 推动操作系统发展的主要动力,不断提高计算机资源利用率 :计算机发展的初期,计算机系统昂贵,用作集中计算 2. 方便用户:用户上机、调试程序 3. 器件的不断更新换代 :CPU的位宽度(指令和数据)、快速外存 4. 计算机体系结构的不断发展 :单处理机、多处理机、计算机网络,1.2 操作系统的发展过程,1.2.1 无操作系统的计算机系统,1. 人工操作方式 194550年代(电子管),集中计算(计算中心),计算机资源昂贵; 工作方式:采用人工操作方式直接使用计算机硬件 用户:既是程序员,又是操作员;用户是计算机专业人员 编程语言:机器语言 输入输出:纸带或卡片,纸带,1.2 操作系统的发展过程,1.2.1 无操作系统的计算机系统,1. 人工操作方式 缺点: 用户独占全机:一台计算机的全部资源只能有一个用户占用,资源利用率低; CPU等待用户:计算前,手工装入纸袋或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低,1.2 操作系统的发展过程,1.2.1 无操作系统的计算机系统,主要矛盾 “人机矛盾”:人工操作方式与机器利用率的矛盾; CPU与I/O之间速度不匹配的矛盾 提高效率的途径 批处理 脱机输入输出方式,2. 脱机输入/输出(Off-Line I/O)方式,脱机输入输出方式:程序和数据的输入和输出是在脱离主机的情况下进行的。 优点: 减少了CPU的空闲时间。 (2) 提高I/O速度。,图 1-2 脱机I/O示意图,1.2.2 单道批处理系统,50年代末60年代中(晶体管):可使用汇编语言开发,为了尽量让计算机系统连续地运行,以减少空闲时间。为 此,通常把一批作业以脱机输入方式输入到磁带,然后依次 处理。,1.2.2 单道批处理系统,1. 单道批处理系统(Simple Batch Processing System)的处理过程,图 1-3 单道批处理系统的处理流程,2. 单道批处理系统的特征 (1) 自动性:磁带上的一批作业能自动地逐个依次运行,无需人工干预 (2) 顺序性:磁带上的各道作业是顺利地进入内存 (3) 单道性:内存中仅有一道程序运行,3. 单道批处理系统的优缺点 优点:减少了CPU的空闲时间,改善了主机CPU和I/O设备的使用效率,提高了吞吐量 缺点:CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。 -对计算为主的作业,外设空闲; -对I/O为主的作业,CPU空闲;,1.2.3 多道批处理系统,1. 多道程序设计的基本概念 在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。为了进一步提高资源的利用率和系统吞吐量,在60年代中期又引入了多道程序设计技术,由此而形成了多道批处理系统。在该系统中, 用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。,图 1-4 单道和多道程序运行情况,2. 多道批处理系统的特征,多道性:内存中可同时驻留多道程序并发执行 (2) 无序性:作业的完成顺序与它进入内存的顺序 之间无严格的对应关系 (3) 调度性:作业调度、进程调度,3. 多道批处理系统的优缺点,优点: (1)资源利用率高:CPU、内存、I/O设备利用率较高 (2) 系统吞吐量大:单位时间内完成的工作总量大 缺点: (1) 无交互能力:整个作业完成后或中间出错时,才 与用户交互,不利于调试和修改 (2) 平均周转时间长:短作业的周转时间显著增长,1.2.4 分时系统,1. 分时系统(Time-Sharing System)的产生 推动分时系统形成和发展的主要动力,则是用户的需求。或者说, 分时系统是为了满足用户需求所形成的一种新型OS。用户的需求具体表现在以下几个方面: (1) 人机交互。 (2) 共享主机。 (3) 便于用户上机。,2. 分时系统实现中的关键问题,为实现分时系统,其中,最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时, 系统应能及时接收并及时处理该命令,再将结果返回给用户。 此后, 用户可继续键入下一条命令,此即人机交互。应强调指出,即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理,(1) 及时接收。,(2) 及时处理。,2. 分时技术,分时技术:把处理机的响应时间分成若干个大小相等 (或不相等)的时间单位,称为时间片(如100毫秒), 每个终端用户获得CPU,就等于获得一个时间片,该用户 程序开始运行,当时间片用完,用户程序暂停运行,等 待下一次运行,分时系统,3. 分时系统的特征,多路性:众多联机用户可以同时使用同一台计算机 (2) 独占性:各终端用户感觉到自己独占了计算机 (3) 及时性:用户的请求能在很短时间内获得响应 (4) 交互性:用户与计算机之间可进行“会话”,1.2.5 实时系统,所谓“实时”,是表示“及时”,而实时系统(Real-Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。 用于工业过程控制、军事实时控制、金融等领域,包括实时控制系统、实时信息系统 要求:响应时间短;系统可靠性高,2. 实时任务,1) 按任务执行时是否呈现周期性来划分 周期性实时任务。 (2) 非周期性实时任务。,外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间(Deadline)。它又可分为: 开始截止时间任务在某时间以前必须开始执行; 完成截止时间任务在某时间以前必须完成。,2) 根据对截止时间的要求来划分 (1) 硬实时任务(hard real-time task)。系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。 (2) 软实时任务(Soft real-time task)。它也联系着一个截止时间, 但并不严格,若偶尔错过了任务的截止时间, 对系统产生的影响也不会太大。,3. 实时系统与分时系统特征的比较 多路性。 (2) 独立性。 (3) 及时性。 (4) 交互性。 (5) 可靠性。,1.3 操作系统的基本特性,1.3.1 并发(Concurrence),并行性和并发性是既相似又有区别的两个概念: 并行性:指两个或多个事件在同一时刻发生; 并发性:指两个或多个事件在同一时间间隔内发生。,1.3.1 并发(Concurrence),在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。,1.3.2 共享(Sharing) 共享:指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。 宏观上,指多个任务可以同时使用系统资源;微观上,指多个任务可以交替互斥地使用系统中的某个资源。,1.3.2 共享(Sharing) 由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式。,1. 互斥共享方式 互斥式共享:系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程(线程)使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程(线程)访问该资源。,2. 同时访问方式 系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。典型的可供多个进程“同时”访问的资源是磁盘设备,一些用重入码编写的文件,也可以被“同时”共享,即若干个用户同时访问该文件。 并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。一方面,资源共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理, 协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。,1.3.3 虚拟(Virtual) “虚拟”:是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。 物理实体(前者)是实的, 即实际存在的;而后者是虚的,是用户感觉上的东西。相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等。,在虚拟处理