版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 操作系统是配置在计算机硬件上的第一层软操作系统是配置在计算机硬件上的第一层软 件,是控制计算机所有操作的软件。件,是控制计算机所有操作的软件。 本章主要讲述操作系统概念及构成;重点阐本章主要讲述操作系统概念及构成;重点阐 述操作系统中的几个基本组件及功能,主要是:述操作系统中的几个基本组件及功能,主要是: 进程管理、内存管理、文件管理、输入进程管理、内存管理、文件管理、输入/输出系统输出系统 管理;最后介绍几个典型的操作系统产品。管理;最后介绍几个典型的操作系统产品。 操作系统:是管理计算机软硬件资源的程序,同操作系统:是管理计算机软硬件资源的程序,同 时它又是用户与计算机硬件的接口。时它又
2、是用户与计算机硬件的接口。 系统程序和应用程序系统程序和应用程序 操操 作作 系系 统统 硬硬 件件 层层 没有操作系没有操作系 统,应用软统,应用软 件如同空中件如同空中 楼阁,无法楼阁,无法 运行。运行。 4.1 操作系统概念及构成操作系统概念及构成 操作系统操作系统 进程管理进程管理 内存管理内存管理 文件管理文件管理 输入输入/输出系统管理输出系统管理 二级存储管理二级存储管理 用户接口用户接口 联网、保护系统和命令解释程序系统联网、保护系统和命令解释程序系统 就是对就是对 CPU的的 管理。管理。 就是如何合就是如何合 理分配和使理分配和使 用内存。用内存。 就是对文件就是对文件 及
3、文件夹进及文件夹进 行管理。行管理。 就是对外部各就是对外部各 种输入输出设种输入输出设 备进行管理。备进行管理。 主要是指对主要是指对 硬盘进行管硬盘进行管 理。理。 就是提供对网就是提供对网 络管理、对进络管理、对进 程工作过程的程工作过程的 保护及提供用保护及提供用 户与操作系统户与操作系统 的接口程序。的接口程序。 4.2 操作系统类别与计算环境操作系统类别与计算环境 批处理系统1 多道程序系统2 分时系统3 实时系统4 桌面系统5 多处理机系统6 网络系统7 分布式系统8 嵌入式系统9 经过多年的发展,操作系统多种经过多年的发展,操作系统多种 多样。为提高大型计算机系统的资源多样。为
4、提高大型计算机系统的资源 利用率,操作系统从批处理,多道程利用率,操作系统从批处理,多道程 序发展为分时操作系统。为了满足计序发展为分时操作系统。为了满足计 算机处理实时事件的需要,就有实时算机处理实时事件的需要,就有实时 操作系统。为适应个人计算机系统的操作系统。为适应个人计算机系统的 需要又出现了桌面操作系统。为适应需要又出现了桌面操作系统。为适应 并行系统的需要,就有了多处理器操并行系统的需要,就有了多处理器操 作系统。为满足网络和分布计算的需作系统。为满足网络和分布计算的需 要,就有了网络操作系统和分布式操要,就有了网络操作系统和分布式操 作系统。此外,还有为支持嵌入式计作系统。此外,
5、还有为支持嵌入式计 算机的嵌入式操作系统。算机的嵌入式操作系统。 4.2 操作系统类别与计算环境操作系统类别与计算环境 1. 传统计算环境传统计算环境 指普通意义下的独立或联网工作的通用计算机指普通意义下的独立或联网工作的通用计算机 所形成的计算环境。所形成的计算环境。 2.基于基于Web的计算环境的计算环境 互联网的普及使得计算被延伸到互联网的普及使得计算被延伸到Web环境。环境。 3.嵌入式计算环境嵌入式计算环境 嵌入式计算机就是安装在某些设备上的计算部嵌入式计算机就是安装在某些设备上的计算部 件,其计算相对比较简单。件,其计算相对比较简单。 进程管理进程管理 什么是进程?它与程序有什么区
6、别?什么是进程?它与程序有什么区别? 程序:用户为完成某一个特定问题而编写的操作步骤。程序:用户为完成某一个特定问题而编写的操作步骤。 进程:可以简单地被看作是正在执行的程序。但是进程需进程:可以简单地被看作是正在执行的程序。但是进程需 要一定的资源来完成它的任务要一定的资源来完成它的任务(例如例如CPU时间、内存、文件和时间、内存、文件和 I/O设备设备) 。 进程与程序的区别在于进程是动态的、有生命力的,而程进程与程序的区别在于进程是动态的、有生命力的,而程 序是静态的。一个程序加载到内存,系统就创建一个进程,程序是静态的。一个程序加载到内存,系统就创建一个进程,程 序执行结束后,该进程也
7、就消亡了。序执行结束后,该进程也就消亡了。 新的新的 就绪就绪运行运行 终止终止 等待等待 允许允许 中断中断 退出退出 允许允许 I/O操作或事件的完成操作或事件的完成I/O操作或事件的等待操作或事件的等待 进程状态及转换图进程状态及转换图 进程管理进程管理 如如CPU时间片被用完,时间片被用完, 迫使进程让出迫使进程让出CPU 进程等待分配进程等待分配CPU 。 进程已分配到进程已分配到CPU, 正在被执行。正在被执行。 进程正在被创建进程正在被创建 。 进程已完成进程已完成 。 进程等待一些事件的出现。进程等待一些事件的出现。 如进程可能要使用某个如进程可能要使用某个I/O设备而进入等待
8、状态,等待设备而进入等待状态,等待 使用相应的设备,当使用相应的设备,当 I/O完成后进程进入就绪队列完成后进程进入就绪队列。 进程管理进程管理 为了控制进程,操作系统就必须知道进程存储为了控制进程,操作系统就必须知道进程存储 在哪里,以及进程的一些属性。在哪里,以及进程的一些属性。 进程控制块是进程实体的一部分,是操作系统进程控制块是进程实体的一部分,是操作系统 中记录进程的专用数据结构。一个新的进程创建时,中记录进程的专用数据结构。一个新的进程创建时, 操作系统就会为该进程建立一个进程控制块。操作操作系统就会为该进程建立一个进程控制块。操作 系统根据进程控制块对并发进程进行控制。系统根据进
9、程控制块对并发进程进行控制。 进程管理进程管理 计算机采用多道程序的目的是使得计算机系统无论何时计算机采用多道程序的目的是使得计算机系统无论何时 都有进程运行,单处理器的计算机在某一时刻都有进程运行,单处理器的计算机在某一时刻CPU只能运行只能运行 一个进程,如果存在多个进程,其它进程就需要等待一个进程,如果存在多个进程,其它进程就需要等待CPU空空 闲时才能被调度执行。闲时才能被调度执行。 当一个进程处于等待或当一个进程处于等待或CPU时间片用完时,操作系统就时间片用完时,操作系统就 会从该进程中拿走会从该进程中拿走CPU控制权,然后再交给其它进程使用,控制权,然后再交给其它进程使用, 这就
10、是这就是进程的调度进程的调度。 进程进程B 进程进程A 进程进程C CPU时间时间 进程进程C 进程进程B 进程进程A 进程管理进程管理 在设计在设计CPU调度程序时主要应该考虑的准则包括:调度程序时主要应该考虑的准则包括: (1) CPU使用率。让使用率。让CPU尽可能地忙。尽可能地忙。 (2) 吞吐量。让吞吐量。让CPU在一定时间内完成的进程数尽可能多。在一定时间内完成的进程数尽可能多。 (3) 周转时间。让进程从提交到运行完成的时间尽可能短。周转时间。让进程从提交到运行完成的时间尽可能短。 (4) 等待时间。让进程在就绪队列中等待所花时间之和尽可等待时间。让进程在就绪队列中等待所花时间之
11、和尽可 能短。能短。 (5) 响应时间。让进程从提交请求到产生第一响应之间的时响应时间。让进程从提交请求到产生第一响应之间的时 间尽可能短。间尽可能短。 进程管理进程管理 进程的同步就是指相互协作的进程不断调整它们进程的同步就是指相互协作的进程不断调整它们 之间的相对速度,以实现共同有序地推进。之间的相对速度,以实现共同有序地推进。 换句话说换句话说, ,在操作系统中,允许多个进程并发运行。然而,在操作系统中,允许多个进程并发运行。然而, 有些进程之间本身存在某种联系,它们在系统中需要一种协作,有些进程之间本身存在某种联系,它们在系统中需要一种协作, 以保证进程能正确有序地执行并维护数据的一致
12、性。以保证进程能正确有序地执行并维护数据的一致性。 把数据从键盘送入缓冲区把数据从键盘送入缓冲区 给给B发信号发信号(缓冲区已满缓冲区已满) 等待等待B发回信号发回信号(再送数据到缓冲区再送数据到缓冲区) A进程进程 B进程进程 等待等待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
21、 用户程序多步骤处理用户程序多步骤处理 说明:编译器和汇编器用于将高级说明:编译器和汇编器用于将高级 语言程序源程序翻译成二进制代码语言程序源程序翻译成二进制代码 的机器语言程序。链接器将将编译的机器语言程序。链接器将将编译 后不同的程序库等连接起来生成后不同的程序库等连接起来生成 EXE文件文件 。当运行。当运行EXE文件的时候文件的时候 操作系统的加载器读取操作系统的加载器读取EXE文件并文件并 将它们加载到内存中。预先编译好将它们加载到内存中。预先编译好 的在调入内存前加载的库文件就是的在调入内存前加载的库文件就是 静态链接库文件。运行时动态装入静态链接库文件。运行时动态装入 的库文件叫
22、动态链接库文件。的库文件叫动态链接库文件。 OBJ文件文件 EXE文件文件 4.4 内存管理内存管理 1. 1.编译阶段编译阶段: :如果在编译时就知道进程将在内存中如果在编译时就知道进程将在内存中 的什么位置驻留,那么编译器就可以直接以生成绝对的什么位置驻留,那么编译器就可以直接以生成绝对 地址代码。地址代码。 2.加载阶段加载阶段: 不知道进程将驻留在什么位置,那不知道进程将驻留在什么位置,那 么编译器就必须生成程序的逻辑地址,在加载阶段么编译器就必须生成程序的逻辑地址,在加载阶段 再转变成内存的绝对地址。再转变成内存的绝对地址。 3. 3.执行阶段执行阶段: :如果进程在执行时可以从一个
23、内存如果进程在执行时可以从一个内存 段移动到另一个内存段,那么进程的绝对地址映射段移动到另一个内存段,那么进程的绝对地址映射 工作只能延迟到执行时进行。工作只能延迟到执行时进行。 通常,将指令和数据的地址映射成内存地址可以通常,将指令和数据的地址映射成内存地址可以 发生在以下三个执行阶段。发生在以下三个执行阶段。(了解了解) 4.4 内存管理内存管理 l 几个相关概念几个相关概念 物理地址物理地址:是计算机内存单元的真实地址。是计算机内存单元的真实地址。 物理地址空间物理地址空间:由物理地址所构成的地址范围。由物理地址所构成的地址范围。 逻辑地址逻辑地址:用户程序地址,从用户程序地址,从0开始
24、编址。开始编址。 逻辑地址空间逻辑地址空间:由逻辑地址所构成的地址范围。由逻辑地址所构成的地址范围。 地址映射地址映射:用户程序在运行时要装入内存,这就需用户程序在运行时要装入内存,这就需 要将逻辑地址变换成物理地址,这个过程称为地要将逻辑地址变换成物理地址,这个过程称为地 址映射,也称重定位。址映射,也称重定位。 用户编写的源程序是不考虑地址的,源程序经用户编写的源程序是不考虑地址的,源程序经 CPU编译后产生逻辑地址。从编译后产生逻辑地址。从CPU产生的逻辑地址产生的逻辑地址 转换为内存中的物理地址的映射是由计算机中被称为转换为内存中的物理地址的映射是由计算机中被称为 内存管理单元的硬件设
25、备来实现的,将逻辑地址与内内存管理单元的硬件设备来实现的,将逻辑地址与内 存管理单元中存放的内存基址相加就得到了物理地址。存管理单元中存放的内存基址相加就得到了物理地址。 物理地址物理地址 Base + X 逻辑地址逻辑地址 X CPU 重定位寄存器重定位寄存器 Base + + 内存内存 内存管理单元内存管理单元 4.4 内存管理内存管理 为了更加有效地使用内存,进程在不运行时,可为了更加有效地使用内存,进程在不运行时,可 以暂时从内存移至外存上,直到需要再运行时再重新以暂时从内存移至外存上,直到需要再运行时再重新 调回到内存中。也就是说内存管理程序可将刚刚运行调回到内存中。也就是说内存管理
26、程序可将刚刚运行 过的进程从内存中换出以释放出占用的内存空间,然过的进程从内存中换出以释放出占用的内存空间,然 后将另一个要运行的进程占据前者释放的内存空间。后将另一个要运行的进程占据前者释放的内存空间。 4.4 内存管理内存管理 进程A 操作系统 未用内存区 进程A 操作系统 未用内存区 进程B 进程A 操作系统 未用内存区 进程B 进程C 未用内存区 操作系统 未用内存区 进程B 进程C 未用内存区 操作系统 未用内存区 进程B 进程C 进程D 4.4 内存管理内存管理 进程A 操作系统 未用内存区 进程C 未用内存区 在内存分配中,在内存分配中, 常常把内存中还常常把内存中还 没有被分配
27、的可没有被分配的可 用空间称为孔用空间称为孔 ( (hole) )。 计算机工作时,为了将多个进程放入到内存就必须考虑计算机工作时,为了将多个进程放入到内存就必须考虑 在内存中如何放置这些进程。在内存中如何放置这些进程。 对于连续内存分配方案,开始时所有内存是一个大的孔,对于连续内存分配方案,开始时所有内存是一个大的孔, 随着内存分配的进行就会形成位置上不连续的大小不一的孔。随着内存分配的进行就会形成位置上不连续的大小不一的孔。 在连续内存分配方案中,当新进程需要内存时,为其寻找合在连续内存分配方案中,当新进程需要内存时,为其寻找合 适的孔,实现内存分配适的孔,实现内存分配 。该方案为每个进程
28、所分配的内存。该方案为每个进程所分配的内存 物理地址空间在位置上是连续的。物理地址空间在位置上是连续的。 分页式内存管理分页式内存管理 物理物理 地址地址 逻辑逻辑 地址地址 页框页框(Frame) 页面页面(Page) 硬件支持硬件支持 4.4 内存管理内存管理 分页管理基本思想:分页管理基本思想: o 内存物理地址空间划分为若干个大小相等的块内存物理地址空间划分为若干个大小相等的块(页框页框) o 进程的逻辑地址空间也划分为同样大小的块进程的逻辑地址空间也划分为同样大小的块(页面页面) o 内存分配时每个页面对应地分配一个页框,而一个内存分配时每个页面对应地分配一个页框,而一个 进程所分得
29、页框在位置上不必是连续的。进程所分得页框在位置上不必是连续的。 页表:操作系统为每个用户程序建立一张页表,该表记录用户页表:操作系统为每个用户程序建立一张页表,该表记录用户 程序的每个逻辑页面存放在哪一个内存物理页框。程序的每个逻辑页面存放在哪一个内存物理页框。 7页 6页 5页 4页 3页 2页 1页 0页 用户程序 11 10 9 8 7 6 5 4 3 2 1 0 内存 11 9 10 7 6 4 2 5 块号 7 6 5 4 3 2 1 0 页号 页表 4.4 内存管理内存管理 p d f CPU pdfd f f 00000000 f 11111111 逻辑地址逻辑地址 物理地址物理
30、地址 页表页表 物理内存物理内存 分页式内存管理从逻辑地址到物理地址的映射分页式内存管理从逻辑地址到物理地址的映射: 注:逻辑地址的表示:注:逻辑地址的表示: 4.4 内存管理内存管理 4.5 虚拟内存方案虚拟内存方案 虚拟内存是一个容量很大的存储器的逻辑模型,虚拟内存是一个容量很大的存储器的逻辑模型, 它不是任何实际的物理存储器,它一般是借助硬盘来它不是任何实际的物理存储器,它一般是借助硬盘来 扩大主存的容量。扩大主存的容量。 虚拟内存包括物理内存和一部分外存虚拟内存包括物理内存和一部分外存( (这里所用到的外存一般是指硬盘这里所用到的外存一般是指硬盘) )。 4.5 虚拟内存方案虚拟内存方
31、案 虚拟内存:虚拟内存:对于一个进程来讲,如果仅将当前对于一个进程来讲,如果仅将当前 要运行的几个页面装入内存便可以开始运行,而其余要运行的几个页面装入内存便可以开始运行,而其余 页面可暂时留在磁盘上,待需要时再调入内存,并且页面可暂时留在磁盘上,待需要时再调入内存,并且 调入时也不占用新的内存空间,而是对原来运行过的调入时也不占用新的内存空间,而是对原来运行过的 页面进行置换。这样,就可以在计算机有限的内存中页面进行置换。这样,就可以在计算机有限的内存中 同时驻留多个进程并运行。而对用户来讲感觉到系统同时驻留多个进程并运行。而对用户来讲感觉到系统 提供了足够大的物理内存,而实际上并非真实的,
32、这提供了足够大的物理内存,而实际上并非真实的,这 就是虚拟内存。就是虚拟内存。 4.5 虚拟内存方案虚拟内存方案 页面请求页面请求: :在虚拟内存技术中,进程运行时并在虚拟内存技术中,进程运行时并 没有将所有页面装入到内存,在运行过程中进程会没有将所有页面装入到内存,在运行过程中进程会 不断地请求页面,如果访问的页面已在内存,就继不断地请求页面,如果访问的页面已在内存,就继 续执行下去;但如果要访问的页面尚未调入到内存,续执行下去;但如果要访问的页面尚未调入到内存, 便请求操作系统将所缺页面调入内存,以便进程能便请求操作系统将所缺页面调入内存,以便进程能 继续运行下去。继续运行下去。 页面置换
33、页面置换: :如果请求页面调入内存时,分配给如果请求页面调入内存时,分配给 该进程的页框已用完,就无法立即装入所请求页面。该进程的页框已用完,就无法立即装入所请求页面。 此时,必须将进程中的某个页面从内存的页框调出此时,必须将进程中的某个页面从内存的页框调出 到磁盘上,再从磁盘上将所请求的页面调入到内存到磁盘上,再从磁盘上将所请求的页面调入到内存 的该页框中。这个过程叫做页面置换。的该页框中。这个过程叫做页面置换。 4.6 文件管理文件管理 文件:保存在外部存储设备上的相关信息的集合。文件:保存在外部存储设备上的相关信息的集合。 文件命名:文件主名文件命名:文件主名+ +扩展名扩展名 只读:只
34、允许授权用户进行读操作。只读:只允许授权用户进行读操作。 读写:只允许授权用户进行读和写的操作。读写:只允许授权用户进行读和写的操作。 文档:允许任何用户进行读写操作。文档:允许任何用户进行读写操作。 隐藏:不允许用户直接看到文件名。隐藏:不允许用户直接看到文件名。 文件存取属性:文件存取属性: 文件管理是操作系统最常见的组成部分。文件文件管理是操作系统最常见的组成部分。文件 管理主要提供目录及其文件的管理。管理主要提供目录及其文件的管理。 4.6 文件管理文件管理 文件系统:是对文件进行操作和管理的软件,是文件系统:是对文件进行操作和管理的软件,是 用户与外存之间的接口。这个系统将所有文件组
35、织成用户与外存之间的接口。这个系统将所有文件组织成 目录结构保存在外存,一个文件对应其中的一个目录目录结构保存在外存,一个文件对应其中的一个目录 条。目录条记录有文件名、文件位置等信息。条。目录条记录有文件名、文件位置等信息。 操作系统对文件的基本操作包括:操作系统对文件的基本操作包括: 创建文件、文件写、文件读、文件重定位、文件创建文件、文件写、文件读、文件重定位、文件 删除、文件截短。删除、文件截短。 对文件的其它操作包括:文件复制、重命名、更对文件的其它操作包括:文件复制、重命名、更 改属性等。改属性等。 文件的逻辑结构文件的逻辑结构 无结构文件无结构文件 有结构文件有结构文件 流式文件
36、流式文件 索引顺序文件索引顺序文件 顺序文件顺序文件 索引文件索引文件 4.6 文件管理文件管理 文件结构分物理和逻辑结构。其中物理结构是文件在外文件结构分物理和逻辑结构。其中物理结构是文件在外 存上的存储组织形式,它与具体的存储设备有关。文件逻辑存上的存储组织形式,它与具体的存储设备有关。文件逻辑 结构是指用户能直接感受到的文件组织结构,它与具体的存结构是指用户能直接感受到的文件组织结构,它与具体的存 储设备无关。储设备无关。 main( ) int a, b, sum; scanf(%d %d, sum=a+b; printf(sum=%d, sum); 4.6 文件管理文件管理 是一维的
37、、连续的、无结构的是一维的、连续的、无结构的 字符序列,可以看成是由一条字符序列,可以看成是由一条 无结构的记录组成的文件。无结构的记录组成的文件。 是带有结构的、性质相同的记录的集合。是带有结构的、性质相同的记录的集合。 顺序文件:文件所包含的一系列记录按照某种顺序依顺序文件:文件所包含的一系列记录按照某种顺序依 次连续存储。次连续存储。 4.6 文件管理文件管理 索引文件:由主文件和索引表构成。可以实现快速访问。索引文件:由主文件和索引表构成。可以实现快速访问。 (1) 按输入记录的先后次序建立数据区和索引表。按输入记录的先后次序建立数据区和索引表。 (2) 待全部记录输入完毕后对索引表进
38、行排序,排序后的待全部记录输入完毕后对索引表进行排序,排序后的 索引表和主文件一起就形成了索引文件。索引表和主文件一起就形成了索引文件。 索引顺序文件:顺序文件和索引文件特点的结索引顺序文件:顺序文件和索引文件特点的结 合。顺序文件是按主关键字有序排列的,将顺序文合。顺序文件是按主关键字有序排列的,将顺序文 件的所有记录分组,索引表中为每组的首记录建立件的所有记录分组,索引表中为每组的首记录建立 一索引项,组与组之间按关键字大小有序排列,组一索引项,组与组之间按关键字大小有序排列,组 内记录顺序查找。内记录顺序查找。 4.6 文件管理文件管理 逻辑文件逻辑文件 顺序访问方式顺序访问方式 4.6
39、 文件管理文件管理 顺序访问方式主要适合于对顺序文件的访问。其顺序访问方式主要适合于对顺序文件的访问。其 访问的位置是由指针定位的。读操作是读取指针所指访问的位置是由指针定位的。读操作是读取指针所指 示位置的内容,并自动将指针向后移动,以指示下一示位置的内容,并自动将指针向后移动,以指示下一 次读的位置。而对写操作,所写的内容总是添加到文次读的位置。而对写操作,所写的内容总是添加到文 件的尾部。件的尾部。 顺序访问方式是基于磁带的模型,不仅适合顺序顺序访问方式是基于磁带的模型,不仅适合顺序 存储设备存储设备(如磁盘如磁盘),对直接存储设备,对直接存储设备(如磁盘如磁盘)也适合。也适合。 直接访
40、问方式直接访问方式 4.6 文件管理文件管理 直接访问也称随机访问,它指的是允许跳跃式直接访问也称随机访问,它指的是允许跳跃式 地随意存取文件中的任何记录,而不需要任何顺序地随意存取文件中的任何记录,而不需要任何顺序 限制。直接访问是最为常见和高效的文件访问方式。限制。直接访问是最为常见和高效的文件访问方式。 直接访问方式是基于磁盘的模型。直接访问方式是基于磁盘的模型。 3. 3.索引访问方式索引访问方式 在进行文件访问时,首先对索引文件按关键字在进行文件访问时,首先对索引文件按关键字 进行检索,查找到指向数据记录的指针,根据该指进行检索,查找到指向数据记录的指针,根据该指 针实现对具体数据记
41、录的访问。针实现对具体数据记录的访问。 4.6 文件管理文件管理 通常,一个磁盘至少应包含一个分区,每个分区通常,一个磁盘至少应包含一个分区,每个分区 用来保存文件和目录结构用来保存文件和目录结构 。 文件目录的组成:每个文件有一个文件控制块文件目录的组成:每个文件有一个文件控制块 FCB,它是文件存在的标志,存放了为管理文件所需,它是文件存在的标志,存放了为管理文件所需 的所有有关信息。把所有的文件控制块组织在一起,的所有有关信息。把所有的文件控制块组织在一起, 就构成了文件目录,每个文件控制块就是其中的一个就构成了文件目录,每个文件控制块就是其中的一个 目录项。目录项。 4.6 文件管理文
42、件管理 文件的目录系统可以组织成单层目录结构、双文件的目录系统可以组织成单层目录结构、双 层目录结构、树型目录结构、无环路目录结构和层目录结构、树型目录结构、无环路目录结构和 通用图目录结构。通用图目录结构。 树型目录结构是目前使用最为广泛的一种目录树型目录结构是目前使用最为广泛的一种目录 结构。这种目录结构在逻辑上的构成是一棵树,子结构。这种目录结构在逻辑上的构成是一棵树,子 目录是树枝,而文件是树叶。一个用户所拥有的子目录是树枝,而文件是树叶。一个用户所拥有的子 目录位置不需要统一,在一个子目录下可以再创建目录位置不需要统一,在一个子目录下可以再创建 子目录。子目录。 输入输出系统管理输入
43、输出系统管理 每台计算机都配备了许多外部设备,它们的性每台计算机都配备了许多外部设备,它们的性 能和操作方式都不一样。操作系统对设备能和操作方式都不一样。操作系统对设备(即即输入输入/输输 出出系统系统)管理管理的主要目标是:方便用户使用外部设备,的主要目标是:方便用户使用外部设备, 提高提高CPU和设备的利用率。和设备的利用率。 I/O设备与计算机通信的连接点被称为端口。设备与计算机通信的连接点被称为端口。 用于操作端口、总线和设备的一组电子器件,用于操作端口、总线和设备的一组电子器件, 是设备与总线的连接装置。是设备与总线的连接装置。 1.端口(端口(port) 2.控制器控制器(cont
44、roller) 中断的概念中断的概念:中断是现代计算机中中断是现代计算机中CPU处理外部突发事件处理外部突发事件 的一个重要技术。它能使的一个重要技术。它能使CPU在运行过程中对外部事件发出在运行过程中对外部事件发出 的中断请求及时地进行处理,的中断请求及时地进行处理, 处理完成后又立即返回断点,处理完成后又立即返回断点, 继续进行继续进行CPU原来的工作。根据中断源的不同,可以把中断原来的工作。根据中断源的不同,可以把中断 分为硬件中断和软件中断两大类,硬中断是硬件实现的中断,分为硬件中断和软件中断两大类,硬中断是硬件实现的中断, 硬件中断又可以分为外部中断硬件中断又可以分为外部中断(如:键
45、盘中断、打印机中断如:键盘中断、打印机中断) 和内部中断和内部中断(如突然掉电、除数为零等如突然掉电、除数为零等 )两类。软中断是软件两类。软中断是软件 实现的中断,也就是程序运行时其他程序对它的中断。实现的中断,也就是程序运行时其他程序对它的中断。 正在执行的程序正在执行的程序 异常和随机事件异常和随机事件 被中断处被中断处 返回处返回处 执行中断服务程序执行中断服务程序 中断请求中断请求 1、IRQ(Interrupt Request)()(线线) IRQ即中断请求线。计算机中有许多设备(例如声卡、硬盘等)需要即中断请求线。计算机中有许多设备(例如声卡、硬盘等)需要 定期中断定期中断CPU
46、,让,让CPU为其做一些特定的工作。这些设备在中断请求线上为其做一些特定的工作。这些设备在中断请求线上 把请求中断的信号发给把请求中断的信号发给CPU。所以每个设备只能使用自己独立的中断请求。所以每个设备只能使用自己独立的中断请求 线线(PCI总线、总线、USB总线上的设备可共享总线上的设备可共享)。一般微机共有。一般微机共有16条中断请求线条中断请求线 与各种外设相连接,(每个中断线有一个标号也就是中断号)。与各种外设相连接,(每个中断线有一个标号也就是中断号)。 2、DMA(Direct Memory Access)()(芯片芯片) 计算机与外设之间的联系一般通过两种方法:一是通过计算机与
47、外设之间的联系一般通过两种方法:一是通过CPU控制来进控制来进 行数据的传送;二是在芯片控制下进行数据的传送。在行数据的传送;二是在芯片控制下进行数据的传送。在DMA方式下,外方式下,外 设利用设利用DMA通道直接将数据写入或读出存储器,而基本不用通道直接将数据写入或读出存储器,而基本不用CPU参与,参与, 系统的速度会大大增加。系统的速度会大大增加。 3、I/O端口(端口(INPUT/OUTPUT)()(地址地址) 就是计算机外设与就是计算机外设与CPU连接的接口。每个端口都有自己唯一的一个端连接的接口。每个端口都有自己唯一的一个端 口号,这个端口号称为地址。每一个和口号,这个端口号称为地址
48、。每一个和CPU通信的外设都有不同的通信的外设都有不同的I/O地地 址,通常在址,通常在PC机内部一共有机内部一共有1024个地址。个地址。 输入输出系统管理输入输出系统管理 (1) 程序控制方式程序控制方式 早期计算机采用的方式。早期计算机采用的方式。CPU向设备控制器发向设备控制器发 出一条出一条I/O指令启动设备进行一个字节的输入或输指令启动设备进行一个字节的输入或输 出,然后出,然后CPU就等待就等待I/O设备进行数据传送,直到设备进行数据传送,直到 一个字节传送完毕。接下来,一个字节传送完毕。接下来,CPU按以上方式处理按以上方式处理 下一个字节的输入或输出。下一个字节的输入或输出。
49、 CPU绝大部分时间都用于循环等待及测试绝大部分时间都用于循环等待及测试I/O是是 否完成,造成否完成,造成CPU资源的极大浪费。资源的极大浪费。CPU和外围设和外围设 备只能串行工作。备只能串行工作。 CPU通过端口对外设进行控制的方式有以下几种:通过端口对外设进行控制的方式有以下几种: 输入输出系统管理输入输出系统管理 (2) 中断驱动方式中断驱动方式 当某进程要启动某个当某进程要启动某个I/O设备工作时,首先由设备工作时,首先由 CPU向相应设备的控制器发出一条向相应设备的控制器发出一条I/O命令,然后命令,然后 CPU立即返回继续执行原来的任务,设备控制器则立即返回继续执行原来的任务,
50、设备控制器则 按照命令的要求去控制按照命令的要求去控制I/O设备工作。这时,设备工作。这时,CPU与与 I/O设备并行工作。设备并行工作。 这种方式这种方式CPU的利用率较高。但这种方式的缺的利用率较高。但这种方式的缺 点是在一次数据传送过程中,发生中断次数较多点是在一次数据传送过程中,发生中断次数较多(每每 次只传送一个字节次只传送一个字节),这将耗去大量,这将耗去大量CPU处理时间。处理时间。 输入输出系统管理输入输出系统管理 (3) 直接存储器访问方式直接存储器访问方式 引入设备引入设备DMA控制器,在其控制下,以数据块为控制器,在其控制下,以数据块为 单位,将数据从设备直接送入内存或相
51、反,当一个或单位,将数据从设备直接送入内存或相反,当一个或 多个数据块传送完毕时才需要多个数据块传送完毕时才需要CPU干预。该方式干预。该方式CPU 的利用率高。的利用率高。 (4) 通道控制方式通道控制方式 通道控制方式是通道控制方式是DMA的发展,它把对每一块数据的发展,它把对每一块数据 的读写变成对一组数据块的读写,可以进一步减少的读写变成对一组数据块的读写,可以进一步减少 CPU的干预。更大程度地提高了系统资源的利用率。的干预。更大程度地提高了系统资源的利用率。 输入输出系统管理输入输出系统管理 举例举例:(将数据由硬盘传入内存的将数据由硬盘传入内存的中断驱动方式中断驱动方式过程过程)
52、 进程向进程向CPU传送指令,要求传送指令,要求CPU向硬盘发出输入输出命令。向硬盘发出输入输出命令。 CPU向硬盘控制器发出数据传送命令后向硬盘控制器发出数据传送命令后CPU返回继续执行原来的任务。返回继续执行原来的任务。 硬盘控制器从硬盘中取出数据放入硬盘数据寄存器中。硬盘控制器从硬盘中取出数据放入硬盘数据寄存器中。 接着向接着向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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 终止供应合同的申请书
- 社会困难人员申请书
- 销售工作调岗降薪申请书
- 教师考核先进个人申请书
- 2025年企业合同管理与风险控制策略手册
- 结婚申请书字体要求
- 企业电信卡业务申请书
- 竞聘驾驶员申请书范文
- 学校供货商申请书范文
- 会计基础面试题目及答案
- 人工智能技术在仲裁中的应用与挑战-洞察及研究
- 船舶弃船应急演练记录范文
- 武夷山茶山转让协议合同
- 肺结核合并糖尿病的护理查房论文
- 2024-2025学年四川省成都市锦江区七中学育才学校七年级数学第一学期期末学业质量监测模拟试题含解析
- 基于单片机的智能垃圾桶的设计
- 2025秋临川诗词学校教师聘用合同
- 安全生产责任制与管理制度
- 陕西省2025届高考 英语适应性检测(二) 英语试卷(含解析)
- 室外及绿化工程技术难点及质量控制关键点
- 施工合作协议书
评论
0/150
提交评论