目录
Part 1:什么是进程
一、概念:区分程序和进程
程序:静态的,磁盘里的文件,一系列的指令集合。
进程:动态的,程序的一次执行过程,系统进行资源分配和调度的一个独立单位。
二、组成:进程在计算机里的物理存在形式
进程被创建时(即程序被执行时),操作系统为该进程分配一个唯一的进程ID,并把该进程的 ①资源占用情况(如内存、I/o设备、文件)和 ②运行情况(如CPU使用时间、磁盘使用情况、网络流量使用情况等)记录在一个数据结构PCB (Process Control Block)中,即进程控制块。
三、特征
Part 2:进程的状态与组织、进程控制
一、五种状态:
创建、就绪、运行、阻塞、终止
二、进程的两种组织方式:
1.链接方式:
执行指针、就绪队列指针、阻塞队列指针(根据阻塞原因不同还会细分)…
2.索引方式:
就绪索引表、阻塞索引表
三、进程控制:就是要实现进程状态转换
1.如何实现进程控制?-------“原语”
2.进程控制相关的原语:创建、终止、阻塞、唤醒、切换
(如在阻塞一个进程的时候起码要一口气完成两个操作:①更改进程状态位;②把进程放入阻塞队列里)
(1)创建:申请空白PCB—分配资源—初始化PCB—把pcb放入就绪队列
引起创建进程的事件:用户登录、作业调度、提供服务、应用请求等
(2)终止:找到相应PCB—若处于运行态,剥夺CPU—终止所有子进程—归还所有资源—删除PCB
引起终止进程的事件:正常结束、异常结束(除以0、非法使用特权指令等)、外界干预(用户ctrl+alt+delete)
(3)阻塞和唤醒:
(4)切换:
3.如何实现原语的“原子性”?
答:使用关中断指令和开中断指令(均为特权指令)。
Part 3:进程通信
各进程拥有的内存地址空间相互独立。
为了保证安全,一个进程不能直接访问另一个进程的地址空间。
实现进程间信息的交换(进程通信)有三种方法:共享存储、消息传递、管道通信