美文网首页
第4章 抽象:进程

第4章 抽象:进程

作者: 橡树人 | 来源:发表于2020-10-21 07:22 被阅读0次

在这一章里,我们讨论操作系统提供给用户的最基本的抽象之一:进程。进程的定义非常简单:一个进程就是一个运行的程序。程序自身是静态的:它只是驻留在磁盘上,有一堆等着去执行的指令。是操作系统获取并运行这些字节,使程序变得有用。

一个人经常想一次运行多个程序。比如,在您的台式机或者笔记本电脑上,您可能希望运行浏览器、邮件程序、游戏、音乐播放器等。事实上,一个典型的系统可能同时运行几十个甚至几百个进程。这样使得系统容易使用,因为用户就简单地运行程序,永远不需要关心系统是否有可用的CPU。

对物理CPU进行抽象时,面对的核心问题是:

虽然仅有干个个可用的CPU,但操作系统是如何提供一种假象:有近乎无限的可用的虚拟CPU?

操作系统通过对CPU虚拟化来提供这种假象。

通过运行进程A、然后停止进程A并运行另一个进程B,操作系统可提供一种假象:虽然仅有若干个物理CPU,但是存在许多虚拟CPU。

这种基本的技术就是CPU时间共享技术:允许用户并发运行任意数量的进程。注意,这里的潜在开销是性能降低,因为CPU是被共享的,所以每个程序会比之前运行地慢。

为了实现CPU虚拟化,且很好地实现,操作系统不仅需要底层机制,而且需要策略

这里的底层机制就是实现某块所需功能的底层协议或者方法。比如上线文切换机制,就是一种时间共享机制,给予操作系统在给定CPU上停止运行一个程序,开始运行另一个程序的能力。

这里的策略指的是操作系统用来做决定的算法。比如,假定有一些待运行的程序,操作系统里的调度策略,就是使用历史信息(在过去的一分钟内哪一个程序运行地更多等)、作业负载知识(运行的是什么类型的程序等)、性能指标(优化系统是为了交互性能还是为了吞吐量等)等来做决定运行哪一个程序。

相关文章

  • 抽象思维:进程

    进程是对运行程序的抽象。 没有进程的抽象,现代计算机不复存在。 进程的抽象,简化了程序执行的成本。进程的抽象,提供...

  • 第4章 抽象:进程

    在这一章里,我们讨论操作系统提供给用户的最基本的抽象之一:进程。进程的定义非常简单:一个进程就是一个运行的程序。程...

  • Perfect World - CSAPP C9

    进程实现了操作系统中任务的的抽象,而且为了保证抽象性,进程的内存也进行一层抽象,进程可以使用完整且连续的虚拟地址空...

  • day10 进程描述块

    进程是伟大的抽象概念,有了抽象才有多道程序。在linux中进程是一个struct,其中0号进程的属性是硬编码的,之...

  • 线程和进程

    一、概述: 进程就是一个程序运行的时候被CPU抽象出来的,一个程序运行后被抽象为一个进程,但是线程是从一个进程里面...

  • 进程和线程

    操作系统中核心的概念是进程:这是对正在运行程序的一个抽象。 没有进程的抽象,现代计算将不复存在。 ...

  • Linux Kernel学习005——进程管理(一)

    Linux Kernel学习005——进程管理(一) 本节引入进程的概念,进程是操作系统中最基本的抽象概念。操作系...

  • 2019-07-30

    进程 线程 进程是操作系统提供给我们的一个抽象;我们通过创建进程来使用CPU、读写内存/硬盘、进程IO操作。 每个...

  • 《Operating System TEP》笔记(二)

    4:抽象概念:进程(Process) 进程简单概念:运行的程序。 ** 核心问题:如何制造无穷多CPU的假象?**...

  • Java 线程实现方式

    进程与线程 在传统的操作系统中,最核心的概念是“进程”,进程是对正在运行的程序的一个抽象。进程的存在让“并行”成为...

网友评论

      本文标题:第4章 抽象:进程

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