您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 电子商务 > 第一章 操作系统概论
计算机操作系统(OperatingSystem)07级计算机科学与技术专业第一章操作系统概论§1.1什么是操作系统?例1:早期计算机应用于军事部门,帮助军方计算普通弹道导弹的飞行轨迹。例2:银行、金融部门利用计算机进行大量数值计算,以减轻工作量。例3:政府、企业利用计算机数据库系统建立政府、企业的管理、生产、营销系统,以提高办公和经营效率。例4:计算机进入家庭后成为继报纸、广播、影视后的第四代媒体。美国麻省理工学院(MIT:MassachusettesInstituteofTechnology)教授尼葛洛庞帝著作《数字化生存》中指出:计算不再只和计算机有关,它决定我们的生存。指出:“比特”没有重量,易于复制,可以以极快的速度传播,在它传播时,时空障碍完全消失。想象一下,没有计算机的世界将会怎样?①依赖计算机进行处理的事务将停滞或转为人工;②间接依赖于计算机芯片的设备也将无法使用;任何技术都是一把双刃剑,科技应以人为本,我们在充分享受计算机及其网络技术带来的便利的同时,也应该防范各种计算机技术带来的负面影响。操作系统课程的主要学习内容:通用操作系统在文件管理、作业管理、进程管理、存储管理、设备管理等方面的原理和基本实现技术。§1.1什么是操作系统§1.1.1操作系统作为最基本的系统软件硬件是躯体,软件是灵魂。没有灵魂的躯体是没有生命的,没有躯体的灵魂将无所依附。1.计算机系统资源a.计算机系统=系统硬件+系统软件b.系统硬件:构成计算机系统所必须配置的全部设备以及机器级语言。包括组成计算机的集成芯片、电路板、电气连线、显示器、电源,以及各种物理部件。还需有直接控制部件和设备的微程序代码和基于硬件的机器语言。这些机器级代码序列集成在处理器芯片中,或固化在非易失性的存储器中,成为硬件系统的一部分。c.系统软件:指的是计算机系统必须配置的程序和数据的集合。系统软件中最基本的就是操作系统,它为其他系统软件和应用软件提供运行支持。其他系统软件:如命令解释程序、编辑程序、编译程序、连接程序等,它们虽然不属于操作系统,但是一般随操作系统一起由计算机厂商提供,是系统开发中重要的一类软件。2.计算机系统的层次结构(1)为什么要用层次结构来描述计算机系统?可以分层地设计开发计算机系统的各个组成部分,隔层的功能实现无需考虑。每一层在设计时的错误可以封闭在该层中,不会向其他层扩散。(2)计算机系统的层次结构:如下图所示。用户1用户2用户n硬件应用程序语言处理程序操作系统…a.最底层的硬件:通常把一台没有任何软件配置和支持的计算机称为“裸机”。b.硬件之外为操作系统,它是运行在计算机基本硬件系统上的最基本的系统软件。c.语言处理程序包括命令解释程序、编辑程序、编译程序、连接程序等。d.应用程序就是用户自定义安装的适用于不同场合和工作的软件。§1.1.2操作系统作为资源管理器将操作系统作为资源管理器的观点是目前对操作系统描述的主要观点。(1)资源:指计算机系统为了进行数值计算和数据处理所需要的各种物质资源,通常分为系统硬件资源和软件资源。(2)在资源管理方面操作系统的功能a.监视资源b.分配资源c.回收资源d.保护资源§1.1.3操作系统作为虚拟机(1)什么是虚拟机?虚拟机的观点是基于编程人员的观点,操作系统对用户来说是一个扩展了的机器,称为虚拟机。(2)为什么要引入“虚拟机”的概念?为了屏蔽计算机硬件复杂、具体的实现细节。(3)虚拟机的功能:反映为功能和数量的扩展a.功能上的扩展操作系统提供了一批功能很强的系统调用,用户通过命令和程序使用这些系统调用,构成高级指令系统。b.数量上的扩展单机操作系统引入多道程序技术,多个用户同时使用一台机器,但在逻辑上并感觉不到是在和别人公用一台计算机,多个用户或用户的应用程序可以共享计算机的硬件和软件资源。§1.2单道批处理系统与多道程序设计1.单道批处理及其处理过程把一批作业以脱机方式输入到磁带机上,并在系统中配上监督程序,在其控制下使这批作业一个接一个地连续处理的工作方式就称为“单道批处理方式”。示意图如下:把下一个作业的源程序转换为目标程序还有下一个作业源程序有错吗?运行目标程序装配目标程序开始是否是否过程结束2.多道批处理系统(1)多道程序设计的基本概念为了进一步提高资源的利用率和系统吞吐量,在60年代中期引入了多道程序设计技术,形成了多道批处理系统。多道程序系统的引入,可以使CPU、内存以及各种外设资源得以充分利用,改变了单道程序系统中运行用户程序时,外设空闲等待,而外设工作时,CPU空闲等待的状况。下图显示的是三道程序情况下并行运行的实例:程序运行I/O操作ABCABC时间T多道程序系统在宏观上是并行的,即多个作业“同时”在计算机系统中运行,但在微观上是它们是串行的,即在CPU上也是一个一个地运行,因为只有一个CPU部件。(2)多道程序系统的优缺点优点:a.资源利用率高由于在内存中驻留了多道程序,它们共享资源,可保持资源处于忙碌状态,从而使各种资源得以充分利用。b.系统吞吐量大吞吐量是指系统在单位时间内所完成的总工作量。能提高系统吞吐量的主要原因可归结为:第一,CPU和其他资源保持忙碌状态;第二,仅当作业完成或运行不下去时才进行切换,系统开销小。缺点:a.平均周转时间长:作业的周转时间是指从作业进入系统开始,直至其完成并退出系统所经历的时间。b.无交互能力或交互能力差:用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,这对修改和调试程序极不方便。§1.3操作系统的功能和主要特征§1.3.1操作系统的功能操作系统要控制工作流程,要管理资源,要为用户服务,以上三项是操作系统的功能要点。操作系统的功能主要体现在以下五个方面:a.处理机(CPU)管理CPU是整个计算机系统中的核心硬件资源,它的性能和使用情况对整个计算机系统的性能起着关键作用。·引入“进程”的概念。·操作系统对CPU的管理转换为对进程的控制和管理。b.存储管理存储器包括主存和辅存,是作业的程序、数据以及其他系统软件、应用软件驻留的地方,是计算机运行作业时所必需的重要资源。存储管理包括以下几个方面:·地址重定位:将用户的程序和数据的逻辑地址映射为内存的实际物理地址。·存储分配:为用户程序和数据分配存储空间。·存储保护:通过存储保护措施防止用户程序或数据侵入其他程序或数据的内存区域,尤其是操作系统所占用的核心区域。·存储扩充:使用虚拟内存等扩充方法对有限的存储空间进行扩充。c.设备管理设备管理指的是对除CPU和存储器以外的硬件设备进行的管理操作。设备管理也称外设管理,外设种类繁多、控制复杂,相对CPU而言运行速度又较慢,因此设备管理需要考虑如何有效地分配和使用设备,如何协调处理器与设备操作间的速度差异,提高系统总体性能。设备管理包括以下几个方面:·缓冲管理:通过设立缓冲区等方式解决快速的CPU和慢速的I/O设备间速度不匹配的问题。·设备分配:为用户程序提出的合理的、有序的设备分配请求分配设备。·设备处理:通过中断、设备控制器、通道等方式完成CPU和I/O设备间的通信。·设备独立性:使用户对设备的使用和控制是透明的。·虚拟设备:通过“假脱机”等方法将慢速的独占设备改造为高速的共享设备。d.文件管理计算机要处理大量的数据,操作系统将这些数据与信息以及对它们的操作抽象为文件管理,建立文件管理的结构体系,管理文件的存储空间,形成了操作系统的文件管理系统。·目录管理·文件读、写管理·文件存取控制·文件存储空间的管理e.用户接口定义:操作系统为用户提供的使用计算机软硬件资源的方法。接口的使用在很大程度上屏蔽了计算机硬件的操作细节,使用户和程序员与系统硬件隔离开来,而只需在软件层面对计算机进行管理和操作。操作系统为用户提供了以下接口:·命令接口:为联机用户提供了交互式的命令,用户输入命令得到输出结果。·程序接口:用户程序通过系统调用使用计算机硬件资源,如高级程序设计语言中的库函数和Dll(动态链接库)文件等。·图形接口:将命令方式改造为图形控制方式,采用如鼠标、光笔、触摸屏等设备来控制计算机,这种方式也称为“GUI-GraphicUserInterface-用户图形接口”。§1.3.2操作系统的主要特征(1)并发性-Concurrencea.并发性与并行性的区别并发性:指的是两个或多个事件在同一时间间隔内发生(一个时间段内)。并行性:指的是两个或者多个事件在同一时刻发生(一个时间点)。b.并发执行的条件必须引入“进程”这样的单位作为资源分配的基本单位。(2)共享性-Sharinga.共享的定义:系统中的资源可供内存中多个并发执行的进程共同使用,而不是由单个进程所独占。b.共享的种类①互斥共享:系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程使用,但为使打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程访问该资源。②同时共享“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。典型的同时共享设备有磁盘设备、可重入的文件等。(3)虚拟性-Virtual操作系统中的“虚拟性”指的是通过某种技术把一个物理实体变为若干个逻辑上的对应物。(4)不确定性–Undetermined①含义内存中的每个进程何时获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序共需多少时间能完成等都是不可预知的。②产生不确定性的原因不同的程序、进程,其功能不同,侧重也不同,有的侧重计算而较少的输入输出操作,则其对CPU的占用就相对较多;有的侧重输入输出操作,则对I/O设备的争用就比较激烈。不确定性是允许的,只要在相同的环境下给出相同的输入,系统运行后输出结果是确定的就可以了。§1.4操作系统的结构操作系统是一个大型的系统软件,其结构历经了四代的变革。①第一代操作系统是无结构的;②第二代操作系统采用了模块化结构;③第三代是层次结构;④进入20世纪90年代中期后,微内核操作系统结构开始得以流行。操作系统是一个十分复杂的大型软件,为了控制该软件的复杂性,在开发操作系统时,先后引入了分解、模块化、抽象和隐藏等方法。开发方法的不断发展促进了操作系统结构的更新换代。通常把第一代至第三代的操作系统结构称为传统操作系统结构,而把微内核的操作系统结构称为现代操作系统结构。§1.4.1无结构操作系统早期开发操作系统时,设计者把注意力更多地放在功能的实现和获得高效率上,缺乏首尾一致的设计思想。此时的操作系统是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,因此这种操作系统是无结构的,也称为整体系统结构。该阶段程序设计的技巧只是如何编制紧凑的程序,以便有效地利用内存,对GOTO语句的使用不加任何限制,所设计出的操作系统庞大杂乱,缺乏清晰的程序结构。这使编制出的程序错误多、结构乱,给调试工作带来困难,另一方面也使程序难以阅读和理解,增加了维护人员的负担。§1.4.2模块化操作系统(1)模块化结构模块化程序设计技术,是20世纪60年代出现的一种程序设计技术,该技术基于“分解”和“模块化”原则来控制大型软件的复杂度。为使操作系统有较清晰的结构,操作系统不再是由众多的过程直接构成,而是将操作系统按其功能划分为若干个具有一定独立性和大小的模块。每个模块具有某方面的管理功能,如进程管理模块、存储器管理模块、I/O设备管理模块和文件管理模块等。之后,规定各模块间的接口,使各模块之间能通过接口实现交互,然后再进一步将各模块细分为若干具有一定管理功能的子模块。如:把进程管理模块又分为进程控制、进程同步、进程通信和进程调度等子模块,同时也要规定各子模块之间的接口。如下图所示:操作系统进程管理存储器管理文件管理进程控制进程调度内存分配内存保护磁盘管理目录管理(2)模块化操作系统的优缺点优点:a.提高了操作系统设计的正确性、可理解性和可维护性;b.增加了操作系统的可适应性;c.加速了操作系统的开发过程。缺点:a.设计时,对模块的划分及对接口的规定不能做到很精确,因此很难保证按此规定所设计出的模块会完全
本文标题:第一章 操作系统概论
链接地址:https://www.777doc.com/doc-3781900 .html