操作系统原理 第一章第二章复习

操作系统复习

第一章 操作系统概述

基本概念

  1. 吞吐量:单位时间内系统能处理的工作量。
  2. 进程:正在动态执行的程序
  3. 实时操作系系统:实时计算。计算的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这个结果的时间一类的计算。
  4. 操作系统的特征:现代操作系统大多支持多任务,具有并发、共享、虚拟、异步的特征。

单道批处理系统

  1. 特性:自动性、顺序性、单道性。
  2. 作业独占CPU和内存。

多道批处理系统

  1. 特性: 多道性、无序性、调度性、复杂性。
  2. 优点:提高CPU的利用率、提高内存和I/O设备的利用率、增加系统吞吐量。
  3. 缺点:平均周转时间长(每个任务都存在等待时间) (2)缺乏交互能力

操作系统的功能

1.存储器管理功能

(1) 内存分配:静态分配、动态分配
(2) 内存保护
(3) 地址映射: 需配合硬件完成。其结果为逻辑地址映射为物理地址。
逻辑地址从哪来:IR寄存器->译码->取操作数
(4) 内存扩充:虚拟存储技术。

2.进程管理功能

包括进程控制、进程同步、进程通信、进程调度

3.设备管理功能

设备管理应有以下功能:
(1) 缓冲管理:管理各种缓冲区。
(2) 设备分配:分配I/O所需的设备
(3) 设备处理:由设备驱动实现CPU与设备控制器间的通信。
(4) 设备独立性与虚拟设备

4.文件管理

主要解决:按名访问、文件存储的功能。

5.为用户提供接口

指令的执行

  1. 一条高级语言对应多条机器语言
  2. 程序的执行本质是指令一条条执行的过程,指令执行的本质只可能产生存储单元的变化。
  3. 取指令和执行指令是通过硬件完成的。
  4. 任何高级语言程序被编译成指令集合,其中的每一条指令都属于机器体系结构指令集。
  5. 硬件上下文:中断返回恢复被中断程序的执行时,必须要写回CPU寄存器的值。

第二章 进程的描述与控制

1.程序的并发执行

1.1 程序的顺序执行

程序的顺序执行时具有以下特点:顺序性、封闭性、可再现性。

1.2 程序的并发执行

程序的并发执行具有如下特点: 间断性、失去封闭性、不可再现性

不可再现性产生的原因:CPU交替执行指令,产生了不同的指令执行序列,导致结果不同。

2. 进程的描述

2.1 基本概念

  1. 进程的定义:进程是程序在一个数据集合上的运行过程。

​ 进程时由正文段、用户数据段以及系统数据段共同组陈的一个执行环境。

  1. 程序的执行过程实际上是一个执行环境的总和。

  2. 进程的特征:1) 并发性:多个进程实体同存于内存中

    ​ 2) 动态性:进程时进程实体的执行过程

    ​ 3) 独立性:在没有引入线程的操作系统中,进程是独立 运行和资源调度的基本单位。

    ​ 4) 异步性:进程以不可预知的速度向前推进,按异步方式运行。

    ​ 5) 结构特征: 进程实体包括用户正文段、系统数据段和用户数据段。

  3. 进程与程序的比较:

    区别:1)程序是静态的、进程是动态的。

    ​ 2)程序是永久的,进程是暂时存在的。

    ​ 3)进程与程序存在实体不同。程序是指令的集合,而进程包含了用户正文段、系统数据段、用户数据 段的实体。

    联系: 进程是程序的一个执行,总是对应至少一个特定程序,而一个程序可对应多个进程。

  4. 操作系统内核是计算机硬件的第一次扩充。

2.2 进程控制块PCB

  1. 进程控制块是进程实体的一部分,是操作系统中最重要的记录型数据结构。
  2. \(time\_slice\) 字段用于记录进程在CPU上运行的时间片中还剩余的时钟节拍数。

3. 进程的控制

  1. 进程三种状态:就绪状态、执行状态、阻塞状态。

  2. 进程进程间三个基本状态之间的转换关系

4. 操作系统内核

4.1 操作系统如何被加载

  1. BIOS将当前磁盘的活动分区的第一个扇区(引导扇区)加载到内存
  2. 执行boot程序,从磁盘的文件系统中找到OS内核的加载程序(loader.bin),并且将loader.bin装入内存,跳转至loader.bin的第一条命令,开始执行loader.bin程序。
  3. 执行loader程序,将OS内核程序从外存装入内存。
  4. 内核从式模式跳转到保护模式的启用分页机制。

