如需ppt和思维导图请拉到最后,有github链接
推荐大家自己记笔记,非常好的学习过程
文章链接
操作系统笔记(第一章).
操作系统笔记(第二章).
操作系统笔记(第三章).
操作系统笔记(第四章).
操作系统笔记(第五章).
第二章 进程管理
2.1 进程和线程
2.1.1 进程的概念、组成、特征
概念
进程(Process):是动态的,是程序的一次执行过程
同一个程序多次执行会对应多个进程
组成
当进程被创建时,操作系统会为该进程分配一个唯一的、不重复的“身份证号”—— PID(Process ID,进程ID)
这些信息都被保存在一个数据结构PCB(Process Control Block)中,即进程控制块操作系统需要对各个并发运行的进程进行管理,但凡管理时所需要的信息,都会被放在PCB中
特征
2.1.2 进程的状态与转换、进程的组织
进程的状态
- 创建态
- 就绪态
- 运行态
- 阻塞态
- 终止态
进程的转换
进程的组织
2.1.3 进程控制
进程控制就是要实现进程状态转换
-
如何实现进程控制?
用“原语”实现
原语的执行具有“原子性”,一气呵成
-
如何实现原语的“原子性”?
原语的执行具有原子性,即执行过程只能一气呵成,期间不允许被中断。可以用“关中断指令”和“开中断指令”这两个特权指令实现原子性
进程的创建
用户登录,作业调度,提供服务,应用请求
进程的终止
正常结束、异常结束、外界干预
进程的阻塞
阻塞态是暂时停止运行,比如等待IO操作,等待其他进程配合
进程的唤醒
等待的事件发生
进程的切换
当前进程时间片到
有更高优先级的进程到达
当前进程主动阻塞
当前进程终止
阻塞态是暂时停止运行,比如等待IO操作
2.1.4 进程通信
什么是进程通信?
进程通信就是指进程之间的信息交换。
进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立。
为了保证安全,一个进程不能直接访问另一个进程的地址空间。
共享存储
基于数据结构的共享:比如共享空间里只能放一个长度为10的数组。这种共享方式速度慢、限制多,是一种低级通信方式
基于存储区的共享:在内存中画出一块共享存储区,数据的形式、存放位置都由进程控制,而不是操作系统。相比之下,这种共享方式速度更快,是一种高级通信方式。
管道通信
数据以字符流的形式写入管道,当管道写满时,写进程的write()系统调用将被阻塞,等待读进程将数据取走。当读进程将数据全部取走后,管道变空,此时读进程的read()系统调用将