第四章 计算机操作系统_第1页
第四章 计算机操作系统_第2页
第四章 计算机操作系统_第3页
第四章 计算机操作系统_第4页
第四章 计算机操作系统_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、 操作系统是配置在计算机硬件上的第一层软操作系统是配置在计算机硬件上的第一层软件,是控制计算机所有操作的软件。件,是控制计算机所有操作的软件。 本章主要讲述操作系统概念及构成;重点阐本章主要讲述操作系统概念及构成;重点阐述操作系统中的几个基本组件及功能,主要是:述操作系统中的几个基本组件及功能,主要是:进程管理、内存管理、文件管理、输入进程管理、内存管理、文件管理、输入/输出系统输出系统管理;最后介绍几个典型的操作系统产品。管理;最后介绍几个典型的操作系统产品。操作系统:是管理计算机软硬件资源的程序,同操作系统:是管理计算机软硬件资源的程序,同时它又是用户与计算机硬件的接口。时它又是用户与计算

2、机硬件的接口。系统程序和应用程序系统程序和应用程序操操 作作 系系 统统硬硬 件件 层层没有操作系没有操作系统,应用软统,应用软件如同空中件如同空中楼阁,无法楼阁,无法运行。运行。 4.1 操作系统概念及构成操作系统概念及构成操作系统操作系统 进程管理进程管理 内存管理内存管理 文件管理文件管理 输入输入/输出系统管理输出系统管理 二级存储管理二级存储管理用户接口用户接口 联网、保护系统和命令解释程序系统联网、保护系统和命令解释程序系统就是对就是对CPU的的管理。管理。就是如何合就是如何合理分配和使理分配和使用内存。用内存。就是对文件就是对文件及文件夹进及文件夹进行管理。行管理。就是对外部各就

3、是对外部各种输入输出设种输入输出设备进行管理。备进行管理。主要是指对主要是指对硬盘进行管硬盘进行管理。理。就是提供对网就是提供对网络管理、对进络管理、对进程工作过程的程工作过程的保护及提供用保护及提供用户与操作系统户与操作系统的接口程序。的接口程序。4.2 操作系统类别与计算环境操作系统类别与计算环境批处理系统1多道程序系统2分时系统3实时系统4桌面系统5多处理机系统6网络系统7分布式系统8嵌入式系统9 经过多年的发展,操作系统多种经过多年的发展,操作系统多种多样。为提高大型计算机系统的资源多样。为提高大型计算机系统的资源利用率,操作系统从批处理,多道程利用率,操作系统从批处理,多道程序发展为

4、分时操作系统。为了满足计序发展为分时操作系统。为了满足计算机处理实时事件的需要,就有实时算机处理实时事件的需要,就有实时操作系统。为适应个人计算机系统的操作系统。为适应个人计算机系统的需要又出现了桌面操作系统。为适应需要又出现了桌面操作系统。为适应并行系统的需要,就有了多处理器操并行系统的需要,就有了多处理器操作系统。为满足网络和分布计算的需作系统。为满足网络和分布计算的需要,就有了网络操作系统和分布式操要,就有了网络操作系统和分布式操作系统。此外,还有为支持嵌入式计作系统。此外,还有为支持嵌入式计算机的嵌入式操作系统。算机的嵌入式操作系统。4.2 操作系统类别与计算环境操作系统类别与计算环境

5、 1. 传统计算环境传统计算环境 指普通意义下的独立或联网工作的通用计算机指普通意义下的独立或联网工作的通用计算机所形成的计算环境。所形成的计算环境。 2.基于基于Web的计算环境的计算环境 互联网的普及使得计算被延伸到互联网的普及使得计算被延伸到Web环境。环境。 3.嵌入式计算环境嵌入式计算环境 嵌入式计算机就是安装在某些设备上的计算部嵌入式计算机就是安装在某些设备上的计算部件,其计算相对比较简单。件,其计算相对比较简单。进程管理进程管理 什么是进程?它与程序有什么区别?什么是进程?它与程序有什么区别? 程序:用户为完成某一个特定问题而编写的操作步骤。程序:用户为完成某一个特定问题而编写的

6、操作步骤。 进程:可以简单地被看作是正在执行的程序。但是进程需进程:可以简单地被看作是正在执行的程序。但是进程需要一定的资源来完成它的任务要一定的资源来完成它的任务(例如例如CPU时间、内存、文件和时间、内存、文件和I/O设备设备) 。 进程与程序的区别在于进程是动态的、有生命力的,而程进程与程序的区别在于进程是动态的、有生命力的,而程序是静态的。一个程序加载到内存,系统就创建一个进程,程序是静态的。一个程序加载到内存,系统就创建一个进程,程序执行结束后,该进程也就消亡了。序执行结束后,该进程也就消亡了。新的新的就绪就绪运行运行终止终止等待等待允许允许中断中断退出退出允许允许I/O操作或事件的

