![ab415f6a8b3c885d7db13bb81664f499.png](https://i-blog.csdnimg.cn/blog_migrate/c239ba6756181064935994cf62ce8a2a.jpeg)
封面图片来源:沙沙野
内容概览
- 进程必备的理论基础
- 进程的概念
- 并行和并发
- 进程的三状态
- 同步异步
- 进程模块
关于进程必备的理论基础
- 操作系统的作用
- 隐藏丑陋复杂的硬件接口,提供良好的抽象接口
- 管理、调度进程,并且将多个进程对硬件的竞争变得有序
2. 多道技术产生背景
- 针对单核,实现并发
- 现在的主机一般是多核,那么每个核都会利用多道技术
- 有 4 个 cpu,运行于 cpu1 的某个程序遇到 io 阻塞,会等到 io 结束再重新调度
- 会被调度到 4 个 cpu 中的任意一个,具体由操作系统调度算法决定
3. 多道技术空间上的复用:如内存中同时有多道程序
4. 多道技术时间上的复用
- 复用一个 cpu 的时间片
- 注意,遇到 io 切,占用 cpu 时间过长也切
- 核心在于切之前将进程的状态保存下来
- 这样才能保证下次切换回来时,能基于上次切走的位置继续运行
进程的概念
- 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动
- 进程是操作系统动态执行的基本单元
- 在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元
- 进程与程序的区别
- 程序是指令和数据的有序集合,是一个静态的概念。程序可以作为一种软件资料长期存在,是永久的
- 进程是程序在处理机上的一次执行过程,它是一个动态的概念。进程是有一定生命期的,是暂时的
5. 注意:同一个程序执行两次,就会在操作系统中出现两个进程。所以可以同时运行一个软件,分别做不同的事情也不会混乱,比如可以打开两个Pycharm做不同的事
6. 进程调度
- 要想多个进程交替运行,操作系统必须对这些进程进行调度
- 这个调度也不是随即进行的,而是需要遵循一定的法则
- 由此就有了进程的调度算法:先来先服务调度算法、短作业优先调度算法、时间片轮转法、多级反馈队列