N计算机操作系统教程第一章_第1页
N计算机操作系统教程第一章_第2页
N计算机操作系统教程第一章_第3页
N计算机操作系统教程第一章_第4页
N计算机操作系统教程第一章_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机操作系统教程---------Linux实例分析程骅信息科学与工程学院第1章操作系统概述操作系统的主要功能2操作系统的类型4操作系统的发展历程33操作系统的概念31Linux概述6操作系统的特征35

1.1操作系统概念计算机系统软硬件资源的管理者为用户提供一台等价的扩展机器(ExtendedMachine)或虚拟机(VirtualMachine)最重要、最基本、最复杂的系统程序,控制应用程序执行的程序操作系统的定义:计算机操作系统是指控制和管理计算机的软、硬件资源,合理组织计算机的工作流程,方便用户使用程序集合,它合理地组织多道程序运行,是用户与计算机之间的接口。

操作系统概念计算机的硬件和软件以及应用之间是一种层次结构的关系。裸机在最里层,它的外面是操作系统,经过操作系统提供的资源管理功能和方便用户的各种服务功能把裸机改造成为功能更强、使用更为方便的机器,通常称之为虚拟机或扩展机,而各种实用程序和应用程序运行在操作系统之上,它们以操作系统作为支撑环境,同时又向用户提供完成其作业所需的各种服务。应用软件软件操作系统裸机编辑软件/编译软件等计算机系统计算机系统软件硬件及固件应用软件系统软件Textinhere操作系统编辑软件编译软件硬件:改进的VonNeuman机的五大部件

