版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统课程概述操作系统课程介绍的内容课程考试方式及成绩计算闭卷考试平时成绩30%,由作业及课堂练习构成期末考试成绩70%OS参考书《操作系统教程(第5版)》,费翔林等,高等教育出版社,2014。《计算机操作系统(第4版)》,汤小丹等,西安电子科技大学出版社,2014。《计算机操作系统(第2版)》,郑鹏等,武汉大学出版社,2014。《现代操作系统》英文影印版第4版,AndrewS.Tanenbaum著,机械工业出版社,2017。《操作系统:精髓与设计原理》英文版第8版,WilliamStallings,电子工业出版社,2017。第一部分概述PartOne
Overview
第1章导论Introduction
操作系统是管理计算机硬件的程序,它还为应用程序提供基础,并且充当计算机硬件和计算机用户之间的中介。
AnOperatingsystemisaprogramthatmanagesthecomputerhardware.Italsoprovidesabasisforapplicationprogramsandactsasanintermediarybetweenthecomputeruserandthecomputerhardware.本章目标ChapterObjectives提供对操作系统主要部件的浏览提供基本计算机体系结构的概述Toprovideagrandtourofthemajoroperatingsystemscomponents.Toprovidecoverageofbasiccomputersystemorganization.1.1
操作系统做什么
WhatOperatingSystemsDo计算机系统可以大致分为四个部分:Acomputersystemcanbedividedroughlyintofourcomponents.硬件Hardware操作系统Operatingsystem系统程序与应用程序Systemandapplicationprograms用户Users计算机系统部件
ComputerSystemComponents硬件:提供基本的计算资源
Hardware:
providesbasiccomputingresources.操作系统:控制与协调各用户应用程序对硬件的使用OS:controlsandcoordinatestheuseofthehardwareamongthevariousapplicationprogramsforthevarioususers.
应用程序:定义解决用户问题的资源使用方式Applications:definethewaysinwhichthesystemresourcesareusedtosolvethecomputingproblemsoftheusers.用户:Users
.
系统部件的简要视图操作系统是配置在计算机硬件上的第一层软件,是对硬件的首次扩充。它位于硬件与其它软件之间,是所有其他软件运行的基础。虚拟机
裸机:没有配置软件的计算机。即计算机硬件虚拟机:覆盖了软件的机器称为虚拟机或扩展机。每当人们在计算机系统上覆盖了一层软件,系统功能便增强了。配置操作系统的主要目标提供用户与计算机之间的接口,使计算机更易于使用;有效地控制和管理计算机系统中的各种资源,使之得到更有效的利用;合理地组织计算机系统的工作流程,以提高资源利用率并改善系统性能。研究操作系统的两个视角
ExploreOperatingSystemsfromTwoViewpoint用户视角:操作系统是用户与计算机硬件之间的接口。为用户使用计算机提供服务。系统视角:操作系统是计算机系统资源的管理者。1.1.1用户视角
从用户视角看:操作系统是用户与计算机硬件之间的接口。为用户使用计算机提供服务。1.1.2系统视角从系统视角看:操作系统是计算机系统资源的管理者。1.1.3操作系统定义
OperatingSystemDefinitions目前没有一个关于操作系统的十分完整的定义。Wehavenocompletelyadequatedefinitionofanoperatingsystem.一个比较公认的定义是:操作系统是一直运行在计算机上的程序(通常称为内核)。Amorecommondefinitionisthattheoperatingsystemistheoneprogramrunningatalltimesonthecomputer(usuallycalledthekernel).1.1.3定义操作系统操作系统是一组控制和管理计算机硬件和软件资源,合理地组织计算机工作流程,以及方便用户的程序的集合。OS管理的计算机系统资源
操作系统管理的计算机系统软硬件资源包括:处理机存储器设备文件资源的共享使用方式资源的共享使用方式有:时分复用:多个用户或程序轮流使用某个资源空分复用:多个用户或程序同时使用资源的一部分1.2计算机系统组织1.2.1计算机系统操作引导,中断,系统调用1.2.2存储结构内存,寄存器,磁盘1.2.3I/O结构外设,控制器,DMA,通道1.3计算机系统体系结构1.3.1单处理器系统1.3.2多处理器系统1.3.3集群系统1.4操作系统的形成与发展操作系统的发展过程是一个从无到有,从简单到复杂的过程。最初计算机上无操作系统,20世纪50年代出现了简单批处理系统,60年代出现了多道批处理系统,不久又出现了分时系统及实时系统…
手工操作阶段人工操作方式:46~50年代中后期,计算机系统上没有配置操作系统,人们使用计算机采用手工操作方式。用户使用计算机的过程大致如下:先将程序纸带(或卡片)装入输入机,然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行,当程序运行完毕,由用户取走纸带和计算结果。手工操作方式的特点
手工操作方式的特点:用户独占计算机资源,资源利用率低CPU等待人工操作手工操作方式的不足:手工操作的慢速与CPU运算的高速之间的矛盾。此即人机矛盾。CPU的快速与I/O设备慢速的矛盾。早期批处理为解决人机矛盾,人们提出了从一个作业到下一个作业的自动过渡方式,从而出现了批处理技术。监督程序监督程序是一个常驻内存的程序,它管理作业的运行,负责装入和运行各种系统程序来完成作业的自动过渡。监督程序是最早的操作系统雏形。批处理技术批处理技术是指计算机系统对一批作业自动进行处理的一种技术。早期的批处理分为:联机批处理脱机批处理联机批处理在早期联机批处理系统中,操作员将若干作业合成一批输入到磁带上,接着监督程序自动把磁带上该批作业的第一个调入内存编译,然后由装配程序把编译结果装入内存启动执行,该作业运行结束后输出结果;第一个作业完成后,监督程序又调入第二个作业并重复上述过程,直到该批作业全部完成。在完成了一批作业后,监督程序又控制输入另一批作业到磁带上,并按上述步骤重复处理。
联机批处理的不足联机批处理中采用联机输入/输出,即输入/输出操作在主机控制下进行,其缺点是速度慢。为此引入脱机输入/输出技术。脱机批处理在脱机批处理系统中,除主机外另设一台外围机(又称卫星机)。用户作业通过外围机输入到磁带上,而主机只负责从磁带上把作业调入内存,并予以执行。作业完成后,主机负责把结果输出到磁带上,然后再由外围机把磁带上的信息在打印机上输出。脱机输入/输出技术
脱机输入:将用户程序和数据在一台外围机(又称卫星机)的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,再直接从磁带机高速输入到内存。脱机输出:当CPU需要输出时,高速地把结果送到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出。输出带脱机输入/输出示意图打印机纸带机外围机输入带输出带主机输入带脱机I/O与联机I/O脱机输入/输出:输入/输出操作在外围机的控制下,脱离主机进行。脱机I/O优点:减少了CPU的空闲时间;提高I/O速度。联机输入/输出:输入/输出操作在主机控制下进行。计算单道程序系统单道批处理系统中内存仅一道程序,系统资源无法得到充分利用。下图是单道程序运行实例启动I/O用户程序监督程序I/O操作I/O完成结束中断请求输入
继续计算多道程序设计技术将多个作业存放在主存中,这些程序在管理程序的控制下交替运行,共享处理机和系统中的其他资源。多道程序运行实例
运行处理
输出数据
等待CPU
运行处理输出
等待结束
CPUCPU输入设备输出设备程序A程序B程序A程序B程序A程序B请求输入请求输出输入结束请求输入运行处理
输入数据
运行处理输入数据单处理机系统中多道程序运行特点多道:计算机内存中同时存放多道相互独立的程序。宏观上并行:同时进入系统的多道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。微观上串行:内存中的多道程序轮流占有
CPU,交替执行。
多道批处理系统需要解决的问题处理机管理:如何分配回收处理机内存管理:内存分配回收,信息保护设备管理:设备分配回收、缓冲管理文件管理:文件存储、共享保护及检索作业管理:作业合理搭配(如CPU型与I/O型)为解决上述问题人们设计了操作系统
操作系统的发展由于批处理系统没有人机交互性,后来又出现了分时系统、实时系统;近年来又出现了个人计算机操作系统、网络操作系统、分布式操作系统、嵌入式操作系统等。推动操作系统发展的因素主要可归结为:硬件技术更新应用需求扩大操作系统的类型最基本的操作系统类型有三种:批处理操作系统分时操作系统实时操作系统。作业Job作业是用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合,包括用户程序、所需的数据及命令等。单道批处理系统工作流程把一批作业以脱机输入方式输入到磁带上,并在系统中配置监督程序,在它的控制下,使一批作业一个接一个地连续处理,其过程为:有下一个作业吗?N停止调入内存运行Y开始单道批处理系统及其特征内存中始终只保持一道作业的批处理系统称为单道批处理系统。单道批处理系统的特征:自动性:自动依次运行,无人工干预顺序性:完成顺序与进入顺序相同单道性:内存只有一道作业单道批处理系统的内存分布多道批处理系统及其特征在批处理系统中引入多道程序设计技术后就形成了多道批处理系统。多道批处理系统的特征:多道性:计算机内存中同时存放几道相互独立的程序。无序性:进入顺序与完成顺序无严格对应关系。调度性:作业从提交到完成经历两级调度:作业调度、进程调度。多道程序批处理系统内存分布同一时刻在内存中存在多道作业,这些作业以某种方式共享CPU分时系统推动分时系统发展的主要动力是用户需求,即:人机交互:控制程序运行共享主机:机器昂贵,多人使用较经济方便用户上机:可以通过终端提交作业分时技术所谓分时技术就是:把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂停运行,把处理机让给另一个作业使用,等待下一轮时再继续其运行。分时技术示意图时间片运行就绪队列
1假设系统中有4个联机用户,按1、2、3、4的顺序排列:用户1用户2用户3用户4用户1用户2用户3用户42用户2用户3用户4用户13用户3用户4用户1用户24用户4用户1用户2用户35用户1用户2用户3用户40分时操作系统在操作系统中采用分时技术就形成了分时操作系统。在分时操作系统中,一个计算机和许多终端设备连接,每个用户可以通过终端向系统发出命令,请求完成某项工作,而系统则分析从终端设备发来的命令,完成用户提出的要求,然后用户再根据系统提供的运行结果,向系统提出下一步请求,这样重复上述交互会话过程,直到用户完成全部工作为止。
分时系统实现中的关键问题及时接收:设置多路卡及时处理:时间片轮转分时操作系统的特征多路性、也称同时性:一台计算机与若干台终端相连接,终端上的这些用户可以同时使用计算机。交互性:用户通过终端采用人机会话的方式直接控制程序运行,同程序进行交互。独立性:用户彼此之间都感觉不到别人也在使用这台计算机,好像只有自己独占计算机一样。及时性:用户请求能在很短时间内获得响应。实时系统实时系统是指系统能及时响应外部事件的请求,在规定的时间范围内完成对该事件的处理,并控制实时任务协调一致地运行。实时系统分类实时控制系统:指以计算机为中心的生产过程控制系统。实时信息处理系统:要求对信息进行实时处理的系统。实时系统的特征及时性:响应时间由控制对象决定。可靠性:高可靠性。操作系统的基本类型操作系统有三种基本类型:批处理操作系统分时操作系统实时操作系统如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,则称该操作系统为通用操作系统。其他操作系统类型嵌入式操作系统个人计算机操作系统网络操作系统分布式操作系统嵌入式操作系统对整个智能芯片以及它所控制的各种部件模块等资源进行统一调度、指挥和控制的系统软件称为嵌入式操作系统。嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、手机、微波炉、数字相机、自动售货机、工业自动化仪表与医疗仪器等。
个人计算机操作系统个人计算机操作系统主要供个人使用,它功能强,价格便宜,能满足一般人工作、学习、游戏等方面的需求。个人计算机操作系统的主要特点是计算机在某一段时间内为单个用户服务,采用图形界面人机交互的工作方式,界面友好,使用方便。网络操作系统网络操作系统是基于计算机网络的,是在各种计算机操作系统上按网络体系结构协议标准开发的软件包括网络管理、通信、资源共享、系统安全和各种网络应用服务,其目标是互相通信及资源共享。分布式操作系统分布式系统是指多个分散的处理单元经互连网络连接而形成的系统,其中每个处理单元既具有高度自治性又相互协同,能在系统范围内实现资源管理、任务动态分配,并能并行地运行分布式程序。配置在分布式系统上的操作系统称为分布式操作系统。分布式操作系统与网络操作系统的比较1分布性:分布式系统中的处理和控制功能较均匀分布在系统的各个站点上;而网络系统中控制功能大多集中在网络服务器上。并行性:分布式系统中的任务分配程序可将多个任务分配到系统的多个处理单元上并行执行;而网络系统中每个用户的任务通常在自己的计算机上处理。透明性:分布式系统能很好隐藏系统内部的实现细节,对象的物理位置、并发控制及系统故障等对用户是透明的;而网络系统中主要是操作实现上的透明。分布式操作系统与网络操作系统的比较2共享性:分布式系统中各站点上的资源可供所有用户共享;而网络系统中共享的资源主要设置在服务器上。健壮性:由于分布式系统的控制功能分布,当站点故障时可以通过容错来重构系统以保证系统正常运行;而网络系统中控制功能主要集中在服务器上,使系统具有潜在的不可靠性。
操作系统的基本特征操作系统有4个基本特征:并发共享虚拟不确定并发并行:是指两个或多个事件在同一时刻发生。并发:是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发是指宏观上一段时间内有多道程序在同时运行,但在单处理机系统中,微观上这些程序是交替执行的。共享共享是指系统中的资源可供多个并发执行的进程共同使用。有两种资源共享方式:互斥共享:一段时间只允许一个进程访问同时访问:一段时间允许多个进程访问操作系统的两个最基本的特征并发和共享是操作系统的两个最基本特征,二者之间互为存在条件。一方面,资源的共享是以程序的并发执行为条件的,若系统不允许程序的并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行。虚拟性虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。如分时技术、虚拟内存不确定不确定性表现为多个作业的执行顺序和每个作业的执行时间是不确定的。不确定性也称异步性操作系统的作用操作系统是用户与计算机硬件之间的接口操作系统为用户提供虚拟机操作系统是计算机系统的管理者1.5操作系统操作
Operating-SystemOperations共享系统资源要求操作系统确保一个出错程序不会引起其他程序的运行错误。
Sharingsystemresourcesrequiresoperatingsystemtoensurethatanincorrectprogramcannotcauseotherprogramstoexecuteincorrectly.双重模式操作
Dual-ModeOperation至少需要两种模式:用户模式及内核模式。在计算机硬件中增加模式位表示当前模式:内核模式(0)或用户模式(1)。
Attheveryleast,weneedtwoseparatemodesofoperation:usermodeandkernelmode.Modebitaddedtocomputerhardwaretoindicatethecurrentmode:kernel(0)oruser(1).
计算机系统的两种运行状态核心态:又称管态、系统态,是操作系统管理程序执行时机器所处的状态。这种状态具有较高的特权,能执行一切指令,访问所有的寄存器和存储区。用户态:又称目态,是用户程序执行时机器所处的状态。这种状态具有较低特权,只能执行规定的指令,访问指定的寄存器和存储区。用户模式到内核模式的转换
TransitionfromUsertoKernelMode操作系统的功能操作系统的主要功能包括:处理机管理:也称进程管理存储器管理设备管理文件管理1.6进程管理
ProcessManagement进程是正在执行的程序。Aprocessisaprograminexecution.为了完成其任务,进程需要一定的资源,包括CPU时间,存储器,文件,以及I/O设备。Aprocessneedscertainresources,includingCPUtime,memory,files,andI/Odevices,toaccomplishitstask.进程管理2
ProcessManagement操作系统负责下述与进程管理有关的活动:Theoperatingsystemisresponsibleforthefollowingactivitiesinconnectionwithprocessmanagement:进程管理3
ProcessManagement进程创建和删除
Processcreationanddeletion.进程挂起和恢复
Processsuspensionandresumption.提供进程同步机制Providingmechanismsforprocesssynchronization提供进程通信机制Providingmechanismsforprocesscommunication提供死锁处理机制
Providingmechanismsfordeadlockhandling
处理机管理的任务处理机管理的主要任务是对处理机的分配和运行实施有效的管理。进程控制:负责进程的创建、撤消及状态转换。进程同步:对并发执行的进程进行协调。有同步与互斥进程通信:负责完成进程间的信息交换。调度:分为作业调度和进程调度。作业调度与进程调度作业调度:从后备作业队列中按照一定的原则,选择若干作业进入内存。进程调度:决定哪个进程获得处理机。1.7内存管理
MemoryManagement内存是字或字节的一个大数组,每一字或字节有自己的地址。Memoryisalargearrayofwordsorbytes,eachwithitsownaddress它是一个可被CPU和I/O共享、可快速存取数据的存放地。ItisarepositoryofquicklyaccessibledatasharedbytheCPUandI/Odevices.内存管理2
MemoryManagement操作系统负责下列有关内存管理的活动:Theoperatingsystemisresponsibleforthefollowingactivitiesinconnectionswithmemorymanagement:记录内存的哪部分正在被使用及被谁使用Keeptrackofwhichpartsofmemoryarecurrentlybeingusedandbywhom.决定将哪个进程及其数据调入(调出)内存Decidewhichprocessesanddatatomoveintoandoutofmemory
需要时分配和收回存储空间Allocateanddeallocatememoryspaceasneeded.
存储器管理的任务存储器管理的主要任务是方便用户使用存储器,提高存储器利用率,从逻辑上扩充内存。存储器管理具有内存分配、保护、扩充和地址变换功能。内存分配内存分配的任务是按一定的策略为每道程序分配内存,程序运行结束后回收内存。内存分配方式有静态和动态两种:静态:作业的内存空间在装入时确定,作业装入内存后不允许再申请新的内存空间,也不能在内存中移动。动态:作业需要的基本内存空间在装入时确定,允许作业运行期间继续申请新的附加内存空间,允许作业在内存中移动。内存保护内存保护的任务是保证各程序在自己的内存区域内运行而不相互干扰。如简单的内存保护机制有:上下界寄存器。地址映射逻辑地址:用户编程时所使用的地址。又称相对地址、虚地址。地址空间:逻辑地址的集合。物理地址:内存中的地址。又称绝对地址、实地址。内存空间:物理地址的集合。地址映射:将逻辑地址转换为物理地址。又称地址变换。内存扩充
借助虚拟存储技术从逻辑上扩充内存。通过请求调入和置换功能可以实现虚拟内存。
1.8文件管理及I/O系统
FileManagementandI/OSystems文件是由其创建者定义的一组相关信息的集合Afileisacollectionofrelatedinformationdefinedbyitscreator.通常文件表示程序(源程序和目标程序)和数据Commonly,filesrepresentprograms(bothsourceandobjectforms)anddata.
文件管理
FileManagement操作系统负责下列有关文件管理的活动:Theoperatingsystemisresponsibleforthefollowingactivitiesinconnectionswithfilemanagement:创建和删除文件Creatinganddeleting
file.创建和删除目录Creatinganddeleting
directory.提供操作文件和目录的原语Supportingprimitivesformanipulatingfilesanddirectories.
把文件映象到二级存储器Mappingfilesontosecondarystorage.
在稳定存储介质备份文件Filebackuponstable(nonvolatile)storagemedia.文件管理功能文件管理的主要任务是对文件进行管理,方便用户使用并保证文件安全性。文件管理功能包括:文件存储空间的管理:对文件存储空间进行管理,包括存储空间的分配与回收等功能。目录管理:管理文件的数据结构,提供按名存取的功能。文件操作管理:从外存读入数据或将数据写入外存。文件保护:防止未授权用户存取文件;防止授权用户以不正确方式存取文件。I/O系统
I/OSystemsI/O子系统包括:TheI/Osubsystemconsistsof:包括缓冲区、高速缓存和假脱机系统的内存管理部分Amemory-managementcomponentthatincludesbuffering,cachingandspooling
通用设备驱动器接口Ageneraldevice-driverinterface特定硬件设备的驱动程序DriversforspecifichardwaredevicesI/O系统I/O子系统包括:缓冲区、高速缓存和假脱机系统
通用设备驱动器接口特定硬件设备的驱动程序设备管理功能设备管理功能包括:设备分配:根据用户的I/O请求,为之分配所需的设备,设备使用完成后还应回收。缓冲管理:对各类设备缓冲区进行有效管理。设备驱动:主要完成设备启动、I/O操作及中断处理。设备独立性:设备独立性设备独立性又称设备无关性,是指用户程序中的设备与实际使用的物理设备无关。操作系统的运行环境计算机硬件所提供的支持,构成了现代操作系统的运行环境。包括:处理机存储器设备时钟中断等习题习题11.1Whatarethethreemainpurposesofanoperatingsystem?1.2Wehavestressedtheneedforanoperatingsystemtomakeefficientuseofthecomputinghardware.Whenisitappropriatefortheoperatingsystemtoforsakethisprincipleandto“waste”resources?Whyissuchasystemnotreallywasteful?习题1.5Howdoesthedistinctionbetweenkernelmodeandusermodefunctionasarudimentaryformofprotection(security)?1.6Whichofthefollowinginstructionsshouldbeprivileged?a.Setvalueoftimer.b.Readtheclock.c.Clearmemory.d.Issueatrapinstruction.e.Turnoffinterrupts.f.Modifyentriesindevice-statustable.g.Switchfromusertokernelmode.h.AccessI/Odevice.习题习题11、2、3选择题1在脱机批处理方式中,有一台负责与外部设备交换信息的计算机,一般称之为_____。A.终端处理机B.外围处理机C.客户机D.服务处理机在计算机系统中,操作系统是_____。A.一般应用软件 B.核心系统软件
C.用户应用软件D.硬件选择题2实时操作系统必须在_____内处理来自外部的事件。A.时间片B.周转时间
C.被控制对象规定时间D.一个机器周期在设计实时操作系统时,不重点考虑的是______。A.及时响应,快速处理B.有高安全性C.提高系统资源的利用率D.有高可靠性选择题3下述关于并发性的叙述中正确的是_____。A.并发性是指若干事件在不同时间间隔内发生B.并发性是指若干事件在同一时间间隔内发生C.并发性是指若干事件在不同时刻发生D.并发性是指若干事件在同一时刻发生分时系统追求的目标是_____。A.快速响应用户B.充分利用I/O设备C.充分利用内存D.提供系统吞吐率选择题4一个多道批处理系统,提高了计算机系统的资源利用率,同时_____。A.减少各个作业的执行时间B.增加了单位时间内作业的吞吐量C.减少了部分作业的执行时间D.减少单位时间内作业的吞吐量批处理系统的主要缺点是_____。A.无交互能力B.系统吞吐量小C.资源利用率低
D.CPU利用率不高选择题5从用户的观点看,操作系统是_____。A.合理地组织计算机工作流程的软件B.由若干层次的程序按一定的结构组成的有机体C.控制和管理计算机资源的软件D.用户与计算机之间的接口所谓_____是指将一个以上的作业放入内存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等资源。A.多道程序设计B.多重处理C.共行执行D.实时处理
选择题6操作系统中最基本的两个特征是_____。A.虚拟和不确定B.共享和虚拟
C.并发和共享D.并发和不确定填空题1操作系统的基本特征是
①
、
②
、
③
、
④
。实时系统按应用的不同分为
①
和
②
两种。如果操作系统具有很强交互性,可同时供多个用户使用,系统响应比较及时,则属于
①
类型;如果OS可靠,响应及时但仅有简单的交互能力则属于
②
类型;如果OS在用户提交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于
③
类型。填空题2如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,这样的操作系统称为_____。操作系统是计算机系统中的一个
①
,它管理和控制计算机系统中的
②
。没有配置_____的计算机称为裸机。在主机控制下进行的输入/输出操作称为_____操作。填空题3在单处理机系统中,多道程序运行的特点是多道、
①
和
②
。
按内存中同时运行程序的数目可以将批处理系统分为两类:①和②。操作系统的基本类型主要有①、②、③。第2章操作系统结构
Operation-SystemStructures本章目标CHAPTEROBJECTIVES介绍操作系统为用户、进程和其他系统提供的服务Todescribetheservicesanoperatingsystemprovidestouser,processes,andothersystem讨论组织操作系统的不同方法Todiscussthevariouswaysofstructuringanoperatingsystem解释操作系统的安装、定制和启动Toexplainhowoperatingsystemsareinstalledandcustomizedandhowtheyboot2.1操作系统服务
Operating-SystemServices操作系统提供执行程序的环境,它向程序及其用户提供一组服务。
Anoperatingsystemprovidesanenvironmentfortheexecutionofprograms.Itprovidescertainservicestoprogramsandtotheusersofthoseprograms.操作系统提供的服务
operatingsystem
provides
certainservices用户接口:包括命令行接口、批处理接口及图形用户接口
Userinterface:includecommand-lineinterface,batchinterfaceandgraphicaluserinterface程序执行:将程序装入内存并运行程序Programexecution:thesystemmustbeabletoloadaprogramintomemoryandtorunit.I/O操作:操作系统必须提供完成I/O操作的手段
I/Ooperations:theoperatingsystemmustprovidesomemeanstoperformI/O.操作系统提供的服务2
operatingsystem
provides
certainservices文件系统操纵:让程序能够读、写、创建和删除文件File-systemmanipulation:programcapabilitytoread,write,create,anddeletefiles.通信:进程间交换信息。Communications:exchangeofinformationbetweenprocesses错误检测:通过检测错误确保正确运算Errordetection:ensurecorrectcomputingbydetectingerrors操作系统提供的服务3
operatingsystem
provides
certainservices资源分配:把资源分配给同时运行的作业Resourceallocation:allocatingresourcestomultiplejobsrunningatthesametime.统计:记录用户使用资源的类型及数量Accounting:keeptrackofwhichusersusehowmuchandwhatkindsofcomputerresources.保护和安全:确保所有对资源的访问是受控的且系统不受外界侵犯Protectionandsecurity:ensuringthatallaccesstosystemresourcesiscontrolled.Securityofthesystemfromoutsidersisalsoimportant2.2操作系统的用户接口
UserOperating-SystemInterface(交互式)用户与操作系统的接口有两种:Therearetwofundamentalapproachesforusersinterfacewithoperationsystem命令行接口
command-lineinterface图形用户接口graphicaluserinterface操作系统的接口操作系统向用户提供了各种使用其服务功能的手段,即提供了操作系统接口。操作系统向用户提供的接口:命令接口图形接口程序接口2.2操作系统的用户接口(交互式)用户与操作系统的接口有两种:命令行接口图形用户接口2.2.1命令解释程序
CommandInterpreter命令解释程序的主要功能是获取并执行用户指定的命令Themainfunctionofthecommandinterpreteristogetandexecutethenextuser-specifiedcommand命令接口用命令接口进行作业控制的主要方式:脱机控制方式:用户将对作业的控制要求以作业控制说明书的方式提交给系统,由系统按照作业说明书的规定控制作业的执行。联机控制方式:指用户利用系统提供的一组键盘命令或其他操作命令和系统会话,交互式地控制程序的执行。联机命令接口联机命令接口提供一组键盘命令供用户请求计算机系统服务。键盘命令可分为:内部命令:命令功能简单、程序短小、使用频繁。它们在系统初始启动时被引导至内存并常驻内存。外部命令:命令功能较复杂、程序较长、独立作为一个文件驻留在磁盘上,当需要它们时,再从磁盘上调入内存运行。脱机命令接口脱机命令接口由一组作业控制命令组成。脱机用户不能直接干预作业的运行,他们应事先用作业控制命令写一份作业操作说明书,连同作业一起提交给系统。当系统调度到该作业时,由系统中的命令解释程序对作业说明书上的命令或作业控制语句逐条解释执行。2.2.2图形用户接口
GraphicalUserInterfaceGUI提供基于鼠标的窗口和菜单系统作为接口AGUIallowsprovidesamouse-basedwindow-and-menusystemasaninterface图形用户接口图形用户接口是通过对出现在屏幕上的对象直接进行操作,以控制和操纵程序的运行。
图形用户接口减少或免除了用户的记忆工作量,其操作方式从原来的记忆并键入改为选择并点取,极大地方便了用户。目前图形用户接口是最为常见的人机接口形式,可以认为图形接口是命令接口的图形化。2.3系统调用
SystemCalls系统调用在运行程序和操作系统之间提供接口Systemcallsprovidetheinterfacebetweenarunningprogramandtheoperatingsystem.运行程序和操作系统之间的参数传递有3种常用方式:Threegeneralmethodsareusedtopassparametersbetweenarunningprogramandtheoperatingsystem.
系统调用2
SystemCalls寄存器中的参数传递Passparametersinregisters.参数存在内存的一张表中,表地址作为寄存器的参数传递Storetheparametersinatableinmemory,andthetableaddressispassedasaparameterinaregister.
程序把参数压入栈,由操作系统弹出
Push(store)theparametersontothestackbytheprogram,andpopoffthestackbyoperatingsystem.
表格方式的参数传递
PassingofParametersAsATable程序接口程序接口由一组系统调用命令组成。有时也称为系统调用接口。用户通过在程序中使用这些系统调用命令来请求操作系统提供的服务。系统调用系统调用:由若干条指令构成的过程,用以实现特定的操作系统服务功能。系统调用命令有时也称为广义指令。它是由操作系统提供的一个或多个子程序模块实现的。系统调用处理程序的执行过程为执行系统调用命令作准备。主要工作是保留现场,并把系统调用命令的参数放入指定的存储单元。执行系统调用。根据系统调用命令的编号找到相应子程序的入口地址,然后转去执行。系统调用命令执行完后的处理。主要工作是恢复现场,并把系统调用的返回参数送入指定存储单元。系统调用与过程调用的区别运行状态不同:系统调用在核心态下运行,子程序在用户态下运行。进入方式不同:系统调用通过中断机构进入以实现运行状态的改变,子程序直接调用不涉及运行状态改变。2.4系统调用的类型
TypesofSystemCalls系统调用可以大致分为5类:Systemcallscanbegroupedroughlyintofivemajoycategories:进程控制Processcontrol文件管理Filemanagement设备管理Devicemanagement信息维护Informationmaintenance通信Communications系统调用的类型2
TypesofSystemCalls进程控制Processcontrol如创建进程、终止进程、等待事件、唤醒事件分配和释放内存
Creatprocess,terminateprocess,waitevent,signalevent,allocateandfreememory文件管理Filemanagement如创建文件、删除文件、打开、关闭、读、写createfile,deletefile,open,close,read,write系统调用的类型3
TypesofSystemCalls设备管理Devicemanagement如请求设备、释放设备、读、写requestdevice,releasedevice,read,write信息维护Informationmaintenance如读取时间或日期、设置时间或日期Gettimeordate,settimeordate通信Communications如创建、删除通信连接,发送、接收消息Create,deletecommunicationconnect,send,receivermessages2.5系统程序
SystemPrograms系统程序提供程序开发和执行的便利环境Systemprogramsprovideaconvenientenvironmentforprogramdevelopmentandexecution其中一小部分是系统调用的接口,其他的可能相当复杂。Someofthemaresimplyuserinterfacestosystemcalls,othersareconsiderablymorecomplex系统程序2
SystemPrograms系统程序可划分为:Systemprogramscanbedividedinto:
文件操纵Filemanipulation状态信息Statusinformation文件修改Filemodification程序语言支持Programminglanguagesupport程序调入和执行Programloadingandexecution通信Communications系统程序3
SystemPrograms多数用户所看到的操作系统是由应用和系统程序所定义的,而不是系统调用所定义。Theviewofoperatingsystemseenbymostusersisdefinedbytheapplicationandsystemprograms,ratherthanbytheactualsystemcalls.
2.6操作系统设计和实现2.6.1设计目标用户目标-OS应该便于使用,易于学习,可靠,安全与快速系统目标-OS应该易设计,实现和维护,同时应该灵活,可靠,没有错误且高效。2.6操作系统设计和实现2.6.2机制与策略机制决定事情如何来做,而策略决定做什么内容。策略和机制的区分对于灵活性来说很重要,每次策略的改变都可能需要底层机制的改变。例如:对于一个计算机系统,策略用来决定是I/O密集型程序应该比CPU密集型程序有更高的优先级,还是相反?而机制则用来决定如何定义程序的优先级、如何利用优先级进行调度。2.6操作系统设计和实现2.6.3实现传统地,操作系统是用汇编语言来编写的,不过,操作系统现在都是用高级语言如C或C++来编写的。MULTICS用PL/1编写(MIT)UNIX、OS/2、WindowsNT主要用C来编写高级语言编写代码编写更快速更紧凑更易理解与调试用高级语言编写的操作系统更易快速移植到其它硬件平台上。2.7操作系统结构
OperatingSystemstructure
本节介绍操作系统的常用模块如何连接起来以组成内核。Inthissection,wediscusshowthesecomponentsofoperatingsystemsareinterconnectedandmeldedintoakernel.2.7操作系统结构
本节介绍操作系统的常用模块如何连接起来以组成内核。操作系统是一个大型系统软件,其内核结构主要有三种:模块结构层次结构微内核结构2.7.1简单结构
SimpleStructure
许多商业操作系统没有明确定义的结构。通常这些操作系统最初很小、简单且功能有限,但后来渐渐超出了其原来范围。Manycommercialsystemsdonothavewell-definedstructure.Frequentlysuchoperatingsystemsstartedassmall,simple,andlimitedsystemsandthengrewbeyondtheiroriginalscope.MS-DOSMS-DOS-以最小的空间提供最多的功能MS-DOS–writtentoprovidethemostfunctionalityintheleastspace不划分模块notdividedintomodules其接口和功能层次没有划分清楚itsinterfacesandlevelsoffunctionalityarenotwellseparated
MS-DOS层次结构
MS-DOSLayerStructure早期UNIX系统结构
OriginalUNIXSystemStructure
早期UNIX:受硬件功能限制。它由2个独立部分组成。originalUNIX:limitedbyhardwarefunctionality.Itconsistsoftwoseparableparts
系统程序Systemsprograms内核ThekernelUNIX系统结构2
UNIXSystemStructure内核包括了在物理硬件之上,系统调用之下的一切Thekernelconsistsofeverythingbelowthesystem-callinterfaceandabovethephysicalhardware内核通过系统调用提供文件系统、CPU调度、存储管理和其他操作系统功能。Thekernelprovidesthefilesystem,CPUscheduling,memorymanagement,andotheroperating-systemfunctions.UNIX系统结构图2.7.2分层方法
LayeredApproach操作系统划分为若干层(级),底层(0层)为硬件;最高层(N层)为用户接口。Theoperatingsystemisbrokenupintoanumberoflayers(levels).Thebottomlayer(layer0)isthehardware;thehighest(layerN)istheuserinterface.每层都利用较低层的功能和服务,为较高层隐藏一定的数据结构、操作和硬件的存在。layersareselectedsothateachusesfunctions(operations)andservicesofonlylower-levellayers.eachlayerhidestheexistenceofcertaindatastructures,operations,andhardwarefromhigher-levellayers.一种分层操作系统
Alayeredoperatingsystem层0硬件层1...层n层次结构层次结构是将操作系统内核按照一定的规则划分为一系列相互依赖的层次,每个层次也可以分解为一系列更小的模块,每个模块完成一个特定的功能,只能与相邻层次发生直接联系,所有这些层次的集合就实现了整个系统。层次结构特点层次结构是一种特殊的模块结构。其特点为:给模块赋予了层次顺序,使调用关系变得有序;在上下两层不变的基础上可以换掉某层,便于移植和扩充。但以牺牲一定的灵活性为代价。2.7.3
微内核Microkernel将所有非基本部分从内核中移走,并将它们实现为系统程序或用户程序,这样得到更小的内核。Removingallnonessentialcomponentsfromthekernelandimplementingthemassystemanduser-levelprograms,Theresultisasmallerkernel.微内核通常包括最小的进程和内存管理以及通信功能。Typically,however,microkernelsprovideminimalprocessandmemorymanagement,inadditiontoacommunicationfacility.
微内核2Microkernel微内核的主要功能是使客户程序和运行在用户空间的各种服务之间进行通信Themainfunctionofthemicrokernelistoprovideacommunicationfacilitybetweentheclientprogramandthevariousservicesthatarealsorunninginuserspace.
微内核3Microkernel优点Benefits:容易扩充操作系统easeofextendingtheoperatingsystem容易从一种硬件平台移植到另一种硬件平台easiertoportfromonehardwaredesigntoanother 更安全可靠moresecurityandreliablility不足:因系统功能总开销增加导致系统性能下降Performancedecreasesduetoincreasedsystemfunctionoverhead.微内核结构微内核结构将操作系统中的内存管理、设备管理、文件管理等高级服务功能尽可能从内核分离出来,变成几个独立的非内核模块而在内核只保留少数最基本的功能,如调度、进程间通信、地址空间支持等,使内核变得简洁可靠。微内核结构特点降低了开发难度,具有较好的扩展性及移植性,特别适合大规模开放式的分布系统。但效率较低。2.7.4模块Modules也许最新的操作系统设计方法是用面向对象编程技术来生成模块化的内核。Perhapsthebestcurrentmethodologyforoperating-systemdesigninvolvesusingobject-orientedprogrammingtechniquestocreateamodularkernel.内核有一组核心部件,以及在启动或运行时对附加服务的动态链接。Thekernelhasasetofcorecomponentsanddynamicallylinksinadditionalserviceseitherduringboottimeorduringruntime.
模块2Modules例如Solaris组织成7个可加载的内核模块及一个核心内核所构成:Forexample,theSolarisoperatingsystemstructureisorganizedaroundacorekernelwithseventypesofloadablekernelmodules:调度类Schedulingclasses文件系统Filesystems可加载的系统调用Loadablesystemcalls可执行格式ExecutableformatsSTREAMS模块STREAMSmodules杂项模块Miscellaneousmodules设备和总线驱动Deviceandbusdrivers
可加载的Solaris模块
Solarisloadablemodules模块结构模块结构将操作系统内核按照功能划分为一个个独立的模块,模块之间相对独立,只能通过事先规定好的接口方式来调用。每个模块实现一个完整独立的功能,所有模块之间相互调用,共同构成一个完整的系统内核。模块结构特点效率高;但全局函数使用多造成访问控制困难;结构不清晰,可理解性、可维护性及可移植性差。模块A模块B模块C模块D模块E模块F宏内核与微内核操作系统内核按照其运行的情况可分为:宏内核:也称单内核,在运行过程中,它是一个独立的进程。模块结构、层次结构的系统内核基本都是宏内核。Linux系统属于宏内核类型。微内核:微内核中,大部分内核模块都作为独立的进程,它们之间通过消息通信使模块之间互相提供服务。微内核本身类似一个消息管理器,通过合理组织内核模块来保证只调入最需要的模块运行。WindowsNT/2000系统属于微内核类型。2.8
虚拟机虚拟机的基本思想是将单个计算机的硬件抽象为几个不同的执行部件。创建虚拟机的根本原因是在并行运行几个不同的执行环境时能够共享相同的硬件。通过利用CPU调度和虚拟内存技术,操作系统能创建一种幻觉,以至于进程认为有自己的处理器和自己的(虚拟)内存。系统模型SystemModels非虚拟机Non-virtualMachine虚拟机VirtualMachine2.8.1实现底层机器有两种模式:用户模式和内核模式。虚拟机也有两种模式:虚拟用户模式,虚拟内核模式。2.8.2优点虚拟机概念提供对系统资源的完全保护,每个虚拟机完全独立于其他虚拟机,但也没有直接共享资源。虚拟机是研发操作系统的完美载体。系统开发在虚拟机上而不是在物理硬件上完成,从而不会打扰正常系统运行。2.8.3实例:VMwareVMware是一个流行的商业应用程序,它将Intel80x86硬件抽象成独立的虚拟机。VMware作为一个应用程序运行在主操作系统如Linux之上,并允许主操作系统将几个不同的客户操作系统作为独立的虚拟机运行。2.8.3实例:VMware结构2.8.3实例:Java虚拟机编译后的Java程序是可以被Java虚拟机(JVM)执行的与平台无关的字节码。JVM包括类装载器类校验器运行时解释器JIT(Just-In-Time)编译器能够提高Java运行的效率2.8.3实例:Java虚拟机示意图2.9系统生成操作系统一般通过磁盘或CD-ROM来发布。为生成系统可以使用一个特殊程序。
SYSGEN程序从给定文件读取或检索硬件配置以决定系统中有什么部件。系统生成2系统管理员可以利用这些信息修改操作系统的源代码副本,接着完全重新编译操作系统。可以构造完全由表驱动的系统,所有代码都是系统的组成部分,选择发生在执行时而不是编译或链接时。2.10系统启动引导系统:装入内核以启动计算机的过程。引导程序:存储在ROM中的代码,能够定位内核,调入内存,并开始其运行。
习题习题22.1Whatisthepurposeofsystemcalls?2.20Whataretheadvantagesofusingloadablekernelmodules?选择题1操作系统提供给编程人员的接口是_____。A.系统调用
B.子程序C.库函数D.高级语言考研题下列选项中,操作系统提供给应用程序的接口是
。10A.系统调用 B.中断C.库函数 D.原语第二部分进程管理
PartTwoProcessManagement第3章进程Chapter3
Processes本章目标:ChapterObjective介绍进程的概念Tointroducethenotionofaprocess介绍进程的特点Todescribethevariousfeaturesofprocess3.1进程的概念ProcessConcept
为了描述并发程序执行时的特征,引入了进程。进程是资源分配的基本单位,也是独立运行的基本单位。本书使用的名词作业和进程基本可互换。Thetermsjobandprocessareusedalmostinterchangeablyinthistext.
前趋图前趋图是一个有向无循环图,用于描述程序、程序段或语句执行的先后次序。图中的每个结点可以表示一条语句、一个程序段或一个进程,结点间的有向边表示两个结点之间存在的前趋关系“→”:→={(Pi,Pj)│Pi必须在Pj开始执行之前完成}前趋图中的各类结点如果(Pi,Pj)∈→,可以写成Pi→Pj,则称Pi是Pj的直接前趋,Pj是Pi的直接后继。若存在一个序列Pi→Pj→…→Pk,则称Pi是Pk的前趋。在前趋图中,没有前趋的结点称为初始结点,没有后继的结点称为终止结点。
前趋图例S1S2S3S6S4S5程序的顺序执行
一个程序通常由若干个程序段所组成,它们必须按照某种先后次序来执行,仅当前一个操作执行完后才能执行后继操作,这类计算过程就是程序的顺序执行过程。例如:先输入→再计算→最后输出,即:I1→C1→P1→I2→C2→P2→…→In→Cn→Pn。程序顺序执行时的特征
顺序性:处理机的操作严格按照程序所规定的顺序执行,即每一个操作必须在下一个操作开始之前结束。封闭性:程序一旦开始运行,其执行结果不受外界因素影响。可再现性:只要程序执行时的初始条件和执行环境相同,当程序重复执行时,都将获得相同的结果。程序的并发执行及特点程序的并发执行是指若干个程序(或程序段)同时在系统中运行,这些程序(或程序段)的执行在时间上是重叠的,一个程序(或程序段)的执行尚未结束,另一个程序(或程序段)的执行已经开始。程序并发执行例进程1、2、3并发执行。对每个进程而言,其输入、计算和输出这三个操作必须顺序执行。它们之间存在如下先后关系:I1先于C1和I2,C1先于P1和C2,P1先于P2I2和C1,I3、C2和P1可以并发。I1I2I3C1C3C2P1P2程序并发执行时的特征
间断性:并发程序具有“执行---暂停----执行”这种间断性的活动规律。失去封闭性:多个程序共享系统中的资源,这些资源的状态将由多个程序来改变,致使程序之间相互影响。不可再现性:在初始条件相同的情况下,程序的执行结果依赖于执行的次序。与时间有关的错误例程序并发执行时可能出现与时间有关的错误。例进程1:r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石油行业油田采出水深度处理回用项目技术创新总结报告
- 综合行业事故调查证据收集培训
- 纳米材料智能分散与稳定性提升技术创新总结报告
- 电力行业动火作业审批与现场监护培训
- 食品包装机无菌灌装技术创新总结报告
- 安徽省合肥市卓越中学2025-2026学年高二上学期期中考试英语试题(含答案)
- 资产评估师(珠宝)考前密押题集(完整版)
- 2026对外经济贸易大学审计处面向社会招聘事业编其他专技人员(工程技术)补充1人笔试题库附完整答案详解(网校专用)
- 2026湖南省邵阳县审计局专业技术人员招聘10人模拟试卷含完整答案详解(历年真题)
- 2026安徽合肥市某三甲医院(制剂中心工作人员)招聘2人考前冲刺密卷及答案详解(各地真题)
- 工厂处理客诉培训
- 《凝血因子检查》课件
- 老年高血压特点及临床诊治流程专家共识(2024)解读
- 服装厂生产车间员工劳务合同书(34篇)
- 会计从业会计基础
- 2024办公桌椅购销合同范本
- 装配工人培训产品装配与质量控制
- JGJ114-2014 钢筋焊接网混凝土结构技术规程
- 贵州省贵阳市2021年化学中考真题(含答案解析)
- JJG 176-2022声校准器
- GB/T 3906-20203.6 kV~40.5 kV交流金属封闭开关设备和控制设备
评论
0/150
提交评论