第十章 操作系统
10.1操作系统的角色
应用软件 帮助我们解决现实世界问题的程序
系统软件 管理计算机系统并与硬件进行交互的程序
操作系统 管理计算机资源并为系统交互提供界面的系统软件
内存、进程、CPU管理
多道程序设计 同时在主存中驻留多个程序,由它们竞争CPU的技术
内存管理 了解主存中载有多少个程序以及它们的位置的动作
进程 程序执行过程中的动态表示法
进程管理 了解活动进程中的信息的动作
CPU调度 确定主存中的哪个进程可以访问CPU以便执行的动作
批处理
上世纪六七十年代,计算机处理是由操作员管理的,用户要把程序交给程序员。程序和系统指令合在一起叫作业,为了有效执行准备工作,程序员会把作业分批。
分时
分时 多个交互用户同时共享CPU时间的系统
虚拟机 分时系统创建的每个用户都有专有机器的假象
主机 一个大型的多用户计算机,通常与早期的分时系统相关
哑终端 在早期的分时系统中用户用于访问主机的一套显示器和键盘
其他OS要素
实时系统 应用程序的特性决定了响应时间至关重要的系统
响应时间 收到信号和生成响应之间的延迟时间
10.2内存管理
操作系统必须采用以下技术
- 跟踪一个程序驻留在内存的什么位置及如何驻留的
- 把逻辑程序地址转换成实际的内存地址
逻辑地址 对一个存储值的引用,是相对于引用它的程序的
物理地址 主存储设备中的真实地址
地址联编 逻辑地址和物理地址间的映射
单块内存管理
单块内存管理 把应用程序载入一段连续的内存区域的内存管理方法
实现和管理简单,但大大浪费了内存空间和CPU时间
分区内存管理
固定分区法 把内存分成特定数目的分区以载入程序的内存管理方法
动态分区法 根据容纳程序的需要对内存分区的内存管理方法
基址寄存器 存放当前分区的起始地址的寄存器
界限寄存器 存放当前分区的长度的寄存器
对于一个新程序有三种常用分区选择:
- 最先匹配 把第一个足够存放程序的分区分配给它
- 最佳匹配 把最小的能够容纳程序的分区分配给它
- 最差匹配 把最大的能够容纳程序的分区分配给它
压缩 动态分区中,作业可以在内存中移动,以创建较大的空白分区
页式内存管理
页式内存管理法 把进程划分为大小固定的页,载入内存时存储在帧中的内存管理方法
帧 大小固定的一部分主存,用于存放进程页
页 大小固定的一部分进程,存储在内存帧中
页映射表 操作系统用于记录页和帧之间关系的表
页式管理的逻辑地址和分区系统一样,都从一个相对于程序起点的整数值开始,但这个地址被转换成页编号和偏移量
分页的优点在于不必把进程存储在连续的内存空间里
请求分页页式内存管理法的扩展,只有当页面被引用(请求)时才会被载入内存
页面交换把一个页面从二级存储设备载入内存,通常会使另一个页面从内存中删除
虚拟内存 由于整个程序不必同时处于内存而造成的程序大小没有限制的假象
系统颠簸 连续的页面交换造成的低效处理
10.3 进程管理
进程状态 在操作系统的管理下,进程历经的概念性阶段
- 创建 创建新进程
- 准备就绪 等待CPU的使用机会,进程没有执行障碍
- 运行 当前CPU的执行进程
- 等待 当前在等待资源的进程
- 终止 完成执行
进程控制块
进程控制块(PCB) 操作系统管理进程信息使用的数据结构
上下文切换 当一个进程移出CPU,另一个进程取代它时发生的寄存器信息交换
10.4 CPU调度
CPU调度即确定把哪个处于准备就绪的进程移入运行状态
非抢先调度 当当前执行的进程自愿放弃了CPU时发生的CPU调度
抢先调度 当操作系统决定照顾另一个进程而抢占当前执行进程的CPU资源时发生的CPU调度
周转周期 从进程进入准备就绪状态到它最终完成之间的时间间隔,是评估CPU调度算法的标准
- 先到先服务(FCFS)按顺序进入CPU
- 最短作业优先(SJN)非抢先算法
- 轮询法 建立单独时间片,被抢占的进程最终会得到其他CPU的时间片
时间片 在CPU轮询算法中分配给每个进程的时间量
第十一章 文件系统和目录
11.1 文件系统
文件 数据的有名集合,用于组织二级存储设备
文件系统 操作系统为它管理的文件提供的逻辑视图
目录 文件的有名分组
文件是一般概念,不同类型文件的管理方式不同
文本文件和二进制文件
文本文件 包含字符的文件
二进制文件 包含特定格式的数据的文件,要求给位串一个特定的解释(位图、GIF、JPEG、TIFF)
源文件 用高级语言编写的程序也会被储存为文本文件
文件类型
文件类型 文件中存放的关于类型的信息
文件扩展名 文件名中说明文件类型的部分
文件操作
- 创建
- 删除
- 打开
- 关闭
- 读取数据
- 数据写入
- 重定位文件中当前文件的指针
- 删减
- 重命名
- 复制
操作系统维护了一个记录当前文件的小表,以避免每次执行一项操作都在大文件系统中检索
一个打开的文件都有一个当前文件指针(地址),说明下次读写操作要发生在什么地方
文件访问
顺序文件访问 以线性方式访问文件中的数据的方法
直接文件访问 通过指定逻辑记录编号直接访问文件中的数据的方法
文件保护
多用户系统中,文件保护重要性居于首位。例如,UNIX保护操作包括Owner、Group、World,可决定文件是可读、可写还是可执行的
10.2 目录
目录树 展示文件系统的嵌套目录组织的结构
根目录 包含其他所有目录的最高层目录
工作目录 当前活动的子目录
路径名
路径 文件或子目录在文件系统中的位置的文本名称
绝对路径 从根目录开始,包括所有后继子目录的路径
相对路径 从当前工作目录开始的路径
11.3 磁盘调度
磁盘调度 决定先满足哪个磁盘I/O请求的操作
- 先到先服务
- 最短寻道时间优先
- SCAN
有一种算法会检查未处理的请求的列表,这种变体叫做LOOK磁盘调度法