(输/出设备、运算器、控制器、存贮器)软件:系统软件:管理计算机本身的操作,并为应用程序提供编程环境应用软件:直接面向用户,为之解决各类问题方便性(用户的观点):引入操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。有效性(系统管理人员的观点):引入操作系统是为了合理地组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户高效率地共享。因此,操作系统是计算机资源的管理者。可扩充性(升级的观点):引入操作系统是为了给计算机系统的功能扩展提供支撑平台,使之在追加新的服务和功能时更加容易和不影响原有的服务与功能。开放性(兼容的观点)引入操作系统的目标(1)处理机管理(2)存储器管理(3)设备管理(4)文件管理(5)用户接口1.2操作系统的功能1212操作级接口程序级接口命令界面图形界面系统调用我们从资源管理和作业管理等不同角度来说明操作系统的基本功能。在多道程序或多用户的情况下,要组织多个作业同时运行,就要解决对处理机分配调度策略、分配实施和资源回收等问题。这就是处理机管理功能。正是由于操作系统对处理机管理策略的不同,其提供的作业处理方式也就不同,例如成批处理方式、分时处理方式和实时处理方式。从而呈现在用户面前,成为具有不同性质功能的操作系统。1.2.1处理机管理存储管理的主要工作是对内部存储器进行分配、保护和扩充。(1)内存分配。如何分配内存,以保证系统及各用户程序的存储区互不冲突。(2)存储保护。保证一道程序在执行过程中不会有意或无意地破坏另一道程序,保证用户程序不会破坏系统程序。(3)内存扩充。当用户作业所需要的内存量超过计算机系统所提供的内存容量时,把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。1.2.2存储管理(1)通道、控制器、输入输出设备的分配和管理。设备管理的任务就是根据一定的分配策略,把通道、控制器和输入输出设备分配给请求输入输出操作的程序,并启动设备完成实际的输入输出操作。为了尽可能发挥设备和主机的并行工作能力,常需要采用虚拟技术和缓冲技术。(2)设备独立性。输入输出设备种类很多,使用方法各不相同。设备管理应为用户提供一个良好的界面,而不必去涉及具体的设备特性,以使用户能方便、灵活地使用这些设备。1.2.3设备管理上述三种管理是针对计算机的硬件资源的管理。文件系统管理(信息管理)是对系统的软件资源的管理。文件如不能很好管理,就会引起混乱,甚至遭受破坏。这就是管理信息文件需要解决的问题。信息的共享、保密和保护,也是文件系统所要解决的。如果系统允许多个用户协同工作,那么就应该允许用户共享信息文件。但这种共享应该是受控制的,应该有授权和保密机制。还要有一定的保护机制以免文件被非授权用户调用和修改,即使在意外情况下,如系统失效、用户对文件使用不当,也能尽量保护信息免遭破坏。也就是说,系统是安全可靠的。1.2.4文件系统管理作业是指用户在一次算题过程中或一次事物处理过程中,要求计算机系统所做工作的集合。作业管理实现作业调度和控制作业的执行。作业管理是根据系统条件和用户需要,对作业的运作进行合理的组织、调度及相应的控制,主要功能如下:作业的组织与管理:其主要功能是对系统中所有的用户作业进行统一的组织和管理,以提高整个系统的运行效率。作业调度:是指根据系统的能力和当前作业的运行情况,按照一定策略,为后备作业队列中的一批作业,分配所需I/O设备和存储空间,并调入内存并为之建立相应的进程,使成为具有获得处理机资格的候选进程。作业控制:是指用户对系统发出指令,可对自己的作业进行控制和管理。1.2.5作业管理操作系统提供两种方式的接口来为用户服务。一种用户接口是程序一级的接口,即提供一组广义指令(或称系统调用、程序请求)供用户程序和其他系统程序调用。当这些程序要求进行数据传输、文件操作或有其他资源要求时,通过这些广义指令向操作系统提出申请,并由操作系统代为完成。另一种接口是作业一级的接口,提供一组控制操作命令(或称作业控制语言,或像UNIX中的Shell命令语言)供用户去组织和控制自己作业的运行。作业控制方式分两大类:脱机控制和联机控制。操作系统提供脱机控制作业语言和联机控制作业控制语言。用户接口1.3操作系统的发展多道程序系统:内存同时存在多个独立的程序,它们宏观上并行,微观上穿行。手工操作阶段早期批处理阶段多道程序系统阶段1.4操作系统的类型操作系统发展是随着计算机硬件技术、应用软件的发展而发展的。目标:充分利用硬件,提供更好的服务。第一代:手工操作(电子管时代,无操作系统)、第二代:单道批处理系统(晶体管时代,批处理系统)第三代:多道批处理系统(集成电路时代,多道程序设计)第四代:分时系统(大规模和超大规模集成电路时代)新发展:个人计算机、实时系统、网络与分布式系统、移动计算、……第一代:手工操作

(无操作系统)

上机完全是手工操作:先把程序纸带(或卡片)装上输入机,然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行。计算完毕,打印机输出计算结果,用户取走并卸下纸带(或卡片)。50年代后期,计算机的运行速度有了很大提高,手工操作的慢速度和计算机的高速度之间形成矛盾。唯一的解决办法是摆脱人的手工操作,实现作业的自动过渡。这样就出现了批处理。机器的特点语言:机器语言操作系统:无用途:数学计算输入输出:插件板、 纸带、卡片存在问题:计算机处理能力的提高,手工操作的低效率,造成浪费。第二代:单道批处理系统1955~1965大型机,语言:汇编语言,FORTRAN,作业(job)操作系统:FMS(FortranMonitorSystem),IBSYS(IBM为7094机配备的操作系统)用途:较复杂的科学工程计算联机批处理脱机批处理IBM7094联机批处理

慢速的输入输出(I/O)设备是和主机直接相连。作业的执行过程为:(1)用户提交作业:作业程序、数据,用作业控制语言编写的作业说明书;(2)作业被作成穿孔纸带或卡片;(3)操作员有选择地把若干作业合成一批,通过输入设备(纸带输入机或读卡机)把它们存入磁带;(4)监督程序读入一个作业(若系统资源能满足该要求);(5)从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码;(6)连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行程序;(7)启动执行;(8)执行完毕,由善后处理程序输出计算结果;(9)再读入一个作业,重复(5)—(9)各步;(10)一批作业完成,返回到(3),处理下一批作业。这种联机批处理方式解决了作业自动转接,从而减少作业建立和人工操作时间。但是在作业的输入和执行结果的输出过程中,主机CPU仍处在停止等待状态,这样慢速的输入输出设备和快速主机之间仍处于串行工作,CPU的时间仍有很大的浪费。联机批处理

