进程管理

进程与线程

1.进程是资源分配的基本单位
2.线程是独立调度的基本单位
3.区别:
拥有资源
调度
系统开销
通信方面
编程复杂性

进程的状态切换

进程调度算法

1.批处理系统:
先来先到服务(fcfs)
短作业优先(sjf)
最短剩于时间(srtn)
2.交互式系统:
时间片轮转
优先级调度
多级反馈队列
3.实时系统:
请求在一个确定时间内得到响应

进程同步

1.临界区
2.同步与互斥
3.信号量
4.管程

经典同步问题

1.读者-写者问题
2.哲学家进餐问题

进程通信

1.管道
只支持父子进程中通信
2.FIFO(命名管道)
去除了管道只能在父子进程中使用的限制
3.消息队列
消息队列可以独立于读写进程,避免了FIFO的同步阻塞问题,读进程可以根据消息队列有选择的接受
4.信号量
是一个计数器,控制多进程对共享数据的访问
5.共享存储
允许多个进程共享一个给定的存储区,结合信号量使用
6.套接字
用于不同机器之间的通信

undefined