美文网首页
理解“进程”(process)

理解“进程”(process)

作者: 桥头堡2015 | 来源:发表于2020-03-05 12:19 被阅读0次

进程,即process,到底是什么?

OSTEPv1.01第4.1节对其定义如下:

The abstraction provided by the OS of a running program is something we will call a process.

Abstraction在计算机科学和程序开发中是一个相当重要的概念和工具,它表示对于具体细节的忽略和封装。说进程是OS提供的abstraction,说明所有的(至少是现代的)操作系统,不管其底层实现如何,都有这么个相同的概念,用以代表一个正在运行的程序。

那么在这个共有的“进程”概念下,包括了哪些相通的组成部分呢?换句话说,不管在什么操作系统,任一时刻,某个进程都有一个状态,那么这个状态包括哪些内容呢?

  • 内存地址空间:该进程此刻所能访问的内存区域,以及该区域内的大小、具体数据等
  • 寄存器:包括程序计数器(program counter, PC)
  • IO信息:比如说该进程此刻打开的文件、socket等
  • 运行状态:该进程此刻是否正在CPU上运行,是否在等待IO事件等等
  • 其他信息,如该进程当前栈帧的位置

在每个OS的具体实现层面,就必须

  1. 为上面这些数据设计相应的数据结构,除此之外OS还会定义其它的用于管理进程的数据结构
  2. 开发操作这些数据结构及管理进程的逻辑(函数),这部分属于OS的内部逻辑
  3. 提供OS用户使用的操作进程的API(system calls)

相关文章

  • 理解“进程”(process)

    进程,即process,到底是什么? OSTEPv1.01第4.1节对其定义如下: The abstraction...

  • 理解Python进程Process

    Demo代码和引用知识点都参考自 《理解Python并发编程一篇就够了 - 进程篇》--董伟明 或作者个人公众号P...

  • Nginx系列-初始化

    Nginx 进程分为主进程(master process)和若干工作进程(work process),其中工作进程...

  • Python-进程

    Python-多进程 1 创建一个进程 1.1 用 Process 创建一个进程 1.2 进程 Process 介...

  • 多进程的概念

    进程 进程的概念 创建进程 使用multiprocessing.Process 通过继承Process实现自定义进...

  • 一次搞定Process和Task

    关于进程-Process 影响process的属性 控制组件运行进程的有两个属性:android:process和...

  • 2616

    OP1 Q: 什么是孤儿进程(orphan process),什么是僵尸进程(zombie process)? *...

  • Android源码分析之理解Binder通信机制

    IPC,即Inner-Process-communication,进程间通信,是Android系统中比较难以理解的...

  • 进程process

    官方参考文档 class multiprocessing.Process(group = None,target ...

  • process(进程)

    process 对象是一个全局变量,它提供有关当前 Node.js 进程的信息并对其进行控制。 作为一个全局变量,...

网友评论

      本文标题:理解“进程”(process)

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