7、完成操作或事件的完成I/O操作或事件的等待操作或事件的等待进程状态及转换图进程状态及转换图进程管理进程管理如如CPU时间片被用完,时间片被用完,迫使进程让出迫使进程让出CPU进程等待分配进程等待分配CPU 。 进程已分配到进程已分配到CPU,正在被执行。正在被执行。进程正在被创建进程正在被创建 。 进程已完成进程已完成 。 进程等待一些事件的出现。进程等待一些事件的出现。 如进程可能要使用某个如进程可能要使用某个I/O设备而进入等待状态,等待设备而进入等待状态,等待使用相应的设备,当使用相应的设备,当 I/O完成后进程进入就绪队列完成后进程进入就绪队列。进程管理进程管理 为了控制进程,操作系统

8、就必须知道进程存储为了控制进程,操作系统就必须知道进程存储在哪里,以及进程的一些属性。在哪里,以及进程的一些属性。 进程控制块是进程实体的一部分,是操作系统进程控制块是进程实体的一部分,是操作系统中记录进程的专用数据结构。一个新的进程创建时,中记录进程的专用数据结构。一个新的进程创建时,操作系统就会为该进程建立一个进程控制块。操作操作系统就会为该进程建立一个进程控制块。操作系统根据进程控制块对并发进程进行控制。系统根据进程控制块对并发进程进行控制。进程管理进程管理 计算机采用多道程序的目的是使得计算机系统无论何时计算机采用多道程序的目的是使得计算机系统无论何时都有进程运行,单处理器的计算机在某

9、一时刻都有进程运行,单处理器的计算机在某一时刻CPU只能运行只能运行一个进程,如果存在多个进程,其它进程就需要等待一个进程,如果存在多个进程,其它进程就需要等待CPU空空闲时才能被调度执行。闲时才能被调度执行。 当一个进程处于等待或当一个进程处于等待或CPU时间片用完时,操作系统就时间片用完时,操作系统就会从该进程中拿走会从该进程中拿走CPU控制权,然后再交给其它进程使用,控制权,然后再交给其它进程使用,这就是这就是进程的调度进程的调度。 进程进程B进程进程A进程进程CCPU时间时间进程进程C进程进程B进程进程A进程管理进程管理 在设计在设计CPU调度程序时主要应该考虑的准则包括:调度程序时主

10、要应该考虑的准则包括: (1) CPU使用率。让使用率。让CPU尽可能地忙。尽可能地忙。 (2) 吞吐量。让吞吐量。让CPU在一定时间内完成的进程数尽可能多。在一定时间内完成的进程数尽可能多。 (3) 周转时间。让进程从提交到运行完成的时间尽可能短。周转时间。让进程从提交到运行完成的时间尽可能短。 (4) 等待时间。让进程在就绪队列中等待所花时间之和尽可等待时间。让进程在就绪队列中等待所花时间之和尽可能短。能短。 (5) 响应时间。让进程从提交请求到产生第一响应之间的时响应时间。让进程从提交请求到产生第一响应之间的时间尽可能短。间尽可能短。进程管理进程管理 进程的同步就是指相互协作的进程不断调

11、整它们进程的同步就是指相互协作的进程不断调整它们之间的相对速度,以实现共同有序地推进。之间的相对速度,以实现共同有序地推进。 换句话说换句话说, ,在操作系统中,允许多个进程并发运行。然而,在操作系统中,允许多个进程并发运行。然而,有些进程之间本身存在某种联系,它们在系统中需要一种协作,有些进程之间本身存在某种联系,它们在系统中需要一种协作,以保证进程能正确有序地执行并维护数据的一致性。以保证进程能正确有序地执行并维护数据的一致性。把数据从键盘送入缓冲区把数据从键盘送入缓冲区给给B发信号发信号(缓冲区已满缓冲区已满)等待等待B发回信号发回信号(再送数据到缓冲区再送数据到缓冲区)A进程进程B进程

