gpt4 book ai didi

process - 谁控制过程控制 block (PCB)?

转载 作者:行者123 更新时间:2023-12-04 20:01:43 26 4
gpt4 key购买 nike

最近在学习内核,发现一个问题,谁控制进程控制 block (PCB)?

内核还是进程本身?它在不同的平台上是否不同( windows/Linux )?

到目前为止,我知道PCB由硬件控制,但我无法得到正确的答案。

最佳答案

该进程完全是由操作系统内核专门创建和维护的软件抽象。进程控制 block 是表示操作系统中进程的数据结构。操作系统跟踪有关 PCB 中系统中运行的每个进程的所有必要信息。例如,在这个特定进程中运行哪些线程,它使用什么内存,哪个用户启动了这个进程,它拥有哪些特权。因此,每个操作系统都根据操作系统认为是一个进程来定义其私有(private)的 PCB 格式。

一些操作系统实现进程(Windows/Linux),而另一些则不这样做(MS-DOS)。甚至有维护线程但不维护进程的操作系统。不同的操作系统定义了不同的PCB格式。例如,Linux 实现了文件表作为进程抽象的一部分,但几乎所有微内核操作系统都不认为文件表是进程的一部分。传统 UNIX 系统不支持线程概念,因此没有跟踪进程中运行的线程。同时,现代 Linux 实现了线程并跟踪 PCB 中的所有相关数据。所有操作系统共享的进程抽象的唯一永久部分是私有(private)虚拟地址空间。

再一次,PCB 完全是软件抽象,而不是硬件抽象!我还没有看到处理器实现或直接支持流程。然而,在操作系统层面实现进程抽象通常需要一些硬件支持。例如,支持虚拟内存和不同级别的权限。

关于process - 谁控制过程控制 block (PCB)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28795024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com