【现代操作系统】第二章进程与线程学习笔记

总起:操作系统最核心的概念时进程:正式对正在运行程序的一个抽象。
进程具有:动态性、并发性、结构性、独占性。

2.1 进程

进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。

现代计算机常在同一时间做很多事情,在个人PC机上,启动系统时会启动许多进程。在任何多道程序设计程序中,CPU用一个进程快速切换至另一个进程,是每个进程歌运行几十或几百毫秒。严格地说,在某一瞬间,CPU只能运行一个进程。但是在1秒期间,它可以运行多个进程,这样就产生并行的错觉。

2.1.1 进程模型

在进程模型中,计算机中所有可运行的软件通常也包括操作系统,被组织成进程。一个进程就是一个正在执行程序的实例。从概念上说,每个进程拥有自己的虚拟CPU,当然,实际上真正的CPU在各个进程之间来回切换。
下图(a)中的程序是顺序执行的,(b)中四道程序被抽象为4个拥有自己控制流程的进程,并且每个程序都独立的运行。©中,在观察足够长时间后,所有的进程都运行了,但在任何一个给定的瞬间仅有一个进程真正运行。
在这里插入图片描述
许多芯片具有多个CPU,但是每个CPU只能运行一个进程。

由于每个CPU各个进程之间快速切换,所以每个进程执行其运算的速度是不正确的。而且当同一进程再次执行时,其运算速度通常不可再现。所以在对进程编程时决不能对时序做任何确定的假设。当一个进程具有严格的实时要求时,也就是一些特定的事情一定要在所指定的若干毫秒内发生,那么必须采取特殊措施以保证他们一定在这段时间中发生。

当CPU在运行当前进程时,接收到了优先级更高的进程的请求。CPU会保存当前进程的状态,按照指示从一个进程切换到另一个优先级更高的进程,每个进程都拥有各自的程序。当优先级更高的进程执行完后,又回到之间暂停的进程并继续执行下去。

注意:如果一个进程运行了两遍,算作两个进程。

2.1.2 创建进程

操作系统需要一种方式来创建进程。有四种主要事件导致进程的创建:
①系统初始化
②执行了正在运行的进程的进程调用机制
③用户请求创建一个进程
④一个批处理作业的初始化

不急,挨个解释。
系统初始化。启动操作系统时,通常会创建若干个进程。其中有些是前台进程,其他是后台进程,后台进程与特定用户没有关系。

执行了正在运行的进程的进程调用机制。除了在启动阶段创建进程之外,新的进程也可以在以后创建。一个正在运行的进程经常发出系统调用,一边创建一个或多个新进程协助其工作。在所要从事的工作可以容易地划分为若干相关的但没有相互作用的进程,创建新的进程就特别有效果。

用户请求创建一个进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值