文章目录
前文
[[]] 主要特点:
1、并发性:
并发性——是指两个或以上的事物在同一时间间隔发生
并行性——是指两个或以上事物在同一时刻发生
2、共享性:
系统中的资源可以供多个程序多个程序使用
这里有两种访问方式:
- ①、互斥方式——如:多个进程要使用打印机
- ②、同时访问——如:多个进程读取信息(此时不会对资源进行更改)
3、虚拟性
4、异步性(/不确定性)
程序的运行行为是不可预知的
[[]] 如何使用操作系统?
OS提供了用户和OS接口
一、命令接口
联机命令接口
输入一条指令,执行一条命令
脱机命令接口
输入一批指令,执行一批命令
图形用户界面接口
二、程序接口(/系统调用)
[[]]计算机系统的分类
批处理系统
-
单道批处理系统
-
多道批处理系统
分时操作系统
实时操作系统
第一、二章——绪论
三、OS的双重模式 ☆☆☆☆
- 用户模式:
- 又称用户态、目态
- 用户程序执行时,机器所处的状态,具有较低的特权级别;
- 只能执行规定的指令,访问指定的寄存器和存储区。
- 内核模式:
- 又称系统态、管态
- 操作系统管理程序执行时,机器所处的状态,具有较高的特权级别;
- 能执行一切指令,访问所有的寄存器和存储区。
第三章——进程
-
本章目标:☆☆☆
- 明确进程的概念及组成
- 明确进程的基本状态及转换条件
- 明确进程控制块的作用
- 明确进程调度的类型(三个)及调度的过程(上下文切换)
- 了解进程的操作有哪些
- 明确进程通信的机制有哪些
一、进程
概念:
进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程间可以并发执行和交换信息。一个进程在运行时需要一定的资源,如CPU、存储空间及I/O设备等。
-
提炼
- ① 进程是资源分配的基本单位;
- ② 进程是由一组机器指令、数据和堆栈组成的;
- ③ 进程是能够独立运行的活动实体
- ④ 进程在运行时需要CPU、存储空间、I/O设备等资源
-
关于选择题中考察进程的总结:
- ①进程是程序在处理器上的一次执行过程;
- ②进程是可以和别的进程并行执行的计算;
- ③进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位;
- ④进程是一个数据结构及能在其上进行操作的一个程序;
- ⑤进程是一个程序关于某个数据集合在处理器上顺序执行所发生的活动
二、进程的组成 ☆☆
看看即可,不用牢记
- (1)进程标识符:它是唯一的标志,对应进程的一个标志符或数字;
- (2)处理机状态:包括是处理机的各种寄存器内容信息;
- (3)进程调度信息:表面该进程的执行状态;调度优先权:表示进程获取CPU的优先级别;进程之间通信信息:反映该进程与哪些进程有什么样的通信关系;
- (4)进程控制信息:
- 被保护的信息:
- 程序计数器状态字,各工作寄存器的内容的等;资源需求、分配和控制方面的信息;
- 进程实体信息:
- 指出该进程的程序和数据的存储情况,在内存或外村的地址、大小等;
- 族系关系:
- 反映父子进程的隶属关系;其他信息:如文件信息、工作单位等
- 被保护的信息:
三、进程和程序的关系 ☆☆☆
- ①进程是动态的,程序是静止的。进程是程序的执行,每个进程包含程序段和数据段以及进程控制块,而程序只是有序代码的集合,无执行含义;
- ②进程是暂时的,程序是永久的。进程有生命周期,程序可永久保存。
- ③进程和程序组成不同:进程包括程序段、数据段、进程控制块;程序仅是代码的集合;
- ④进程具有并发特性,程序没有。
四、进程状态及状态转换 ☆☆☆☆
进程状态
-
五个状态
- 新的——进程正在被创建
- 就绪——进程等待分配处理器
- 运行——进程指令正在被执行
- 阻塞(/等待)——进程等待某个事件的发生,如IO操作
- 终止——进程完成执行
-
注意:
对于单处理器系统,一次只有一个进程可以在处理器上运行,但可有多个进程处 于就绪或等待状态。
进程状态转换图
-
转换图
-
进程状态转换及条件
- (1)就绪——>运行:进程具备运行条件,当进程调度程序选择了进程后,便将其转入运行状态。
- (2)运行——>阻塞:进程需要等待某种事件的发生,如执行了输入输出指令,或者请求资源得不到满足时,进程转阻塞状态
- (3)阻塞——>就绪:进程等待I/O已完成,或者请求的资源得到了满足,进程转为就绪状态。
- 阻塞状态必须经过就绪状态才能进入运行状态
- (4)创建——>就绪:进程尚不具备运行条件,所需的资源尚未得到满足。当进程创建完成后,进程转为就绪状态。
- (5)运行——>就绪:进程运行过程中,因某种原因需要延迟运算,则设定好延迟时间后被转入延迟状态。
- 如:
- 中断
- 时间片用完
- 如:
- (6)运行——>完成:进程运行时遇到结束指令后,被转入完成状态
五、进程控制块PCB ☆☆☆
进程控制块是进程组成中最关键的部分;
每个进程有唯一的进程控制块,PCB是进程存在的唯一标志。
PCB是系统为了管理进来程设自置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。
系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志,进程与PCB是一一对应的。
操作系统根据PCB对进程实施控制和管理。
进程的动态、并发等特征是利用PCB表现出来的。
-
补充:PCB放在内存中!内核态进程不能访问自己的PCB!
-
进程是用户态,PCB是放在内存中,只有操作系统能访问,输入内核态,用户态不能访问内核态,所以进程不能访问自己的PCB
六、进程调度 ☆☆☆
进程调度有三级:高级调度、中级调度、低级调度
- (1)高级调度(High Level Scheduling)
- 又称为作业调度或者长期调度
- 其主要功能是根据某种算法,把外存上处于后备队列中的那些作业调入内存以准备执行
- 它的调度对象是作业。
- (2)低级调度(Low Level Scheduling)
- 又称进程调度或者CPU调度,它所调度的对象是进程,从就绪队列中选择进程,并为之分配CPU。
- 进程调度是最基本的一种调度,在多道批处理、分时和实时三种类型的OS中,都必须配置这级调度。
- (3)中级调度(Medium Level Scheduling)
- 当内存资源紧缺时,会把暂时不能运行的进程换出内存,此时这个进程处于“挂起”状态,不参与低级调度;当进程具备运行条件且内存资源富裕时,再将进程重新回调内存工作。
- 引入中级调度的主要目的是为了短期均衡系统负载,充分提高内存利用率和系统吞吐率。在内存管理中使用最多。
七、进程操作 ☆☆
- 进程创建:
fork() 系统调用,父进程通过调用fork创建子进程。但是!子进程系统调用 fork() 的返回值为0,父进程返回值为子进程的进程标识符(非零)! - 进程终止:
exit() 系统调用可以终止进程