描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302453376丛书名: 应用型大学计算机专业系列教材
本书具有知识系统、概念清晰、注重实用性和操作性的特点,既可作为应用型大学本科和高职高专院校计算机应用、网络管理、电子商务等专业的教材,也可以作为从事操作系统管理和计算机从业人员进行软件开发的参考用书。
目录
第1章绪论
1.1操作系统概述
1.1.1操作系统定义
1.1.2学习操作系统的目的
1.2操作系统的作用
1.2.1用户视角
1.2.2资源管理者视角
1.2.3虚拟机视角
1.2.4作业组织视角
1.3操作系统的发展历史
1.3.1操作系统发展的动力
1.3.2操作系统的发展历史
1.4操作系统的类型
1.4.1批处理操作系统
1.4.2分时操作系统
1.4.3实时操作系统
1.4.4微机操作系统
1.4.5多处理机操作系统
1.4.6网络操作系统
1.4.7分布式操作系统
1.4.8嵌入式操作系统
1.5操作系统的特征
1.6操作系统的结构
1.6.1传统的操作系统结构
1.6.2现代操作系统结构
1.7操作系统的用户界面
1.7.1命令界面
1.7.2程序界面
1.7.3图形用户界面
1.8操作系统的硬件环境
1.8.1CPU与外设并行工作
1.8.2I/O中断的作用
1.8.3管态与目态
1.8.4存储结构
1.8.5存储保护
1.9操作系统的安装与启动
第2章进程管理
2.1多道程序设计
2.1.1程序的顺序执行
2.1.2程序的并发执行
2.1.3并发程序执行的条件
2.2进程的描述
2.2.1进程的概念
2.2.2进程的特征及其与程序的区别
2.2.3进程的基本状态及其转换
2.2.4进程控制结构
2.2.5PCB的组织方式
2.3进程的控制
2.3.1进程控制机制
2.3.2进程控制原语
2.4进程的互斥
2.4.1互斥的定义
2.4.2上锁和开锁原语
2.4.3用上锁和开锁原语实现进程的互斥
2.5信号量机制
2.5.1信号量的概念
2.5.2P、V操作原语
2.5.3用P、V操作原语实现进程的互斥
2.6进程的同步
2.6.1同步的定义
2.6.2用P、V操作原语实现进程的同步
2.6.3几个经典的进程同步问题
2.7进程的通信
2.7.1进程通信的定义
2.7.2共享存储器系统
2.7.3消息传递系统
2.7.4管道通信系统
2.8死锁问题
2.8.1死锁的定义
2.8.2产生死锁的原因
2.8.3产生死锁的必要条件
2.8.4死锁的预防
2.8.5死锁的避免
2.8.6死锁的检测与解除
2.8.7鸵鸟算法
2.9进程调度
2.9.1进程调度算法
2.9.2进程调度时机
2.10线程
2.10.1线程的定义
2.10.2线程与进程的比较
第3章存储管理
3.1存储管理的概念
3.1.1存储系统的分类
3.1.2物理地址和逻辑地址
3.1.3静态重定位和动态重定位
3.1.4存储管理的功能
3.1.5内存扩充技术
3.1.6存储管理的分类
3.2程序的装入和链接
3.3连续分配方式
3.4基本分页存储管理方式
3.5基本分段存储管理方式
3.6段页式存储管理方式
3.7虚拟存储器的基本概念
3.8请求分页存储管理方式
3.9请求分段存储管理方式
3.10页面置换算法
3.11抖动问题
第4章设备管理
4.1设备管理概述
4.1.1设备分类
4.1.2设备管理的功能和任务
4.1.3设备独立性
4.1.4设备控制器
4.1.5设备通道
4.1.6I/O系统结构
4.2I/O控制方式
4.2.1程序直接控制方式
4.2.2中断控制方式
4.2.3DMA方式
4.2.4通道方式
4.3中断技术
4.3.1中断的基本概念
4.3.2中断的分类与优先级
4.3.3软中断
4.3.4中断处理过程
4.4缓冲技术
4.4.1缓冲技术的引入
4.4.2缓冲的种类
4.5设备分配
4.5.1设备分配所用的数据结构
4.5.2设备分配原则
4.5.3设备分配程序
4.5.4SPOOLing技术
4.6磁盘设备管理
4.6.1存储设备的物理结构
4.6.2磁盘调度
4.6.3磁盘高速缓存
4.6.4提高磁盘I/O速度的其他方法
4.6.5独立磁盘冗余阵列
第5章文件管理
5.1文件系统概述
5.1.1文件的概念
5.1.2文件的访问方式
5.1.3文件的逻辑结构
5.1.4文件的物理结构
5.1.5文件系统
5.2文件目录
5.2.1文件控制块
5.2.2文件目录与目录文件
5.2.3单级目录结构
5.2.4二级目录结构
5.2.5多级目录结构
5.2.6文件目录操作
5.3文件系统的实现
5.3.1文件系统调用的实现
5.3.2文件存储空间分配的实现
5.3.3文件共享和保护的实现
第6章操作系统安全性
6.1安全性概述
6.1.1计算机系统安全概念
6.1.2计算机系统安全核心
6.1.3计算机资产及威胁
6.1.4内部与外部攻击
6.1.5恶意软件
6.2操作系统安全机制
6.2.1用户验证
6.2.2反入侵策略
6.2.3数字加密技术
6.3安全性的设计原则
6.3.1操作系统安全性原则的概念
6.3.2系统保护策略与机制
6.4职业道德教育与法制建设
6.4.1计算机从业人员职业道德教育
6.4.2计算机相关法律法规建设
第7章Ubuntu操作系统实验
7.1Ubuntu安装
7.1.1实验目的
7.1.2实验内容
7.1.3实验报告
7.1.4实验相关资料
7.2熟悉Ubuntu环境
7.2.1实验目的
7.2.2实验内容
7.2.3实验报告
7.2.4实验相关资料
7.3Shell脚本
7.3.1实验目的
7.3.2实验内容
7.3.3实验报告
7.3.4实验相关资料
7.4进程间通信
7.4.1实验目的
7.4.2实验内容
7.4.3实验报告
7.4.4实验相关资料
7.5存储管理
7.5.1实验目的
7.5.2实验内容
7.5.3实验报告
7.5.4实验相关资料
7.6文件操作
7.6.1实验目的
7.6.2实验内容
7.6.3实验报告
7.6.4实验相关资料
附录Linux操作系统常用命令
参考文献
操作系统是应用型大学计算机专业重要的核心基础课程,也是计算机相关专业常设的一门课程,还是学生就业、从事相关工作必须掌握的关键知识技能。本书注重以学习者应用能力培养为主线,坚持科学发展观,严格按照教育部关于“加强职业教育、突出实践技能培养”的要求,根据计算机软、硬件技术设备的发展,结合专业教学改革的需要,循序渐进地进行知识讲解,力求使读者在做中学、在学中做,能够真正利用所学知识解决操作系统开发与应用的实际问题。本书作为高等教育应用型大学计算机应用和网络管理专业的特色教材,全书共分7章,采取任务驱动式、案例教学的编写方法; 根据操作系统课程的教学要求,具体介绍操作系统原理、进程管理、存储管理、设备管理、文件管理的方法,以及计算机安全等知识,并通过指导学生实践模拟实训,加强应用能力与应用技能的培养。
本书由李大军统筹策划并具体组织编写,邵晶波和刘晓晓任主编,邵晶波统改稿,武静、赵立群任副主编,由关忠教授审定。作者编写分工如下: 牟惟仲编写序言,邵晶波编写第1~3章,刘晓晓编写第4章,武静编写第5、6章,赵立群编写第7章,刘靖宇负责文字修改、版式整理及附录的编写; 李晓新负责制作课件。在本书编写过程中,参阅借鉴了中外有关计算机操作系统的最新书刊、网站资料,并得到计算机行业协会及业界专家教授的具体指导,在此一并致谢。为了方便教学,本书配有电子课件,读者可以登录清华大学出版社网站(www.tup.com.cn)免费下载使用。因作者水平有限,书中难免存在疏漏和不足,恳请专家、同行和读者批评指正。编者2016年11月
第1章绪论
本章导读
现代计算机系统是一个复杂的系统,由中央处理器、内存、磁盘、网络接口以及各种外设组成。若程序员必须掌握系统所有的细节,就没精力来编写代码了,且管理这些软硬件资源并加以优化使用的挑战性极强。故给计算机安装了一层软件,称为操作系统,它的任务是作为用户与计算机硬件之间的接口,管理着计算机中的所有软硬件资源,保证资源的公平竞争和使用,防止计算机资源的非法占用。任何计算机都必须在加载相应的操作系统之后,才能构成一个可以运转的、完整的计算机系统。整个计算机系统的功能、性能和安全可靠度取决于操作系统。操作系统是软件技术的核心和基础运行平台。不同操作系统设计的目标是不同的。有些追求易用性,有些追求效率,还有些则是两者的折中。大型计算机操作系统设计的首要目标是优化硬件的使用; PC操作系统主要为商业等应用软件提供支持; 而手持计算机操作系统则向用户提供了一个运行计算机程序的便利环境。本章首先介绍操作系统的基础知识,包括它的概念、产生与发展、分类、特征、结构、界面及硬件环境。在后面的章节中,将具体讨论这些重要内容。这里涉及了学习操作系统的许多基础概念,是学习本课程的基础,学习主要是从理解的角度把握这些概念。通过学习本章内容,应该了解什么是操作系统、操作系统在计算机系统中的作用、操作系统要做些什么以及各类操作系统的特点。
1.1操作系统概述1.1.1操作系统定义
操作系统是计算机系统中的一个系统软件,它位于应用程序与硬件之间,管理和控制计算机中的硬件和软件资源,合理地组织计算机的工作流程,对各类作业进行调度,以便有效地利用这些资源为用户提供一个功能强大、使用方便的工作环境,从而在计算机与其用户之间起到接口的作用。图11所示为操作系统与计算机各部件之间的关系。
图11操作系统与计算机各部件之间的关系
操作系统要: ①最大化计算机的资源利用率,保证CPU被充分利用,内存、外设一直忙碌; ②保证资源使用的公平合理,避免产生“死锁”“饥饿”等现象; ③用户界面友好。1.1.2学习操作系统的目的操作系统是计算机专业的基础核心课,需要结合程序设计语言、算法、数据结构和计算机体系结构等课程来学习。掌握操作系统的基本原理,使计算机人员具备开发核心系统软件的技能,可设计操作系统或者修改现有的系统,更好地选择和使用操作系统,参与系统软件的开发,为后续课程的学习打好基础。掌握系统软件设计方法和并发程序设计方法,加深对操作系统的理解,有利于深入编程。操作系统中所用的许多概念和技巧可以推广应用到其他领域。真正的计算机高手无一例外都是能驾驭操作系统的行家。编写操作系统是个挑战,也是一件很酷的事情。1.2操作系统的作用1.2.1用户视角
从用户环境的观点来看,操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。为方便用户使用,操作系统应稳定、可靠,为用户提供良好的工作环境,配置各种子系统(编辑、编译、装配、调试)和程序库(应用程序库等),便于用户编写、修改和调试程序; 提供友好的用户界面。作为用户与裸机间的接口,用户有以下3种方式使用计算机。1. 作业级接口操作系统提供一组键盘命令来实现对硬件的操作。键盘命令的表示形式可为字符型、菜单型和图形型。字符形式灵活,但比较烦琐,不易记忆。例如,DOS操作系统,它对用户的英语水平要求比较高,不易操作; 菜单形式和图形形式直观、简单,但不灵活。根据有无处理机控制,命令的使用方式分为脱机使用方式和联机使用方式。没有处理机控制的方式称为脱机使用方式; 否则称为联机使用方式。2. 程序级接口用户通过系统调用的方式来实现对硬件的直接操作。操作系统提供一系列函数,调用这些函数可实现对硬件的操作。3. 图形、窗口方式Windows系列操作系统提供了形象、生动的图形化界面,用户只需拖动并单击鼠标,便可轻松操作计算机。1.2.2资源管理者视角1. 处理机管理操作系统进程管理的任务是对处理机的分配和运行实施有效管理; 在多道程序环境下,处理机的分配和运行以进程为单位,因此对处理机的管理即为对进程的管理。其主要完成进程控制、进程同步、进程通信和进程调度功能。(1) 进程控制: 创建和撤销进程以及控制进程的状态转换。(2) 进程同步: 对诸进程的运行进行协调,互斥访问临界资源,协调执行进度。 (3) 进程通信: 进程间的信息交换。(4) 进程调度: 按一定算法把处理机分配给进程,使之运行。2. 存储器管理为方便用户使用内存,提高内存的利用率,给尽量多的用户提供足够大的存储空间,从逻辑上扩充内存,操作系统负责存储器管理,主要包括内存的分配和回收,监视和保护存储器资源,为多道程序的并发执行提供良好的环境。3. 设备管理设备管理主要包括I/O操作和回收。具体工作为完成用户程序请求的I/O操作、为用户程序分配I/O设备、提高处理机和I/O设备的利用率、设备分配、设备处理、虚拟设备、缓冲管理以及改善人机界面等功能。4. 文件管理大量的信息以文件的形式放在外存,操作系统对信息的管理也就是对文件的管理。主要有文件存储空间的管理、目录管理、文件的读写管理、文件的存取控制等功能。操作系统管理用户文件和系统文件,方便用户使用文件。实现文件的保护和共享,保证文件数据的安全。5. 扩展硬件、扩充计算机数量操作系统是扩充裸机的最底层系统软件,它弥补了硬件系统类型和数量之间的差别。操作系统是系统各类资源的管理者,用于控制和管理计算机系统的软、硬件资源。它负责满足资源请求、分配,跟踪资源的使用情况,回收以及控制系统中的各种软硬件资源,以提高资源利用率,协调各程序和用户对资源的使用冲突。1.2.3虚拟机视角操作系统是扩充裸机的第一层虚拟机。在此基础上,再加上语言处理程序,被扩充成第二层虚拟机,如图12所示。
图12操作系统扩展了硬件、扩充了计算机数量
1.2.4作业组织视角操作系统是计算机系统工作流程的组织者,它负责协调在系统中运行的各个应用软件的运行次序。从而减少了人工干预,提高了主机资源的利用率。
操作系统的作用概括为: ①硬件抽象,屏蔽底层硬件差异; ②应用集成,提供通用方法工具; ③高级管理,维护环境稳定安全。1.3操作系统的发展历史1.3.1操作系统发展的动力
1965年,摩尔提出摩尔定律: 当价格不变时,集成电路上可容纳的元器件数目每隔18~24个月便会增加1倍。实践证明,该预测基本正确。说明计算机硬件不断升级,它的复杂性越来越高,硬件成本的下降使相同成本的计算机性能更高,因而需要新型操作系统与之匹配,以提供新的服务,方便用户使用。为满足提高计算机资源利用率的需求,更正操作系统软件的错误等,促进了操作系统的不断发展和更新。计算机体系结构的不断发展要求相应的操作系统与之适应。操作系统先后从单处理机系统、多处理机系统、分布式系统发展到计算机网络操作系统。1.3.2操作系统的发展历史1. 第0代(20世纪40年代末至50年代初)
无操作系统的计算机系统(1946年出现第一台计算机,由电子管组成,没有操作系统,使用起来很不方便),用户既是程序员又是操作员,用户采用手工操作方式使用计算机。早期电子数字计算机的操作和编程完全由手工进行,且编程只能用机器语言,程序员同时也是操作员,使用纸带、卡片通过中断的方式与计算机交互。用户在上机期间独占整个计算机及其他相关设备,处理机很长时间都在等待,CPU利用率非常低,产生人机矛盾。硬件不断发展,CPU速度的提高、系统规模扩大,人机矛盾加重。为了解决人机矛盾及CPU和I/O设备之间速度不匹配的问题,20世纪50年代末出现了脱机I/O技术。该技术事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存。简言之,在脱离主机的情况下进行的程序和数据的输入和输出,称为脱机I/O方式; 而在主机的直接控制下进行I/O的方式称为联机I/O方式。脱机I/O方式减少了CPU的空闲时间,提高了I/O速度。2. 第1代(20世纪50年代中至50年代末)20世纪50年代中期,单道批处理系统(图13)为操作系统的雏形。主要用于科学和工程计算。程序大多用FORTRAN语言编写,适用于数值计算。严格来说,单道批处理系统还不是真正的操作系统。系统里每一时刻只有一个作业在运行,利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的批处理程序(也称监督程序,Monitor)自动依次将其装入而无须人工干预,可使用汇编语言开发。
图13单道批处理系统
该作业独占计算机资源,所占机时取决于当前作业。CPU和I/O设备使用忙闲不均,当需要输入数据时计算机空闲,当输入输出时处理机空闲。
类似于全自动洗衣机,每次只洗一桶衣服,按程序浸泡、洗涤、漂洗、甩干衣服,洗完一桶接着洗下一桶。全自动洗衣机的特点是在监督程序控制下自动、连续完成作业,因而易操作和控制,不需要人工干预,按装入桶内的先后顺序执行完成作业; 由于每个作业以独占方式占用计算机资源,缺乏人机交互性,即便顺序执行的任务间有合作,也无法实现共享; 并且对短作业不公平,因为用户等待的时间可能远远超过实际执行的时间; 系统的硬件利用率低、吞吐量小、交互性差,如果运行中途出现故障,只能停下来重新运行。有两种批处理方式,即联机批处理和脱机批处理。1) 联机批处理联机批处理的主机一直参与包括慢速I/O操作在内的所有操作。首先,用户以纸带或卡片为介质提交作业,然后操作员将作业合成存储在磁带机上,监督程序对同一批次的作业分别进行从磁带上装入程序、编译链接、生成可执行程序、运行、输出结果。这种方法不足之处在于,主机仍需处理慢速I/O操作,当进行此操作时,主机一直处于等待状态,造成资源的浪费。2) 脱机批处理如图14所示,脱机批处理有一个快速的大型主机和一个慢速的小型机作为卫星机。慢速的I/O操作由卫星机来完成,作业控制命令由监督程序来执行,完成如装入程序、编译、运行等操作; 而中间结果需要存放在磁带机上。主机可与卫星机并行操作,这样提高了主机的利用率和吞吐量。这种方法的缺点是磁带需要人工装卸,作业需要手工分类,监督程序容易遭到用户程序的破坏,需要人工干预才可恢复。
图14脱机批处理系统
3. 第2代(20世纪60年代初至60年代中)20世纪60年代中期,为解决人机矛盾、作业自动转换问题以及提高系统资源利用率和系统吞吐量,形成了多道批处理系统,即多道程序设计共享系统。它的出现标志着操作系统的形成,是现代意义的操作系统。批处理操作系统在一定程度上提高了计算机的效率而无须人为干预,然而,结果还不是令人十分满意。由于CPU与I/O设备的速度之间存在巨大差异,加之二者的运行是串行的,使得CPU总是处在等待状态。人们希望最大限度地利用CPU资源,能否让CPU和I/O操作同时进行,从而提高CPU的利用率?答案是肯定的,多道批处理系统就是为了解决该问题而产生的。多道批处理系统就是: 宏观上,同一时刻有多个程序在运行; 微观上,某一时刻只有一个程序在运行。多道技术是共享的基础。多道是指允许多个相互独立的程序同时存在于主存中。按照某种原则分派处理机,逐个执行这些程序。多道批处理系统的特征如下。(1) 多道性。内存中有多道程序可并发执行。(2) 无序性。程序完成时间与其进入内存的先后顺序无关,为了提高系统资源利用率,可能会发生先进入内存并有I/O操作时先设置缓冲区,将一批数据一起放进去。后进入的程序先执行完,造成无序性。(3) 调度性。作业从提交到完成要经历两次调度: ①作业调度,即选择多个作业将其分配内存,将作业从外存调入内存; ②进程调度,即分配处理机,选择一个进程给其分配处理机。多道批处理系统的优势与不足: 多道批处理系统的资源利用率高,系统吞吐量大; 然而CPU和内存资源一直忙,只有当完成或运行不下去时才进行作业切换,因而平均周转时间长。与单道批处理系统相比,切换的频率较低,造成系统时间和空间代价较低,对系统吞吐量影响不大。缺乏交互性,作业一旦开始,不易修改和调试。由于有多道作业同时运行,增加了系统的复杂程度。为使多道程序能有条不紊地运行,系统必须增加各种管理程序,负责对各种资源进行科学的管理。根据资源类型,管理程序分为以下5种。(1) 处理机管理问题。如何共享、分配及回收处理机,保证各道程序有条不紊地运行,提高利用率。涉及第2章的处理机调度与死锁内容。(2) 内存管理问题。如何分配、互不重叠及干扰; 当要求的存储容量超出实际存储容量时,应具有扩充内存的能力。涉及第3章存储器管理内容。(3) I/O设备管理问题。如何共享及分配I/O设备和有关通道等以方便用户使用; 启动指定的设备进行操作,当设备用完时能及时收回。涉及第4章设备管理内容。(4) 文件管理问题。如何组织数据和程序,便于使用,保证数据的安全性及一致性。涉及第5章文件管理内容。(5) 作业管理问题。如何根据作业类型进行组织。涉及第2章处理机调度与死锁内容。4. 第3代(20世纪60年代中至70年代中)随着大规模集成电路的不断发展,计算机朝着微型化、网络化、智能化的方向发展,计算机系统是通用系统,是多模式系统。不久便出现了分时系统和实时系统。20世纪80年代以来,出现高级操作系统,它是由通用操作系统、网络操作系统和分布式操作系统组合而来的。1.4操作系统的类型现在已发展成熟的操作系统有批处理操作系统、分时操作系统和实时操作系统。正处在发展中的操作系统有微机操作系统、多处理机操作系统、网络操作系统、分布式操作系统及嵌入式操作系统。1.4.1批处理操作系统批处理操作系统包括单道批处理操作系统和多道批处理操作系统。无论是单道批处理操作系统还是多道批处理操作系统,要处理的作业首先在外存上排成一个队列,然后由作业调度程序负责从队列中选取作业进入内存,为之建立进程。当内存中仅存放一道作业,并且作业的完成顺序与它进驻内存的顺序相关,则为单道批处理系统; 而若内存中存放多道作业,作业的完成顺序与它们进驻内存的顺序无严格的对应关系,则为多道批处理操作系统。批处理操作系统的优点是由操作系统自动调度执行多道程序,降低了人工干预对系统性能的影响,资源利用率高,系统吞吐量大; 但作业的平均周转时间较长,并且没有交互能力,使得程序的修改和调试极其困难。批处理操作系统可分为单道批处理操作系统和多道批处理操作系统。1. 单道批处理操作系统单道批处理操作系统是一种早期的、基本的批处理操作系统。“单道”的意思是指一次只有一个作业装入计算机系统的主存储器运行,因而它也是一个单用户操作系统。这种系统的主要目标是一批作业能自动、按顺序地运行。2. 多道批处理操作系统多道批处理操作系统的基本思想是每次把一批经过合理搭配的作业通过输入机提交给操作系统,并由系统把它们暂时存入辅助存储器中等待运行; 以后,当系统需要调入新的作业时,根据当时的运行情况和用户要求,按照某种调度原则,从后备作业中挑选一个或几个合适的作业到内存中参加运行; 当某个作业运行完毕或因故执行不下去时,系统转去执行另一作业。重复上述步骤,直至这一批作业全部执行结束为止。多道批处理操作系统显著地提高了资源利用率,增加了系统对作业的吞吐能力,实现了计算机工作流程的自动化。1.4.2分时操作系统鉴于用户在人机交互、共享主机和远程联机方面的需求,自20世纪70年代中期以来,人们将计算机系统处理机的时间或内存空间进行时间上的分割,每个时间间隔称为一个时间片(Time Slice),按时间片将系统资源轮流地切换给各终端用户的程序使用。在这样的系统中,用户感觉不到其他用户的存在,好像独占计算机一样。如图15所示,“分时”是指多个程序分时共享软件硬件资源,或多个用户共享同一台计算机。在分时系统中,为了使一个计算机系统能同时为多个终端用户服务,系统采用了分时技术。即把CPU时间划分成许多时间片,每个终端用户每次可以使用一个由时间片规定的CPU时间。这样,多个终端用户就轮流地使用CPU时间。如果某个用户在规定的一个时间片内还没有完成它的全部工作,这时也要把CPU让给其他用户,等待下一轮再使用一个时间片的时间,循环轮转,直至结束。
图15分时操作系统
分时操作系统包括简单分时操作系统、具有前后台的分时操作系统和多道分时操作系统。在简单分时操作系统中,主存仅存放一个现行作业,其余均存放在辅存上,为了使每个作业均能得到及时响应,规定作业运行一个时间片后便暂停并调出至辅存,再从辅存上选一个作业装入主存运行,这样轮转一段时间后使每个作业都运行一个时间片,就能让用户通过终端与自己的作业交互,以保证及时响应用户的操作请求。多个用户分时: 单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入。为提高系统性能,可引入前台/后台的分时操作系统,现在的图形用户界面中,后台程序不占用终端输入输出,不与用户交互,除当前交互的程序(输入焦点)外,其他程序均作为后台。前台交互型作业不断在主存与辅存间调进/调出,并按时间片轮转运行作业; 当前台无作业可运行时,调度后台批作业执行。多道程序设计技术基础上实现的分时操作系统可进一步提高效率。主存中同时装入多道作业,这些作业按优先级不同排成多个队列,高优先级队列中的交互型作业依次获得一个时间片运行,保证了终端用户的操作请求能及时获得响应,仅当高优先级队列空或无作业可运行时,可调度低优先级队列的批作业。分时操作系统也是支持多道程序同时执行的系统,但它不同于多道批处理操作系统。多道批处理操作系统是实现自动控制无须人为干预的系统,而分时操作系统是实现人机交互的系统。分时操作系统主要特点如下。(1) 多路性。多个终端用户同时工作,提高了资源利用率。(2) 独立性。每个用户独立地通过自己的终端进行I/O,彼此独立,互不干扰。用户感觉自己独占计算机资源,而实际上计算机系统正在被许多用户分享。(3) 交互性。用户可通过终端与系统进行广泛的人机对话,请求系统提供多方面的服务,如文件编辑、数据处理、资源共享等。(4) 及时性。系统能在较短时间内对用户的请求进行响应,显著提高调试和修改程序的效率,缩短了周转时间。分时操作系统为用户在测试、修改程序以及在控制程序执行方面提供极大的灵活性。但是,用户必须守候在终端旁,向系统提交命令,然后等待处理结果。因此,对于短小作业来说,这种交互系统是非常合适的。对一些需处理较长时间才有结果且不需交互的大型作业来说,就没有必要让用户长时间地为此等待,操作系统研究者提出充分发挥批处理操作系统和分时操作系统的优点,在一个计算机系统上配置的操作系统既有批处理能力,又提供分时交互的能力。1.4.3实时操作系统20世纪60年代中期,计算机的性能得到了显著的提高,应用范围迅速从传统的科学计算扩展到商业数据处理以及各行各业,如工厂的生产控制、医疗诊断及飞机订票等,尤其是它应用于高科技。例如,控制导弹发射,需要根据目标及时调整方向,各种参数需要随时改变,这时分时和批处理都解决不了,就引入实时系统。实时操作系统是能响应外部事件的请求,并保证在一定时间限制内完成对该事件的处理的操作系统。由于实时操作系统本身的特点,实时操作系统的设计要求具有较高的可靠性和实时性,对资源的分配和调度首先要考虑实时性,并且在规定的时间内完成某操作。对效率优先级的要求低于实时性。此外,实时操作系统还应有较强的容错能力。实时操作系统分为两种,即硬实时操作系统和软实时操作系统。硬实时操作系统要保证按时完成关键性的任务。为此,需要限制系统中所有的延迟,即从数据检索到操作系统结束请求模式的时间需求。现有的操作系统都没有提供对硬实时的支持,本书就不涉及此方面内容了。软实时操作系统是一种限制较少的实时操作系统,其关键任务的优先权要高于其他任务,并保持拥有这个优先权直到结束。软实时操作系统通常在多媒体、虚拟现实领域有着广泛的应用。由于软实时操作系统应用的不断扩展,当前的大多数操作系统都包含该技术。实时系统除了具有一般操作系统的基本功能外,还有以下特点和功能。(1) 实时性强。系统要对外部输入的实时信号及时做出响应,响应的时间间隔要足够控制发出实时信号的环境。通常的响应时间在毫秒级,甚至微秒级。(2) 对系统的可靠性要求高。实时操作系统常常用于实时控制方面,因此要求高可靠性与安全性。所以,系统的所有部分通常都是采用双工方式工作。(3) 具有连续的人机对话能力。实时操作系统没有分时操作系统那样的交互会话能力,仅允许终端访问有限数量的专用程序,不能书写程序或修改已有程序,但它必须具有连续的人机对话能力。实时终端设备通常只是作为执行设备或询问设备使用。(4) 系统整体性能强。实时操作系统所管理的联机设备和资源,通常要按一定的时间关系和逻辑关系协调工作。(5) 具有过载防护能力。在实时系统中,任务进入系统往往有很大的随机性,有时就会超过系统的处理能力,因而产生过载。必须为系统设计某种防护机构,以保证一旦发生过载,系统仍能正常运行。 实时操作系统与分时操作系统的区别如表11所示。
表11实时操作系统与分时操作系统的区别
属性分时操作系统实时操作系统
交互能力强(通用系统)弱(专用系统)响应时间秒级及时,毫秒/微秒级可靠性要求一般更高
评论
还没有评论。