12、进程等待等待A信号信号(等待取数据并计算等待取数据并计算)取缓冲区中的数据进行计算取缓冲区中的数据进行计算给给A发信号发信号(缓冲区数据已取走缓冲区数据已取走)例例:A、B两进程同步工作如下图(两进程同步工作如下图(A进程负责从键盘读数据到缓冲区,进程负责从键盘读数据到缓冲区,B进程从缓冲进程从缓冲区取数据并计算。区取数据并计算。 现实应用中存在大量的类似实例现实应用中存在大量的类似实例进程通信进程通信进程管理进程管理进程管理进程管理 在操作系统中,可能存在着多个进程。而系统中在操作系统中,可能存在着多个进程。而系统中一些资源一次只允许一个进程使用,这类资源被称为一些资源一次只允许一个进程使用

13、,这类资源被称为临界资源。在进程中访问临界资源的那段程序称为临临界资源。在进程中访问临界资源的那段程序称为临界区。当一个进程进入临界区执行时,其它进程就不界区。当一个进程进入临界区执行时,其它进程就不允许进入临界区执行,否则就会导致错误结果。由此允许进入临界区执行,否则就会导致错误结果。由此得出得出: : 多个进程并发执行时,只允许一个进程进多个进程并发执行时,只允许一个进程进入临界区运行,这就是进程的互斥。入临界区运行,这就是进程的互斥。 例如:多个进程在竞争使用打印机时表现为互斥。例如:多个进程在竞争使用打印机时表现为互斥。 一个文件可供多个进程共享,其中有一个进程在写操一个文件可供多个进

14、程共享,其中有一个进程在写操作时,其它进程则不允许同时写或读作时,其它进程则不允许同时写或读,表现为互斥。表现为互斥。 在多道程序设计中,多个进程可能竞争一定数在多道程序设计中,多个进程可能竞争一定数量的资源。一个进程在申请资源时,如果所申请资量的资源。一个进程在申请资源时,如果所申请资源不足,该进程就必须处于等待状态。如果所申请源不足,该进程就必须处于等待状态。如果所申请的资源被其它进程占有,那么进程的等待状态就可的资源被其它进程占有,那么进程的等待状态就可能无法改变,从而形成进程之间相互一直等待的局能无法改变,从而形成进程之间相互一直等待的局面,这就是死锁。面,这就是死锁。进程管理进程管理

15、 死锁举例死锁举例1: 进程进程A:获得:获得CD-ROM使用权,申请打印机使用权,申请打印机 进程进程B:获得打印机使用权,申请:获得打印机使用权,申请CD-ROM 死锁:此时进程死锁:此时进程A、B均被阻塞,无法运行均被阻塞,无法运行进程死锁进程死锁进程管理进程管理 死锁举例死锁举例2 2: 四方街区的车辆阻塞。每个方向都希望其它方让出通道,四方街区的车辆阻塞。每个方向都希望其它方让出通道,但谁也不能够让出。但谁也不能够让出。引起死锁的四个必要条件:引起死锁的四个必要条件:互斥:任一时刻只能有一个进程独占某一资源,若互斥:任一时刻只能有一个进程独占某一资源,若另一进程申请该资源则需延迟到该

16、资源释放为止。另一进程申请该资源则需延迟到该资源释放为止。 占有并等待:即该进程占有部分资源后还在等待其占有并等待:即该进程占有部分资源后还在等待其它资源,而该资源被其它进程占有。它资源,而该资源被其它进程占有。 非抢占:某进程已占用资源且不主动放弃它所占有非抢占:某进程已占用资源且不主动放弃它所占有的资源时,其它进程不能强占该资源,只有等其完成的资源时,其它进程不能强占该资源,只有等其完成任务并释放资源。任务并释放资源。循环等待:在出现死锁的系统中,一定存在这样一循环等待:在出现死锁的系统中,一定存在这样一个进程链,其中每个进程至少占有其它进程所必需的个进程链,其中每个进程至少占有其它进程所

17、必需的资源,从而形成一个等待链。资源,从而形成一个等待链。 所占有的资源。所占有的资源。进程管理进程管理处理死锁问题的三种方式:处理死锁问题的三种方式:可使用协议预防和避免死锁,确保系统从不会进可使用协议预防和避免死锁,确保系统从不会进入死锁状态。入死锁状态。 可允许系统进入死锁状态,然后检测出死锁状态,可允许系统进入死锁状态,然后检测出死锁状态,并加以恢复。并加以恢复。 可忽略进程死锁问题,并假装系统中死锁从来不可忽略进程死锁问题,并假装系统中死锁从来不会发生。即没有必要把精力花在小概率事件上。会发生。即没有必要把精力花在小概率事件上。进程管理进程管理处理死锁优先考虑的顺序:处理死锁优先考虑

18、的顺序:先先预防预防和避免和避免再再检测检测和恢复和恢复4.4 内存管理内存管理 内存是现代操作系统的核心。内存用于容纳操内存是现代操作系统的核心。内存用于容纳操作系统和各种用户进程,是可以被作系统和各种用户进程,是可以被CPU和和I/O设备设备所共同访问的数据仓库。计算机的所有程序运行时所共同访问的数据仓库。计算机的所有程序运行时都要调入内存。都要调入内存。 内存管理的主要工作是:为每个用户进程合理内存管理的主要工作是:为每个用户进程合理地分配内存,以保证各个进程之间在存储区不发生地分配内存,以保证各个进程之间在存储区不发生冲突;当内存不足时,如何把内存和外存结合起来,冲突;当内存不足时,如

19、何把内存和外存结合起来,给用户提供一个比实际内存大得多的虚拟内存,使给用户提供一个比实际内存大得多的虚拟内存,使得程序能顺利执行。内存管理包括内存分配、地址得程序能顺利执行。内存管理包括内存分配、地址映射、内存保护和扩充。映射、内存保护和扩充。 4.4 内存管理内存管理 用户编写程序在执行前,需要用户编写程序在执行前,需要多个处理步骤,这些步骤可将源程多个处理步骤,这些步骤可将源程序转变为二进制机器代码,然后在序转变为二进制机器代码,然后在内存中等待执行。当然有时并非每内存中等待执行。当然有时并非每个步骤都是必需的。个步骤都是必需的。源程序源程序编译器或编译器或汇编器汇编器目标模块目标模块链接

20、编辑器链接编辑器加载模块加载模块加载器加载器内存中内存中二进制内存二进制内存映像映像其它目其它目标模块标模块动态装入动态装入的系统库的系统库系统库系统库动态链接动态链接编译阶段编译阶段加载阶段加载阶段执行阶段执行阶段图图4.4 用户程序多步骤处理用户程序多步骤处理说明:编译器和汇编器用于将高级说明:编译器和汇编器用于将高级语言程序源程序翻译成二进制代码语言程序源程序翻译成二进制代码的机器语言程序。链接器将将编译的机器语言程序。链接器将将编译后不同的程序库等连接起来生成后不同的程序库等连接起来生成EXE文件文件 。当运行。当运行EXE文件的时候文件的时候操作系统的加载器读取操作系统的加载器读取E

21、XE文件并文件并将它们加载到内存中。预先编译好将它们加载到内存中。预先编译好的在调入内存前加载的库文件就是的在调入内存前加载的库文件就是静态链接库文件。运行时动态装入静态链接库文件。运行时动态装入的库文件叫动态链接库文件。的库文件叫动态链接库文件。 OBJ文件文件EXE文件文件4.4 内存管理内存管理 1. 1.编译阶段编译阶段: :如果在编译时就知道进程将在内存中如果在编译时就知道进程将在内存中的什么位置驻留,那么编译器就可以直接以生成绝对的什么位置驻留,那么编译器就可以直接以生成绝对地址代码。地址代码。 2.加载阶段加载阶段: 不知道进程将驻留在什么位置,那不知道进程将驻留在什么位置,那么

22、编译器就必须生成程序的逻辑地址,在加载阶段么编译器就必须生成程序的逻辑地址,在加载阶段再转变成内存的绝对地址。再转变成内存的绝对地址。 3. 3.执行阶段执行阶段: :如果进程在执行时可以从一个内存如果进程在执行时可以从一个内存段移动到另一个内存段,那么进程的绝对地址映射段移动到另一个内存段,那么进程的绝对地址映射工作只能延迟到执行时进行。工作只能延迟到执行时进行。 通常,将指令和数据的地址映射成内存地址可以通常,将指令和数据的地址映射成内存地址可以发生在以下三个执行阶段。发生在以下三个执行阶段。(了解了解)4.4 内存管理内存管理l 几个相关概念几个相关概念物理地址物理地址:是计算机内存单元

23、的真实地址。是计算机内存单元的真实地址。 物理地址空间物理地址空间:由物理地址所构成的地址范围。由物理地址所构成的地址范围。 逻辑地址逻辑地址:用户程序地址,从用户程序地址,从0开始编址。开始编址。 逻辑地址空间逻辑地址空间:由逻辑地址所构成的地址范围。由逻辑地址所构成的地址范围。 地址映射地址映射:用户程序在运行时要装入内存,这就需用户程序在运行时要装入内存,这就需要将逻辑地址变换成物理地址,这个过程称为地要将逻辑地址变换成物理地址,这个过程称为地址映射,也称重定位。址映射,也称重定位。用户编写的源程序是不考虑地址的,源程序经用户编写的源程序是不考虑地址的,源程序经CPU编译后产生逻辑地址。

24、从编译后产生逻辑地址。从CPU产生的逻辑地址产生的逻辑地址转换为内存中的物理地址的映射是由计算机中被称为转换为内存中的物理地址的映射是由计算机中被称为内存管理单元的硬件设备来实现的,将逻辑地址与内内存管理单元的硬件设备来实现的,将逻辑地址与内存管理单元中存放的内存基址相加就得到了物理地址。存管理单元中存放的内存基址相加就得到了物理地址。 物理地址物理地址Base + X逻辑地址逻辑地址XCPU重定位寄存器重定位寄存器Base+ +内存内存内存管理单元内存管理单元4.4 内存管理内存管理 为了更加有效地使用内存,进程在不运行时,可为了更加有效地使用内存,进程在不运行时,可以暂时从内存移至外存上,

25、直到需要再运行时再重新以暂时从内存移至外存上,直到需要再运行时再重新调回到内存中。也就是说内存管理程序可将刚刚运行调回到内存中。也就是说内存管理程序可将刚刚运行过的进程从内存中换出以释放出占用的内存空间,然过的进程从内存中换出以释放出占用的内存空间,然后将另一个要运行的进程占据前者释放的内存空间。后将另一个要运行的进程占据前者释放的内存空间。4.4 内存管理内存管理进程A操作系统未用内存区进程A操作系统未用内存区进程B进程A操作系统未用内存区进程B进程C未用内存区操作系统未用内存区进程B进程C未用内存区操作系统未用内存区进程B进程C进程D4.4 内存管理内存管理进程A操作系统未用内存区进程C未

26、用内存区在内存分配中,在内存分配中,常常把内存中还常常把内存中还没有被分配的可没有被分配的可用空间称为孔用空间称为孔( (hole) )。 计算机工作时,为了将多个进程放入到内存就必须考虑计算机工作时,为了将多个进程放入到内存就必须考虑在内存中如何放置这些进程。在内存中如何放置这些进程。 对于连续内存分配方案,开始时所有内存是一个大的孔,对于连续内存分配方案,开始时所有内存是一个大的孔,随着内存分配的进行就会形成位置上不连续的大小不一的孔。随着内存分配的进行就会形成位置上不连续的大小不一的孔。在连续内存分配方案中,当新进程需要内存时,为其寻找合在连续内存分配方案中,当新进程需要内存时,为其寻找

27、合适的孔,实现内存分配适的孔,实现内存分配 。该方案为每个进程所分配的内存。该方案为每个进程所分配的内存物理地址空间在位置上是连续的。物理地址空间在位置上是连续的。 分页式内存管理分页式内存管理物理物理地址地址 逻辑逻辑地址地址 页框页框(Frame) 页面页面(Page)硬件支持硬件支持 4.4 内存管理内存管理分页管理基本思想:分页管理基本思想:o 内存物理地址空间划分为若干个大小相等的块内存物理地址空间划分为若干个大小相等的块(页框页框) o 进程的逻辑地址空间也划分为同样大小的块进程的逻辑地址空间也划分为同样大小的块(页面页面)o 内存分配时每个页面对应地分配一个页框,而一个内存分配时

28、每个页面对应地分配一个页框,而一个进程所分得页框在位置上不必是连续的。进程所分得页框在位置上不必是连续的。页表:操作系统为每个用户程序建立一张页表,该表记录用户页表:操作系统为每个用户程序建立一张页表,该表记录用户程序的每个逻辑页面存放在哪一个内存物理页框。程序的每个逻辑页面存放在哪一个内存物理页框。7页6页5页4页3页2页1页0页用户程序11109876543210内存1191076425块号76543210页号页表4.4 内存管理内存管理pdfCPUpdfdff 00000000f 11111111逻辑地址逻辑地址物理地址物理地址页表页表物理内存物理内存分页式内存管理从逻辑地址到物理地址的

29、映射分页式内存管理从逻辑地址到物理地址的映射:注:逻辑地址的表示:注:逻辑地址的表示:4.4 内存管理内存管理4.5 虚拟内存方案虚拟内存方案虚拟内存是一个容量很大的存储器的逻辑模型,虚拟内存是一个容量很大的存储器的逻辑模型,它不是任何实际的物理存储器,它一般是借助硬盘来它不是任何实际的物理存储器,它一般是借助硬盘来扩大主存的容量。扩大主存的容量。虚拟内存包括物理内存和一部分外存虚拟内存包括物理内存和一部分外存( (这里所用到的外存一般是指硬盘这里所用到的外存一般是指硬盘) )。4.5 虚拟内存方案虚拟内存方案虚拟内存:虚拟内存:对于一个进程来讲,如果仅将当前对于一个进程来讲,如果仅将当前要运

30、行的几个页面装入内存便可以开始运行,而其余要运行的几个页面装入内存便可以开始运行,而其余页面可暂时留在磁盘上,待需要时再调入内存,并且页面可暂时留在磁盘上,待需要时再调入内存,并且调入时也不占用新的内存空间,而是对原来运行过的调入时也不占用新的内存空间,而是对原来运行过的页面进行置换。这样,就可以在计算机有限的内存中页面进行置换。这样,就可以在计算机有限的内存中同时驻留多个进程并运行。而对用户来讲感觉到系统同时驻留多个进程并运行。而对用户来讲感觉到系统提供了足够大的物理内存,而实际上并非真实的,这提供了足够大的物理内存,而实际上并非真实的,这就是虚拟内存。就是虚拟内存。 4.5 虚拟内存方案虚

31、拟内存方案 页面请求页面请求: :在虚拟内存技术中,进程运行时并在虚拟内存技术中,进程运行时并没有将所有页面装入到内存,在运行过程中进程会没有将所有页面装入到内存,在运行过程中进程会不断地请求页面,如果访问的页面已在内存,就继不断地请求页面,如果访问的页面已在内存,就继续执行下去;但如果要访问的页面尚未调入到内存,续执行下去;但如果要访问的页面尚未调入到内存,便请求操作系统将所缺页面调入内存,以便进程能便请求操作系统将所缺页面调入内存,以便进程能继续运行下去。继续运行下去。 页面置换页面置换: :如果请求页面调入内存时,分配给如果请求页面调入内存时,分配给该进程的页框已用完,就无法立即装入所请

32、求页面。该进程的页框已用完,就无法立即装入所请求页面。此时,必须将进程中的某个页面从内存的页框调出此时,必须将进程中的某个页面从内存的页框调出到磁盘上,再从磁盘上将所请求的页面调入到内存到磁盘上,再从磁盘上将所请求的页面调入到内存的该页框中。这个过程叫做页面置换。的该页框中。这个过程叫做页面置换。4.6 文件管理文件管理文件:保存在外部存储设备上的相关信息的集合。文件:保存在外部存储设备上的相关信息的集合。 文件命名:文件主名文件命名:文件主名+ +扩展名扩展名只读:只允许授权用户进行读操作。只读:只允许授权用户进行读操作。 读写:只允许授权用户进行读和写的操作。读写:只允许授权用户进行读和写

33、的操作。 文档:允许任何用户进行读写操作。文档:允许任何用户进行读写操作。 隐藏:不允许用户直接看到文件名。隐藏:不允许用户直接看到文件名。文件存取属性:文件存取属性:文件管理是操作系统最常见的组成部分。文件文件管理是操作系统最常见的组成部分。文件管理主要提供目录及其文件的管理。管理主要提供目录及其文件的管理。4.6 文件管理文件管理文件系统:是对文件进行操作和管理的软件,是文件系统:是对文件进行操作和管理的软件,是用户与外存之间的接口。这个系统将所有文件组织成用户与外存之间的接口。这个系统将所有文件组织成目录结构保存在外存,一个文件对应其中的一个目录目录结构保存在外存,一个文件对应其中的一个

34、目录条。目录条记录有文件名、文件位置等信息。条。目录条记录有文件名、文件位置等信息。 操作系统对文件的基本操作包括:操作系统对文件的基本操作包括: 创建文件、文件写、文件读、文件重定位、文件创建文件、文件写、文件读、文件重定位、文件删除、文件截短。删除、文件截短。 对文件的其它操作包括:文件复制、重命名、更对文件的其它操作包括:文件复制、重命名、更改属性等。改属性等。文件的逻辑结构文件的逻辑结构无结构文件无结构文件有结构文件有结构文件流式文件流式文件索引顺序文件索引顺序文件顺序文件顺序文件索引文件索引文件4.6 文件管理文件管理 文件结构分物理和逻辑结构。其中物理结构是文件在外文件结构分物理和

35、逻辑结构。其中物理结构是文件在外存上的存储组织形式,它与具体的存储设备有关。文件逻辑存上的存储组织形式,它与具体的存储设备有关。文件逻辑结构是指用户能直接感受到的文件组织结构,它与具体的存结构是指用户能直接感受到的文件组织结构,它与具体的存储设备无关。储设备无关。main( ) int a, b, sum; scanf(%d %d, &a, &b); sum=a+b; printf(sum=%d, sum); 4.6 文件管理文件管理是一维的、连续的、无结构的是一维的、连续的、无结构的字符序列,可以看成是由一条字符序列,可以看成是由一条无结构的记录组成的文件。无结构的记录组成的

36、文件。是带有结构的、性质相同的记录的集合。是带有结构的、性质相同的记录的集合。 顺序文件:文件所包含的一系列记录按照某种顺序依顺序文件:文件所包含的一系列记录按照某种顺序依次连续存储。次连续存储。4.6 文件管理文件管理 索引文件:由主文件和索引表构成。可以实现快速访问。索引文件:由主文件和索引表构成。可以实现快速访问。(1) 按输入记录的先后次序建立数据区和索引表。按输入记录的先后次序建立数据区和索引表。 (2) 待全部记录输入完毕后对索引表进行排序,排序后的待全部记录输入完毕后对索引表进行排序,排序后的索引表和主文件一起就形成了索引文件。索引表和主文件一起就形成了索引文件。 索引顺序文件:

37、顺序文件和索引文件特点的结索引顺序文件:顺序文件和索引文件特点的结合。顺序文件是按主关键字有序排列的,将顺序文合。顺序文件是按主关键字有序排列的,将顺序文件的所有记录分组,索引表中为每组的首记录建立件的所有记录分组,索引表中为每组的首记录建立一索引项,组与组之间按关键字大小有序排列,组一索引项,组与组之间按关键字大小有序排列,组内记录顺序查找。内记录顺序查找。4.6 文件管理文件管理逻辑文件逻辑文件顺序访问方式顺序访问方式4.6 文件管理文件管理 顺序访问方式主要适合于对顺序文件的访问。其顺序访问方式主要适合于对顺序文件的访问。其访问的位置是由指针定位的。读操作是读取指针所指访问的位置是由指针

38、定位的。读操作是读取指针所指示位置的内容,并自动将指针向后移动,以指示下一示位置的内容,并自动将指针向后移动,以指示下一次读的位置。而对写操作,所写的内容总是添加到文次读的位置。而对写操作,所写的内容总是添加到文件的尾部。件的尾部。 顺序访问方式是基于磁带的模型,不仅适合顺序顺序访问方式是基于磁带的模型,不仅适合顺序存储设备存储设备(如磁盘如磁盘),对直接存储设备,对直接存储设备(如磁盘如磁盘)也适合。也适合。 直接访问方式直接访问方式4.6 文件管理文件管理 直接访问也称随机访问,它指的是允许跳跃式直接访问也称随机访问,它指的是允许跳跃式地随意存取文件中的任何记录,而不需要任何顺序地随意存取

39、文件中的任何记录,而不需要任何顺序限制。直接访问是最为常见和高效的文件访问方式。限制。直接访问是最为常见和高效的文件访问方式。直接访问方式是基于磁盘的模型。直接访问方式是基于磁盘的模型。 3. 3.索引访问方式索引访问方式 在进行文件访问时,首先对索引文件按关键字在进行文件访问时,首先对索引文件按关键字进行检索,查找到指向数据记录的指针,根据该指进行检索,查找到指向数据记录的指针,根据该指针实现对具体数据记录的访问。针实现对具体数据记录的访问。4.6 文件管理文件管理 通常,一个磁盘至少应包含一个分区,每个分区通常,一个磁盘至少应包含一个分区,每个分区用来保存文件和目录结构用来保存文件和目录结

40、构 。 文件目录的组成:每个文件有一个文件控制块文件目录的组成:每个文件有一个文件控制块FCB,它是文件存在的标志,存放了为管理文件所需,它是文件存在的标志,存放了为管理文件所需的所有有关信息。把所有的文件控制块组织在一起,的所有有关信息。把所有的文件控制块组织在一起,就构成了文件目录,每个文件控制块就是其中的一个就构成了文件目录,每个文件控制块就是其中的一个目录项。目录项。4.6 文件管理文件管理 文件的目录系统可以组织成单层目录结构、双文件的目录系统可以组织成单层目录结构、双层目录结构、树型目录结构、无环路目录结构和层目录结构、树型目录结构、无环路目录结构和通用图目录结构。通用图目录结构。

41、 树型目录结构是目前使用最为广泛的一种目录树型目录结构是目前使用最为广泛的一种目录结构。这种目录结构在逻辑上的构成是一棵树,子结构。这种目录结构在逻辑上的构成是一棵树,子目录是树枝,而文件是树叶。一个用户所拥有的子目录是树枝,而文件是树叶。一个用户所拥有的子目录位置不需要统一,在一个子目录下可以再创建目录位置不需要统一,在一个子目录下可以再创建子目录。子目录。输入输出系统管理输入输出系统管理 每台计算机都配备了许多外部设备,它们的性每台计算机都配备了许多外部设备,它们的性能和操作方式都不一样。操作系统对设备能和操作方式都不一样。操作系统对设备(即即输入输入/输输出出系统系统)管理管理的主要目标

42、是:方便用户使用外部设备,的主要目标是:方便用户使用外部设备,提高提高CPU和设备的利用率。和设备的利用率。 I/O设备与计算机通信的连接点被称为端口。设备与计算机通信的连接点被称为端口。 用于操作端口、总线和设备的一组电子器件,用于操作端口、总线和设备的一组电子器件,是设备与总线的连接装置。是设备与总线的连接装置。 1.端口(端口(port) 2.控制器控制器(controller) 中断的概念中断的概念:中断是现代计算机中中断是现代计算机中CPU处理外部突发事件处理外部突发事件的一个重要技术。它能使的一个重要技术。它能使CPU在运行过程中对外部事件发出在运行过程中对外部事件发出的中断请求及

43、时地进行处理,的中断请求及时地进行处理, 处理完成后又立即返回断点,处理完成后又立即返回断点,继续进行继续进行CPU原来的工作。根据中断源的不同,可以把中断原来的工作。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,硬中断是硬件实现的中断,分为硬件中断和软件中断两大类,硬中断是硬件实现的中断,硬件中断又可以分为外部中断硬件中断又可以分为外部中断(如:键盘中断、打印机中断如:键盘中断、打印机中断)和内部中断和内部中断(如突然掉电、除数为零等如突然掉电、除数为零等 )两类。软中断是软件两类。软中断是软件实现的中断,也就是程序运行时其他程序对它的中断。实现的中断,也就是程序运行时其他程序对

44、它的中断。 正在执行的程序正在执行的程序异常和随机事件异常和随机事件被中断处被中断处返回处返回处执行中断服务程序执行中断服务程序中断请求中断请求 1、IRQ(Interrupt Request)()(线线) IRQ即中断请求线。计算机中有许多设备(例如声卡、硬盘等)需要即中断请求线。计算机中有许多设备(例如声卡、硬盘等)需要定期中断定期中断CPU,让,让CPU为其做一些特定的工作。这些设备在中断请求线上为其做一些特定的工作。这些设备在中断请求线上把请求中断的信号发给把请求中断的信号发给CPU。所以每个设备只能使用自己独立的中断请求。所以每个设备只能使用自己独立的中断请求线线(PCI总线、总线、

45、USB总线上的设备可共享总线上的设备可共享)。一般微机共有。一般微机共有16条中断请求线条中断请求线与各种外设相连接,(每个中断线有一个标号也就是中断号)。与各种外设相连接,(每个中断线有一个标号也就是中断号)。 2、DMA(Direct Memory Access)()(芯片芯片) 计算机与外设之间的联系一般通过两种方法:一是通过计算机与外设之间的联系一般通过两种方法:一是通过CPU控制来进控制来进行数据的传送;二是在芯片控制下进行数据的传送。在行数据的传送;二是在芯片控制下进行数据的传送。在DMA方式下,外方式下,外设利用设利用DMA通道直接将数据写入或读出存储器,而基本不用通道直接将数据

46、写入或读出存储器,而基本不用CPU参与,参与,系统的速度会大大增加。系统的速度会大大增加。 3、I/O端口(端口(INPUT/OUTPUT)()(地址地址)就是计算机外设与就是计算机外设与CPU连接的接口。每个端口都有自己唯一的一个端连接的接口。每个端口都有自己唯一的一个端口号,这个端口号称为地址。每一个和口号,这个端口号称为地址。每一个和CPU通信的外设都有不同的通信的外设都有不同的I/O地地址,通常在址,通常在PC机内部一共有机内部一共有1024个地址。个地址。 输入输出系统管理输入输出系统管理 (1) 程序控制方式程序控制方式 早期计算机采用的方式。早期计算机采用的方式。CPU向设备控制

47、器发向设备控制器发出一条出一条I/O指令启动设备进行一个字节的输入或输指令启动设备进行一个字节的输入或输出,然后出,然后CPU就等待就等待I/O设备进行数据传送,直到设备进行数据传送,直到一个字节传送完毕。接下来,一个字节传送完毕。接下来,CPU按以上方式处理按以上方式处理下一个字节的输入或输出。下一个字节的输入或输出。 CPU绝大部分时间都用于循环等待及测试绝大部分时间都用于循环等待及测试I/O是是否完成,造成否完成,造成CPU资源的极大浪费。资源的极大浪费。CPU和外围设和外围设备只能串行工作。备只能串行工作。 CPU通过端口对外设进行控制的方式有以下几种:通过端口对外设进行控制的方式有以

48、下几种: 输入输出系统管理输入输出系统管理 (2) 中断驱动方式中断驱动方式 当某进程要启动某个当某进程要启动某个I/O设备工作时,首先由设备工作时,首先由CPU向相应设备的控制器发出一条向相应设备的控制器发出一条I/O命令,然后命令,然后CPU立即返回继续执行原来的任务,设备控制器则立即返回继续执行原来的任务,设备控制器则按照命令的要求去控制按照命令的要求去控制I/O设备工作。这时,设备工作。这时,CPU与与I/O设备并行工作。设备并行工作。 这种方式这种方式CPU的利用率较高。但这种方式的缺的利用率较高。但这种方式的缺点是在一次数据传送过程中,发生中断次数较多点是在一次数据传送过程中,发生

49、中断次数较多(每每次只传送一个字节次只传送一个字节),这将耗去大量,这将耗去大量CPU处理时间。处理时间。 输入输出系统管理输入输出系统管理 (3) 直接存储器访问方式直接存储器访问方式 引入设备引入设备DMA控制器,在其控制下,以数据块为控制器,在其控制下,以数据块为单位,将数据从设备直接送入内存或相反,当一个或单位,将数据从设备直接送入内存或相反,当一个或多个数据块传送完毕时才需要多个数据块传送完毕时才需要CPU干预。该方式干预。该方式CPU的利用率高。的利用率高。 (4) 通道控制方式通道控制方式 通道控制方式是通道控制方式是DMA的发展,它把对每一块数据的发展,它把对每一块数据的读写变

50、成对一组数据块的读写,可以进一步减少的读写变成对一组数据块的读写,可以进一步减少CPU的干预。更大程度地提高了系统资源的利用率。的干预。更大程度地提高了系统资源的利用率。输入输出系统管理输入输出系统管理举例举例:(将数据由硬盘传入内存的将数据由硬盘传入内存的中断驱动方式中断驱动方式过程过程) 进程向进程向CPU传送指令,要求传送指令,要求CPU向硬盘发出输入输出命令。向硬盘发出输入输出命令。 CPU向硬盘控制器发出数据传送命令后向硬盘控制器发出数据传送命令后CPU返回继续执行原来的任务。返回继续执行原来的任务。 硬盘控制器从硬盘中取出数据放入硬盘数据寄存器中。硬盘控制器从硬盘中取出数据放入硬盘

51、数据寄存器中。 接着向接着向CPU发出中断请求。发出中断请求。 CPU执行中断服务程序执行中断服务程序(硬盘驱动程序硬盘驱动程序)向硬盘控制器发送取数据信号。向硬盘控制器发送取数据信号。 将数据寄存器的的数据送入内存,完成一次数据传输。将数据寄存器的的数据送入内存,完成一次数据传输。CPU硬盘硬盘内存内存硬盘控制器硬盘控制器数据寄存器数据寄存器现代操作系统中,现代操作系统中,I/O设备与设备与CPU(实际指内存实际指内存)交换数据时,需要使用缓冲技术。也就是为交换数据时,需要使用缓冲技术。也就是为I/O设设备设置缓冲区暂存数据,等到数据积累到一定程度备设置缓冲区暂存数据,等到数据积累到一定程度时,再做批量处理。时,再做批量处理。 引入缓冲:引入缓冲: (1) 缓和

温馨提示

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

评论

0/150

提交评论