标签:
操作系统是一组能有效阻止和管理计算机硬件和软件资源,合理地把对各类作用进行调度,以及方便用户使用的程序的集合。
上面介绍的多道批处理系统、分时系统和实时系统各自有各自的特点,但同时,他们还共同具有并发、共享、虚拟和异步四个基本特征。
引入OS的目的是为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊的运行,并能最大程度的提高系统中各种资源的利用率,方便用户的使用。OS具有处理机管理、存储器管理、设备管理、文件管理以及用户接口五大功能。
为了能使程序并发的执行,并且可以对并发执行的程序加以控制,引入进程。为了使参与并发执行的每个程序都能独立运行,为每个进程配置一个进程控制块PCB,用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。这样由程序段、相关的数据段和PCB三部分构成了进程实体。
引入线程的目的是减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。
进程是一个资源的拥有者,如果频繁的进行创建撤销切换会造成很大的时空开销。所以,引入线程,将线程作为调度和分派的基本单位,进程作为资源分配的独立单位。
首先程序与进程的区别:
其次是进程与线程的区别:
1) 进程的三种基本状态:
进程的三种基本状态及其转换如下图:
2) 为了满足进程控制块对数据及操作的完整性要求以及增强管理的灵活性,引入了创建状态和终止状态。
进程的五种基本状态以及转换如下图:
3) 挂起状态的引入:增加内存容量,实现虚拟内存。挂起是将进程调至内存外,从而保证内存充足。
引入挂起状态之后的状态装换图如下:
进程同步机制的主要任务,是对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则共享系统资源,并能很好地相互合作,从而是程序的执行具有可再现性。
1) 两种形式的制约关系
2)同步机制应遵循的规则:
3) 硬件同步机制
4) 信号量机制
wait(S){
while(S<=0);
S--;
}
signal(S){
S++;
}
wait(S)和signal(S)是两个原子操作,不符合“让权等待”原则。
typedef struct{
int value;
struct process_control_block *list;
}semaphore;
wait(semaphore * S){
S->value --;
if(S-value < 0) block(S->list);
}
signal(semaphore * S){
S->value ++;
if(S->value <= 0) wakeup(S->list);
}
5) 信号量的应用
进程通信类型:
1) 处理机调度的层次
2) 处理机调度算法的目标
CPU利用率:
周转时间:是指作业被提交给系统开始,到作业完成为止的这段时间。
1) 作业运行的三个阶段为收容、运行、完成。作业的三种状态对应为后备状态、运行状态、完成状态。
2) 作业调度的主要任务是决定接纳多少个作业以及接纳哪些作业这两个问题。
3) 作业调度的算法如下:
由于等待时间与服务时间之和就是系统对该作业的响应时间,故优先级又相当于响应比Rp,Rp又可以如下表示:
1) 进程调度的任务有三如下:
2) 进程调度方式
3) 调度算法
1) 实时调度算法的分类
2) 实时调度算法
由于互斥条件是非共享设备所必须的,不仅不能改变,还应加以保证。因此主要是破坏其他三个条件。
标签:
原文地址:http://blog.csdn.net/chun0801/article/details/51926588