操作系统总复习
第一章:引论
系统硬件组织
微型机:处理机+存储器+输入输出设备。总线结构(各部分通过总线交换信息)
大小型机:中央处理器,I/O处理机(通道),存储器,I/O设备。
计算机软件组织
计算机软件包括系统软件和应用软件
- 系统软件:指管理系统资源或为其他软件运行提供服务的软件,如操作系统,语言处理程序等
- 应用软件:指为解决某个的特定的应用问题而编制的软件系统
计算机系统软件层次关系
操作系统的定义*
自底而上:OS是用来高效地控制和管理系统资源的程序集合
自顶而下:OS使为用户提供一个等价的扩展计算机或称虚拟机,以方便用户使用计算机的程序集合
“用以控制和管理系统资源,方便用户使用计算机的程序的集合”--资源管理者
多道程序设计*
把一个以上程序存放在内存,并同时运行,共享处理机时间和外部设备等系统资源。
多道程序并行运行
OS的功能*
OS作为用户与计算机的接口
- 用户及接口(普通用户)
- 程序级接口(设计开发者)
OS作为系统资源管理者
- 处理机管理
- 存储器管理
- I/O设备管理
- 信息管理
OS的特性*
- 并发性:指进程并发执行
- 共享性:指多个进程共享系统资源
- 虚拟性:指将物理资源虚拟化
- 异步性:指进程的运行过程的不可预测性
OS的类型*
根据CPU时间的分配给进程方式的方式不同,分为:
- 批处理操作系统
- 分时操作系统
- 实时操作系统
多道批处理OS
分时操作系统
实时操作系统
第二章:操作系统的运行环境
存储保护*
目的:保证OS及其他程序不被错误的操作所破坏
保护常用方法:
界地址寄存器
存储键
CPU的工作状态*
- 用户态(目态):
- 用户态是CPU执行程序时的一种工作状态,其中CPU只能访问受限的资源和执行受限的指令。
- 在用户态下运行的程序不能直接操作系统的核心部分或其他敏感硬件资源。它们通过系统调用(例如,向操作系统请求服务)来访问这些资源。
- 大多数应用程序和用户级别的任务在用户态下执行。
- 管态:
- 管态是CPU执行操作系统内核(核心部分)代码时的一种工作状态。
- 在管态下,CPU有权访问所有资源和执行所有指令,包括操作系统的核心服务和对硬件的底层控制。
- 操作系统内核在管态下运行,可以执行特权指令和直接管理系统的硬件。
特权指令和非特权指令*
- 特权指令:
- 特权指令是只有在系统的特权级别(通常是管态或内核态)下才能执行的指令。
- 这些指令通常涉及对系统底层硬件和资源的管理,例如修改页表、控制中断、访问 I/O 端口等。
- 操作系统内核使用特权指令来执行关键的系统管理任务,保护系统的核心部分免受用户程序的直接访问。
- 非特权指令:
- 非特权指令是在用户态下执行的指令,无法直接访问或修改关键的系统资源。
- 这些指令通常包括常规的计算和数据处理指令,例如算术运算、数据移动等,以及用户程序执行的大多数指令。
- 用户程序在非特权级别下运行,只能执行这些非特权指令,无法直接影响系统的核心功能和资源。
重定位*
相关概念
- 绝对地址:主存单元的实际地址
- 相对地址:相对于某个基准地址的位置,程序员编程时使用,用于安排指令和数据
- 逻辑地址空间:相对地址的全体/集合
- 物理地址空间:绝对地址的集合,即实际的主存地址空间
重定位定义
把程序中的相对地址变换成绝对地址,使程序装入主存中后能正确执行。
静态重定位:程序装入主存时,运行前由连接装入程序进行重定位
动态重定位:处理及每次访问主存时,由动态地址变换机构(硬件)自动进行重定位,把相对地址转换成绝对地址
绝对装入程序及相对装入程序
绝对装入程序
程序的目标代码被设计为在内存的固定位置执行,即程序中的地址是绝对地址。
相对装入程序
允许程序在内存中的不同位置加载而无需修改程序的目标代码。
第三章:进程管理
进程的定义*
进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,包括程序计数器、寄存器和变量的当前值。
进程和程序的区别*(共5点)
- 进程是程序的执行(动态),程序是一组指令的有序集合(静态)
- 进程有诞生和死亡(生命过程),程序是永久的
- 进程=程序+数据+进程控制块(pcb)
- 一个程序可对应多个进程--程序的多次执行
- 一个进程可包含多个程序
进程的三个基本状态*
运行状态(Running), 就绪状态( Ready), 阻塞/等待状态(Blocked)
进程的物理特性及存在标志-PCB*
进程控制块PCB*
进程组成: 程序 + 数据 + PCB
PCB:用以记录进程有关信息的一块主存。是由系统在创建进程时为每个进程分别建立的。随时刷新进程状态,以便OS的进程管理程序对进程进行调度。
作用:
- 记录进程的有关信息(标识信息、状态信息、调度信息、通讯信息,占用资源信息,中断现场等)。
- 标志进程的存在(与进程同时建立/撤消)。
PCB:是OS管理进程的主要数据基。
进程的控制原语
建立进程原语(Create);
撤消进程原语(Destroy);
挂起进程原语(Suspend);
解挂进程原语(Resume);(激活Active)
改变优先数原语(Change Priority);
阻塞进程原语(Block);
唤醒进程原语(Wakeup);
调度进程运行原语(SCHEDULER)。
第四章
线程定义
线程是进程内一个相对独立的、可调度的执行单元。
线程具有以下性质
- 线程是进程内一个相对独立的可执行单元
- 线程是操作系统的基本调度单元,因此线程中应包含有调度所需的必要信息
- 由于线程是被调度的基本单元,而进程不是调度的单元。所以每个进程在创建时,至少需要同时为该进程创建一个线程。进程中至少有一个或一个以上线程,否则进程无法被调度执行
- 需要时,线程可以创建其它线程
- 进程是被分给并拥有资源的基本单元,同一进程内的多个线程共享改进程的资源。但线程并不拥有资源,只是使用它们
- 由于共享资源,所以线程间需要通信和同步机制
- 线程有生命期,有诞生和死亡,在生命期中有状态的变化
第五章 :互斥与同步
临界资源和临界段*
临界资源:具有排它性使用特点的资源。
临界区:进程中访问共享变量的代码段。
访问同一临界资源的各临界段分散在各有关进程的程序中。
临界段设计原则
- 有空让进: 当无进程在互斥区时,任何有权使用互斥区的进程可进入
- 无空等待: 不允许两个以上的进程同时进入互斥区
- 多中择一: 当没有进程在临界区,而同时有多个进程要求进入临界区,只能让其中之一进入临界区,其他进程必须等待
- 有限等待: 任何进入互斥区的要求应在有限的时间内得到满足
- 让权等待: 处于等待状态的进程应放弃占用CPU,以使其他进程有机会得到CPU的使用权
信号量S的物理含义及PV操作的物理含义*
S
- S>0时,S表示可使用的资源数;或表示可使用资源的进程数;
- S=0时,表示无资源可供使用;或表示不允许进程再进入临界区;
- S<0时,-S表示等待使用资源的进程个数;或表示等待进入临界区的进程个数
PV
- 当S<0时:调用P(S)使资源数S减1,调用P(S)的进程被阻塞;调用V(S)后使可用资源数S加1,并唤醒一个等待使用资源S的进程。
- 当S=0时:调用P(S)使资源数S减1,调用P(S)的进程被阻塞;调用V(S)后使可用资源数S加1,并继续运行
- 当S>0时:调用P(S)使资源数S减1,并继续运行;调用V(S)后使可用资源数S加1,并继续运行;