中级——004 操作系统基础

操作系统定义

有效地组织和管理系统中的各种软、硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和接口。

操作系统的特征

并发性、共享性、虚拟性、不确定性

操作系统的功能

进程管理:采用技术将CPU的时间合理地分配给每个任务,主要包括进程控制、进程同步、进程通信、进程调度。
文件管理:文件存储空间管理、、目录管理、文件的读、写管理和存取管理
存储管理:主要包括存储分配与回收、存储保护、地址映射(变换)和主存扩充。
设备管理:对硬件设备的管理,包括输入、输出设备的分配、启动、完成和回收。
作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等。

操作系统的分类

1、分时操作系统:多路性、独立性、交互性、及时性
2、实时操作系统:针对于专用系统设计、交互性弱、对数据响应强度强
3、网络操作系统:集中模式、客户端/服务器模式、对等模式(peer-to-peer)
4、分布式操作系统:是网络系统的更高级形式,同时又具备透明性、可靠性和高性能等特性。
5、嵌入式操作系统:运行在智能芯片中,特点是微型化、可定制、实时性、可靠性、易移植性。

进程管理

进程管理也叫处理机管理。
引入进程管理的原因:在多道程序批处理系统和分时系统中有多个并发执行的程序,采用程序已无法描述系统中程序执行时动态变化的过程。
进程是资源分配和独立运行的基本单位。
进程管理的重点需要研究诸进程之间的并发特性,以及进程之间相互合作与资源竞争产生的问题。

程序顺序执行的特征

顺序性、封闭性、可再现性

程序并发执行的特征

1、失去了程序的封闭性。
2、程序和机器的执行程序的活动不再一一对应。
3、并发程序间的相互制约性。

进程的组成

进程是程序的一次执行,该程序可以和其他程序并发执行。进程通常是由程序、数据和进程控制块(Process Control Block,PCB)组成的。
PCB:PCB是进程存在的唯一标志。
程序:程序部分描述了进程需要完成的功能。
数据:数据部分包括程序执行时所需的数据即工作区。

进程的状态

运行:当一个进程在处理机上运行时,则称该进程处于运行状态。
就绪:一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行。
阻塞:阻塞也称等待或睡眠状态,一个进程正在等待某一事件的发生(例如请求I/O,等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法完成运行,这种叫做阻塞状态。
新建:进程刚刚被创建时没有被提交的状态,并等待系统完成创建进程所必要的信息。有了新建态操作系统,往往可以根据系统的性能和主存容量的限制推迟新建态进程的提交。
第一阶段:一个新进程创建所必要的管理信息。
第二阶段:让该阶段进入就绪状态。
终止
第一阶段:等待操作系统进行善后处理。
第二阶段:释放主存。
image

具有挂起状态的进程状态及其转换

由于进程的不断创建,系统资源特别是主存资源已不能满足进程运行的要求。这时,就必须将某些进程挂起,放在磁盘对换区,暂时不参加调度,以平衡系统负载。或者是系统出现故障,或者是用户调试程序,也可能需要将进程挂起检查问题。
活跃就绪:进程在主存并且可被调度的状态。
静止就绪:就绪进程被对换到辅存时的状态,它是不能被直接调度的状态,只要当主存中没有活跃就绪状态进程,或者是挂起态进程具有更高的优先级时,系统将挂起就绪态进程调回主存并转换为活跃就绪。
活跃阻塞:进程在主存,一旦等待的事件产生便进入活跃就绪状态。
静止阻塞:阻塞进程对换到辅存时的状态,一旦等待的事件产生便进入静止就绪状态。
image

进程的控制

进程控制就是对系统中所有进程从创建到消亡全过程实施有效的控制。

进程间的通信

1、同步与互斥
2、信号量机制
3、高级通信原语

管程

管程由一些共享数据、一组能为并发进程所执行的作用在共享数据上的操作的集合、初始代码以及存取权的组成。

进程调度

进程调度方式是指当有更高优先级的进程到来时如何分配CPU。调度方式可分为剥夺和不可剥夺两种。
可剥夺是指当有更高优先级的进程到来时,强行将正在运行进程的CPU分配给高优先级的过程。
不可剥夺是指当有更高优先级的进程到来时,必须等待正在运行进程自动释放占用的CPU,然后将CPU分配给高优先级的过程。

三级调度

一个作业从提交到完成需要经历高、中、低三级调度。
高级调度:决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。在系统中,一个作业只需要经过一次高级调度。
中级调度:决定处于交换区的哪个就绪进程可以调入主存,以便直接参与对CPU的竞争。
低级调度:决定处于内存中的哪个就绪进程可以占用CPU。低级调度是操作系统中最活跃、最重要的调度程序,对系统的影响很大。

调度算法

时间片轮转
优先级调度
先来先服务(FCFS)
多级反馈调度

进程优先级确定

对于I/O型进程,让其进入最高优先级队列,以及时响应需要I/O交互的进程。通常执行一个小的时间片,在该时间片内要求可处理完一次I/O请求的数据,然后转入到阻塞队列。
对于计算型进程,每次都执行完时间片后进入更低级队列。最终采用最大时间片来执行,以减少调度次数。
对于I/O次数不多,主要是CPU处理的进程,在I/O完成后,返回优先I/O请求时离开的队列,以免每次都回到最高优先级队列后再逐次下降。
为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时,降低优先级。

死锁

死锁是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。
产生死锁的原因是因为竞争资源及进程推进顺序非法。
当系统中有多个进程所共享的资源不足以满足它们的需求时,将引起它们对资源的竞争导致死锁。
其中,进程推进顺序非法,是指进程在运行的过程中请求和释放资源的顺序不当,导致进程死锁。

进程资源图

方框表示资源,圆圈表示进程
image

死锁产生的4个必要条件

互斥条件、请求保持条件、不可剥夺条件、环路条件

死锁的处理

鸵鸟处理(不理睬策略)、预防策略、避免策略和检测与解除死锁。
死锁预防:
1、预先静态分配法。破坏”不可剥夺条件“,预先分配所需资源,保证不等待资源。
2、资源有序分配法。破坏”环路条件“,把资源分类按顺序排列,保证不形成环路。
死锁避免:不那么严格地限制产生死锁的必要条件。
死锁检测:检测到死锁,设法加以解除。
死锁解除:采用资源剥夺发和撤销进程法。

线程

是操作系统中能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程是指进程中一个单一顺序的控制流,一个进程可以并发多个线程,每条线程并行执行不同的任务。

存储器的结构

”寄存器——主存——外存”结构,“寄存器——缓存——主存——存储组织的功能外存”结构

地址重定位

将逻辑地址变换为主存物理地址的过程。

存储管理方案

分区存储管理
分页存储管理
分段存储管理
段页式存储管理
虚拟存储管理

设备管理

设备管理不仅要管理实际I/O操作的设备(如键盘、鼠标、打印机等),还要管理设备控制器、DMA控制器、中断控制器和I/O处理机(通道)等支持设备。
设备管理包括各种设备分配、缓冲区管理和实际物理I/O设备操作,通过管理达到提高设备利用率和方便用户的目的。

设备管理的技术

通道技术、MA技术、冲技术、pooling技术

磁盘调度算法

1、先来先服务(First-Come,First-Served,FCFS)
2、最短寻道时间优先(Shortest Seek Time First,SSTF)
3、扫描算法(SCAN)
4、单向扫描调度算法(CSCAN)
5、旋转调度算法

文件管理
作业管理

image

posted @ 2023-04-29 21:26  快乐小狗呀  阅读(28)  评论(0)    收藏  举报