1、,第四章 计算机操作系统,操作系统是配置在计算机硬件上的第一层软件,是控制计算机所有操作的软件。本章主要讲述操作系统概念及构成;以点的方式重点讲述操作系统中的几个基本功能及相关概念,主要是:进程管理、内存管理、文件管理、输入/输出系统管理;最后介绍几个典型的操作系统产品。,4.1 操作系统概念及构成,4.1.1 操作系统的概念,操作系统:是管理计算机软硬件资源的程序,同时它又是用户与计算机硬件的接口。,没有操作系统,应用软件如同空中楼阁,无法运行。,4.1.2 操作系统的构成,4.1 操作系统概念及构成,就是对CPU的管理。,就是如何合理分配和使用内存。,就是对文件及文件夹进行管理。,就是对外
2、部各种输入输出设备进行管理。,主要是指对硬盘进行管理。,就是提供对网络管理、对进程工作过程的保护及提供用户与操作系统的接口程序。,4.2.1 操作系统的类别,4.2 操作系统类别与计算环境,经过多年的发展,操作系统多种多样。早期,操作系统从批处理,多道程序发展为分时操作系统;另外,为满足计算机处理实时事件的需要,就有了实时操作系统;为适应个人计算机系统的需要又出现了桌面操作系统;为适应并行系统的需要,就有了多处理机操作系统;为满足网络和分布计算的需要,就有了网络操作系统和分布式操作系统;此外,还有为支持嵌入式计算机的嵌入式操作系统。,4.2.2 计算环境 操作系统总是在某种计算环境中设置和使用
3、,就目前来看计算环境可分为以下几类:,4.2 操作系统类别与计算环境,1. 传统计算环境指普通意义下的独立或联网工作下所形成的计算环境。,2.基于Web的计算环境互联网的普及使得计算被延伸到Web环境。,3.嵌入式计算环境嵌入式计算机就是安装在某些设备上的计算部件,其计算相对比较简单。,4.3.1 进程的概念,4.3 进程管理,什么是进程?它与程序有什么区别?程序:用户为完成某一个特定问题而编写的操作步骤。进程:可简单地看作是正在执行的程序。但是进程需要一定的资源来完成它的任务(例如CPU时间、内存、文件和I/O设备) 。 进程与程序的区别在于进程是动态的、有生命力的,而程序是静态的。一个程序
4、加载到内存,系统就创建一个进程,程序执行结束后,该进程也就消亡了。,在计算机中,由于多个程序共享系统资源,就必然引发对CPU的争夺。如何有效地利用CPU资源,如何在多个请求CPU的进程中选择取舍,这就是进程管理要解决的问题。,4.3.2 进程的状态转移,新的,就绪,运行,终止,等待,允许,中断,退出,允许,进程状态及转换图,4.3 进程管理,如CPU时间片被用完,迫使进程让出CPU,进程等待分配CPU,进程已分配到CPU,正在被执行。,进程正在被创建,进程已完成,进程等待一些事件的出现,如进程可能要使用某个I/O设备而进入等待状态,等待使用相应的设备,当 I/O完成后进程进入就绪队列。,4.3
5、.3 进程控制块PCB(略),4.3 进程管理,为了控制进程,操作系统就必须知道进程存储在哪里,以及进程的一些属性。进程控制块是进程实体的一部分,是操作系统中记录进程的专用数据结构。一个新的进程创建时,操作系统就会为该进程建立一个进程控制块。操作系统根据进程控制块对并发进程进行控制。,4.3.4 进程调度及队列图,4.3 进程管理,在某一时刻,计算机的CPU(单核)只能运行一个进程,如果存在多个进程,其它进程就需要等CPU空闲时才能被调度执行。当一个进程处于等待或CPU时间片用完时,操作系统就会从该进程中拿走CPU控制权,然后再交给其它进程使用,这就是进程的调度。,4.3.5 CPU调度及其准
6、则,4.3 进程管理,在设计CPU调度程序时主要应该考虑的准则包括:(1) CPU使用率。让CPU尽可能地忙。(2) 吞吐量。让CPU在一定时间内完成的进程数尽可能多。(3) 周转时间。让进程从提交到运行完成的时间尽可能短。(4) 等待时间。让进程在就绪队列中等待所花时间之和尽可能短。(5) 响应时间。让进程从提交请求到产生第一响应之间的时间尽可能短。,4.3.7 进程的同步与互斥,4.3 进程管理,进程的同步就是指相互协作的进程不断调整它们之间的相对速度,以实现共同有序地推进。换句话说,在操作系统中,允许多个进程并发运行。然而,有些进程之间本身存在某种联系,它们在系统中需要一种协作,以保证进
7、程能正确有序地执行并维护数据的一致性。,4.3 进程管理,在操作系统中,可能存在着多个进程。而系统中一些资源一次只允许一个进程使用,这类资源被称为临界资源。在进程中访问临界资源的那段程序称为临界区。当一个进程进入临界区执行时,其它进程就不允许进入临界区执行,否则就会导致错误结果。例如:多个进程在竞争使用打印机时表现为互斥。一个文件可供多个进程共享,其中有一个进程在写操作时,其它进程则不允许同时写或读,表现为互斥。由此得出:,多个进程并发执行时,只允许一个进程进入临界区运行,这就是进程的互斥。,在多道程序设计中,多个进程可能竞争一定数量的资源。一个进程在申请资源时,如果所申请资源不足,该进程就必
8、须处于等待状态。如果所申请的资源被其它进程占有,那么进程的等待状态就可能无法改变,从而形成进程之间相互一直等待的局面,这就是死锁。,4.3.8 进程的死锁及处理方法,4.3 进程管理,竞争资源引起死锁,死锁举例: 四方街区的车辆阻塞。每个方向都希望其它方让出通道,但谁也不能够让出。,引起死锁的四个必要条件:(1) 互斥:某一资源任一时刻只能有一个进程独占,若另一进程申请该资源则需延迟到该资源释放为止。 (2) 占有并等待:即该进程占有部分资源后还在等待其它资源,而该资源被其它进程占有。 (3) 非抢占:某进程已占用资源且不主动放弃它所占有的资源时,其它进程不能强占该资源,只有等其完成任务并释放
9、资源。 (4) 循环等待:在出现死锁的系统中,一定存在这样一个进程链,其中每个进程至少占有其它进程所必需的资源,从而形成一个等待链。,4.3 进程管理,死锁举例: 进程A:获得CD-ROM使用权,申请打印机 进程B:获得打印机使用权,申请CD-ROM 死锁:此时进程A、B均被阻塞,无法运行,处理死锁问题的三种方式: (1) 使用协议预防和避免死锁,确保系统从不进入死锁状态。 (2) 允许系统进入死锁状态,然后检测出死锁,并加以恢复。 (3) 可忽略进程死锁问题,并假装系统中死锁从来不会发生。即没有必要把精力花在小概率事件上。,4.3 进程管理,处理死锁优先考虑的顺序:,先预防和避免 再检测和恢
10、复,4.4 内存管理,内存是现代操作系统的核心,是可被CPU和I/O设备所共同访问的数据仓库。计算机的所有程序运行时都要调入内存。,内存管理的主要工作是:为每个用户进程合理地分配内存,以保证各个进程之间在存储区不发生冲突;当内存不足时,如何把内存和外存结合起来,给用户提供一个比实际内存大得多的虚拟内存,使得程序能顺利执行。,4.4.1 用户程序执行与地址映射(了解),4.4 内存管理,用户编写程序在执行前,需要多个处理步骤,然后在内存中等待执行。当然有时并非每个步骤都是必需的。,图4.4 用户程序多步骤处理,说明:编译器和汇编器用于将高级语言源程序翻译成二进制代码的机器语言程序。链接器将编译后
11、不同的程序、函数库文件等连接生成EXE文件 。当运行EXE文件时,操作系统的加载器读取EXE文件并将它们加载到内存中。预先编译好的在调入内存前加载的库文件就是静态链接库文件。运行时动态装入的库文件叫动态链接库文件。,OBJ文件,EXE文件,4.4 内存管理,1.编译阶段:如果在编译时就知道进程将在内存中的什么位置驻留,那么编译器就可以直接以生成绝对地址代码。,2.加载阶段: 不知道进程将驻留在什么位置,那么编译器就必须生成程序的逻辑地址,在加载阶段再转变成内存的绝对地址。,3.执行阶段:如果进程在执行时可以从一个内存段移动到另一个内存段,那么进程的绝对地址映射工作只能延迟到执行时进行。,通常,
12、将指令和数据的地址映射成内存地址可以发生在以下三个执行阶段。(了解),4.4.2 物理地址空间与逻辑地址空间,4.4 内存管理,几个相关概念,物理地址:是计算机内存单元的真实地址。 物理地址空间:由物理地址所构成的地址范围。 逻辑地址:经编译后的用户程序地址,从0开始编址。 逻辑地址空间:由逻辑地址所构成的地址范围。 地址映射:用户程序在运行时要装入内存,这就需要将逻辑地址变换成物理地址,该过程称为地址映射,也称重定位。,用户编写的源程序是不考虑地址的,源程序经编译后产生逻辑地址。将逻辑地址转换为内存中的物理地址是由计算机中被称为内存管理单元的硬件设备来实现的,将逻辑地址与内存管理单元中存放的
13、内存基址相加就得到物理地址。,4.4 内存管理,4.4.3 进程使用内存的交换技术,为更加有效地使用内存,进程在不运行时,可以暂时从内存移至外存,需要再运行时再重新调回到内存中。也就是说内存管理程序可将刚刚运行过的进程从内存中换出以释放占用的内存空间,然后将另一个要运行的进程占据前者释放的内存空间。,4.4 内存管理,注:这种交换技术多用于分时系统,4.4.4 内存分配方案-连续,4.4 内存管理,在内存分配中,常常把内存中还没有被分配的可用空间称为孔(hole)。,开始时所有内存是一个大的孔,随着内存分配的进行就会形成许多不连续的大小不同的孔。在连续内存分配方案中,当新进程需要内存时,就为其
14、寻找合适的孔,实现内存分配。该方案需要为每个进程分配连续的内存物理空间。,4.4.5 内存分配方案-分页式,4.4 内存管理,分页管理基本思想:内存物理地址空间划分为若干个大小相等的块(页框) 进程的逻辑地址空间也划分为同样大小的块(页面),内存分配时每个页面对应地分配一个页框,而一个进程所分得页框在位置上不必是连续的。,页表:操作系统为每个用户程序建立一张页表,该表记录用户程序的每个逻辑页面存放在哪一个内存物理页框。,分页式内存管理从逻辑地址到物理地址的映射 : (了解),注:逻辑地址的表示:,4.4 内存管理,4.5.1 基本思想,4.5 虚拟内存方案,虚拟内存是一个容量很大的存储器的逻辑
15、模型,它不是任何实际的物理存储器。虚拟内存包括物理内存和一部分外存(这里所指的外存一般是指硬盘)。,4.5 虚拟内存方案,虚拟内存:对于一个进程来讲,如果仅将当前要运行的几个页面装入内存便可以开始运行,而其余页面可暂时留在磁盘上,需要时再调入内存,并且调入时也不占用新的内存空间,而是对原来运行过的页面进行置换。这样,就可以在计算机有限的内存中同时驻留多个进程。而对用户来讲感觉到系统提供了足够大的物理内存,而实际上并非真实的,这就是虚拟内存。,4.5.2 页面请求与页面置换算法,4.5 虚拟内存方案,在虚拟内存技术中,进程运行时并没有将所有页面装入到内存,在运行过程中进程会不断地请求页面,如果访
16、问的页面已在内存,就继续执行下去;但如果要访问的页面尚未调入内存,便请求操作系统将所缺页面调入内存,以便进程能继续运行,这个过程叫页面请求。 如果请求页面调入内存时,分配给该进程的页框已用完,就无法立即装入所请求页面。此时,必须将进程中的某个页面从内存的页框调出到磁盘上,再从磁盘上将所请求的页面调入到内存该页框中,这个过程叫页面置换。,4.6.1 文件的概念,4.6 文件管理,文件:保存在外部存储设备上的相关信息的集合。文件命名:文件主名+扩展名,只读:只允许授权用户进行读操作。 读写:只允许授权用户进行读和写的操作。 文档:允许任何用户进行读写操作。 隐藏:不允许用户直接看到文件名。,文件存
17、取属性:,4.6 文件管理,文件系统:是对文件进行操作和管理的软件,是用户与外存之间的接口。该系统将所有文件组织成目录结构保存在外存,一个文件对应其中的一个目录条,目录条记录了文件名、文件位置、文件大小、创建时间等信息。,操作系统对文件的基本操作包括:创建文件、文件写、文件读、文件重定位、文件删除、文件截短、文件复制、重命名、更改属性等。,4.6.2 文件的物理结构和逻辑结构,4.6 文件管理,文件结构分物理和逻辑结构。其中物理结构是文件在外存上的存储组织形式,它与具体的存储设备有关。文件逻辑结构是指用户能直接感受到的文件组织结构,它与具体的存储设备无关。,(1) 无结构文件,main( )i
18、nt a, b, sum;scanf(“%d %d“, ,4.6 文件管理,(2) 有结构文件,可以看成是由无结构的字符序列组成的文件。,是带有结构的、性质相同的记录的集合。, 顺序文件:文件所包含的一系列记录按照某种顺序依次连续存储。顺序文件是按记录进入文件的先后顺序存放、其逻辑顺序和物理顺序一致的文件。,4.6 文件管理,索引文件:由主文件和索引表构成。可实现快速访问。 按输入记录的先后次序建立数据区和索引表。 全部记录输入完毕后对索引表进行排序,排序后的索引表和主文件一起就形成了索引文件。,索引顺序文件:顺序文件和索引文件特点的结合。主文件是按主关键字有序排列的,将主文件的所有记录分组,
19、每组记录是连续的,不同组记录是分散的。索引表中为每组的首记录建立一索引项,组与组之间按关键字大小有序排列,组内记录按顺序查找。,4.6 文件管理,4.6.3 文件的访问方式,1. 顺序访问方式,4.6 文件管理,主要适合于对顺序文件的访问。其访问的位置是由指针定位的。读操作是读取指针所指示位置的内容,并自动将指针向后移动,以指示下一次读的位置。而对写操作,所写的内容总是添加到文件的尾部。 一切存储在顺序存储设备(如磁带)上的文件,都只能是顺序文件,所以顺序访问方式是基于磁带的模型。该访问方式不仅适合顺序存储设备(如磁带),对直接存储设备(如磁盘)也适合。,2. 直接访问方式,4.6 文件管理,
20、直接访问也称随机访问,它指的是允许跳跃式地随意存取文件中的任何记录,而不需要任何顺序限制。直接访问是最为常见和高效的文件访问方式。磁盘是随机存储设备,所以直接访问方式是基于磁盘的模型。,3.索引访问方式,在进行文件访问时,首先对索引文件按关键字进行检索,查找到指向数据记录的指针,根据该指针实现对具体数据记录的访问。,4.6.4 文件的目录结构,4.6 文件管理,通常,一个磁盘至少应包含一个分区,每个分区用来保存文件和目录结构 。,文件目录的组成:每个文件有一个文件控制块FCB,它是文件存在的标志,存放了为管理文件所需的所有有关信息。把所有的文件控制块组织在一起,就构成了文件目录,每个文件控制块
21、就是其中的一个目录项。,FORMAT之后,磁盘的盘卷结构如下:,以簇为分配单位。 1簇=2n 扇区,文件控制块的有序集合,12扇区,0扇区,1-2扇区,3-4扇区,5-11扇区,4.6 文件管理,文件的目录系统可以组织成单层目录结构、双层目录结构、树型目录结构、无环路目录结构和通用图目录结构。,树型目录结构是目前使用最为广泛的一种目录结构。这种目录结构在逻辑上的构成是一棵树,子目录是树枝,而文件是树叶。,4.7.1 I/O设备和主要术语,4.7 输入输出系统管理,每台计算机都配备了许多外部设备,它们的性能和操作方式都不一样。操作系统对设备(即输入/输出系统)管理的主要目标是方便用户使用外部设备
22、,提高CPU和设备的利用率。,I/O设备与计算机通信的连接点被称为端口。,用于操作端口、总线和设备的一组电子器件,是设备与总线的连接装置。,1.端口(I/O设备端口),2.控制器(I/O设备控制器),中断的概念:中断是现代计算机中CPU处理外部突发事件的一个重要技术。它能使CPU在运行过程中对外部事件发出的中断请求及时地进行处理, 处理完成后又立即返回断点,继续进行CPU原来的工作。根据中断源的不同,可以把中断分为:,中断,硬中断,软中断,外部中断,内部中断,如:键盘中断、打印机中断等,如突然掉电、除数为零等,程序运行时其它程序对它的中断,1、IRQ(Interrupt Request)(线)
23、 IRQ即中断请求线。计算机中有许多设备(例如声卡、硬盘等)需要定期中断CPU,让CPU为其做一些特定的工作。这些设备在中断请求线上把请求中断的信号发给CPU。所以每个设备只能使用自己独立的中断请求线(PCI总线、USB总线上的设备可共享)。一般微机共有16条中断请求线与各种外设相连接,(每个中断线有一个标号也就是中断号)。 2、DMA(Direct Memory Access)(芯片) 计算机与外设之间的联系一般通过两种方法:一是通过CPU控制来进行数据的传送;二是在芯片控制下进行数据的传送。在DMA方式下,外设利用DMA通道直接将数据写入或读出存储器,而基本不用CPU参与,系统的速度会大大
24、增加。3、I/O端口(Input/Output)(地址)就是计算机外设与CPU连接的接口。每个端口都有自己唯一的一个端口号,这个端口号称为地址。每一个和CPU通信的外设都有不同的I/O地址,通常在PC机内部一共有1024个地址。,4.7.2 输入/输出控制方式,4.7 输入输出系统管理,(1) 程序控制方式早期计算机采用的方式。CPU向设备控制器发出一条I/O指令启动设备进行一个字节的输入或输出,然后CPU就等待I/O设备进行数据传送,直到一个字节传送完毕后CPU再继续处理下一个字节的输入或输出。CPU绝大部分时间都用于循环等待及测试I/O是否完成,造成CPU资源的极大浪费。CPU和外围设备只
25、能串行工作。,CPU通过端口对外设进行控制的方式有以下几种:,(2) 中断驱动方式首先由CPU向相应设备的控制器发出一条I/O命令,然后CPU立即返回继续执行原来的任务,设备控制器则按照命令的要求去控制I/O设备工作。这时CPU与I/O设备并行工作。这种方式CPU的利用率较高。但这种方式的缺点是在一次数据传送过程中,发生中断次数较多(每传一个字节就要请示求中断),这将耗去大量CPU处理时间。,4.7 输入输出系统管理,(3) 直接存储器访问方式引入DMA控制器,在其控制下,以数据块为单位完成设备与内存间的数据交换,当数据块传送完毕时才需要CPU干预。该方式CPU的利用率高。,(4) 通道控制方
26、式 通道控制方式是DMA的发展,它把对每一块数据的读写变成对一组数据块的读写,可以进一步减少CPU的干预。更大程度地提高了系统资源的利用率。,4.7.3 I/O缓冲管理,现代操作系统中,I/O设备与CPU(实际指内存)交换数据时,需要使用缓冲技术。也就是为I/O设备设置缓冲区暂存数据,等到数据积累到一定程度时,再做批量处理。引入缓冲:(1) 缓和CPU与I/O设备间速度不匹配的矛盾;(2) 减少对CPU中断频率;(3) 提高CPU与I/O设备间的并行性。,4.7 输入输出系统管理,4.7.4 设备驱动程序,4.7 输入输出系统管理,设备驱动程序与具体设备有关,用户安装好硬件后还要再安装驱动程序
27、,计算机才能识别和使用该设备。每个外部设备都有相应的设备驱动程序,它也是硬件的身份识别标志,负责完成设备具体的各种动作(输入/输出操作)。一旦为I/O设备安装了驱动程序,那么应用程序在使用I/O设备时,就不必关心设备的特性、I/O控制方式,这样就实现了应用程序与设备的无关性。,4.8.1 Unix,4.8 典型操作系统,Unix是一个通用、交互式、分时多用户并支持网络的操作系统,是可以运行在各种机型(从微机到巨型机在内)上的通用操作系统。目前主要用于网络服务器、大中小型机。 缺点:软件少,价格贵,难掌握。,4.8.2 DOS,DOS是单用户、单任务和字符界面的操作系统,主要为16位微型计算机而
28、设计,属于淘汰产品。,4.8.3 Windows,4.8 典型操作系统,优点:界面图形化、操作便捷、 采用多任务机制、支持网络功能、 出色的多媒体功能、硬件更容易使用、 具有众多应用程序的支持。,微软:世界最强大公司之一,90年代蓬勃兴起,但产品处于二、三流之间。它以人们喜欢占便宜的心里,采取允许人们盗版的方式迅速扩张,短时间占领市场。凭借着其成功的商业推广模式,一步步把自己的操作系统做成了世界上最流行的操作系统。,Windows:可靠性低(补丁、漏洞比比皆是,病毒不可抗拒),软件耗费资源大。一直未公开其源代码。但通用性强,操作习惯,被认为是无形标准。,影响:人人皆知,深入中、小学课本,影响一
29、代乃至几代人。我国在科研、教学、商业等方面的软件投入都建立在Windows基础上,从军队到地方、从政府到民间,微软产品横扫中国大江南北。,4.8.4 Linux,Linux是一个免费、源代码开放、自由传播、类似于Unix的操作系统。它既可以做各种服务器操作系统,也可以安装在微机上,并提供上网软件、文字处理软件、绘图软件、动画软件等,它除了命令操作外还提供了类似Windows风格的图形界面,我国自行开发的有红旗、蓝点Linux、麒麟Linux等。缺点是兼容性差,使用不习惯。,4.8 典型操作系统,4.8.5 Mac OS,Mac OS是一运行在苹果系列微机上的操作系统。苹果机多用于图形领域,它往
30、往代表了潮流和时尚,代表精美的工业设计,但它不兼容Windows软件,所以叫好不叫座。,几种计算机操作系统界面,windows,Windows,Linux,Mac OS,DOS,Unix,1. 在软件中的作用,操作系统对整个软件产业影响极大。随着Vista的推广应用,将重新构建一套应用软件体系,并会导致以前许多应用软件淘汰。未来的Windows 7又将引起新一轮的软件更新换代。,2. 经济作用,使用国外(微软)的操作系统,所有应用软件都在其掌控之下,我国自主软件产业的发展将受制于人。如同将荒地开发成良田,让大家种庄稼,若有收获就得交土地使用费,否则侵权。微软已宣布黑屏警告中国的Windows XP及Office盗版用户。,操作系统的作用,3.意义和价值,操作系统决定软件产业发展,是信息产业的基石,是“两件一芯”(操作系统、CPU、数字化芯片)中的一件,地位与当年的“两弹一星”一样。操作系统是硬件发展的标准和导向,是软件开发基础,谁掌握操作系统,谁就统领信息领域。,来自中国军方的声音:我们不能把未来打赢一场战争寄托在微软的良心上。,目前我国的操作系统等基础软件主要依赖国外进口,特别是在国防、金融等关键领域大量应用国外软件,将会直接威胁国家安全。未来我们要开发有自主产权和自控的操作系统,也许在操作系统上中国未来会全面走向Linux。,4. 发展与未来,操作系统意义和价值及发展与未来,