这种方式的显著特征是增加一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机。如图1.2所示。卫星机的功能是:(1)输入设备通过它把作业输入到输入磁带;(2)输出磁带将作业执行结果输出到输出设备。这样,主机不是直接与慢速的输入输出设备打交道,而是与速度相对较快的磁带机发生关系。主机与卫星机可以并行工作,二者分工明确,以充分发挥主机的高速度计算能力。因此脱机批处理和早期联机批处理相比大大提高了系统的处理能力。脱机批处理图1.2早期脱机批处理模型

批处理出现于20世纪50年代末到60年代初。它的出现促使了软件的发展。再有重要的是监督程序,它管理作业的运行——负责装入和运行各种系统处理程序,如汇编程序、编译程序、连接装配程序、程序库(如输入输出标准程序等);完成作业的自动过渡,同时也出现程序覆盖等程序设计技术。批处理仍有些缺点:磁带需人工拆装,既麻烦又易出错;而另一个更重要的问题是系统的保护。监督程序管理下的解题过程:监督程序管理下的解题过程

在进行批处理过程中,监督程序、系统程序和用户程序之间存在着一种调用关系,任何一个环节出问题,整个系统都会停顿;用户程序也可能会破坏监督程序和系统程序,这时,只有操作员进行干预才能恢复。20世纪60年代初期,硬件获得了两方面(即通道和中断技术)的进展,导致操作系统进入执行系统阶段。

通道是一种专用处理部件,它能控制一台或多台输入输出设备工作,负责输入输出设备与主存之间的信息传输。它一旦被启动就能独立于CPU运行,这样可使CPU和通道并行操作,而且CPU和多种输入输出设备也能并行操作。中断是指当主机接到外部信号(如输入输出设备完成信号)时,马上停止原来工作,转去处理这一事件,处理完毕后,主机回到原来的断点继续工作。

借助于通道、中断技术和输入输出可在主机控制下完成批处理。这时,原来的监督程序的功能扩大了,它不仅要负责作业运行的自动调度,而且还要提供输入输出控制功能。这个发展了的监督程序常驻内存称为执行系统。

执行系统实现的也是输入输出联机操作,和早期批处理系统不同的是:输入输出工作是由在主机控制下的通道完成的。主机和通道、主机和输入输出设备都可以并行操作。用户程序的输入输出工作都是由系统执行而没有人工干预,由系统检查其命令的合法性,以避免不合法的输入输出命令造成对系统的影响,从而提高系统的安全性。此时,除了输入输出中断外,其他中断如算术溢出和非法操作码中断等可以克服错误停机,而时钟中断可以解决用户程序中出现的死循环等。

许多成功的批处理系统在20世纪50年代末和60年代初出现,典型的操作系统是FMS(FortranMonitorSystem)即FORTRAN监督系统和IBM/7094机上的IBM操作系统IBSYS。执行系统实现了主机、通道和输入输出设备的并行操作,提高了系统效率,方便用户对输入输出设备的使用。但是,这时计算机系统运行的特征是单道顺序地处理作业,即用户作业仍然是一道一道作业顺序处理。那么可能会出现两种情况:

对于以计算为主的作业,输入输出量少,外围设备空闲;然而对于以输入输出为主的作业,又会造成主机空闲。这样总的来说,计算机资源使用效率仍然不高。因此操作系统进入了多道程序阶段:多道程序合理搭配交替运行,充分利用资源,提高效率。通道和中断技术单道批处理系统:优点:同一批内各作业自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。主要问题:CPU和I/O设备使用忙闲不均,取决于作业特性。计算为主的作业,外设空闲;I/O为主的作业,CPU空闲;通道和中断技术通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。中断:指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。第三代:多道批处理操作系统-

