《操作系统回顾.ppt》由会员分享,可在线阅读,更多相关《操作系统回顾.ppt(57页珍藏版)》请在优知文库上搜索。
1、回顾一、操作系统的作用 #include int main(int argc, char *argv)printf(hello world);return 0;1. 用户告诉操作系统执行hello程序2. 操作系统找到该程序文件,检查其类型3. 检查程序文件首部,找出正文和数据的地址4. 文件系统找到该程序文件第一个磁盘块5.父进程需要创建一个新的子进程,执行hello程序6.操作系统需要将执行文件映射到进程结构7.操作系统设置CPU上下文环境,并跳到程序开始处8.程序的第一条指令执行,失败,缺页中断发生9. 操作系统分配一页内存,并将代码从磁盘读入,继续执行10. 更多的缺页中断,读入更多的
2、页面11. 操作系统检查字符串的位置是否正确12. 操作系统找到字符串被送往的设备13. 设备是一个伪终端,由一个进程控制14. 操作系统将字符串送给该进程15. 该进程告诉窗口系统它要显示字符串16. 窗口系统确定这是一个合法的操作,然后将字符串转换成像素17. 窗口系统将像素写入存储映像区18. 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)19. 显示器发射电子束20. 在屏幕上看到hello world二、操作系统的定义操作系统是计算机系统中的一个系统软件,是一些程序模块的集合 它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源 合理的组织计算机的工作流程,控制程序的
3、执行并向用户提供各种服务功能 使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行有效有效:系统效率,资源利用率 (如:CPU利用的充足与否,内存、外部设备是否忙碌)合理合理:公平与否,如果不公平则会产生“死锁”或“饥饿”方便方便:两种角度:用户界面 编程接口 三、操作系统的特征并发并发(concurrency): 处理多个同时性活动的能力在计算机系统中同时存在多个程序 宏观上:这些程序是同时在执行的 微观上:任何时刻只有一个程序在执行(单CPU),即微观上这些程序在CPU上轮流执行并行(parallel):(与并发相似,但多指硬件支持)由并发引起的问题:活动切换、保护、相互
4、依赖的活动间的同步操作系统特征(续)共享共享(sharing): 操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源) 操作系统要对系统资源进行合理分配和使用 资源在一个时间段内交替被多个进程所用 互斥共享(如音频设备) 同时访问(如可重入代码,磁盘文件)问题:资源分配难以达到最优化,保护操作系统特征(续)虚拟虚拟(Virtual): 一个物理实体映射为若干个对应的逻辑实体分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率 CPU每个用户(进程)的虚处理机 存储器每个进程都占有的地址空间(指令数据堆栈) 显示设备多窗口或虚拟终端操作系统特征(续)随机性随机
5、性: 操作系统必须随时对以不可预测次序发生的事件进行响应 进程的运行速度不可预知:多个进程并发执行,“走走停停”,无法预知每个进程的运行推进快慢 难以重现系统在某个时刻的状态(包括重现运行中的错误)操作系统特征(续)不确定性不确定性: 由共享和并发引起 在操作系统中可运行多道用户程序,而每个用户程序的运行时间、要使用哪些系统资源、使用多长时间、使用的资源是共享还是独占的,操作系统在程序运行前是不知道的 要求操作系统的设计要很好地解决并发和共享的问题,否则,将会产生不可重现的错误,这种不可重现的错误称为不确定性 例子:两个用户共享一台打印机四、研究操作系统的几种观点 作为软件来看的观点 资源管理
6、的观点 进程的观点 虚机器观点 服务提供者观点1.作为软件来看的观点软件的特性外在特性:软件是种语言,是界面界面:使用方式 (命令、系统调用等)内在特性:软件的结构a.由有几部分组成 b.每个部分的功能 c.部分之间的关系2.资源管理的观点操作系统-资源管理者(自底向上)操作系统管理一个复杂系统的各个部分硬件资源:CPU,内存,设备(I/O设备,外存,时钟,网络接口等)软件资源:硬盘上的文件,信息两种方式实现复用(共享):时间 及 空间管理资源 记录资源使用状况 如 哪些资源空闲,好坏与否,被谁使用,使用多长时间等 合理的分配资源(资源分配策略)静态分配策略 (在程序运行前分配,但效率不高)动
7、态分配策略 (在程序运行过程中何时用资源,何时分配。其缺点是会出现死锁) 具体完成分配 回收资源资源管理的目的 实现资源共享 提高资源利用率操作系统功能操作系统功能n 进程和线程管理进程和线程管理(CPU管理管理)n 存储管理存储管理n 文件管理文件管理n 设备管理设备管理n 用户接口与作业管理用户接口与作业管理1) 处理机管理目标:处理机资源的分配调度等功能 (调度单位可为进程或线程) 进程控制:创建、撤销、挂起、改变运行优先级等主动改变进程的状态 进程同步:协调并发进程之间的推进步骤,以协调资源共享;交换信息能力(弱) 进程通信:进程之间传送数据,以协调进程间的协作;交换信息能力(强),也
8、可以用来协调进程之间的推进 进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能;未必是进程控制操作所引起(可能是时间片轮转、I/O操作) 公平性、高效率(吞吐量大)、执行周转时间等2) 存储管理存储分配与回收存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从垃圾中窃取其他进程的信息地址映射(变换):进程逻辑地址到内存物理地址的映射内存扩充(覆盖、交换和虚拟存储):提高内存利用率、扩大进程的内存空间目标:目标:提高利用率,方便用户使用,提供足够提高利用率,方便用户使用,提供足够的存储空间,方便进程并发运行的存储空间,方便进程并发运行存储管理技术 连续 固定分
9、区存储管理技术 可变分区 离散 分页 分段 段页式 内核内存的分配 频繁请求许多小内存 2次幂空闲表分配器 伙伴系统 虚拟存储技术每种技术 基本思想基本思想 存储区的使用状况信息的组织存储区的使用状况信息的组织MBT、UBT、FBT、空闲存储块链、页表、段表 主存分配、回收主存分配、回收 地址转换的过程地址转换的过程 存储保护存储保护 分配方法分配方法新出现的问题 碎片问题内碎片外碎片 碎片问题的解决把程序分成几部分装入不同的分区中程序浮动 地址转换又出现问题 解决方法动态重定位解决碎片 主存分配不连续 简单分页 基本作法:页架、页面、逻辑地址表示 主存分配原则,页表,地址转换 简单分段按程序
10、自身的逻辑关系划分为若干个程序段 内存划分、内存分配 段表虚拟存储器的基本思想 问题的提出 程序、数据、堆栈的大小可以超过内存的大小, 操作系统把程序当前使用的部分保留在内存,而把其它部分保存在磁盘上,并在需要时在内存和磁盘之间动态交换 以CPU时间(参阅P167),和外存空间换取昂贵内存空间,这是操作系统中的资源转换技术关键 程序的逻辑地址,和主存的实际地址相脱离,即区分: 逻辑地址(相对地址)及逻辑地址空间; 绝对地址(实际地址)及绝对地址空间(实存地址空间)。虚存管理需要解决下面三个问题(由OS自动实现,对用户是透明的): 决定把作业虚拟地址空间的哪一部分装入主存;系统如何获知进程当前所
11、需页面不在主存。 当发现缺页时,如何把所缺页面调入主存。 当主存中没有空闲的页框时,为了要接受一个新页,需要把老的一页淘汰出去,根据什么策略选择欲淘汰的页面。 3) 设备管理设备操作:设备驱动程序(通常在内核中)完成对设备的操作设备独立性:提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容(如FAX Modem作为Windows上的打印机设备)设备分配与回收:在多用户间共享I/O设备资源虚拟设备:设备由多个进程共享,每个进程如同独占缓冲区管理:匹配CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公用缓冲区)目标:目标:方便设备的使用,
12、提高方便设备的使用,提高CPU与与I/O设备设备利用率利用率4) 文件管理(文件系统)文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名文件的读写管理和存取控制:解决信息安全问题。系统设口令、用户分类、文件权限目标:目标:解决软件资源的存储、共享、保密和解决软件资源的存储、共享、保密和保护保护5) 用户接口与作业管理操作系统向上提供两种接口 系统命令:供用户用于组织和控制自己的作业运行。命令行、菜单式或GUI(联机);命令脚本(脱机) 编程接口:供用户程序和系统程序调用操作系统功能。系统调用和高级语言库函数目标
13、:目标:提供一个友好的用户访问操作系统的提供一个友好的用户访问操作系统的接口接口习题(一)1.某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB试问:1.逻辑地址的有效位是多少? 2.物理地址需要多少位? 3.假定某时刻系统为用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚地址0A5C,093C转换成实地址。逻辑地址表示:(页号p , 页内地址d)用户空间共有32个页面,p的取值范围:0 31p的有效位:5每页1KB, d的取值范围:0 1023 d的有效位:10逻辑地址的有效位:15主存大小:16KB = 214B物理地址的有效位:14页表:页号 页架号 0
14、5 1 10 2 4 3 7(0A5C)16 = (0000,1010,0101,1100)2实地址:(10010,0101,1100)2 = (125C)16 = (4700)10(093C)16 = (0000,1001,0011,1100)2实地址:(10001,0011,1100)2 = (113C)16 = (4412)10系统中按地址排列的内存中空闲区大小是:10K、4K、20K、18K、7K、9K、12K和15K。对于连续的段请求:(1)12K (2)10K (3)9K分别使用最先(首次)适应法、最佳适应法和最坏适应法进行处理。要求画出段进入系统后内存分布情况。内存分布情况 ab
15、cdefgh10k4k20k18k7k9k12k15k(1)最先适应法,空闲区按首址递增的次序组织空闲队列。始址 大小 a 10K b 4K c 20K d 18K e 7K f 9K g 12K h 15K12K始址 大小 a 10K b 4K c+12K 8K d 18K e 7K f 9K g 12K h 15K10K始址 大小 a 10K b 4K c+12K 8K d 18K e 7K f 9K g 12K h 15K 9K始址 大小 a 10K b 4K c+12K 8K d+9K 18K e 7K f 9K g 12K h 15K空闲队列内存分布情况 abcdefgh10k4k2
16、0k18k7k9k12k15k bc+12kd+10kefgh4k8k9k7k9k12k15k最先适应法(2)最佳适应法空闲区按大小递增的次序组织空闲队列。始址 大小 b 4K e 7K f 9K a 10K g 12K h 15K d 18K c 20K12K10K 9K始址 大小 b 4K e 7K f 9K a 10K g 12K h 15K d 18K c 20K始址 大小 b 4K e 7K f 9K a 10K g 12K h 15K d 18K c 20K始址 大小 b 4K e 7K f 9K a 10K g 12K h 15K d 18K c 20K空闲队列 abcdefgh10k4k20k18k内存分布情况7k9k12k15k bcdeh4k20k18k7k15k最佳适应法(3)最坏适应法要求空闲区按大小递减的次序组织空闲队列。始址 大小 c 20K d 18K h 15K g 12K a 10K f 9K e 7K b 4K12K10K 9K始址 大小 d 18K h 15K g 12K a 10K f 9Kc+12K 8K e 7K b 4K始址 大小 h 15