1、概念:
简单来说,进程是执行中的程序。它包括的内容有:
(1)文本段(代码段)即程序代码
(2)当前活动, 通过程序计数器跟处理器的寄存器来表示
(3)堆栈段(包括临时数据,函数参数,返回地址和局部变量)
(4)数据段(全局变量)
2、进程状态
(1)新的。进程正在被创建
(2)运行。指令正在被执行
(3)等待。进程等待某个事件的发生(如IO完成或收到信号)
(4)就绪。进程等待分配处理器
(5)终止。进程完成执行
3、进程控制块(PCB)
包括进进程状态信息,程序计数器,CPU寄存器,CPU调度信息,I/O状态信息
4、进程调度
(1)长期调度程序、短期调度程序(执行频率不同) 中期调度程序
长期调度程序:从进程池中选择程序,并装入内存以准备执行
短期调度程序:从就绪的程序当中选择进程,并装入内存以准备执行。为系统选择合理的I/O为主和CPU为主的进程。
中期调度程序:核心思想是从内存或者CPU竞争中移除进程,从而降低多道程序设计的程度。
(2)上下文切换。保存当前运行中进程的状态,并且恢复另一个进程的状态。
5、进程间通信
两种基本模式:
(1)共享内存(进程通过对建立的共享内存区域 进行读写来实现通信,更快)
无限缓冲:生产者可以无限产生新的信息,消费者有时不得不等待新的信息。
有限缓冲:如果缓冲为空,消费者必须等待,如果缓冲是满的,生产者必须等待。
(2)消息传递(通过协作进程间交换信息来实现,相对较慢)、消息传递系统
直接或间接通信
直接通信:对称:发送方要标明接收方,接收方要标明发送方;不对成:发送方标明接收方,接收方接受来自任何进程的信息
间接通信:通过邮箱进行通信
同步或异步通信
阻塞send 非阻塞send 阻塞receive 非阻塞recieve
自动或显示缓冲
零容量、有限容量、无限容量