- 操作系统的定义和作用
定义:控制和管理计算机软硬件资源,合理组织计算机的工作流程,方便用户使用的程序集合。
作用:- 用户与计算机硬件系统之间的接口(用户的观点)
- 计算机系统资源的管理者(资源管理的观点)
- 实现对计算机资源的抽象
- 什么是中断?
CPU在收到外部中断信号后,停止原来的工作,转而去处理该中断事件,完成后再回到原来的端点继续工作。 - 操作系统的五大功能
- 处理机管理:进程控制、进程调度、进程同步、进程通信
- 存储管理:内存分配、内存保护、地址映射、内存扩充
- 设备管理:缓冲功能、设备分配、设备处理、
- 文件管理:文件存储空间的管理、目录管理、文件的读写管理
- 用户接口:用户接口、程序接口、图形接口
- 操作系统的四大特征
- 并发性:在操作系统中同时存在许多活动,多个事件在同一时间段内发生。
- 并发:两个或多个事件在同一时间段内发生,多个任务轮流交替使用CPU
- 并行:两个或多个事件在同一时刻发生,同时执行
- 共享性:系统中的资源可供内存中多个并发执行的进程共同使用。
- 互斥共享方式(打印机、磁带机)
- 同时访问方式(磁盘设备)
- 临界资源是在一段时间内只允许一个进程访问的资源
- 虚拟性:通过某种技术把一个物理实体变为若干个逻辑上的对应物。
- 异步性:进程的执行顺序和执行时间不确定(但结果是确定的)
- Spooling机理及特点
- Spooling是外部设备联机并行操作,又称为假脱机技术,Simultaneous Peripheral Operation Online。它是实现批处理的主要输入输出手段。利用磁盘做缓冲,将输入、计算、输出分别组织成独立的任务流,使I/O和计算真正并行。由输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程组成。
- 输入进程将用户要求的数据从输入设备通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接将数据从输入井读入内存。输出进程把用户要求输出的数据先从内存送到输出井,然后可以做其它事情,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备。
磁盘是一种高速设备,与内存交换数据的速度优于打印机、键盘、鼠标等中低速设备。 -
特点:提高了I/O速度,从对低速I/O设备进行的操作变为对输入井和输出井的操作;将独占设备改造成共享设备;实现了虚拟设备功能;
image.png
- 什么是作业
作业是用户在一次计算过程中或一次事务处理过程中,要求计算机系统所做工作的总称。
作业控制块JCB是用来对作业进行描述的数据结构,保存系统对于作业进行管理所需要的全部信息,位于磁盘区域中,和作业一一对应。 - 进程及其特性
进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。
特性:
动态性:进程是程序的一次执行,具有一定的生命期,动态产生、变化和消亡。
并发性:多个进程实体同时存在于内存中,且能在一段时间内同时执行。
独立性:进程拥有自己独立的进程控制块PCB
异步性:各个并发进程按照各自独立的,不可预知的速度向前推进
交互性:并发进程之间具有直接或间接的关系,在运行过程中需进行必要的交互,以完成特定的任务 - 进程和程序的区别
进程是动态的,程序是静态的;组成不同,进程=程序+数据+PCB;进程的存在是暂时的,程序的存在是永久的;一个程序可以对应多个进程,一个进程也可以包含多个程序 -
进程的状态
运行状态:进程占有CPU,并在CPU上运行
就绪状态:一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU,立即可以运行)
等待状态:阻塞状态,进程因为等待某种事件发生而暂时不能运行的状态(即使CPU空闲,该进程也不可运行)
image.png
五状态:增加了创建状态和结束状态
七状态:增加了就绪挂起和阻塞挂起- 挂起:一些低优先级进程可能等待较长时间而被对换至外存,为运行进程提供足够内存
- 就绪挂起:进程在外存,但是要进入内存,即可运行
-
阻塞挂起:进程在外存并等待某事件的出现
image.png
- 进程调度
进程调度的任务:控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程。
调度算法:- 先来先服务(FCFS):按照作业提交或进程变为就绪状态的先后次序分派CPU;有利于长作业,不利于短作业
- 最短作业优先(SJF):对预计执行时间短的作业优先分配处理机;长作业可能长时间得不到执行,未考虑作业的优先级
- 最高响应比优先(HRRN):响应比R=(等待时间+要求执行的时间)/ 要求执行的时间
- 时间片轮转RR:通过时间片轮转提高进程并发性和相应的时间特性,从而提高资源利用率
- 基于优先级的调度算法:所有就绪进程按优先级从大到小排序,调度时从就绪队列中选择优先级最高的投入运行
- 多级队列算法:引入多个就绪队列,各个队列区别进行不同的处理,达到一个综合的调度目标
- 多级反馈队列:设置多个队列,分别赋予不同的优先级,优先级越高的队列时间片越短。若队列1一个时间片未能执行完,则将进程投入到队列2末尾。只有当高优先级队列为空才会执行低优先级队列中的进程。
- 什么是优先级反转
高优先权的进程被低优先权的进程阻塞,反而使具有中级优先权的进程先于高优先权的进程执行,导致系统崩溃。原因是多任务共享资源。 - 进程和线程的区别
- 进程是系统进行资源分配和调度的基本单位,引入进程是为了使多个程序可以并发执行,以提高系统的资源利用率和吞吐量。
- 线程是进程内一个相对独立的,可调度的执行单元。资源的拥有者还是进程。引入线程是为了减少程序在并发执行过程中的开销。
- 进程间相互独立,同一进程中的各线程共享进程的内存和文件资源,故可直接进行不通过内核的通信。线程减小了并发执行的时间和空间开销。
- 进程间通信需要进程同步和互斥手段,以保证数据的一致性。而线程间可以直接读/写 进程数据段(如全局变量)来进行通信。
网友评论