进程

作者: 钱塘 | 来源:发表于2017-06-24 21:05 被阅读12次

进程

经典定义: 一个执行中的程序的实例一个执行中的程序


当一个可执行文件被装入内存时,一个程序才能成为进程

系统由一组进程组成:

  • 操作系统进程执行系统代码
  • 用户进程执行用户代码

通过cpu多路复用,所有这些进程可以并发的执行。

csapp里的描述不够清晰,明天参考恐龙书重写本篇

系统中的每个程序都是运行在某个进程的上下文中的,上下文是由程序正确运行时所需的状态组成的,每次用户执行一个程序时,系统就会创建一个新的进程,然后在这个新进程的上下文中运行这个可执行目标文件。

进程提供给应用程序关键抽象:

  1. 一个独立的逻辑控制流
  1. 一个私有的地址空间

程序计数器(PC,值唯一的对应程序的指令)值的序列叫做逻辑控制流,如下图是一个运行着三个进程的系统,处理器的一个物理控制流分成了三个逻辑流,每个进程一个,每个竖线代表一个进程的逻辑流的一部分,在这个例子中,三个逻辑流的执行是交错的,轮流使用处理器,每个进程执行它的一部分,然后被抢占(preempted)(暂时挂起),然后轮到其他进程,对于一个运行在这些进程之一的上下文中的程序,它看上去就像是在独占地使用处理器,

k.jpeg
一个逻辑流的执行和在时间上与另一个流重叠,称为并发流,这两个流称为并发的运行
  • 并发:多个流并发地执行的一般现象称为并发
  • 多任务:一个进程和其他进程轮流运行称为多任务
  • 并行流:如果两个流并发地运行在不同的处理器核或计算机上,则称它们为并行流,并行流是并发流的真子集

并发的思想和流运行的处理器核数或者计算机数无关,如果两个流在时间上重叠,那么它们就是并发的。即使它们是运行在同一个处理器上的。

私有地址空间

一个进程为每个程序提供它自己的私有地址空间,一般而言,和这个空间中某个地址相关联的那个存储字节是不能被其他进程读或者写的,从这个意义上说,这个地址空间是私有的。

用户模式和内核模式

为了使操作系统内核提供一个完美的进程抽象,处理器必须提供一种机制,限制一个应用可以执行的指令以及它可以访问的地址空间范围。

处理器通常用某个控制寄存器中的一个模式位来提供这种功能,该寄存器描述了当前享有的特权,当设置了模式位时,进程就运行在内核模式中(也叫超级用户模式),一个运行在内核模式中的进程可以执行指令集中的任何指令,并且可以访问系统中任何存储器位置。

没有设置模式位时,进程就运行在用户模式中,用户模式中的进程不允许执行特权指令。

参考资料:《CSAPP》第8章 8.2

相关文章

  • 进程,进程,进程

    1. 进程是具有独立功能的程序关于某个数据集合的一次运行过程。(1)程序本身是静态的,是没有生命周期的,只有运行起...

  • Linux回收子进程

    孤儿进程 孤儿进程: 父进程先于子进程结束,则子进程成为孤儿进程,子进程的父进程成为init进程,称为init进程...

  • Android 五种进程的管理

    安卓有几种进程? 前台进程 可见进程 服务进程 后台进程 空进程 前台进程 用户当前操作所必需的进程。如果一个进程...

  • 孤儿进程、僵尸进程与进程回收

    孤儿进程与僵尸进程 孤儿进程:父亲死了,子进程被init进程领养僵尸进程:子进程死了,父进程没有回收子进程的资源(...

  • 第三章 进程管理

    进程基础 进程基本概念 进程组:只包括祖先进程,子孙进程,兄弟进程进程树:所有进程僵尸进程:在父进程中经常会调用w...

  • Chaprter-1 [进程]

    进程模型 进程定义 进程的创建 进程的终止 进程的层次结构 进程的状态 进程的状态图 进程的实现

  • 进程操作

    一、进程创建 进程树 父进程创建若干子进程,子进程再创建其子进程,依次类推,构成进程树。进程的调度,其实就是在进程...

  • 进程管理(一)进程操作

    进程创建 、进程执行映像和加载、进程运行(进程调度)、进程间的互斥与同步、进程间通信、进程终止 1、进程创建 PC...

  • python中的僵尸进程和孤儿进程

    孤儿进程:父进程退出,子进程还在运行的这些子进程都是孤儿进程,孤儿进程将被 init 进程(进程号为 1)所收养,...

  • 容器中的孤儿进程&僵尸进程简介

    背景简介 孤儿进程 父进程先于子进程退出,那么子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)接管,并...

网友评论

      本文标题:进程

      本文链接:https://www.haomeiwen.com/subject/bdgkcxtx.html