




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机操作系统操作系统课程简介理工科非计算机类专业的专业知识教育层面课程 。要求掌握:操作系统的基本概念 基本理论设计方法和实现技术 具有初步分析实际操作系统的能力操作系统课程简介以操作系统的五大功能(进程管理,处理机调度,存储管理,文件系统,设备管理)为主,讲解操作系统作为管理计算机系统资源的一组软件的工作原理,加深学生对计算机资源的理解,能够从资源管理的角度领会操作系统的功能和实现过程,具备操作系统的整体概念。 课程目的不是如何使用操作系统而是理解操作系统做什么工作,如何工作 OS工作方式OS内部算法与数据结构设计OS过程中的问题与解决方案,折中权衡为什么研究操作系统如何工作?效率功能教
2、学 环 节课堂讲授与讨论课后自学课后作业考试教 学 内 容第一章 第六章学 习 收 获1. 对操作系统的基本概念、基本结构及设计方法有一定的认识,具备初步的分析与解决问题能力。2. 了解操作系统的演化过程、发展研究动向、新技术以及新思想,具有透过变化看趋势、透过技术抓原理、把握学科发展脉搏的基本素质。3. 编程时可借鉴操作系统中的设计思想和算法,应用操作系统中所用的许多概念和技巧。第一章 操作系统引论操作系统(operating system) 是现代计算机系统中不可缺少的基本系统软件。它是这样一些程序模块的集合:它们管理和控制计算机系统中的硬件及软件资源,合理的组织计算机工作流程,控制程序的
3、执行并向用户提供各种服务功能。同时为用户提供一个功能强大,使用方便和可扩展的工作环境,使整个计算机系统能高效地运行。 本 章 内 容1.1 操作系统的目标和作用1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 操作系统的结构设计1.1 操作系统的目标和作用目标相关因素:计算机系统的规模大中型机:有效性与强大的功能微机:方便性操作系统的应用环境1.1.1 操作系统的目标操作系统的目标与计算机系统规模、应用环境和操作系统类型有关。目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重。 1有效性 :提高资源利用率和系统的吞吐量 2方便性: 配置OS后使
4、计算机更容易使用。 3可扩充性:采用新的结构,如层次结构、微内核结构和客户服务器模式,便于增加新的功能模块和修改老的功能模块 4开放性 :遵循世界标准规范,统一开放的环境。 1.1.2 操作系统的作用 1OS作为用户与计算机硬件系统之间的接口OS处于用户与计算机硬件系统之间,为程序及其用户提供各种服务,用户通过OS操纵计算机硬件,运行自己的程序。 (P2 见图1-1 )服务方式:程序接口、操作接口程序接口:提供一组广义指令(即系统调用)供用户程序和其他系统程序调用。 操作接口:提供一组控制操作命令或图形窗口方式供用户使用计算机。 1.1.2 操作系统的作用 2OS作为计算机系统资源的管理者 处
5、理机管理: 分配和控制处理机 存储器管理 :主要负责内存的分配与回收 I/O 设备管理 :负责 I/O 设备的分配与操纵 文件管理 :负责文件的存取、共享和保护1.1.2 操作系统的作用 3OS实现了对计算机资源的抽象目前采用的方法是在计算机裸机上加上一层又一层的软件来组成整个计算机系统。把覆盖了软件的机器称成为扩充机或虚拟机。虚拟机向用户提供了一个对硬件操作的抽象模型。OS是铺设在硬件上的多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象。1.1.3 推动操作系统发展的动力 1不断提高计算机资源利用率 最初发展的动力,进而形成了批处理系统。其后各种调
6、度算法和分配策略相继被研究和采用。2方便用户批处理交互型分时;命令行交互GUI 3器件的不断更新换代 微电子技术是推动计算机技术飞速发展的“引擎” 4计算机体系结构的不断发展 多处理机系统出现 :多处理机OS与并行OS 网络出现与发展 :分布式操作系统和网络操作系统 1.2 操作系统的发展过程操作系统的四个发展阶段: 1946年 50年代末:电子管时代,无操作系统。 50年代末60年代中期:晶体管时代,批处理系统。 60年代中 70年代中后期:集成电路时代,多道程序设计,分时系统。 70年代中后期至今:大规模和超大规模集成电路时代。 现代计算机正向着巨型、微型、并行、分布、网络化和智能化几个方
7、面发展。 1.2.1 无操作系统的计算机系统1人工操作方式1945年 到 50 年代中期的计算机 ,未出现操作系统。计算机系统的资源管理和控制由人工负责。计算机的操作由程序员采用手工操作直接控制和使用计算机硬件。程序员将事先准备好的程序和数据穿孔在纸带或卡片上,从纸带或卡片输入机将程序和数据输入计算机。然后,启动计算机运行,程序员可以通过控制台上的按钮、开关和氖灯来操纵和控制程序,运行完毕,取走计算的结果,才轮到下一个用户上机。人工操作方式的特点:独占性: 用户独占全机资源CPU等待人工操作串行性缺点:资源浪费,效率低下人工操作方式导致人机矛盾,高速CPU与低速I/O设备矛盾,为缓和此类矛盾,
8、出现了通道技术、缓冲技术、脱机输入/输出技术。 2脱机输入/输出(Off-Line I/O)方式在采用脱机输入输出方式时,程序和数据的输入输出都是在外围计算机的控制下完成的,即它们是脱离主机进行的,故称之为脱机输入/输出方式。脱机I/O方式的主要优点如下:(1)减少了CPU的空闲时间。 (2) 提高I/O速度。2脱机输入/输出(Off-Line I/O)方式脱机I/O示意图2脱机输入/输出(Off-Line I/O)方式脱机I/O示意图1.2.2 单道批处理系统 计算机发展的早期,没有任何管理的软件,所有的运行管理和具体操作都由用户自己承担。解决的方法有两个:1. 配备专门的计算机操作员。程序
9、员不再直接操作机器,减少操作机器的错误。2. 进行批处理。操作员把用户提交的作业分类,把一批作业编成一个作业执行序列。每一批作业将有专门编制的监督程序(monitor)自动依次处理。1.2.2 单道批处理系统 所谓批处理系统是指配备在计算机上的一个系统软件(前身是监督程序),在它的控制下,计算机能够自动地成批地处理一个或多个用户的作业。1批处理中的作业的组成包括用户程序、数据和作业说明书(作业控制语言)。 “批”:供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)。 2单道批处理系统的处理过程单道批处理在内存中仅有一道作业。开始还有下一作业?把下一个作业的
10、源程序转换为目标程序源程序有错吗?停止是是否装配目标程序运行目标程序否 单道批处理阶段操作过程3两种批处理方式 联机批处理:慢速的I/O处理仍直接由主机来完成 主要优点:实现了作业自动转接,减少了作业建立 和手工操作时间。 存在问题:CPU 与I/O串行操作,输入输出时, CPU处于等待状态。脱机批处理:增设输入输出外围机(卫星机)。主要优点:主机摆脱了 I/O操作,主机与外围机可并 行工作。改善了输入输出设备的利用率, 提高了CPU的利用率。存在问题:需要增设专门的硬件。 4单道批处理系统的特征单道批处理系统是最早出现的一种OS,严格地说,它只能算作是OS的前身而并非是现在人们所理解的OS。
11、该系统的主要特征如下:(1) 自动性 (2) 顺序性 (3) 单道性 1.2.3 多道批处理系统 诞生背景20世纪60年代初期,硬件获得了两方面的发展:通道(channel)是一种专用处理部件,它能控制一台或多台输入输出设备工作,负责输入输出设备与主存之间的信息传输。它一旦被启动就能独立与CPU运行,这样可使CPU和通道并行操作,而且CPU和多种输入输出设备也能并行操作。 中断(interrupt)是指当主机接到外部信号时,马上停止原来工作,转去处理这一中断事件。处理完毕后,主机回到原来的断点继续工作。 诞生背景中断和通道技术出现后,使得输入/输出设备与中央处理机可以并行操作。为了进一步提高资
12、源的利用率和系统对作业的吞吐量,在20世纪60年代中期,引入了多道程序设计技术,由此而形成了多道批处理系统。1多道程序设计的基本概念基本思想:在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用。处理方式: 用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。单道与多道程序运行比较单道与多道程序运行比较从宏观上看,多道程序都处于运行过程中,但都未运行完成;从微观上看,各道程序轮流占用CPU,交替地执行。引入多
13、道程序设计技术的根本目的是提高CPU的利用率,充分发挥系统部件的并行性。多道程序设计的目的:提高CPU、内存、I/O设备利用率,增加了系统吞吐量。 2多道批处理系统的特征(1)多道性:计算机内存中同时驻留多道相互独立的程序(2 )批处理(无交互):用户自己不能干预自己作业的运行(3)无序性:作业完成的顺序与进入内存的先后顺序之间无对应关系。(4)调度性:作业调度与进程调度(5)宏观上并行、微观上串行 3多道批处理系统的优缺点 (1)资源利用率高 (2)系统吞吐量大 (3)平均周转时间长多道程序设计技术提高资源利用率和系统吞吐率是以牺牲用户的响应时间为代价的。(4)无交互能力。4多道批处理系统需
14、要解决的问题实现多道程序设计必须妥善地解决三个问题:存储保护与程序浮动;处理器的管理和调度,系统资源的管理和调度。(1)处理机管理问题。 (2)内存管理、内存保护问题。 (3)I/O设备管理问题。 (4)文件管理问题。 (5)作业管理问题。 1.2.4 分时系统1分时系统的产生 (1) 人机交互 (2) 共享主机 (3) 便于用户上机分时系统是为了满足多个联机用户的快速响应所形成的一种新型OS。第一台真正的分时操作系统:CTSS多用户多任务操作系统:MULTICS1.2.4 分时系统2分时系统的思想 分时技术就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业或各终端用
15、户使用。如果某作业在分配给它的时间片用完时仍未完成,则该作业就暂时中断,等待下一轮运行,并把处理机的控制权让给另一个作业使用。这样在一个相对较短的时间间隔内,每个用户作业都能得到快速响应,以实现人机交互。“分时”的含义:分时是指多个用户利用分时技术分享使用同一台计算机。多个程序分时共享硬件和软件资源分时系统:一种联机的多用户交互式的操作系统。一般采用时间片轮转的方式,使一台计算机为多个终端服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。UNIX是当今最流行的一种多用户分时操作系统。3.分时操作系统工作方式一台主机连接了若干个终端每个终端有一个用户在使用交互式的向系统提出命令请求系统
16、接受每个用户的命令采用时间片轮转方式处理服务请求并通过交互方式在终端上向用户显示结果用户根据上步结果发出下道命令4分时系统实现中的关键问题最关键的问题是如何使用户能与自己的作业进行交互 。即使多个用户在自己的终端上键入命令, 系统应能及时接收并及时处理该命令,再将结果返回给用户。(1) 及时接收:硬件实现 多路卡 缓冲区(2) 及时处理:作业直接进入内存,按时间片轮转。5分时系统的特点 (1)多路性多个终端用户同时使用。宏观上:是多个人同时使用一个CPU,微观上:多个人在不同时刻轮流使用CPU(2)交互性 :人机交互,联机工作 (3)“独占”性终端用户彼此独立,互不干扰,每个终端用户感觉上好像
17、他独占了这台计算机。(4)及时性终端用户的立即型请求(即不要求大量CPU时间处理的请求)能在足够快的时间之内得到响应。6影响响应时间的因素终端数目多少调度算法(时间片的选取)信息交换量和信息交换速度机器处理能力请求服务的时间长短及服务请求的分布1.2.5 实时系统 “实时”,即“及时”;实时系统(Real-Time System)是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。特点:及时性要求高,系统可靠性高。1应用需求实时过程控制系统:以计算机为中心的过程控制系统,又称计算机控制系统。例如:工业生产过程控制、导弹制导系统、飞机自动驾驶系统
18、特点:与被控制过程的变化速度相比,其反应速度要足够快;工作安全可靠,即使系统硬件发生故障,系统也能安全运行;操作人员使用系统也简单、方便。实时信息处理:计算机及时接收从远程终端发来的服务请求,根据用户提出的问题对信息进行检索和处理,并在很短时间内对用户做出正确回答。例如:情报检索系统、银行业务处理系统、联机售票系统、股票行情显示2实时任务在实时系统中通常存在若干个实时任务,通常与某个外部设备或事件相关,能反应或控制相应的事件与外部设备。按任务执行是否呈现周期性:周期性实时任务非周期性实时任务;按实时任务截止时间:硬实时任务软实时任务。3实时系统的主要目标响应快 对外部请求在严格时间范围内作出反
19、应可靠性高安全性 实时系统必须和先进的技术装备相结合4实时系统与分时系统特征的比较 (1)多路性 (2)独立性 (3)及时性 (4)交互性 (5)可靠性 通用系统(general system) 批处理系统、分时系统和实时系统是操作系统的三种基本类型。目前的操作系统,通常具有分时、实时和批处理两种以上的功能,可在多种硬件平台上运行,又称作通用操作系统。实时批处理系统通常把实时任务称为前台作业,批作业称为后台作业。分时批处理系统1.2.6 操作系统的发展 世纪年代,大规模集成电路的发展,一方面 迎来了个人计算机飞速发展,一方面又向网络化、分布式处理、巨型计算机、智能化方向发展。主要包括:个人计算
20、机上的操作系统嵌入式操作系统网络操作系统分布式操作系统智能化操作系统。1个人计算机(微机)操作系统 1. 单用户单任务操作系统1)CP/M:1974 Intel8080,8085,Z80芯片2)MS-DOS: 1981 1983 V2.0:Intel802862. 单用户多任务操作系统Windows 3.0Windows 95:支持网络功能Windows 98:集成IE浏览器Windows xp:32位 64位Windows 73. 多用户多任务操作系统UNIX1个人计算机(微机)操作系统 单用户单任务操作系统 如 CP/M和MS-DOS 单用户多任务和分时操作 以OS/2、XENIX和 WI
21、NDOWS为代表。GUI、多用户和多任务 Solaris、 Linux支持虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用编程支持API等特点: 1)开放性 2)通用性 3)高性能 4)采用微内核结构 目前个人计算机上使用的操作系统以windows系列和linux系统为主。2网络操作系统 Network Operating System计算机网络是通过通信设施将物理上分散的具有自治功能的多个计算机系统互连起来的,实现信息交换,资源共享,交互操作和协作处理的系统。网络操作系统用于管理网络中的各种资源,为用户提供各种服务。其主要功能有:网络通信管理网络资源管理网络安全管理网络服务网络操作系
22、统的工作模式客户机/服务器(Client/Server) 模式这类网络中分成两类站点,一类作为网络控制中心或数据中心的服务器,提供文件打印、通信传输、数据库等各种服务;另一类是本地处理和访问服务器的客户机。对等(Peer-to-Peer) 模式网络中的站点都是对等的,每一个站点既可作为服务器,而又可作为客户机。 网络操作系统有三大主流:Unix、Netware 、WindowsUnix是唯一能跨多种平台的操作系统;Windows 工作在微机和工作站上;Netware则主要面向微机。 3分布式操作系统Distributed Operating System分布式计算机系统是指由多台分散的计算机,
23、经互连网络连接而成的系统。 分布式系统是一个一体化的系统,在系统中有一个全局操作系统,即分布式操作系统,它负责整个系统的资源分配和调度、任务划分、信息传输、控制协调等工作,为用户提供一个统一的界面,标准的接口。用户的任务由系统统一安排。分布式操作系统的特征系统内只有一个全局操作系统,采用分布式控制的办法,负责全系统的资源管理和运行控制。资源进一步共享:系统内包含有多个物理资源和逻辑资源,它们可以动态地分配给各个任务。并行运算 :程序可以在多个计算机上运行自治性:分布式系统中的多个主机处于平等地位,无主从关系。所有资源都高度自治且相互配合地工作,它们之间不存在层次控制或主从控制的关系。处理能力增
24、强、速度更快、可靠性增强网络OS和分布式OS的区别:(1) 都具有各个计算机间相互通讯功能,分布式无主从关系,而且可以实现进程间通信;网络OS有主从关系(2) 分布式系统资源为所有用户共享; 而网络有限制地共享(3) 分布式系统中若干个计算机可相互 协作共同完成一项任务4嵌入式操作系统 Embedded Operating System嵌入式系统:嵌入在3C产品(Computer ,Communication ,Consumer Electronics)也称信息电器中的一套软硬件系统,用于在各种设备装置或系统中完成特定功能。嵌入式操作系统 是嵌入式软件的基本支撑。嵌入式操作系统,是运行在嵌入式
25、智能芯片环境中,对整个智能芯片以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件。嵌入式系统的特点与应用 特点:1)微型化 2)专业化 3)实时性 应用场合:嵌入式软件广泛应用于过程控制,数据采集、通信、多媒体信息等要求迅速响应的场合。掌上电脑工业设备军事装备1.3 操作系统的基本特征操作系统(operating system):是计算机系统中的一个系统软件,它管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程以便有效地利用这些资源,并为用户提供一个功能强大、使用方便和可扩展的工作环境,在计算机与其用户之间起到接口的作用。特征:1并发(Concurr
26、ence)2共享(Sharing)3虚拟(Virtual)4异步(Asynchronism)1.3.1 并发性1. 并行与并发(concurrence )并行性:两个或多个事件在同一时刻发生。 并发性:两个或多个事件在同一时间间隔内发生。 在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。 宏观上并发,微观上分时交替执行 。程序的并发执行,有效地改善了系统资源的利用率和提高了系统的吞吐量,但它使系统复杂化,操作系统必须具有控制和管理各种并发活动的能力。并发是对进程而言。2. 引入进程进程(
27、process):在系统中能独立运行并作为资源分配的基本单位,由指令、数据、椎栈等组成。是一个能独立运行的活动实体。进程间可以并发执行并交换信息。进程运行时需要一定的资源。 3. 引入线程引入背景:进程调度与切换付出的开销较大。进程中包含若干线程,共享进程拥有的资源。进程为分配资源的基本单位,线程为独立运行与独立调试的基本单位。同一进程内线程切换与调试付出的开销小,能更高效地提高并发度。1.3.2 共享(sharing) 共享,是指系统中的资源(硬件资源和信息资源)可供内存中多个并发执行的进程共同使用。也称资源共享或资源复用。资源共享方式两种:1互斥共享方式2同时访问方式1互斥共享方式系统中的
28、某些资源如打印机、音频设备等,虽然它们可提供给多个进程使用,但在一段时间内却只允许一个进程访问这些资源。资源分配后到释放前,不能被其他进程所用。当一个进程还在使用该资源时,其它欲访问该资源的进程必须等待,仅当该进程访问完毕并释放资源后,才允许另一进程对该资源访问。这种一段时间内只允许一个进程访问的资源称临界资源或独占资源,许多物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,只能互斥地被共享。 2同时访问方式系统中的还有许多资源,允许一段时间内有多个进程“同时”对它进行访问,这里“同时”是宏观上的说法。而在微观上,这些进程可能是交替地对该资源进行访问。典型的可供多进程同时访问的资源
29、是磁盘,可重入代码文件 。与共享性有关的问题是资源分配、信息保护、存取控制等 。 共享性和并发性是操作系统两个最基本的特征,它们互为依存。资源共享是以进程的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题。若系统不能对资源共享实施有效地管理,必然会影响到运行程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。 1.3.3 虚拟(virtual)虚拟,是指把一个物理上的实体,变为若干个对应的逻辑实物。用于实现虚拟的技术,称为虚拟技术。虚拟技术的基本思想是:通过用一类物理设备来模拟另一类物理设备,或通过分时地使用一类物理设备,把一个物理实体变成若
30、干个逻辑上的对应物。 OS中利用了多种虚拟技术,分别用来实现虚拟处理机,虚拟内存、虚拟外部设备和虚拟信道等。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。 1. 时分复用技术分时使用方式虚拟处理机技术:利用多道程序设计技术,多进程并发,分时使用一台处理机。每个用户都感觉有一个处理机为自己服务。多进程并发,将一台物理上的处理机虚拟为多台逻辑上的处理机,称为虚拟处理机。1. 时分复用技术虚拟设备技术:将一台物理 I/O 设备虚拟为多台逻辑上的 I/O 设备,并允许每个用户占用一台逻辑上的 I/O 设备,这样便可使 原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为在一段时间内
31、允许多个用户同时访问的共享设备。通过时分复用方式,可以把一条物理信道虚拟化为若干条逻辑信道,每个用户都认为自己获得专有的信道在进行数据通信。2. 空分利用技术电信业:将一个频率范围非常宽的信道,划分为多个频率范围较窄的信道,其中的任何一个频带只供一对用户通话。空分复用技术提高存储空间的利用率。2. 空分利用技术虚拟磁盘技术:磁盘分卷,将一台硬盘虚拟为多台虚拟磁盘。内存:分区,共享可提高内存利用率。虚拟存储器技术:内存的分时复用。使程序在远小于它的内存空间运行。1.3.4 异步性(Asynchronism) 异步性(Asynchronism)也称不确定性,指进程的执行顺序和执行时间的不确定性。
32、在多道程序环境下进程是并发执行, 但由于竞争资源等因素的限制,进程的执行不是“一气呵成,而是以“走走停停”的方式运行。每个进程在何时执行,何时暂停;多个进程间的执行顺序以及完成每道程序所需的时间都是不确定和不可预知的。进程是以人们不可预知的速度向前推进,此即进程的异步性。 异步性(Asynchronism) 异步性给系统带来了潜在的危险,有可能导致与时间有关的错误。操作系统必须保证在相同的运行环境下,多次运行作业,都会获得完全相同的结果。具体技术:进程的互斥与同步机制。 1.4 操作系统的主要功能资源管理是操作系统的一项主要任务。从资源管理出发,OS有四个主要功能:处理机管理存储器管理设备管理
33、文件管理为方便使用,OS向用户提供了用户接口。其他的还有面向网络的服务和功能。 1.4.1 处理机管理主要任务是对处理机的分配和运行实施有效管理。在多道程序环境下,处理机的分配和运行都是以进程为单位,所以对处理机的管理可理解为对进程和线程的管理。主要功能创建(撤消)进程;协调进程运行 ;实现进程间的信息交换;处理机的分配与调度 1进程控制进程控制的基本功能就是创建、撤消进程以及控制进程的状态转换。现代OS中,还具有线程控制功能。当用户作业要运行时,应为之建立一个或多个进程,并为它分配除处理机以外的所有资源,将它放入进程就绪队列。当进程运行完成时,立即撤消该进程,以便及时释放其所占有的资源。2进
34、程同步进程同步:系统对并发执行的进程进行协调。有两种协调方式:进程互斥:最基本的进程同步方式,是使诸进程以互斥方式访问临界资源。进程同步:相互合作去完成共同任务的诸进程,由同步机制对它们的执行次序加以协调。为实现进程同步,系统中必须设置同步机制,如用于实现互斥的互斥锁,用于实现同步的信号量机制。3进程通信对于相互合作的进程,在它们运行时,相互之间往往要交换一定的信息,这种进程间所进行的信息交换称为进程通信。实现:共享存储器消息传递管道通信4调度作业调度:按一定算法从后备队列中选出若干个作业,为它们分配资源,建立进程,使之成为就绪进程,并把它们按一定算法插入就绪队列。进程调度:按一定算法,如最高
35、优先算法,从进程就绪队列中选出一进程,把处理机分配给它,为该进程设置运行现场,并使之投入运行。正是由于操作系统对处理器的管理策略不同,其提供的作业处理方式也就不同,例如,批处理方式、分时处理方式、实时处理方式等等。从而,呈现在用户面前,成为具有不同性质和不同功能的操作系统。 1.4.2 存储器管理主要任务: 为多道程序的并发运行提供良好环境。 方便用户使用存储器。提高存储器的利用率。 能从逻辑上来扩充内存。功能:1) 内存分配 2)内存保护3)地址映射 4)内存扩充1内存分配功能:为每道程序分配独立的内存空间 。分配方式:静态分配方式:动态分配方式:实现的结构和功能:内存分配数据结构内存分配功
36、能内存回收功能2内存保护为保证各道程序都能在自己的内存空间运行而互不干扰,要求每道程序在执行时能随时检查对内存的所有访问是否合法。必须防止因一道程序的错误而扰乱了其它程序,尤其应防止用户程序侵犯操作系统的内存区。实现:访问合法性检查,越界检查,由硬件与软件共同实现。 3地址映射将程序地址空间中的逻辑地址转换为内存空间对应的物理地址。地址空间:编译时,由于不可预知目标程序将驻留在内存中哪些位置,因此目标程序的起始地址是从0开始的,程序中的其他地址都是相对于起始地址计算的。由这些地址所形成的地址范围称为地址空间。其中的地址称为逻辑地址或相对地址。内存空间:程序载入内存后,由内存中的一系列单元所限定
37、的地址范围称为内存空间。 4内存扩充借助虚拟存储技术,从逻辑上扩充内存容量。作用:能运行内存需求量远比物理内存大得多得作业让更多的作业并发执行 实现:请求调入功能:允许在装入部分程序和数据的情况下运行程序。置换功能1.4.3 设备管理主要任务:为用户进程分配I/O设备完成用户进程请求的I/O操作提高CPU和I/O设备的利用率提高I/O处理速度改善人机界面,方便用户使用I/O设备功能:1)缓冲管理 2)设备分配 3)设备处理 4)虚拟设备1缓冲管理 基本任务是管理好各种类型的缓冲区。缓冲区是用来缓和CPU与I/O设备间速度不匹配的矛盾,目的是提高CPU与I/O设备、设备与设备间操作的并行程度和利
38、用率。 2设备分配基本任务:根据用户进程的I/O请求、系统现有的资源情况和所采用的分配算法对设备进行分配,并将未获得所需设备的进程放进相应设备的等待队列。 设备使用完毕后应由系统回收。实现:要有相应的数据结构,如设备控制表、空闲设备表等记录分配状况。对临界资源的分配还要考虑安全性检查。3设备处理也称为设备驱动,其处理程序即为设备驱动程序。基本任务:实现CPU和设备控制器之间的通信处理过程:接收CPU的I/O请求,检查合法性;了解设置状态;传递命令给设备控制器,启动指定的I/O设备,完成用户规定的I/O操作;对由设备发来的中断请求进行及时响应,根据中断类型进行相应的处理。4设备独立性和虚拟设备通
39、常,把一次仅允许一个进程使用的设备称为独占设备。系统可通过某种技术使该设备成为能被多个用户共享的设备,以提高设备利用率及加速程序的执行过程。可使每个用户都感觉到自己在独占该设备。 1.4.4 文件管理主要任务实现文件的组织,空间分配,共享,保密和保护,同时提供一套使用文件的操作和命令。 功能1文件存储空间的管理 2目录管理3文件的读/写管理4文件的共享与保护1文件存储空间的管理主要任务:为每个文件分配必要的外存空间目的:提高外存的利用率,并能有效地提高文件系统的运行速度。为此,应设置相应的数据结构记录存储空间的使用情况,并制定分配策略。2目录管理主要任务:为每个文件设置目录项,将多个目录项形成
40、目录文件。目的:实现文件按名存取。3文件的读/写管理按文件名,检索目录,获取文件存储位置,然后维护一个读写指针对文件进行读写操作。4文件的共享与保护提供文件共享手段,及文件保护技术。1.4.5 用户接口操作系统以程序接口和操作接口两种方式将它的功能和服务提供给用户。1程序接口大多数操作系统的程序接口称之为系统调用,是系统提供的一组广义指令,用于实现某种特定功能 。当应用程序要求系统服务时,便调用相应的系统调用.该接口为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的路径。 2命令接口 用户可以直接从键盘等终端设备输入命令来取得操作系统的服务。联机用户接口为联机用户提供的,由一
41、组键盘操作命令及命令解释程序所组成。脱机用户接口为批处理作业的用户提供,故也称为批处理用户接口。该接口由一组作业控制语言JCL组成。用户用JCL将对作业的控制和干预写在作业说明书上,连同作业一起提供给系统。3图形接口图形用户接口采用了图形化的操作界面,用非常容易识别的各种图标来将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。用户可用鼠标或通过菜单和对话框,来完成对应用程序和文件的操作。操作系统的进一步发展操作系统发展简史无操作系统的计算机系统的资源管理和控制由人工负责。计算机的操作由程序员采用手工操作直接控制和使用计算机硬件。程序员将事先准备好的程序和数据穿孔在纸带或卡片上,从纸带
42、或卡片输入机将程序和数据输入计算机。然后,启动计算机运行,程序员可以通过控制台上的按钮、开关和氖灯来操纵和控制程序,运行完毕,取走计算的结果,才轮到下一个用户上机。人工操作方式特点:独占性 用户独占全机资源CPU等待人工操作串行性缺点:资源浪费,效率低下人机矛盾高速CPU与低速I/O设备矛盾为缓和此类矛盾,出现了通道技术、缓冲技术、脱机输入/输出技术。1第一代 单任务自动批处理操作系统(19551962年)解决人机矛盾方法:配备专门的计算机操作员:程序员不再直接操作机器,减少操作机器的错误。进行批处理,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列。每一批作业将有专门编制的监督
43、程序(monitor)自动依次处理。所谓批处理系统是指加载在计算机上的一个系统软件,在它的控制下,计算机能够自动地成批地处理一个或多个用户的作业,使多个程序可以自动在计算机上连续运行,两个程序间不再需要人工装卸和干预。 单道批处理阶段操作过程单道批处理阶段的特点 (1) 作业(步)间不需要人的干预 (2) 监控程序常驻内存,开机后第一个进入内存,直到关机一直驻留在内存中 (3) 专职操作员,程序员不在现场 (4) 单流 (5) 监控程序只为一个计算机系统设计 (6) 开发过程可以使用FORTRAN等高级语言,程序的最后一条指令需是返回控制到监控程序对单道批处理阶段的评价(1) 作业转换时间大大
44、减小,系统运行效果提高(2) 依然存在I/O慢速造成的CPU空闲等待时间(单流)(3) 依然存在程序员(和非编程用户)无交互方便(4) 一个操作系统被设计成只能在一台机器上运行,这自然会给厂家实现与用户程序独立兼容带来负担2第二代 多任务和多用户操作系统(60和70年代)典型系统:CTSS、MULTICS、OS 360/370系统发展状况:60年代主要是并发的批处理的单方式系统 70年代主要是同时支持批处理、分时、实时应用的多方式分时系统多任务阶段的特点(1) 提出许多新概念、新技术(2) 操作系统的规模迅速增长,结构变得复杂(3) 为一个或几个计算机系统设计2第二代 多任务和多用户操作系统(
45、60和70年代)多任务阶段的优点(1) CPU及整个系统利用率大大提高(2) 满足了用户交互、实时等方面的要求,计算机的应用领域也从科技计算扩展到数据处理,过程控制等方面。(3) 方便了用户编程(4) 提高了性能并发处理并发技术:大大提高CPU利用率。但并发技术的实现代价是系统复杂程度和功能规模级大增加,从面增加开发成本和开发周期,并影响了操作系统的正确性和可靠性。3第三代 结构化与小型化操作系统(70和80年代)产生背景:软件工程思想和技术出现,计算机系统小型化网络化,UNIX的出现与标准化典型特征:重视操作系统的结构和功能精简,具有了网络特征。代表作是UNIX。4第四代 并行与分布操作系统
46、(80年代末开始)典型特征:(1) 系统规模向两个极端发展:便携计算和并行分布计算(2) 开放系统互连网络发展起来开放系统的内容:开放通讯标准,开放操作系统标准,开放用户接口标准,开放用户应用(软件)标准(3) 软件工程的进一步发展,设计方法与标准化,可移植性和可扩充性(4) 系统设计中倾向于注重人的方便与效率等人类因素,尤其是人机通讯技术(多媒体技术)的发展,和对计算机领域的伦理问题的关注和解决 操作系统的发展规律: (1)操作系统的发展是由底层硬件技术(体系结构技术如中断、通道、固件等,集成电路技术)与上层应用需求的发展所推动。硬件发展为OS发展提供了可能性与必要性。(2)操作系统的每一步
47、发展都是权衡的结果:可能性与必要性、性能与代价、方便与效率的权衡等。(3)小机型对大机型系统的继承(4)在结构和规模规模方面出现反复变化规律和交叉影响:不同系统的设计思想与技术的相互影响与继承统一和精选(结构的)复杂、(规模的)大小、功能的有趣的变化规律:简,小;繁,大交替进一步发展微机操作系统多处理机操作系统网络操作系统分布式操作系统1.5 操作系统的结构设计 无结构OS传统OS结构 模块式结构 层次式结构现代OS结构 微内核OS1.5.1 传统的操作系统结构1无结构操作系统此时操作系统只是一堆过程的集合,过程间可以相互调用,内部不存在任何结构。特点:无结构庞大杂乱难读,难调试,维护困难错误
48、率高2模块化OS结构 (1)模块化结构模块化程序设计技术,是基于“分解”和“模块化”原则来控制大型软件的复杂度的。将OS按其功能划分为若干个具有一定独立性和大小的模块。并规定好各模块间的接口, 各模块之间能通过该接口实现交互。(2)模块化OS结构的优缺点优点:提高设计的正确性、可理解性和可维护性增强可适应性加速开发过程缺点:前期设计时,难以保证对模块的划分及对接口的规定完全适应需要完全依赖设计者的决策,可能造成“无序性”结构不清晰,相互依赖大,易牵一发而动全身。3分层式OS结构层次结构,是把操作系统划分为内核和若干模块(或进程),这些模块(或进程)排列成若干层,各层之间只能是单向依赖关系,不构
49、成循环。 (1)有序分层自底向上分层设计:每一步设计建立在可靠的基础上从硬件开始,一层层添加软件,每一层都实现若干功能。每一层都仅能使用底层所提供的功能与服务。这样由底向上地增设软件层,每一层都在原有的基础上扩充了功能,最终实现能满足需要的OS。(2)层次的设置目前还没有一个明确固定的分层方法,只能给出若干原则,供划分层中模块(或进程)时参考。程序嵌套运行频率公用模块用户接口(3)分层结构的优缺点优点:易保证系统的正确性:设计有序,基础可靠易扩充和易维护性缺点:系统效率降低分层单向依赖,需要建立层次间的通信机制执行功能时,通常需要自上而下穿越多层,增加通信开销1.5.2 客户/服务器模式1. 客户/服务器模式的组成客户机:LAN网上的网络工作站,客户进程运行其上,处理本地业务,也向服务器发送消息,请求服务。服务器:用于提供各种服务的一组服务器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年美容师考试团队合作题目与答案
- 工程测试试题及答案
- 电气系统与电子元件知识试题及答案
- 二手车评估师需要参与的市场竞争分析试题及答案
- 食品检验结果沟通技巧试题及答案
- 药理学基础概念的关键试题及答案
- 修剪技能面试题及答案
- 古代文学解读考试试题及答案
- 河南省南阳市镇平县2022-2023学年三年级下学期英语期中试卷(含答案)
- 专业解读统计学考题及答案
- 消化道出血患者个案护理
- 心室附壁血栓护理
- 生化武器课件教学课件
- 演讲比赛评分表和计分表
- 2024年涉密人员考试试题库保密基本知识试题及答案解析
- 发展汉语中级阅读试题
- 电力配网工程各种材料重量表总
- 2024年国家级望城经济技术开发区人才招聘31人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- JJF(纺织) 037-2023 织物透气量仪校准规范
- 2024年北京市延庆区九年级(初三)一模物理试卷及答案
- 洗煤废水处理及回用工艺的设计计算-毕业设计
评论
0/150
提交评论