第10章 操作系统

10.1 操作系统的角色

  1. 应用软件:帮助我们解决现实世界问题的程序。
  2. 系统软件:管理计算机系统并与硬件进行交互的操作。
  3. 操作系统:管理计算机资源并为系统交互提供界面的系统软件。
  4. 一般的交互系统:硬件→其他系统软件→操作系统→应用软件→人类用户→人类用户 硬件→操作系统→人类用户
  5. 引导(booting):初始载入永久性的储存器,后这些指令从二级储存器中载入大部分系统软件。最终将载入操作系统的所有关键元素,执行启动程序,提供用户界面。

10.1.1 内存、进程与cpu管理

  1. 多道程序设计(multiprogramming):同时在主存中驻留多个程序,由它们竞争cpu的技术。
  2. 内存管理(memory management):了解主存中载有多少个程序以及它们的位置的动作。
  3. 进程(process):程序执行过程中的动态表示法。
  4. 进程管理(process management):了解活动进程的信息的动作。
  5. CPU调度(CPU scheduling):确定主存中的哪个进程可以访问CPU以便执行的动作。

10.1.2 批处理

早期计算机系统的操作员扮演的角色正是现代操作系统软件所做的。

10.1.3 分时(timesharing)

  1. 分时系统允许多个用户同时与计算机进行交互。
  2. 在分时系统中每个用户都不必主动竞争资源,每个用户都有自己的虚拟机(vitural machine)。
  3. 分时(timesharing):多个交互用户同时共享CPU时间的系统。
  4. 虚拟机:分时系统创建的每个用户都有专有机器的假象。
  5. 主机(mainframe):一个大型的多用户计算机,通常与早期的分时系统相关。
  6. 哑终端(dumb terminal):在早期分时系统中用户用于访问主机的一套显示器的键盘。

10.1.4 其他OS要素

  1. 实时系统(real-time system):应用程序的特性决定了响应时间至关重要的系统。
  2. 响应时间(reponse time):收到信号和生成响应之间的延迟时间。

10.2 内存管理

  1. 逻辑地址(logical address):对一个储存值的引用,是相对于引用它的程序的。
  2. 物理地址(physical address):主储存设备中的真实地址。
  3. 地址连编(address binding):逻辑地址和物理地址间的映射。

10.2.1 单块内存管理

单块内存管理(single contiguous memory management):把应用程序载入一段连续的内存区域的内存管理方法。

10.2.2 分区内存管理

  1. 固定分区法(fixed-partition technique):把内存分成特定数目的分区以载入程序的内存管理方法。
  2. 动态分区法(dynamic-partition technique):根据容纳程序的需要对内存分区的内存管理方法。
  3. 基址寄存器(base register):存放当前分区的起始地址的寄存器。
  4. 界限寄存器(bounds register):存放当前分区的长度的寄存器。

10.2.3 页式内存管理

  1. 页式内存管理 需要 跟踪分配的内存,还要解析地址。
  2. 页式内存管理法(paged memory technique):把进程划分为大小固定的页,载入内存时储存在帧中的内存管理方法。
  3. 帧(frame):大小固定的一部分主存,用于存放进程页。
  4. 页(page):大小固定的一部分进程,储存在内存帧中。
  5. 页映射表(Page Map Table,PMT):操作系统用于记录页和帧之间的关系的表。
  6. 请求分页(demand paging):页式内存管理法的扩展,只有当前页面被引用(请求)时才会被载入内存。
  7. 页面交换(page swap):把一个页面从二级储存设备载入内存,通常会使另一个页面从内存中删除。
  8. 虚拟内存(vitural memory'):由于整个程序不必同时处于内存而造成的程序大小没有限制的假象。
  9. 系统颠簸(thrashing):连续的页面交换造成的低效处理。

10.3 进程管理

10.3.1 进程状态

进程状态(process state):在操作系统的管理下,进程历经的概念性阶段。

10.3.2 进程控制块

  1. 进程控制块(Process Control Block,PCB):操作系统管理进程信息使用的数据结构。
  2. 上下文切换(context switch):当一个进程移出CPU,另一个进程取代它时发生的寄存器信息交换。

10.4 CPU调度

  1. 非抢先调度(nonpreemptive scheduling):当当前执行的进程自愿放弃了CPU时发生的CPU调度。
  2. 抢先调度(preemptive scheduling):当操作系统决定照顾另一个进程而抢占当前执行进程的CPU自愿时发生的CPU调度。
  3. 周转周期(turnaround time):从进程进入准备就绪状态到它最终完成之间的时间间隔,是评估CPU调度算法的标准。

10.4.1 先到先服务(FCFS)

进程按照他们到达运行状态的顺序转移到CPU,一旦进程获得了CPU的访问权,那么除非它强制请求转入等待状态,否则将一直占用CPU。

10.4.2 最短作业优先

将查看所有处于准备就绪状态的进程,并分派一个具有最短服务时间的。通常被实现为非抢先算法。

10.4.3 轮询法

  1. 时间片(time slice):在CPU轮询算法中分配给每个进程的时间量。

第11章 文件系统和目录

11.1 文件系统

  1. 文件(file):数据的有名集合,用于组织二级储存设备。
  2. 文件系统(file system):操作系统为它管理的文件提供的逻辑视图。
  3. 目录(directory):文件的有名分组。
  4. 文本文件(text file):包含字符的文件。
  5. 二进制文件(binary file):包含特定格式的数据的文件,要求给位串一个特定的解释。

11.1.2 文件类型

  1. 文件类型(file type):文件(如Java程序和Microsoft文档)中存放的关于类型的信息。
  2. 文件扩展名(file extension):文件名中说明文件类型的部分。

11.1.3 文件操作

11.1.4 文件访问

  1. 顺序文件访问(sequential file access):以线性方式访问文件中的数据的方法。
  2. 直接文件访问(direct file access):通过指定逻辑记录编号直接访问文件中的数据。

11.1.5 文件记录

11.2 目录

11.2.1目录树

  1. 目录树(directory tree):展示文件系统的嵌套目录组织的结构。
  2. 根目录(root directory):包含其他所有目录的最高层目录。
  3. 工作目录(working directory):当前活动的子目录。

11.2.2路径名

  1. 路径(path):文件或子目录在文件系统中的位置的文本名称。
  2. 绝对路径(absolute path):从根目录开始,包括所有后继子目录的路径。
  3. 相对路径(relative path):从当前工作目录开始的路径。

11.3 磁盘调度

磁盘调度(disk scheduling):决定先满足哪个磁盘I/O请求的操作。

11.3.1 先到先服务磁盘调度法

11.3.2 最短寻道时间优先磁盘调度法

11.3.3 SCAN磁盘调度法

Posted on 2020-11-15 10:29  20202403孟凡斌  阅读(108)  评论(0)    收藏  举报