一、进程
1、进程状态
2、进程控制块(PCB)
3、进程调度
等待运行的进程保存在就绪队列上;等待特定I/O设备的进程列表,称为设备队列。 对于批处理系统,提交的进程多于可以立即执行的。这些进程会被保存到大容量存储设备的缓冲池,以便以后执行。长期调度程序从该池中选择进城。短期调度程序从准备执行的进程中选择进程。 I/O密集型进程,执行I/O比执行计算需要花费更多时间。相反,CPU密集型进程很少产生I/O请求,而是将更多时间用于执行计算。
4、进程间通信
(1)共享内存系统
(2)消息传递系统
a. 直接通信:
b. 间接通信:
(3)同步
5、客户机服务端通信
(1)远程过程调用(RPC)
数据表示: 调用语义: 端口获取:
(2)管道
实现考虑:
a. 普通管道
生产者向管道的一端写入,消费者从另一端读出(单向)。进程完成通信并且终止时,管道就不存在了。
b.命名管道
二、多线程
1、优点
2、多核编程
(1)并行类型
数据类型注重将数据分布于多个计算核上,并在每个核上执行相同操作。 任务并行涉及将任务(线程)而不是数据分配到多个计算核上。
(2)多线程模型
用户层的用户线程和内核层的内核线程存在某种关联:
(3)隐式多线程
将多线程的创建与管理交给编译器和运行时库来完成。这种策略被称为隐式线程。
a. 线程池
b. OpenMP
c. 大中央调度
三、进程调度
1、抢占调度
2、调度算法
(1)先到先服务调度
(2)最短作业排序
(3)优先级调度
(4)轮转调度
(5)多级队列调度
(6)多级反馈队列调度
3、多处理器调度
(1)非对称多处理和对称多处理
(2)处理器亲和性
(3)负载平衡
4、实时CPU调度
(1)软实时系统与硬实时系统
(2)事件延迟
中断延迟: 影响中断延迟的一个重要因素是:在更新内核数据结构时终端可能会被禁用(由于同步)的时间量。
调度延迟:
(2)优先级调度
(3)单调速率调度
(4)最早截止期限优先调度
(5)比例分享调度
|