一、管程
1、管道概念概念
管道是用于连接一个读进程和一个写进程。用来实现它们之间通信的共享文件。
2、管程的概念
管程是由一些共享数据、一组能为并发进程所执行的作用在共享数据上的操作集合、初始代码、以及存取权组成。管程提供了一种可以允许多线程安全、有效地共享抽象数据类型的机制,管程实现同步机制由条件结构所提供。
3、管程的结构
每个管程都要有一个名字以供标识。
二、进程调度
进程调度方式是指当有更高优先级的进程到来时如何合理分配CPU。调度方式分为可剥夺、不可剥夺两种。
1、 三级调度
1.1 高级调度
又称为长调度、作业调度、接纳调度,它决定处于输入池中哪个后台作业可以调入主系统做好执行准备,称为一个或一组就绪进程。
1.2 中级调度
又称为中程调度、对换调度,它决定处于交换区中的哪个就绪进行可以调入内存,用来直接参与对CPU的竞争。
1.3 低级调度
低级调度又称为短程调度、进程调度,它决定处于内存中的哪个就绪进程可以占用CPU。低级调度室操作系统中最活跃最重要的调度程序,对系统影响很大。
2、调度算法
2.1 先来先到服务
按照作业或进程称为就绪状态的先后顺序分配CPU,然后去执行。适合长作业,不利于短作业。属于宏观调度。
2.2 时间片轮转
主要是为了提高资源利用率。通过时间轮转提高进程并发性和响应时间特性,从而提高资源利用率。分为固定时间片、可变时间片。
2.3 优先调度
优先级算法让每个进程都有一个优先数,数值越大优先级越高,拥有先执行的特权。优先级调度分为静态优先级和动态优先级。
静态优先级:进程的优先级在创建时确定,直到进程终止都不会去改变。优先级确定因素:进程类型、对资源需求、用户要求。
动态优先级:创建进程赋予一个优先级,在进程运行过程中可以改变,以便获得更好的调度性能。
2.4 多级反馈调度
该算法是时间片轮和优先级算法的综合利用。
3、进程优先级确定的原则
1、对于I/O型进程让其进入最高优先级队列,以及响应需要I/O交互的进程。
2、对于计算型进程每次执行完时间片后进入更低级队列。
3、对于I/O次数不多,主要回收CPU处理的进程,在I/O完成后,返回优先I/O请求时离开的队列,避免每次都回到最高优先级队列后再逐次下降。
4、为适应一个进程在不同时间段运行的特点,I/O完成时,提高优先级;时间片用完是,降低优先级。