为什么一个进程被称为操作系统中的抽象?

时间:2013-12-20 06:58:57

标签: linux linux-kernel operating-system

这是一个基本问题,但由于我在阅读了几份文件之后无法得出结论,所以我发帖了。

为什么在操作系统中将进程称为抽象?是因为它为我们提供了使用虚拟处理器和虚拟内存的概念吗?

2 个答案:

答案 0 :(得分:2)

阅读关于processesoperating systemsprocess managementlinux kernelschedulingsystem callsfork system call的wikipages。< / p>

我会说这个过程是abstraction,因为它不是由硬件(在内核下)提供的,而是隐藏细节。此外,进程通常以某种方式被隔离,因为它们提供了一些保护:如果进程A行为不端(即崩溃),它通常不会改变某些不相关进程B的行为。

Linux进程状态远不止虚拟内存和虚拟处理器:它还包含文件描述符,堆栈,信号处理和掩码等...阅读fork(2)execve(2),{{3 }},clone(2)open(2)mmap(2)dup2(2)proc(5)capabilities(7)credentials(7)daemon(7)signal(7)glibc(7)手册页。

花几个小时或几天读一本好书,如pthreads(7);它包含与您的问题相关的几个章节。

阅读有关操作系统的好书(例如Advanced Linux ProgrammingTanenbaum)应该有所帮助。

我推荐Silberschatz, Galbin, Gagne教科书(可免费下载)。

答案 1 :(得分:1)

抽象可以是进程,文件,地址空间和进程间通信。(隐藏除相关细节之外的任何细节)