-
(1) 在任意一个瞬间,一个CPU只能运行一个进程;但是CPU可以由一个进程快速切换至另一个进程,使每个进程各运行几十或几百ms。
(2) 对于多核CPU,每个处理器在任意一个瞬间也只能运行一个进程
(3) 单个处理器可以被若干进程共享,使用__调度算法__决定何时停止一个进程的工作转向另一个进程
-
(1) 一个进程就是一个正在执行程序的实例
(2) 两个进程恰好运行同一个程序时,仍然属于两个不同的进程
-
进程的__创建__:有__4种__情况
(1) 启动操作系统时
启动的线程包括 前台进程 和 后台进程
(2) 已有进程进行系统调用,创建新的进程
例如各种流氓软件
(3) 用户请求创建一个新进程
例如用户键入命令或双击图标
(4) 一个批处理作业的初始化
用户(远程)提交批处理作业
-
不同的进程有不同的地址空间,即便是父进程和子进程
Linux下可以通过fork创建子进程
-
进程的__终止__:有__4种__情况
(1) 正常退出(自愿)
(2) 出错退出(自愿)
(3) 严重错误(非自愿)
(4) 被其他进程杀死(非自愿)
-
进程的__状态__
(1) 运行态:该进程实际占有CPU
(2) 就绪态:可运行,但此时CPU被其他进程占有
(3) 阻塞态:缺乏资源(资源不包括CPU时间片),逻辑上不能运行,除非外部条件改变
-
操作系统的最底层是__调度程序__,所有关于__中断处理、启动进程和停止进程__的具体细节都隐藏在调度程序中
-
多道程序设计模型
(1) 进程存在于__内存__中,因此,内存的大小决定了可以同时存在的进程数量的多少(但是还有虚拟内存这回事,把部分内存的地址空间映射到磁盘上,需要的时候再换回来)
(2) 设内存中有n个进程,每个进程在内存中停留的时间中有p的概率需要等待IO操作,则CPU的利用率近似为 1 - p^n(除非所有进程都在等待IO,否则CPU就会被利用)
(3) 因此,可以通过上述模型,计算__增加内存条是否可以有效提高CPU利用率__
chapter02_进程与线程_1_进程
最新推荐文章于 2023-11-16 19:46:03 发布