现代操作系统雏型运行一个作业的步骤:将程序写在纸上(用高级语言或汇编语言)穿孔成卡片,再将卡片盒交给操作员计算结果从打印机上输出操作员到打印机上撕下运算结果送到输出室程序员稍后可从输出室取到结果操作员从输入室的卡片盒中读入另一个任务如果需要FORTRAN编译器,还要把它取来读入计算机缺点:机时在走来走去时浪费掉上述批处理系统,每次只调用一个用户作业程序进入内存并运行,称为单道运行。单道程序工作示例多道程序系统多道程序工作示例多道程序系统

在单处理机系统中,多道程序运行的特点是:(1)多道:计算机内存中同时存放几道相互独立的程序。(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。(3)微观上串行:实际上,各道程序轮流使用CPU,交替执行。优点:资源利用率高、系统吞吐量大、系统切换开销小缺点:无交互能力、作业平均周转时间较长

在批处理系统中采用多道程序设计技术,就形成了多道批处理系统。要处理的许多作业存放在外部存储器中,形成作业队列,等待运行。当需要调入作业时,将由操作系统中的作业调度程序对外存中的一批作业,根据其对资源的要求和一定的调度原则,调几个作业进入内存,让它们交替运行。当某个作业完成,然后再调入一个或几个作业。这种处理方式,在内存中总是同时存在几道程序,系统资源得到比较充分的利用。并行运行的程序要共享计算机系统的硬件和软件资源,既有对资源的竞争,但又须相互同步。因此同步与互斥机制成为操作系统设计中的重要问题。随着多道程序的增加,出现了内存不够用的问题,提高内存的使用效率也成为关键。因此出现了诸如覆盖技术、对换技术和虚拟存储技术等内存管理技术。由于多道程序存在于内存,为了保证系统程序存储区和各用户程序存储区的安全可靠,提出了内存保护的要求。

多道程序系统的出现标志着在操作系统渐趋成熟的阶段先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。

多道程序系统要解决的问题

同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。

异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。同步:提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事

异步:

请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕

去吃拉面,点了一份,拉面师傅拉了一份,然后客人吃掉了,这叫同步。拉面师傅不管有没有人点,反正不停的一份一份的拉,客人随到随吃,这叫异步。Example两个程序:A程序按顺序使用CPU10秒,使用设备甲5秒,使用CPU5秒,使用设备乙10秒,最后使用CPU10秒。B程序顺序使用设备甲10秒,使用CPU10秒,使用设备乙5秒,使用CPU5秒,使用设备乙10秒。计算(不计程序切换时间):(1)顺序环境下执行A程序和B程序,CPU的利用率是多少?(2)多道程序环境下,CPU的利用率是多少?程序A和程序B顺序执行时,程序A执行完毕,程序B才开始执行。两个程序共耗时80秒,其中占用CPU时间为40秒。故顺序执行时CPU利用率为50%。多道程序环境下,两个程序并发的执行,如图所示。可以看出两个程序共耗时45秒,其中占用CPU时间为40秒。故此时CPU利用率为40/45=88.89%。特性优点:资源利用率高(CPU、内存、I/O);作业吞吐量大缺点:用户交互性差;作业平均周转时间长

根据环境和作业处理方式,操作系统的基本类型有:(1)单用户操作系统(Personalcomputeroperatingsystem)(2)批处理操作系统(Batchprocessingoperatingsystem)(3)分时操作系统(Timesharingoperatingsystem)(4)实时操作系统(Realtimeoperatingsystem)(5)通用操作系统(Generaloperatingsystem)(6)网络操作系统(Networkoperatingsystem)(7)分布式操作系统(Distributedoperatingsystem)1.4操作系统的基本类型1.4操作系统的类型1.4.2批处理系统作业:是用户定义的、由计算机完成的工作单位。

用户将作业成批的交给计算机系统,系统则自动地选择作业运行。

批处理系统的特征

多道:计算机内存同时驻留多个用户的作业,互不干扰。

成批:计算机系统可同时接纳多个用户的作业。脱机工作:用户不需与计算机进行交流。1.4.1单用户操作系统第四代分时系统70年代中期至今,Time-SharingSystem多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。通常按时间片(TimeSlice)分配:各个程序在CPU上执行的轮换时间。操作系统:CTSS(M.I.T.)Multics(computercommunity)批处理方式下,用户以脱机操作方式使用计算机,只有等该批作业处理结束,用户才能得到计算结果。根据结果再作下一步处理。它的好处是计算机效率高。不过,用户十分留恋手工操作阶段的联机工作方式,独占计算机,并直接控制程序运行。但独占计算机方式会造成资源效率低。既能保证计算机效率,又能方便用户使用,成为一种新的追求目标。

20世纪60年代中期,计算机技术和软件技术的发展使这种追求成为可能。由于CPU速度不断提高和采用分时技术,一台计算机可同时连接多个用户终端,而每个用户可在自己的终端上联机使用计算机,好像自己独占机器一样。分时操作系统

所谓分时技术,就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是好像他独占了一台计算机。而每个用户可以通过自己终端向系统发出各种操作控制命令,完成作业的运行。

多用户分时操作系统是当今计算机操作系统中最普遍使用的一类操作系统。分时操作系统特性同时性:也称为多路性。若干用户同时与一台计算机相连,宏观上看各个用户在同时使用计算机,他们是并行的;微观上看各个用户在轮流使用计算机。交互性:用户通过终端设备(如键盘、鼠标)向系统发出请求,并根据系统的响应结果再向系统发出请求,直至得到满意的结果。独立性:每个用户使用各自的终端与系统交互,彼此独立、互不干扰。及时性:指用户向系统发出请求后,应该在较短的时间内得到响应。响应时间:指从用户发出命令到系统给予反应所经历的时间。分时系统分时系统的特征同时性:若干用户可同时上机使用计算机系统。

交互性:用户能方便地与系统进行人—机对话。及时性:用户能在很短时间内得到系统的响应。

一台计算机可同时为多个终端用户服务,每个用户通过自己使用的终端采用人机对话的方式控制自己的程序运行,而系统则将处理机分成时间片为每个终端用户服务。独立性:每个用户各自独立的工作。

1.4操作系统的类型

20世纪60年代中期计算机进入第三代,计算机的性能和可靠性有了很大提高,造价亦大幅度下降,导致计算机应用越来越广泛。计算机由于用于工业过程控制、军事实时控制等形成了各种实时处理系统。针对实时处理的实时操作系统是以在允许时间范围之内做出响应为特征的。它要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内作出快速响应,其响应时间要求在秒级、毫秒级甚至微秒级或更小。近年来,实时操作系统正得到越来越广泛的应用。特别是非PC机和PDA(个人数字助理)等新设备的出现,更加强了这一趋势。实时操作系统实时系统

对外来信息以足够快的速度予以响应的高可靠的系统.

实时系统的用途

实时数据处理

实时工业控制多道批处理系统和分时系统的不断改进、实时系统的出现及其应用日益广泛,致使操作系统日益完善。在此基础上,出现了通用操作系统。它可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。例如,将实时处理和批处理相结合构成实时批处理系统。在这样的系统中,它首先保证优先处理任务,插空进行批作业处理。通常把实时任务称为前台作业,批作业称为后台作业。将批处理和分时处理相结合可构成分时批处理系统。在保证分时用户的前提下,没有分时用户时可进行批量作业的处理。同样,分时用户和批处理作业可按前后台方式处理。通用操作系统20世纪60年代中期开始,国际上开始研制大型通用操作系统。这些系统在解决其可靠性、可维护性、可理解性和开放性等方面都遇到很大的困难。相比之下UNIX

操作系统却是一个例外。这是一个通用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论