美文网首页
理解“进程”(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)

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