4.2 中断

  1. 什么是中断?

    中断时改变处理器执行顺序的一种事件。

  2. 为什么引入中断?

    引入中断后,CPU可以与其他设备并行工作,能够有效提高CPU的利用率,改善系统性能,支持系统的异步性。

  3. 中断的类型

    分为:同步中断(内部中断或异常)、异步中断(外部中断)。内部中断:一条指令终止执行后CPU才会发出中断。异步中断:其他硬件设备按照CPU时钟信号随机产生。

  4. 关中断指令:由内核或基于硬件的软件执行。

  5. 对于可屏蔽中断,开中断是响应中断的前提。

  6. 响应中断的时机:对于外部中断,CPU每执行完一条指令都会检测是不是有外部中断信号到来,若有,则转中断处理。

  7. 检测到有中断信号,转中断处理的过程:

    1)先保护断点,将当前要执行的下一条指令的地址保存到内存中,以便中断返回时能把这个地址恢复到PC中,使得,被中断的程序从断电出开始继续执行。

    2)系统关闭中断,转中断处理程序,在中断处理程序中完成保护现场的工作,即把相关硬件上下文信息保存到内存中。

    3)保护完现场,根据中断向量到中断向量表中(Linux中是到中断描述符表)找到与中断处理子例程入口地址的相关信息,根据这些信息找到中断处理子例程的入口地址,并执行中断处理子例程,完成本次中断处理的特定处理工作。

    4)恢复现场,开中断,CPU返回断电处继续执行被中断程序 。

  8. 中断向量:中断向量是对不同中断源到来的信号编号。不可屏蔽中断的向量和异常的中断向量是固定的,而可屏蔽中断的向量可通过中断控制器的编程来实现。

  9. 中断描述符表(IDT):一个系统表,每个中断或异常斗鱼向量联系,每个向量在表中都有唯一对应的表项,其中存有与中断或异常处理子程序入口地址的相关信息。OS初始化时,由OS执行汇编指令Idit加载进内存。

    中断处理子程序的入口地址相关信息在内存中的地址 = idtr中的地址 + 8 * 中断向量​

4.3 时钟管理

  1. 操作系统内核可以通过时间机制防止一个程序垄断CPU或者其他资源。

  2. 计算机系统中的时钟:

    RTC时钟:又叫CMOS时钟。

    OS时钟:产生于PC机主板上的定时/记数芯片。

  3. 可编程间隔定时器PIT:PIT按照一定的频率产生时钟中断,以告知内核又一个时间间隔过去了。

  4. 时钟滴答:OS时钟由可编程定时计数器输出脉冲触发中断而产生的,输出的脉冲中心叫做一个时钟滴答。

  5. 时钟中断间隔高:有些需要精确计时的应用无法正确运行

    时钟中断间隔低:OS占用CPU高,吞吐量变低

    因此,时钟中断间隔由系统性能决定。

4.4 系统调用

  1. 什么是系统调用?

    系统调用是核心程序与用户程序之间的接口,是操作系统内核中预先定义好的模块。

  2. 系统调用与一般函数调用的区别:

    1) 系统调用运行在系统态,一般函数运行在用户态。

    2)系统调用与一般函数调用的过程不同。当系统调用执行时,当前进程被中断,由系统寻找相应的系统调用子程序,并在核心态下执行,执行结果返回进程。

    3)系统调用要进行中断处理,比一般函数调用多了一些系统开销。

  3. 用户态执行:用户空间指的是用户进程所处的地址空间。一个用户进程不能访问其他进程的用户空间。只有核心程序所启动的进程才能访问其他用户空间。当一个进程在用户空间执行时,称该进程在用户态执行。

  4. 系统态执行:系统核心空间指的是含有一切系统核心代码的地址空间,当进程处于具有执行系统核心代码的权力状态时,称该进程在系统态执行。

  5. 系统调用的过程:

    1.保存系统调用号。

    2.执行中断指令,陷入内核态。

    3.根据系统调用号从系统调用表中找到系统调用实现历程的实现地址。

    4.执行系统调用实现历程。

    5.返回用户态。

  6. 系统调用的优点:

    1.使编程更容易,用户不用具体了解相应硬件设备。

    2.极大提高了系统安全性。

猜你喜欢

转载自www.cnblogs.com/zyf3855923/p/12077415.html