Zub*_*air 5 operating-system kernel process
最近,我正在学习内核并找到谁控制进程控制块(PCB)的问题?
内核还是进程本身?它在不同平台(windows/ Linux)中有所不同吗?
到目前为止,我知道PCB是硬件控制,但我无法得到正确的答案.
该进程完全是由操作系统内核专门创建和维护的软件抽象。进程控制块是表示操作系统中进程的数据结构。操作系统在 PCB 中跟踪系统中运行的每个进程的所有必要信息。例如,哪些线程正在这个特定进程中运行,它使用什么内存,哪个用户启动了这个进程,它拥有哪些权限。因此,每个操作系统根据操作系统所认为的进程来定义其私有的 PCB 格式。
有些操作系统实现进程(Windows/Linux),而另一些操作系统则不这样做(MS-DOS)。甚至有操作系统维护线程但不维护进程。不同的操作系统定义不同的PCB格式。例如,Linux将文件表实现为进程抽象的一部分,但几乎所有微内核操作系统都不将文件表视为进程的一部分。旧版 UNIX 系统不支持线程概念,因此无法跟踪进程中运行的线程。同时,现代Linux实现了线程并跟踪PCB中的所有相关数据。所有操作系统共享的进程抽象的唯一永久部分是私有虚拟地址空间。
再次强调,PCB 完全是软件抽象,而不是硬件抽象!我还没有看到处理器实现或直接支持流程。然而,在操作系统级别实现进程抽象通常需要一些硬件支持。例如,支持虚拟内存和不同级别的权限。
| 归档时间: |
|
| 查看次数: |
1413 次 |
| 最近记录: |