540 likes | 736 Views
第一章 操作系统概论. 随着计算机技术的迅速发展,计算机系统的硬件和软件资源愈来愈丰富。从功能上,可把整个计算机系统划分为四个层次:硬件、操作系统、实用程序和应用程序。这四层的关系表现为一种单向调用关系,即外层的软件必须以事先约定的方式调用内层软件或硬件提供的服务。通常把这种约定称为界面或接口 (interface) 。. 1.1 操作系统的概念 1.1.1 计算机系统的组成 一、 硬件
E N D
随着计算机技术的迅速发展,计算机系统的硬件和软件资源愈来愈丰富。从功能上,可把整个计算机系统划分为四个层次:硬件、操作系统、实用程序和应用程序。这四层的关系表现为一种单向调用关系,即外层的软件必须以事先约定的方式调用内层软件或硬件提供的服务。通常把这种约定称为界面或接口(interface)。随着计算机技术的迅速发展,计算机系统的硬件和软件资源愈来愈丰富。从功能上,可把整个计算机系统划分为四个层次:硬件、操作系统、实用程序和应用程序。这四层的关系表现为一种单向调用关系,即外层的软件必须以事先约定的方式调用内层软件或硬件提供的服务。通常把这种约定称为界面或接口(interface)。
1.1操作系统的概念 1.1.1 计算机系统的组成 一、 硬件 硬件层是由计算机的硬件资源组成,它包括中央处理机(简称CPU也称处理器)、存贮器(包括主存和辅助存贮器:磁盘、磁带等)和输入输出设备。其中输入设备有卡片输入机、键盘、鼠标、图形扫描仪等;输出设备有卡片输出机、显示器、打印机、绘图机等。这种不加任何扩充的计算机称为裸机。一个裸机的功能即使很强,用户也很难使用,因为这些裸机的部件是通过执行机器指令来实现计算和输入、输出功能的。 二、 实用程序 实用程序层包括下面一些程序,且它们通常是驻留在磁盘上的。
1 .各种语言编译程序 语言编译程序包括高级语言和汇编语言编译程序。高级语言程序是独立于机器硬件的,具有较好的可移植性。汇编语言是与机器硬件密切相关的,因此不可移植。 2. 文本编辑程序 文本编辑程序用来建立和修改用户的源程序或其它文本数据的,这类编辑程序种类繁多,功能各异。有面向行的和面向全屏幕的。 3. 调试程序 调试程序又称排错程序,它用来帮助用户调试程序,从而方便地找出程序中的逻辑错误。
4. 连接装配程序 连接装配程序把用户分别编译好的各目标程序连接装配成一个可执行的程序。还有一些实用程序,如标准过程和函数、系统诊断程序、分类合并程序、文件加密、解密程序等。 总之,这些实用程序为用户使用计算机系统提供了一个良好环境。 三、 应用程序 应用程序是计算机系统的最外层软件,它主要负责解决用户的实际问题。这些程序通常由用户或专门的软件公司编制。这类软件比较丰富,如各种数据库管理软件、计算机辅助设计软件,各种事务处理软件等。
四、 操作系统 从宏观上讲,我们使用计算机的整个系统。而从微观上讲,我们使用计算机的各种硬件资源。用存贮器保存程序和数据,用CPU完成各种操作运算,通过外围设备实现计算机与外部世界的信息交换,即完成输入输出工作,用辅助存贮器保存大量的临时和永久性的信息文件。另外,还要用到各种软件资源,如上述的各种实用程序和应用程序,完成用户程序的计算工作。由谁来组织和管理这些软硬件资源,使之协调一致并高效地完成各种用户的计算工作呢?这就是操作系统。
操作系统究竟是什么,又如何定义它?为了深入全面理解操作系统的含义,我们从以下不同方面来阐述:操作系统究竟是什么,又如何定义它?为了深入全面理解操作系统的含义,我们从以下不同方面来阐述: (1)从计算机系统设计者的角度看,操作系统是一个负责管理和控制计算机软硬资源的控制机构,它由一系列程序模块组成。它依据设计者设计的各种调度和管理策略,对计算机的软硬资源进行分配、管理和调度,合理地组织计算机的工作流程,从而提高系统资源的利用效率。由此可认为,操作系统是计算机资源的管理系统。
(2)从用户角度看,配上操作系统的计算机是一台比裸机功能更强、使用方便简单的虚拟机。也即,它是用户与计算机裸机之间的一个接口界面,用户是通过它来使用计算机的。(2)从用户角度看,配上操作系统的计算机是一台比裸机功能更强、使用方便简单的虚拟机。也即,它是用户与计算机裸机之间的一个接口界面,用户是通过它来使用计算机的。 操作系统:管理计算机系统资源、控制程序执行、改善人机界面和为应用软件提供支持的一种系统软件。 由此可见,操作系统是现代计算机系统不可缺少的关键部分。计算机系统越复杂,操作系统越显得重要。为此,有必要了解操作系统的组成和功能,以便更好地利用计算机系统进行系统和应用开发。这正是我们这本书要讨论的主题。
1.1.2有关概念 裸机(bare machine):没有任何软件支持的计算机,它仅仅构成了计算机系统的物质基础。 虚拟机(virtual machine)或扩展机(extended machine):经过OS提供的资源管理功能和方便用户的各种服务功能,把裸机改造成为更强、使用更为方便的机器。
1.1.3配置OS的目的 (1)提供一个计算机用户与计算机硬件系统之间的接口,使计算机系统更易于使用; (2)有效地控制和管理计算机系统中的各种硬件、软件资料,使之得以更有效地利用; (3)合理地组织计算机系统的工作流程,以改善系统性能。
按器件工艺的演变把计算机发展过程分为四个阶段:电子管时代(无OS)、晶体管时代(批处理系统)、集成电路时代(多道程序设计)、大规模和超大规模集成电路时代(分时系统)。按器件工艺的演变把计算机发展过程分为四个阶段:电子管时代(无OS)、晶体管时代(批处理系统)、集成电路时代(多道程序设计)、大规模和超大规模集成电路时代(分时系统)。 现代计算机正向巨型、微型、并行、分布、网络化和智能化几个方面发展着。 适应上述计算机发展过程,OS经历了如下发展过程:手工操作阶段(无OS)、批处理、多道程序系统、分时系统、实时系统、网络OS、分布式OS、嵌入式OS等。 1.2 OS的历史
1.2.1手工操作阶段 在第一代计算机时期,主要元器件是电子管,计算机运算速度慢(只有几千次/秒),没有OS,甚至没有任何软件。 由于早期计算机没有配置OS,人们采用人工(手工)操作方式使用计算机:由程序员将纸带(或卡片)装入纸带输入机(或卡片输入机),以把程序和数据输入计算机,当程序运行完毕,由用户取走纸带和计算机结果后,才让下一个用户上机操作。 (一)特点 用户独占计算机资源,资源利用率低及CPU等待人工操作。
(二)存在的问题 • 这种早期的计算机存在两个问题: • (1)人工负责计算机的调度 • 计算机各资源的使用是通过一张纸登记的。一般的做法是,各用户说明他大约使用计算机多长时间,由机房负责人为他安排上机时间。如果一个用户预约1小时,结果用45分钟完成了,这样浪费了计算机的剩余时间。另一方面,用户程序运行过程中若出现问题,由于要检查原因解决问题,在预定时间内没有完成作业,也被迫暂停,要等待下一次运行。 • (2)人工负责作业编排顺序 • 一个程序,又叫作业。一次运行可能只是编译一个程序。为此要将编译程序和一个用高级语言编写的源程序装入主存,保存被编译好的目标程序。然后连接和装入目标程序和公共函数库。这每一步都涉及安装和卸下磁带或卡片叠。
如果在这次处理中出现错误,用户不得不返回到编排序列的开始重新运行。因此,大量时间用在编排程序运行上。这种操作方式叫顺序处理。如果在这次处理中出现错误,用户不得不返回到编排序列的开始重新运行。因此,大量时间用在编排程序运行上。这种操作方式叫顺序处理。 (三)人--机矛盾 随着CPU速度的大幅提高,手工操作的慢速与CPU运算的高速之间出现了矛盾,就是所谓的人--机矛盾。另一方面,CPU与I/O设备之间速度不匹配的矛盾也日益突出。 为了解决上述矛盾,引入了批处理技术。
1.2.2批处理(batch processing) 简单的批处理模式的中心思想是使用一个监控程序(monitor)软件。在这种软件控制下,用户不再直接与计算机打交道,而是将自己的一个作业卡片叠或纸带交给机房的操作员。再由操作员将多个作业的卡片或纸带按序成批地放在一个输入设备上,由监控程序自动装入一个个作业进行处理。 为了理解这个模式如何工作,让我们从监控程序和处理机这两个方面进行观察:
(1)从监控程序看,监控程序控制系统事件的执行序列,它必须常驻主存。它负责从输入设备(卡片机或磁带机)以作业为单位读入一个进主存,当一个作业的信息读入完成时,将处理机的控制权返回给作业。处理机执行作业。当作业完成(正常完成或故障中断)时,控制又返回监控程序。它立即读入下一个作业。当每个作业运行结束时,再由打印机打印,之后将打印结果交于用户。(1)从监控程序看,监控程序控制系统事件的执行序列,它必须常驻主存。它负责从输入设备(卡片机或磁带机)以作业为单位读入一个进主存,当一个作业的信息读入完成时,将处理机的控制权返回给作业。处理机执行作业。当作业完成(正常完成或故障中断)时,控制又返回监控程序。它立即读入下一个作业。当每个作业运行结束时,再由打印机打印,之后将打印结果交于用户。 (2)从处理机观点看,在某一时间点上,处理机开始执行存贮器中监控程序的指令,这些指令将启动输入机把下一作业读入主存中,一旦一个作业的读输入完成,处理机遇到监控程序中的一条转移指令,指示处理机转移到用户程序的开始位置继续执行。此后处理机执行用户程序中的指令,直到程序结束或出现错误。
其中任何一个事件(即程序正常结束或程序错误而故障终止)都将导致处理机返回监控程序执行。其中任何一个事件(即程序正常结束或程序错误而故障终止)都将导致处理机返回监控程序执行。 很清楚,手工操作阶段的两个问题已得到圆满解决: 一方面由监控程序处理调度问题。一批作业排队,各作业以尽可能快的速度执行,从而不存在空闲的机器时间; 另一方面由监控程序处理作业编排问题。为了使监控程序能代替用户完成对作业的编排控制,系统向用户提供了一套作业控制命令。 每当用户提交作业时,把对作业的控制意图用作业控制卡或作业说明书的形式提交给监控程序。
监督程序是一个常驻主存的小的核心代码,它实现了作业建立和作业过渡的自动化。监督程序是一个常驻主存的小的核心代码,它实现了作业建立和作业过渡的自动化。 (一)联机批处理 联机批处理的硬件控制方式是:作业的输入、计算和输出都是在CPU控制下进行的。 慢速的I/O设备与主机直接相连。它解决了作业自动转接,从而减小作业建立和人工操作时间。 缺点:在作业的输入和执行结果的输出过程中,主机CPU仍处在停止等待状态,这样慢速的I/O设备与快速主机之间仍然在串行工作,CPU的时间仍有很大的浪费。
(二)脱机批处理 为了使CPU从慢速的外设控制中解脱开来,增设一个小型的卫星机专门用来控制外部设备的输入、输出。为此,引入早期的脱机批处理方式。 显著特征:增加一台不与主机直接相连而专门用于与I/O设备打交道的卫星机。卫星机又称外围计算机,不与主机直接相连,只与外部设备打交道。 (1)卫星机的功能: a.输入设备通过它把作业输入到输入磁带; b.输出磁带将作业执行结果输出到输出设备。 (2)脱机批处理模型 主机不与慢速I/O设备直接打交道,而是与速度相对较快的磁带机发生关系。主机与卫星机并行工作,分工明确,以充分发挥主机的高速度计算能力。
系统将用户作业在一台卫星机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些作业时,再直接从磁带机高速输入内存,从而大大加快了作业的输入过程,减少了CPU等待输入的时间。系统将用户作业在一台卫星机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些作业时,再直接从磁带机高速输入内存,从而大大加快了作业的输入过程,减少了CPU等待输入的时间。 (三)执行系统(executive system) (1)批处理的缺点:磁带需人工拆装,操作员需监督机器的状态。 (2)20世纪60年代初期,硬件获得两方面的进展,一是通道的引入,二是中断技术的出现,导致了OS进入执行系统阶段。 通道:是一种专用处理部件,它能控制一台或多台I/O设备工作,负责I/O设备与主存之间的信息传输。它一旦被启动就能独立于CPU运行,这样可使CPU和通道并行操作,而且CPU和多种I/O设备也能并行操作。
它是一种与CPU相比速度较慢、价格较便宜的硬件。它独立于它是一种与CPU相比速度较慢、价格较便宜的硬件。它独立于 CPU 、专门用来控制输入、输出设备的I/O处理机。通道联接着主存 和外设、具有与主存直接交换数据的能力。当需要传输数据时, CPU只要向通道发一个命令,通道就独立地控制相应的外部设备完 成指定的传输任务。当通道控制设备完成传输任务后,通过中断机 构向CPU报告完成情况。这样就把原来由CPU直接控制的传输任务 转交给通道。从而使CPU与外部设备的操作并行执行,提高了CPU 的利用率。缓冲技术的引入使得CPU与外设充分地并行执行。
中断:指当主机接到某种信号(如I/O设备完成信号)时,马上停止原来的工作,转去处理这一事件,在处理完成以后,主机又回到原来的工作点继续工作。中断:指当主机接到某种信号(如I/O设备完成信号)时,马上停止原来的工作,转去处理这一事件,在处理完成以后,主机又回到原来的工作点继续工作。 借助于通道、中断技术,I/O工作可在主机控制下完成批处理。这样,原来的监督程序的功能扩大了,它不仅负责作业运行的自行调度,而且还要提供I/O控制功能。这个发展了的监督程序常驻内存称为执行系统。 (3)与早期批处理不同之处:I/O工作在主机控制下的通道完成的,主机和通道、主机和I/O设备都可并行操作,用户程序的I/O工作由系统执行并检查其命令的合法性。 执行系统比脱机处理前进一步,它节省了卫星机,降低了成本,而且同样支持主机和通道、主机和外设的并行操作。
1.2.3多道程序系统(multiprogrammed batch system) 简单的批处理系统实现了作业自动定序,大大提高了系统的处理效率。但由于主存只存放一个用户作业,当作业请求输入输出时,由通道控制I/O设备进行信息传输。由于I/O设备的速度远远低于处理机的速度,此时CPU将空闲等待入/出完成。如果能在主存同时放多个用户作业,当一个作业等待数据传输时,CPU转去执行其它作业,从而保证CPU与系统中的入出设备得到充分的运行。 这种在主存中同时存放多个作业,使之同时处于运行状态的程序设计方法叫多道程序设计。对于一个单处理机的系统来说,“多作业同时处于运行状态”是从宏观上理解。其含意是指每个作业都已开始运行,但都尚未完成。
从微观上看,在任何特定时刻,只有一个作业在处理机上运行。从微观上看,在任何特定时刻,只有一个作业在处理机上运行。 引入多道程序设计技术的根本目的是提高CPU的利用率,充分发挥系统设备的并行性。这包括程序之间、CPU与设备之间、设备与设备之间的并行操作。 (一)单道程序运行 单道运行:批处理系统中,每次只调用一个用户作业程序进入内存并运行。 执行系统中的并行是有限的,并不能完全消除中央处理机对外部传输的等待。
例: • 主存只装有一道程序 这个程序每处理文件中的一个记录,平均需要执行100条指令的计算。处理情况如下: • 从磁盘读一个记录需0.0015秒,CPU执行100条指令的计算需0.0001秒, 向磁盘写一个记录需0.0015秒。 • 平均处理一个记录的时间 : • =0.0015+0.0001+0.0015=0.0031(秒) • 处理一个记录CPU的利用率 • =处理机执行100条指令时间/处理一个记录的时间 • =0.0001/0.0031=3.2% • 由这个例子看出,处理一个记录时,CPU的利用率仅3.2%,也就是说,CPU有96.8%的时间等待I/O设备进行记录的读和写,这显然是对CPU的极大浪费。
(二)多道程序运行 多道程序设计技术就是同时把多个作业放入内存并允许它交替执行,共享系统中的各类资源,当一道程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一道程序。 用户程序A首先在CPU上运行,当需要输入数据时而转入等待,系统启动外设进行输入工作,并让用户程序B开始计算,直到程序B需进行I/O处理时,再启动相应的外设进行工作。 如果此时程序A的输入尚未结束时,也无其他用户程序需要计算,则CPU处于空闲状态,直到程序A在输入结束后重新执行。 若程序B的I/O处理结束时,程序A仍在执行,则程序B继续等待,直到程序A计算结束请求输出时,才转入程序B的执行。 由此看出,在有两道程序执行的情况下,CPU效率已大大提高了。
例: 主存同时放三个程序 当主存容量足够大时,为提高CPU的利用率,应在主存放足够多的作业。以便当一个作业等待I/O时,处理机转去执行其它作业。 下面这个例子是,假设一个计算机系统,它有256k主存(不包含操作系统),一个磁盘、一个终端和一台打印机。主存装有三个作业分别命名为JOB1、JOB2、JOB3。各作业运行时间分别为5分钟、15分钟和10分钟。它们对资源的使用情况如下表所示。 表1.2 三个作业的执行特点 作业编号 JOB1 JOB2 JOB3 类型 计算型 I/O型 I/O型 占用主存 50k 100k 80k 需磁盘情况 N N Y 需终端情况 N Y N 需打印机情况 N N Y 运行时间 5分钟 15分钟 10分钟
假定JOB2和JOB3需要较少的CPU时间。作业2主要使用终端进行作业的输入,作业3运行时主要使用磁盘和打印机。对于简单批处理,这些作业将按顺序执行。作业1运行5分钟完成,作业2等待5分钟再用15分钟完成,20分钟后,作业3开始执行,30分钟后三个作业全部完假定JOB2和JOB3需要较少的CPU时间。作业2主要使用终端进行作业的输入,作业3运行时主要使用磁盘和打印机。对于简单批处理,这些作业将按顺序执行。作业1运行5分钟完成,作业2等待5分钟再用15分钟完成,20分钟后,作业3开始执行,30分钟后三个作业全部完 成。 采用多道程序设计技术,让三个作业并行运行。由于它们运行中几乎不同时使用同类资源,故三个程序可同时运行。在作业1进行计算的同时作业2可在终端上进入输入/输出,作业3在使用磁盘和打印机。这样,作业1仍需5分钟完成,但在作业1结束时,作业2已完成三分之一,而作业3已完成一半。这样,这三个作业在15分钟内将全部完成。显然整个系统处理效率明显提高。
(1)多道程序运行特征(在单处理机系统中) a.多道:计算机内存中同时存放几道相互独立的程序; b.宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完成。 c.微观上串行:从微观上看,主存中的多道程序轮流使用CPU,交替执行。 (2)对单处理机而言 我们把多道程序在逻辑上的同时执行称为并发执行,它和多道程序同时在多处理机上执行是有区别的。前者是逻辑上的并行,后者是物理上的并行。
1.2.4分时OS(time sharing operating system) 批处理系统使用多道程序技术后卓有成效地提高了机器的利用效率。但这样的系统仍存在以下几个问题: (1)用户不能直接控制作业运行 用户一旦把其作业提交给计算机系统,便失去了对作业的控制能力。因此他必须以作业控制卡或作业说明书的形式把自己对作业的控制意图提供给系统,这增加了用户负担。因此,对于许多作业,用户都希望提供与计算机直接交互的方式。如事务处理和一些短小作业,用户希望直接控制作业运行。 (2)作业的周转时间太长 在批处理系统中,用户提交作业后通常要经几小时甚至几天的延迟才能得到所需的结果。这样的系统对于仅需要计算很短时间的作业是不利的,应缩短作业的周转时间,以吸引更多小作业的用户。 正因为如此,才导致了分时OS的产生。
分时技术:是把处理机时间划分成很短的时间片轮流地分配给各个联机作业使用,如果某个作业在分配的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算。此时处理机让给另一个作业使用。这样,每个用户的各次要求都能得到响应,给每个用户的印象是:独占一台计算机。分时技术:是把处理机时间划分成很短的时间片轮流地分配给各个联机作业使用,如果某个作业在分配的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算。此时处理机让给另一个作业使用。这样,每个用户的各次要求都能得到响应,给每个用户的印象是:独占一台计算机。 分时系统是这样一种操作系统,它提供了多个用户通过交互方式分享使用同一台计算机的环境。一台分时计算机系统联有若干台远近终端(通常终端是带有CRT显示的键盘输入设备),多个用户可以在各自的终端上以交互方式联机使用计算机。故又把分时系统称为多用户交互式系统。
1.2.5实时OS(real time operating system) 随着计算机应用领域的日益广泛,它不仅能用于科学计算、数据处理等方面,也广泛地用于工业生产的自动控制,军事上的飞机运行,导弹发射,民航的飞机票的预订、查询(有关航班、航线、票价等),银行系统的借贷以及情报信息检索等系统,通常我们把上述系统称之为实时控制和实时信息处理系统,这两个系统统称为实时系统。 实时处理是以快速响应为特征的。 “实时”是指计算机对随机发生的外部事件能作出及时的响应和处理。这里的及时是指系统对特定输入作出反应所具有的速度,足以控制发出实时信号的那个设备。
实时系统不同于作业处理系统,作业处理系统是以作业为处理对象,而实时系统则是以数据或信息作为处理对象,它既不接收用户作业,也没有作业的概念。只有几个由外部事件触发的任务。实时系统是一个专用系统。尤其是过程控制系统,它是较少有人为干预的现场监督和控制系统。仅当系统内的计算机识别到了违反系统规定的限制,或计算机本身发生故障时,才需要人为干预。人为干预时可以重置参数和调整监督设备。实时系统不同于作业处理系统,作业处理系统是以作业为处理对象,而实时系统则是以数据或信息作为处理对象,它既不接收用户作业,也没有作业的概念。只有几个由外部事件触发的任务。实时系统是一个专用系统。尤其是过程控制系统,它是较少有人为干预的现场监督和控制系统。仅当系统内的计算机识别到了违反系统规定的限制,或计算机本身发生故障时,才需要人为干预。人为干预时可以重置参数和调整监督设备。
进入70年代中期以后,大规模集成电路的飞速发展,计算机系统结构发生了重大变化,微型计算机(又叫个人计算机)、多处理机相继出现和发展,使计算机大发展大普及,之后计算机网络、分布式系统、巨型机更是发展快速,促使操作系统技术也有了进一步的发展,产生了各具特点的操作系统。进入70年代中期以后,大规模集成电路的飞速发展,计算机系统结构发生了重大变化,微型计算机(又叫个人计算机)、多处理机相继出现和发展,使计算机大发展大普及,之后计算机网络、分布式系统、巨型机更是发展快速,促使操作系统技术也有了进一步的发展,产生了各具特点的操作系统。 1.2.6个人计算机OS 个人计算机的操作系统是一个单用户的交互式操作系统,它是计算机应用普及的结果。 它强调使用方便简单,不考虑资源的充分利用。因此,个人计算机结构简单,规模小,它以磁盘文件管理为主,配有简单的设备管理,并向用户提供了一组功能丰富的键盘操作命令。80年代后期,产生了基于MS-DOS的具有图形用户界面的新型单用户多任务操作系统—windows。
进入90年代,多媒体技术已成为个人计算机的重要发展方向。多媒体计算机技术是计算机综合处理多种媒体信息(文本、图形、图像和声音),使多种信息建立逻辑连接,为用户提供一个具有交互性的集成环境。使计算机的应用更为直观、容易。这样的系统要求处理机具有高速的信息处理能力,大容量的主存和海量的外存,高速大容量光缆传输并为声音和图像的同步提供所需的实时多任务处理能力。总之,多媒体技术是90年代计算机的又一次革命,没有多媒体技术的计算机就不是真正的个人计算机。进入90年代,多媒体技术已成为个人计算机的重要发展方向。多媒体计算机技术是计算机综合处理多种媒体信息(文本、图形、图像和声音),使多种信息建立逻辑连接,为用户提供一个具有交互性的集成环境。使计算机的应用更为直观、容易。这样的系统要求处理机具有高速的信息处理能力,大容量的主存和海量的外存,高速大容量光缆传输并为声音和图像的同步提供所需的实时多任务处理能力。总之,多媒体技术是90年代计算机的又一次革命,没有多媒体技术的计算机就不是真正的个人计算机。
由于windows是基于DOS的,使它的性能受到很多的限制。95年之后,先后制作了Windows 95、Windows 98、Windows Me、Windows 2000以及Windows XP。Windows 系列的操作系统完全脱离了DOS 的限制,是一个性能优良的系统。 1.2.7网络OS 计算机网络是通过通信设施将地理上分散的具有自治能力的多台计算机系统连接起来的一种网络。在计算机网络中的用户可以不受地理位置的限制,共享网络系统中的资源,彼此进行通信和信息交换。 网络OS是为计算机网络配置的OS,网络中的各台计算机配有各自独立的OS,网络OS把它们有机地联系起来,其主要功能是为网络中各台计算机间提供通信和提供网络资源的共享。因此,网络操作系统除了具有常规操作系统所应具有的处理机管理、存贮管理、设备管理、信息管理和作业管理的功能外,还具有网络管理功能。
网络管理功能主要包括: (1) 提供高效、可靠的网络通信能力除了支持终端与计算机之间的通信外,还应支持网络中各计算机之间的通信。 (2) 在网络协议控制下提供多种网络服务,各计算机之间可以协同工作。例如, ① 文件传输服务:用于将一个计算机上的文件传输到另一个计算机上,以便共享。 ② 分时系统服务:使网络上的远程用户也能像本地用户一样,使用其上的分时系统。 ③ 远程作业录入服务等。因此,用户可以利用上述服务设施,灵活地访问网络中各计算机上的文件系统、分时系统和批处理系统等,方便地共享网络中的各种软、硬件资源。
1.2.8分布式OS 分布式计算机系统是由多个分散的计算机经互连网络连结而成的统一的计算机系统。其中的各计算机既高度自治又相互配合,能在整个系统范围内实现资源管理、资源共享、信息交换和协同执行任务。粗看起来,分布式系统与计算机网络系统没有多大区别,但就其实现功能来讲,仍具有明显的区别: (1)计算机网络有国际标准化组织(ISO)制定的网络互连体系结构及一系列标准通信网络协议。而分布式系统没有制定标准协议。 (2)分布式计算机系统是多机系统的一种新形式,它强调资源、任务、功能和控制的全面分布。就资源分布而言,既包括处理机、辅助存贮器、输入/输出系统、通信接口等设备资源,也包括程序、数据、文件等软件资源,它们分布在各个物理上分散的场地(site)上。各场地经互连网络相互通信,构成统一的计算机系统。这种系统的工作方式也是分布的。分布的原则有两种:任务分布和功能分布。
所谓任务分布是指把一个计算任务分成多个可并行执行的子任务,分配给各场地协同完成。所谓任务分布是指把一个计算任务分成多个可并行执行的子任务,分配给各场地协同完成。 所谓功能分布,是指把系统的总功能分划成若干子功能,由各场地分别承担其中的一部分或几部分子功能。 由此可见,分布式系统要求连网的多机有一个统一的操作系统,实现系统的统一操作性。为了把数据处理系统的多个通用部件合成一个具有整体功能的系统,必须引入分布式操作系统。为了保持各机的自治性,各处理机有自己私有操作系统。对于系统中各物理资源的管理,分布式操作系统与各机的私有操作系统之间,不允许有明显的主从管理关系。 总之,分布式计算机系统是由若干可分离、自治的,但彼此间又相互通信、协同完成同一任务的,小型或微型机用互连网络连成的一种新型计算机系统。它既能利用原单机软硬件功能进行分布处理,又能互连成一个整体,协同配合实现并行处理。
其基本特征是:① 软硬件结构上具有模块性;② 工作方式上具有自治性;③ 系统功能上具有协同并行性;④ 对用户具有透明性;⑤ 系统的容错性和坚固性。 分布式操作系统是负责分布式计算机系统中的资源分配和调度,任务划分、信息传输控制协调工作的软件。其目的是向用户提供一个使用方便、友好的分布式用机环境。同时,尽可能提高整个系统的利用效率。 1.2.9嵌入式OS 在各种设备、装置或系统中,完成特定功能的软硬件系统。
1.3 OS 的基本类型 1.3.1批处理OS (一)多道批处理OS 它不仅在主存中可同时有多道作业在运行,而且作业可随时被调入系统,并存放在外存中形成作业队列。然后由OS按一定的原则从作业队列中调入一个或多个作业进入主存运行。 多道程序设计技术的出现,标志着操作系统渐趋成熟,具备了相应的作业管理、处理机管理、存贮器管理、外部设备和文件管理等功能。 (二)批处理系统的主要特征 (1)用户脱机使用计算机; (2)成批处理。操作员把用户提交的作业分批进行处理; (3)多道程序运行。
(四)批处理系统的优、缺点 优点:系统的吞吐量大。 缺点:对用户的响应时间(即用户向系统提交作业到获得系统处理信息这一段时间)较长,用户无法实现对作业的控制。 1.3.2分时OS (一)分时OS的特征 它一般采用时间片轮转的方式,使一台计算机为多个终端服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。其特征为: (1)同时性 :指一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。
(2)交互性:分时OS中用户的操作方式是联机方式。即用户通过终端采用人--机会话的方式直接控制程序运行,同程序进行会话。(2)交互性:分时OS中用户的操作方式是联机方式。即用户通过终端采用人--机会话的方式直接控制程序运行,同程序进行会话。 (3)独立性:由于分时OS采用时间片轮转的方式使一台计算机同时为许多终端用户服务,因此客观效果是这些用户彼此之间都感觉不到别人也在使用这台计算机,好像只有自己独占计算机一样。 (4)及时性:用户的请求能在较短时间内得到响应。响应时间是指用户发出终端命令到系统响应做出应答所需的时间。通常响应时间为2-3s。 以上的四个特点为程序设计人员提供了比较理想的开发环境。用户通过联机使用计算机,可以边开发,边调试,边思考,边修改,从而显著地提高了程序开发、调试效率。
1.3.3实时OS 它的主要特点:提供即时响应和高可靠性。 实时系统与批处理OS、分时OS相比,它的资源利用率可能较低。 (1)实时性:对外部实时信号必须能及时响应,响应的时间间隔要足以能够控制发出实时信号的那个环境。 (2)高可靠性和安全性,效率则放在第二位。 (3)整体性强。要求所管理的联机设备和资源,必须按一定的时间关系和逻辑关系协调工作。 (4)没有分时OS那么强的交互会话功能,通常不允许用户通过实时终端设备去编写新的程序或修改已有的程序。 (5)过载处理能力。
1.4 OS功能 主要负责系统中软、硬件资源的管理,调度对系统中各种资源的使用。 1.4.1处理机管理 其主要任务:对处理机的分配和运行实施有效的管理。在多道程序环境下,处理机的分配和运行又都是以进程为基本单位的,因此,对它的管理可归纳为对进程的管理。进程管理实现下述主要功能: (1)进程控制; (2)进程同步; (3)进程通信; (4)进程调度。
1.4.2存储管理 主要工作是对内存进行分配、保护和扩充。 (1)内存分配; (2)内存保护; (3)内存扩充。 1.4.3设备管理 它是OS中最庞杂、琐碎的部分。具有下述功能: (1)设备分配; (2)设备传输控制; (3)设备独立性。
1.4.4信息管理 OS中负责信息管理的部分称为文件系统。其主要功能为: (1)文件存储空间的管理; (2)目录管理; (3)文件操作管理; (4)文件保护。 1.4.5用户接口 为方便用户使用OS,OS还为用户提供使用计算机方便灵活的手段,即提供了一个友好的用户接口。OS以两种方式提供给用户使用: (1)程序一级的接口(程序接口); (2)作业一级的接口(命令接口)。
1.5 OS的特性 虽然不同OS具有各自的特点,但它们具有以下四个基本特征: (一)并发 并行性:指两个或多个事件在同一时刻发生; 并发性:指两个或多个事件在同一时间间隔内发生。 在多道程序环境下,并发性是指宏观上在一段时间内有多道程序在同时运行。但在单处理系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替执行。 程序的并发执行能有效改善系统资源的利用率,但会使系统复杂化,因此,OS必须具有控制和管理各种并发事件的能力。
(二)共享 资源共享:指系统中的硬件和软件不再为某个程序所独占,而是供多个用户共同使用。 并发和共享是OS的两个最基本的特征,二者互为存在条件。一方面,资源的共享以程序的并发执行为条件的,若系统不允许并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行。 (三)虚拟 虚拟:在OS中,它是指一个物理上的实体变为若干个逻辑上的对应物,前者是实际存在的,后者是虚的,只是用户的一种感觉。 例:在OS中引入多道程序设计技术后,虽然只有一个CPU,每次只能执行一道程序,但通过分时使用,在一段时间间隔内,宏观上这台处理机能同时运行多道程序。它给用户的感觉是每道程序都有一个CPU在为它服务。亦即,多道程序设计技术可以把一个物理上的CPU虚拟为多个逻辑上的CPU.
(四)不确定性 有两种不同的含义: (1)程序执行结果是不确定的,即对同一程序,使用相同的输入,在相同的环境下运行却可能获得完全不同的结果。亦即程序是不可再现的。 (2)多道程序环境下程序的执行是以异步方式进行的,换言之,每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间是不确定的,也是不可预知的。