计算机操作系统(第七章)
第七章-操作系统的用户接口
![第七章-操作系统的用户接口](https://img.taocdn.com/s3/m/cc79b6ced5bbfd0a795673c9.png)
第七章操作系统的用户接口概述•OS是计算机的资源管理器和用户接口;•OS的用户接口负责接收用户向OS提出的服务请求,传递有关信息,并将服务的结果返回给用户;•OS用户接口有两类:联机用户接口(有命令行界面和图形界面两种形式),程序接口(主要是系统调用)。
另外,在Internet中还有一种网络用户接口。
第一节联机命令接口一、什么是联机命令接口•是用户从键盘上输入的OS命令。
通过输入键盘命令,用户可以取得OS 的服务,控制自己的程序执行;•OS的联机命令接口包括:一组联机命令、命令解释程序(命令解释器)和终端处理程序;•联机命令接口的工作过程:(1) 用户在终端上(通过键盘)输入所需命令;(2) 终端处理程序接收该命令,并在屏幕上显示(回显)命令;(3) 一条命令输入完毕,由命令解释程序对命令进行分析,然后执行对应的命令处理程序,完成任务。
二、联机命令1、为了能向用户提供多方面的服务,通常,OS都向用户提供了几十条甚至上百条的联机命令。
这批命令分为内部命令和外部命令两类。
另外,用户建立的每个可执行程序也是一条联机命令(外部命令)。
根据这些命令所完成功能的不同,可把它们分成以下几类:①系统访问类;②磁盘操作类;③文件操作类;④目录操作类;⑤通信类;⑥其他命令。
2、各类命令举例•系统访问类:Login;用户注册命令•磁盘操作命令:Diskcopy;整盘复制命令Format;磁盘格式化命令Diskcomp;软盘比较命令Backup,Restore;硬盘备份与恢复命令•文件操作命令:Type;文件内容显示命令Copy;文件复制命令Comp;文件比较命令Rename;文件重命名命令Erase,Dele;文件删除命令关于文件名中的*和?的意义。
•目录操作命令:Mkdir,Md;建立一个子目录Dir;显示目录表的内容Rmdir,Rd;删除子目录Tree;显示目录结构Chdir,Cd;更改当前工作目录•其它命令I/O重定向命令:在有的OS中定义了两个标准I/O设备。
计算机操作系统
![计算机操作系统](https://img.taocdn.com/s3/m/042a50ef5ef7ba0d4a733bbc.png)
虚拟设备: 虚拟设备:通过软件技术将独享设备改造成共 享设备。例如:通过SPOOLing技术将一台打 享设备。例如:通过 技术将一台打 印机虚拟成多台打印机。 印机虚拟成多台打印机。
5.1.3 4:按设备硬件物理特性分: :按设备硬件物理特性分: 顺序存取设备、直接存取设备p97 顺序存取设备、直接存取设备
有硬中断和软中断之分, 有硬中断和软中断之分 , 中断按级别分 类排队工作; 可按字符、 类排队工作 ; 可按字符 、 字 、 块的传递 产生中断; 实时控制常用实时时钟中断, 产生中断 ; 实时控制常用实时时钟中断 , 起自动控制作用; 起自动控制作用 ; 中断工作主要由中断 请求、 中断响应和中断服务处理组成。 请求 、 中断响应和中断服务处理组成 。 “ 中断” 的产生使管理工作更能“ 自动 中断 ” 的产生使管理工作更能 “ 化”.
5.1.4 设备I/O方式(p98)
1、询问(Query):实时系统中必需采 、询问( ) 在一般简单系统中也广泛采用, 用 , 在一般简单系统中也广泛采用 , 但 系统开销较大, 每次进行输入输出工作, 系统开销较大 , 每次进行输入输出工作 , 都需要由主机CPU干预; 干预; 都需要由主机 干预
5.2.7 总线和接口
教材P104自己阅读 自己阅读 教材
5.3 I/O设备分配算法
先 来 先 服 务 ( FCFS, First Come First Service) :每一设备有一按请求先后次序排成 的队列, 的队列,设备分配程序把设备分配给队列中的 第一个。 第一个。 按优先级(Priority) : 一般是系统高于用戶 , 一般是系统高于用戶, 按优先级 超级用户(系统管理员)高于一般用户。例如, 超级用户(系统管理员)高于一般用户。例如, RTOS 操 作系 统 中 , 系 统优 先 级高 于 用户 。 Unix操作系统中超级用户优先级高于一般用户。 操作系统中超级用户优先级高于一般用户。 操作系统中超级用户优先级高于一般用户
计算机操作系统(第四版)1-8章-课后答案(全)
![计算机操作系统(第四版)1-8章-课后答案(全)](https://img.taocdn.com/s3/m/f493ee60ae45b307e87101f69e3143323868f56c.png)
计算机操作系统(第四版)1-8章-课后答案(全)第四版计算机操作系统课后答案第一章1. 操作系统的定义操作系统是一种软件,它管理着计算机系统的硬件和软件资源,并为用户和应用程序提供接口,以方便他们的使用。
2. 操作系统的功能操作系统具有以下功能:- 进程管理:负责创建、执行和终止进程,并管理它们的资源分配。
- 存储管理:管理计算机系统的内存资源,包括内存分配、虚拟内存和页面置换等。
- 文件系统管理:管理计算机系统中的文件和文件夹,包括文件的存储、读写和保护等。
- 设备管理:负责管理计算机系统中的各种设备,如打印机、键盘和鼠标等。
- 用户接口:提供用户与计算机系统进行交互的接口,如命令行界面和图形用户界面。
3. 操作系统的类型操作系统可以分为以下类型:- 批处理操作系统:按照一系列预先定义的指令集来运行任务。
- 分时操作系统:多个用户可以同时使用计算机系统。
- 实时操作系统:对任务的响应时间要求非常高,用于控制系统和嵌入式系统。
- 网络操作系统:支持多台计算机之间的通信和资源共享。
- 分布式操作系统:在多台计算机上分布式地管理和调度任务。
第二章1. 进程与线程的区别进程是计算机系统中正在运行的程序实例,而线程是进程内的一个执行单元。
进程拥有独立的地址空间和资源,而线程共享进程的地址空间和资源。
多个线程可以在同一进程内并发执行,从而提高系统的效率和资源利用率。
2. 进程的状态转换进程可以处于以下状态:- 创建状态:进程正在被创建。
- 就绪状态:进程准备好执行,等待分配CPU资源。
- 运行状态:进程占用CPU资源执行。
- 阻塞状态:进程等待某种事件发生。
- 终止状态:进程完成执行或被终止。
3. 进程调度算法操作系统使用进程调度算法来决定哪个进程应该被执行。
常见的调度算法有:- 先来先服务(FCFS)调度算法:按照进程到达的顺序进行调度。
- 最短作业优先(SJF)调度算法:选择运行时间最短的进程进行调度。
操作系统 第七章 文件管理
![操作系统 第七章 文件管理](https://img.taocdn.com/s3/m/a36ec117eff9aef8941e066f.png)
(2)存取控制信息类
存取权限
(3)使用信息类
文件的建立日期和时间等。
2.索引结点
(1)索引结点的引入
文件描述信息单独形成 一个称为索引结点的数 据结构,简称为i结点。 在文件目录中的每个目 录项,仅由文件名和指 向该文件所对应的i结点 的指针所构成。
2.索引结点
(2)磁盘索引结点包括以下内容:
7.3.3 树形结构目录(多级目录结构)
(2)路径名
从树的根(即主目录)开始,把全部目录文件名 与数据文件名,依次地用“/”连接起来,即构成 该数据文件的路径名(path name)。 系统中的每一个文件都有惟一的路径名。
(3)当前目录
为每个进程设置一个“当前目录”,又称为“工
作目录”进程对各文件的访问都相对于“当前目 录”而进行。
7.2.4 索引文件
对于定长记录,可方便地实现直接存取。对于变长 记录就较难实现直接存取,为了解决这一问题,为 变长记录文件建立一张索引表,索引表是按键排序 的,可以方便地实现直接存取。
7.2.5 索引顺序文件
索引顺序文件 : 将顺序文件中的所有记录分为若 干个组, 为顺序文件建立一张索引表,在索引表 中为每组中的第一个记录建立一个索引项,其中 含有该记录的键值和指向该记录的指针。
1.线性检索法
线性检索法又称为顺序检索法。
①在单级目录中,利用用户提供的文件名,用顺序查 找法直接从文件目录中找到指名文件的目录项。 ②在树型目录中,用户提供的文件名是由多个文件分 量名组成的路径名,此时须对多级目录进行查找。
1.线性检索法
假定用户给定的文件路径名是/usr/ast/mbox,则查找 /usr/ast/mbox文件的过程如图7-12 所示
计算机操作系统【第七章】 汤子瀛版
![计算机操作系统【第七章】 汤子瀛版](https://img.taocdn.com/s3/m/62ccf3d176eeaeaad1f33036.png)
计算机操作系统【第七章】1.试画出微机和主机中常采用的I/O系统结构图。
微机中常采用的I/O系统结构图为:主机中常采用的I/O系统结构图为:2.试说明设备控制器的构成。
设备控制器的构成如图所示:由上图可见,设备控制器由以下三部分组成:(1)设备控制器与处理机的接口,该接口用于实现CPU与设备控制器之间的通信,提供有三类信号线:数据线、地址线和控制线。
(2)设备控制器与设备的接口,可以有一个或多个接口,且每个接口连接一台设备。
每个接口都存在数据、控制和状态三种类型的信号。
(3)I/O逻辑,用于实现对设备的控制。
其通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令,I/O逻辑对收到的命令进行译码。
3.为了实现CPU与设备控制器之间的通信,设备控制器应具有哪些功能?为了实现CPU与设备控制器之间的通信,设备控制器应具有如下功能:(1)接受和识别命令。
CPU可以向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。
设置控制寄存器来存放所接收的命令和参数。
(2)数据交换,指实现CPU与控制器之间、控制器与设备之间的数据交换。
设置数据寄存器来存放有关数据。
(3)设备状态的了解和报告。
控制器记录下所连接设备的状态以供CPU了解。
为此,要在控制器中设置一状态寄存器,用其中的每一位反映设备的某一状态。
(4)地址识别。
配置地址译码器以便于正确识别设备地址。
4.分别就字节多路通道、数据选择通道和数组多路通道进行解释。
①字节多路通道含有许多非分配型子通道分别连接在低、中速I/O设备上,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送。
具体而言,当第一个子通道控制其I/O 设备完成一个字节的交换后,便立即腾出字节多路通道(主通道),让给第二个子通道使用;当第二个子通道也交换完一个字节后,又依样把主通道让给第三个子通道使用,以此类推。
转轮一周后,重又返回由第一个子通道去使用主通道。
②数组选择通道只含有一个分配型子通道,一段时间内只能执行一道通道程序、控制一台设备按数组方式进行数据传送。
计算机操作系统第七章--磁盘调度
![计算机操作系统第七章--磁盘调度](https://img.taocdn.com/s3/m/64e726c18bd63186bcebbc23.png)
7.1.1磁盘性能简述
2.移动头磁盘 每个盘面配一个磁头,装入磁臂 中,为能访问该盘面上的所有磁道,该 磁头必须移动进行寻道。移动头磁盘只 能进行串行读/写,I/O速度较慢,但结 构简单,广泛地用于中、小型磁盘设备 中。在微机上配置的温盘(温彻斯特)和 软盘,都采用移动磁头结构,故本节主 要针对这类磁盘的I/O进行讨论。
7.1.3 各种扫描算法
N步SCAN算法是将磁盘请求队 列分成若干个长度为N的子队列,磁 盘调度将按FCFS算法依次处理这些 子队列。每处理一个队列时,又是 按SCAN算法,对一个队列处理完后 又处理其它队列,这样就可避免出 现粘着现象。
7.1.3 各种扫描算法
当N值取得很大时,会使N步扫描 算法的性能,接近于SCAN算法的性 能,当N=1时,N步SCAN算法退化 为FCFS算法。
58
55 39
32
3 16
38
18
1
20
平均寻道长度:27.8
7.1.3 各种扫描算法
二、循环扫描CSCAN(Circular SCAN)单 向扫描 SCAN算法既能获得较好的性能, 又能访止进程饥饿,广泛用于大、中、 小型 机和网络中的磁盘调度。
7.1.3 各种扫描算法
问题:当磁头刚从里向外移动过 某一磁道时,恰有一进程请求访问 此磁道,这时该进程必须等待,待 磁头从里向外,然后再从外向里扫 描完所有要访问的磁道后,才处理 该进程的请求,致使该进程的请求 被严重地推迟。
7.1.3 各种扫描算法
被访问的下 一个磁道号 150 160 184 18 38 39 55 58 90 移动距离 (磁道数) 50 10 24 166 20 1 16 3 32
平均寻道长度:27.5
第七章 UNIX 系统
![第七章 UNIX 系统](https://img.taocdn.com/s3/m/95dbbd1da300a6c30c229fb0.png)
copyright@2005.计算机学院软件教研室 张练兴等
江西师大精品课程课件-操作系统
第七章UNIX系统 第10页
UNIX的设计原理
• 做到尽量使得系统很小,许多算法采用了最简单 的,而不过多考虑速度和效率。使得内核短小, 系统调用方便。 • 为用户在需要时自己设计一个更为复杂高效的系 统而提供了条件。 • 灵活性是系统发展中一个关键的因素。 • 在程序设计时总是将其交互性和方便性放在最高 的优先级别上进行考虑。[所谓的方便性是体现在程序代码的选择上
copyright@2005.计算机学院软件教研室 张练兴等
江西师大精品课程课件-操作系统
第七章UNIX系统 第3页
7.1.1 UNIX系统的发展
• Ritchie 和 Thompson通过几年努力工作,他们将UNIX移 植到了PDP-11/20机器的环境下运行,产生了UNIX的第 二个版本。 • 第三个版本是使用C语言重写了所有的汇编语言代码而得 到,并移植到了PDP-11/45和PDP-11/70等机器的环境下 运行,加入了多道程序设计技术和其它一些增强的性能。 • 1978年又发表了UNIX 第七版本,它是在PDP-11/70上运 行的。1982年和1983年又先后宣布了UNIX System Ⅲ和 UNIX SystemⅤ;1984年推出了UNIX System V2.0, 1987年发布了V3.0版本,分别简称为UNIX SVR 2和UNIX SVR 3;1989年发布了UNIX SVR 4。目前使用较多的版 本是在1992年发布的UNIX SVR 4.2。
copyright@2005.计算机学院软件教研室 张练兴等
江西师大精品课程课件-操作系统
第七章UNIX系统 第7页
7.1.1 UNIX系统的发展
操作系统原理电子课件教案-第七章 主存管理
![操作系统原理电子课件教案-第七章 主存管理](https://img.taocdn.com/s3/m/3a59df56453610661ed9f4f1.png)
0 20KB 52KB 66KB 130KB
os
作业1 作业2
作业3
作业4
230KB
作业2 完成
0 20KB 52KB
os
作业1
66KB
作业3
130KB
作业4
230KB
作业4 完成
0 20KB 52KB
os
作业1
66KB
作业3
130KB
Hale Waihona Puke 230KB256KB1
主存
256KB1
主存
256KB1
主存
6
(二) 主存管理功能
一、几个概念 1. 物理地址(绝对地址、实地址)
物理地址是计算机主存单元的真实地址,又称绝对 地址或实地址。
2. 主存空间
物理地址的集合所对应的空间组成了主存空间。
3. 区域
物 理 地 址 集 合 的 一 个 递 增 整 数 序 列 子 集 n, n+1, …,n+m所对应的主存空间。
有一定容量的主存: 存放运行进程的当前信息
地址变换机构
33
六、存储保护
1. 什么是存储保护
在多用户环境中,主存储器按区分配给 各用户程序使用。为了互不影响,必须 由硬件(软件配合)保证每道程序只能 在给定的存储区域内活动,这种措施叫 做存储保护。
34
2. 存储保护方法 界地址保护 存储键保护
作业3
0 20KB 52KB 66KB 130KB
os
作业1 作业2
作业3
作业4
230KB
256KB1
256KB1
256KB1
256KB1
256KB1
主存
第7章-汤小丹-计算机操作系统-官方课件-第四版-计算机-操作系统--课件-
![第7章-汤小丹-计算机操作系统-官方课件-第四版-计算机-操作系统--课件-](https://img.taocdn.com/s3/m/5136803981c758f5f71f67b2.png)
第七章 文 件 管 理
图7-2 文件系统模型
13
第七章 文 件 管 理
1. 对象及其属性 文件管理系统管理的对象如下: (1) 文件。 (2) 目录。 (3) 磁盘(磁带)存储空间。
14
第七章 文 件 管 理
2. 对对象操纵和管理的软件集合 该层是文件管理系统的核心部分。文件系统的功能大多 是在这一层实现的,其中包括有:① 对文件存储空间的管理; ② 对文件目录的管理;③ 用于将文件的逻辑地址转换为物 理地址的机制;④ 对文件读和写的管理;⑤ 对文件的共享 与保护等功能。在实现这些功能时,OS通常都采取了层次组 织结构,即在每一层中都包含了一定的功能,处于某个层次 的软件,只能调用同层或更低层次中的功能模块。
33
第七章 文 件 管 理
2. 一级索引顺序文件 最简单的索引顺序文件只使用了一级索引。其具体的建 立方法是,首先将变长记录顺序文件中的所有记录分为若干 个组,如50个记录为一个组。然后为顺序文件建立一张索引 表,并为每组中的第一个记录在索引表中建立一个索引项, 其中含有该记录的关键字和指向该记录的指针。索引顺序文 件是最常见的一种逻辑文件形式,如图7-5
16
第七章 文 件 管 理
7.1.4 文件操作 1. 最基本的文件操作 最基本的文件操作包含下述内容: (1) 创建文件。 (2) 删除文件。 (3) 读文件。 (4) 写文件。 (5) 设置文件的读/写位置。
17
第七章 文 件 管 理
2. 文件的“打开”和“关闭”操作 当用户要求对一个文件实施多次读/写或其它操作时,每 次都要从检索目录开始。为了避免多次重复地检索目录,在 大多数OS中都引入了“打开”(open)这一文件系统调用,当 用户第一次请求对某文件进行操作时,须先利用open系统调 用将该文件打开。
计算机操作系统---第7章 操作系统接口
![计算机操作系统---第7章 操作系统接口](https://img.taocdn.com/s3/m/a2465dc881c758f5f61f67b0.png)
命令接口包括:联机用户接口和脱机用户接口
终端用户利用该 接口可以调用操 作系统的功能, 取得操作系统 的服务。
专为批处理 作 业的用户提 供 的。(批处 理 用户接口)
7.1.1 联机用户接口
也称联机命令接口。 分类:字符显示式用户界面;图形化用 户界面
命令 语言 命令行方 式和批命 令方式
中断和异常的区别如下(2): •异常是由处理器正在执行现行指
令而引起的,一条指令执行期间允 许响应异常,异常处理程序提供的 服务是为当前进程所用的。 异常又分为出错和陷入。
出错和陷入的区别如下: •它们发生时保存的返回指令地址 不同,出错保存指向触发异常的那 条指令,而陷入保存指向触发异常 的那条指令的下一条指令。 •从异常返回时,出错会重新执行 那条指令,而陷入就不会重新执行 那条指令。如缺页异常是一种出错, 而陷入主要应用在调试中。
首先,将处理机状态由用户态转为系统态 其次,是分析系统调用类型,转入相应的系 统调用处理程序 在系统调用处理子程序执行完后,应恢复 被中断的或设置新进程的CPU现场,然后 返回被中断进程或新进程,继续往下执行
4.系统调用处理子程序的处理过程
7.4
UNIX系统调用
7.4.1 UNIX系统调用的类型
在程序设计语言(如C语言)中,往往 提供与各系统调用对应的库函数, 应用程序可通过对应的库函数来使 用系统调用, 库函数的目的是隐藏访管指令细节, 使系统调用更象过程调用,但一般 地说,库函数属于用户程序而非系 统程序。
操作系统为用户提供系统调用 也出于安全和效率考虑,使得 用户态程序不能自由地访问内 核关键数据结构或直接访问硬 件资源。
1.命令行方式:Command arg1 arg2…argn
计算机操作系统课件 汤小丹
![计算机操作系统课件 汤小丹](https://img.taocdn.com/s3/m/c4ed4406e87101f69e3195af.png)
四. 系统调用处理子程序的处理过程 进入Creat的处理子程序后,核心将根据用户给定的文件 路径名Path, 利用目录检索过程,去查找指定文件的目录项。 查找目录的方式可以用顺序查找法,也可用Hash查找法。如 果在文件目录中找到了指定文件的目录项,表示用户要利用 一个已有文件来建立一个新文件。但如果在该已有(存)文件的 属性中有不允许写属性,或者创建者不具有对该文件进行修 改的权限,便认为是出错而做出错处理;若不存在访问权限 问题,便将已存文件的数据盘块释放掉,准备写入新的数据 文件。如未找到指名文件,则表示要创建一个新文件,核心 便从其目录文件中找出一个空目录项,并初始化该目录项, 包括填写文件名、文件属性、文件建立日期等,然后将新建 文件打开。
第七章 操作系统接口
7.2 Shell命令语言
7.2.1 简单命令
所谓简单命令,实际上是一个能完成某种功能的目标
程序的名字。UNIX系统规定的命令由小写字母构成(但仅前8个 字母有效)。命令可带有参数表,用于给出执行命令时的附加 信息。命令名与参数表之间还可使用一种称为选项的自变量, 用破折号开始,后跟一个或多个字母、数字。
后读入该命令,识别命令,再转到相应命令处理程序的入口 地址,把控制权交给该处理程序去执行,并将处理结果送屏
幕上显示。 若用户键入的命令有错,而命令解释程序未能予
以识别,或在执行中间出现问题时,则应显示出某一出错信 息。
第七章 操作系统接口
2. 命令解释程序的组成
(1) 常驻部分。
这部分包括一些中断服务子程序。
理程序的入口地址,然后把控制权交给该处理程序去执行该
命令。
第七章 操作系统接口
输入命令行
命令合法否?
图 7 2
操作系统原理-第七章设备管理知识点及习题
![操作系统原理-第七章设备管理知识点及习题](https://img.taocdn.com/s3/m/167f0ce8cf84b9d529ea7a0e.png)
第7章 设备管理7.1 例题解析例7.2.1 何谓虚拟设备?请说明SPOOLing系统是如何实现虚拟设备的。
解本题的考核要点是虚拟设备的实现方法。
虚拟设备是指利用软件方法,比如SPOOLing系统,把独享设备分割为若干台逻辑上的独占的设备,使用户感受到系统有出若干独占设备在运行。
当然,系统中至少一台拥有物理设备,这是虚拟设备技术的基础。
SPOOLing系统又称“假脱机I/O系统”,其中心思想是,让共享的、高速的、大容量外存储器(比如,磁盘)来模拟若干台独占设备,使系统中的一台或少数几台独占设备变成多台可并行使用的虚拟设备。
SPOOLing系统主要管理外存上的输入井和输出井,以及内存中的输入缓冲区和输出缓冲区。
其管理进程主要有输入和输出进程,负责将输入数据装入到输入井,或者将输出井的数据送出。
它的特点是:提高了I/O操作的速度;将独占设备改造为共享设备;实现了虚拟设备功能。
例7.2.2有关设备管理要领的下列叙述中,( )是不正确的。
A.通道是处理输入、输出的软件B.所有外围设备都由系统统一来管理C.来自通道的I/O中断事件由设备管理负责处理D.编制好的通道程序是存放在主存贮器中的E.由用户给出的设备编号是设备的绝对号解本题的考核要点是设备管理的基本概念。
(1)通道是计算机上配置的一种专门用于输入输出的设备,是硬件的组成部分。
因此A是错误的。
(2)目前常见I/O系统其外部设备的驱动和输入输出都由系统统一管理。
因此B是对的。
(3)设备管理模块中的底层软件中配有专门处理设备中断的处理程序。
通道中断属于设备中断的一种。
因此C是对的。
(4)通道设备自身只配有一个简单的处理装置(CPU),并不配有存储器,它所运行的通道程序全部来自内存。
因此D是对的。
(5)系统在初启时为每台物理设备赋予一个绝对号,设备绝对号是相互独立的。
由用户给出的设备号只能是逻辑编号,由系统将逻辑号映射为绝对号。
因此E是错误的。
例7.2.3 在关于SPOOLING的叙述中,描述是不正确的。
《操作系统教程(第四版)》课后习题答案
![《操作系统教程(第四版)》课后习题答案](https://img.taocdn.com/s3/m/9a9bbfe93b3567ec112d8a83.png)
Jobl:I2(30ms). CPU(lOms)、Il(30ms)> CPU(lOms)
Job2:Il(20ms). CPU(20ms)、I2(40ms)
Job3:CPU(30ms)、Il(20ms)
答;设每个进程等待I/O的百分比为P,则n个进程同时等待I/O的概率是P",当n个 进程同时等待I/O期间CPU是空闲的,故CPU的利用率为1J11・由题意可知,除 去操作系统,内存还能容纳4个用户进程,由于每个用户进程等待I/O的时间为80%,故:
CPU利用率=1-(80%)4=0.59
若再增加1MB内存,系统中可同时运行9个用户进程,此时:
答:画出两道程序并发执行图如下:
1人计釦
1R计覽虚皿丄
A计負]
1
处理器
1
1 1
1 1
I
I I
输入机
1
1
1
I
!
1
I{
打印机
|
1
1arrsi|
1 I |
arr印
1
程序A
1计豐
1杯印1
计養|
|IT印
1
程序B
1计豐
|国入
|计負
1
时间(ms)
L
L
I1
1
1 1
1
050100150180 200250300
(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部 分)・
(2)程序A无等待现象,但程序B有蒔待•程序B有等待时间段为180ms至200ms间(见 图中有色部分).
计算机科学导论课件-第七章 操作系统
![计算机科学导论课件-第七章 操作系统](https://img.taocdn.com/s3/m/0d45169232d4b14e852458fb770bf78a64293a5f.png)
防止死锁的措施
▪ 当不是所有资源都空闲的时候,不允许进 程运行;
▪ 限制进程专用资源的时间。
2.饿死(starvation)
▪ 与死锁相反,发生在操作系统对进程分配 资源有太多限制的时候。
设备管理和文件管理
▪ 看书pp.136--137
7.4
主流操作系统
Windows--菜单驱动的操作系统。
2.耗尽分配的 时间片,直 接进入等待 状态;
3.进程结束, 进入终止状 态。
调度器(1/2)
▪ 将一个作业或进程从一个状态改变为另一 个状态,需要使用作业调度器和进程调度 器。
▪ 作业调度器负责从作业中创建一个进程和 终止一个进程。
调度器(2/2)
▪ 进程调度器:将一个进程从一个状态转入 另一个状态。
缺点: • 分区大小必须由内存管理器事先决定。大小的把握; • 即使分区中开始时合适,也不能保证一直合适。
分页调度
1. 内存被分成大小相等的若干个部分,成为 帧
2. 程序被分为大小相等的部分,成为页。 3. 页和帧的大小通常相等,且与系统用于从
存储设备中提取信息的块大小相等 4. 程序中内存中不必是连续的
4、并行系统(Parallel systems) • 同一个计算机中安装多个CPU • 任务不再是串行处理
5、分布式系统(Distributed systems) • 随着网络发展而出现的 • 程序在一台计算机上运行一部分
6、实时系统(Real-time systems) • 要求在特定时间内完成任务 • 通常用于实事监控系统 • 通常用于满足特殊需求
进程同步
▪ 资源被多个进程同时使用,可能有2种有问 题的状态:死锁和饿死。
1. 死锁(deadlock):
计算机操作系统第七章 - 存 储 管 理
![计算机操作系统第七章 - 存 储 管 理](https://img.taocdn.com/s3/m/f8fd43333968011ca30091c8.png)
分页系统中的地址映射
图5-16 分页系统的地址转换机构 每个进程平均有半个页面的内部碎 片
页面尺寸
设进程的平均大小为s字节,页面尺寸为p字节 ,每个页表项占e字节。那么,每个进程需要的 页数大约为s/p,占用 s . e /p 字节的页表空间。 每个进程的内部碎片平均为p/2。 因此,由页表和内部碎片带来的总开销是: s . e /p+p/2
• • •
虚拟存储器的特征
① ② ③ ④
虚拟扩充。 部分装入。 离散分配。 多次对换。
地址重定位( 地址重定位(地址映射)
• • • • • • • • • • • •
MOV AX,1234 ;立即数寻址 MOV [1000],AX 存储器直接寻址 MOV BX,1002 ;立即数寻址 MOV BYTE PTR[BX],20 ;基址寻址 MOV DL,39 ;立即数寻址 INC BX ;寄存器寻址 MOV [BX],DL ;基址寻址 DEC DL ;寄存器寻址 MOV SI,3 ;立即数寻址 MOV [BX+SI],DL ;基址加变址寻址 MOV [BX+SI+1],DL ;基址+变址+立即数寻址 ;基址+变址+ MOV WORD PTR[BX+SI+2],2846 ;基址+变址+立即数寻址 ;基址+变址+
页面置换算法
页面置换
1.页面置换过程
图5-35 页面置换
需要解决的问题
• 系统抖动 • 缺页中断
•
在学汇编时,很多初学者对PC的寻址方式和很 在学汇编时,很多初学者对PC的寻址方式和很 不理解,甚至是很难理解。的确,这方面的知识 是很抽象的,需要比较强的空间想象能力。尤其 是我们在输入字符串时,那这些字符是如何进行 排列的呢?对于,这个问题,我相信很多初学者 也是很难想象是如何排列。但是,我可以这样比 喻:内存就是有很多栋“楼房” 喻:内存就是有很多栋“楼房”,“楼房”又是 楼房” 由“单元号”,“门户号”组成,那“楼房”就 单元号” 门户号”组成,那“楼房” 相当于内存地址的段地址,“单元号” 相当于内存地址的段地址,“单元号”就相当于 内存的的 偏移地址,“门户号(家)”就相当于“变 偏移地址,“门户号( 就相当于“ 地址”,而每个单元有16个 门户号( )",又当我 地址”,而每个单元有16个"门户号(家)",又当我 们找到"门户号( )"后 走进这个"门户号( )"就会 们找到"门户号(家)"后,走进这个"门户号(家)"就会 见到里面会有" ",而我们所说的人就是寄存器所 见到里面会有"人",而我们所说的人就是寄存器所 指的"内容" 指的"内容"了,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5 页面淘汰算法与工作集管理(1)
•请页式和页簇化调页技术, •页簇化策略能减少线程引发的缺页中断次数, 减少调页I/O的数量。 •缺省页面读取簇的数量取决于物理内存大小, 当内存大于19MB时,代码页簇为8页、数据页簇 为4页、其他页簇为8页。
页面淘汰算法与工作集管理(2)
• 采用局部FIFO算法。 • 采用局部淘汰可防止客户进程损失太多内存; • 采用FIFO算法可让被淘汰的页在淘汰后在物理内存 中停留一段时间,如果马上又用到该页的话,就可 很快将该页回收,而无需从磁盘读出。
工作集管理(3)
• 当物理内存剩余不多时,系统检查每个进程,其当 前工作集是否大于其最小工作集,是则淘汰该进程 工作集中的一些页,直到空闲内存数量足够或每个 进程都达到其最小工作集。
工作集管理(4)
• 系统定时从进程中淘汰一个有效页,观察其是否对 该页发生缺页中断,以此测试和调整进程当前工作 集的合适尺寸。如果进程继续执行,并未对被淘汰 的页发生缺页中断,则该进程工作集减1,该页被 加到空闲链表中。
“修改页写回程序”
• 零初始化链表,空闲链表和后备链表的页框数 低于允许的最小值时,将修改链表中的页面写 回磁盘,然后,这些页框可放入后备链表。 • 当修改链表太大时,把修改链表中的页面写回 页文件中。 • 把修改页写回磁盘后,系统的可用页框还太少, 把进程的工作集调整到最小规模,新淘汰的页 被放到修改链表或后备链表中。
(1)执行体使用内存映射把可执行文 件.exe和动态连接库.dll文件装入内存, 节省应用程序启动时间。 (2)进程使用内 存映射文件存取磁盘文件信息,减少文件 I/O和对文件进行缓存。(3)多个进程使用 内存映射文件来共享主存中的数据和代码。
内存映射文件(2)
使用步骤
步1使用CreateFile打开文件 步2使用CreateFile Mapping建立文件映射 步3使用MapViewOfFile 读写文件视窗 步4使用OpenFileMapping 打开文件映射对象 步5使用UnmapViewOfFile解除映射
3 页框号数据库(1)
所有内存物理页框组成了页框数据库 (Page Frame Datebase),每个页框占一项, 每项称为一个PFN结构(Page Frame Number)。
•
工作集索引
页框号数据库(2)
前向链接
页表项地址
共享计数 标识 类型 访问计数
页表项地址
后向链接 标识 类型 访问计数
内存管理的实现
1进程页表与地址映射 •在x86硬件平台上采用二级页表结构来 实现进程的逻辑地址到物理地址的转换。 •32位逻辑地址解释成三个分量,页目录 索引(10位)页表页索引(10位)和位置 索引(12位),页面大小为4KB。
2原型页表项和区域对象(1)
当两个进程共享一个物理页框时,内存管理 器在进程页表中插入一个称作“原型页表 项”prototype PTE的数据结构来间接映射 共享的页面。
初始页表项的内容 页表项的页框号
初始页表项的内容 页表项的页框号
工作集中页面的PFN
前向链接 页表项地址 后向链接 标识 类型 访问计数
后备或修改链表中页面的PFN
事件地址 页表项地址 共享计数 标识 类型 访问计数
初始页表项的内容 页表项的页框号
初始页表项的内容 页表项的页框号
零或空闲链表中页面的PFN
3 区域对象和视窗
系统提供视窗AWE机制,为区域对象空间中的一部分 空间(进程当前所需要的)保留虚地址,而所映射的 这一部分叫该区域对象的一个视窗。
• 映射区域对象的视窗就是使该区域的一部分能在虚地 址空间可见。
• 删除映射区域对象的视窗就是把它从进程的虚拟地址 空间中删去。
• 进程通过对区域对象多次开设和删除视窗,达到在较 小虚地址空间(最大232B)中处理较大区域对象(264B) 的目的。
VAD的使用
• 线程首次访问一个地址,内存管理器为此 地址的页面创建一个页表项,它找到一个 包含被访问地址的VAD,并利用所得信息填 充页表项。 • 如果访问地址落在VAD覆盖的地址范围外, 或所在的地址范围仅被保留而未提交,将 产生一次访问违规。
2 区域对象及作用
“区域对象”(Section object)在Win32子系 统中被称为“文件映射对象”,表示可被两个或多 个进程所共享的内存块。其作用有: • 系统利用区域对象将可执行映象装入内存; • 高速缓存管理器利用区域对象访问高速缓存文件中 的数据; • 使用区域对象将文件映射到进程地址空间,可像访 问内存中数组一样访问这个文件,而不是对文件进 行读写。
系统工作集中可以驻留5种页面
• • • • • 系统高速缓存页面 分页缓冲池 Ntoskrnl.exe中可分页代码和数据 设各驱动程序中可分页代码和数据 系统映射视图
6其他内存管理机制(1)
(1) 锁内存: (2)分配粒度: (3) 内存页级保护机制 : • 区分核心态和用户态, • 每个进程只有独立、私有的虚拟地址空间,禁止其他进程 的线程访问, • 以页面为单位的保护机制, • 以对象为单位的保护机制。
原型页表项和区域对象(2)
进程1 页目录 页表
有效
原型PTE地 址 原型PTE 无效页框: 在页文件
内存
共享页面
进程2 页目录
页表
原型PTE 有效页框: 在内存
原型PTE地 址 有效
进程通过原型PTE共享页框
原型页表项和区域对象(3)
共享页面是原型PTE所描述的6种状态之一
• • • • • • 活动/有效 ,页面存在物理内存中。 过渡,所需页在后备链表或修改链表中。 修改尚未写入,所需页在修改尚未写入链表中。 请求零页, 所需页内容应为零页。 页文件, 所需文件驻留在页文件中。 映射文件, 所需页驻留在映射文件中。
4 应用程序内存管理方法
1)虚页内存分配(1) 系统中使用虚拟内存,分三个阶段: •保留内存(reserved memory) •提交内存(committed memory) •释放内存 (release memory)
虚页内存分配(2) 保留内存
• Virtual Alloc 申请保留内存 • 申请保留内存的方法 • 申请保留内存的参数
区域对象的结构
对象类型 对象属性 区 域
最大尺寸 页保护限制 盘交换区/映射文件 基本/非基本区域 创建区域 打开区域 扩展区域 映射/取消映射视口 查询区域
对象服务
区域对象的使用
• 一个区域对象代表可由两个或多个进程共 享的内存块。 • 一个进程的线程可创建区域对象,为它起 名字,以便其他进程的线程能打开这个区 域对象的句柄。 • 区域对象句柄被打开后,线程就能把这个 区域对象映射到自己或另一个进程的虚地 址空间中。
虚页内存分配(3) 提交/释放内存
•什么是提交内存 •提交内存的方法 •分配内存 • Virtual Free释放内存
2)内存映射文件(1)
Memory-mapped File允许进程分配一段虚地 址空间或某一个盘文件相关联,当把盘文件映 射到该地址空间后,多个进程可以方便地访问。 内存映射文件用于三种场合:
计算机操作系统 第七章 Windows进程和存储管理 示例
实例研究:Windows 2000/XP虚拟存储管理
7.1进程地址空间布局 7.2用户空间内存分配 7.3内存管理的实现
7.1 进程地址空间布局
FFFFFFFFH C0000000H C0000000H
固定页面区
页交换区 系统存储区 操作系统驻留区 (直接映射区)
80000000H
页交换区
用户存储区
统管理应用程序内存有两个数据结构: 虚址描述符和区域对象;三种内存管理方 法: • 虚页内存分配 • 内存映射文件 • 内存堆分配
1 虚址描述符
对每个进程,内存管理器都维护一组VAD ,用来 描述进程地址空间哪些虚拟地址已被保留,而哪些 没有,这个数据结构叫“虚地址描述符”VAD。
3)内存堆分配
• 堆(heap)是保留地址空间中一个或多个页 组成的区域,并由堆管理器按更小块划分和 分配内存的技术。 • 缺省进程堆。 • HeapCreate创建私有堆,Heap Destroy 释放 私有堆。 • GetprocessHeap得到指向堆的句柄, • HeapAlloc和HeapFree从堆中分配和回收内存 块。
区域对象和视窗示意
进程1的虚拟内存
/////
物理内存
进程2的虚拟内存
/////
区域对象
使用AWE函数来分配内存
步1:分配要使用的物理内存 步2:创建一个虚地址空间作为视窗 来映射区域对象 步3:把区域对象映射到视窗
区域对象和视窗 视窗机制作用
• 当基于内存映射文件的区域对象远远大 于虚地址空间时, • 当基于盘交换区(交换文件)的区域对 象远大于交换空间时, • 用于共享时。
零初始化 页链表 请 求 零 页 缺 页 中断
线程0 从外存或 内核配置 读入的页 空闲页链表
分配页 框到进 程工作 集
修改页链表 工作集中删修改页
修改页写回线程
后备页链表 工作集中删一页
工作集 重 置
页框的状态及其转换
4 请求调页
• 内存管理器在分配页框时,按照以下次序 从非空链表中取得页面进行分配: 零页链表->空闲链表-> 后备链表->修改链表。
正在I/O页面的PFN
页框号数据库(3)
PFN可能状态
1、有效(Vaild) 2、过渡(transition) 3、后备(Stand by) 4、修改(Modified) 5、修改不写入(modiqied no write) 6、空闲(free) 7、零初始化(zeroed) 8、坏(bad)
页框号数据库(4)
工作集管理(1)