Skip to content

Latest commit

 

History

History
59 lines (36 loc) · 2.41 KB

操作系统.md

File metadata and controls

59 lines (36 loc) · 2.41 KB

操作系统

作业(Task)

  1. 用户需要计算机完成某项任务时要求计算机所做的工作的集合;
  2. 一个作业中可以有多个程序;

程序(Program)

  1. 一组用计算机语言编写的命令序列的集合,没有任何执行含义;
  2. 一个程序可以对应一个主进程和若干个子进程;

进程(Process)

目的

为了使多道程序能并发执行,以提高资源利用率和系统吞吐量。

基本概念

  1. 进程是程序的一次执行过程;
  2. 进程是一个程序及其数据在处理器上顺序执行时所发生的活动;
  3. 进程是具有独立功能的程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位;
  4. 进程只作为除CPU以外的系统资源的分配单元;
  5. 一个进程至少有一个线程,可以有多个线程;

其他概念

  1. 为了使参与并发执行的程序能独立的运行,必须为之配置一个专门的数据结构,称之为进程控制块(Process Control Block),系统利用PCB来描述进程的基本情况和运行状态,进而控制和管理进程。
  2. 进程实体(进程映像)由程序段、相关数据段和PCB三部分构成。
  3. 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

线程(Thread)

目的

为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。

基本概念

  1. 线程最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元,由线程ID、程序计数器、寄存器集合和堆栈组成;
  2. 线程是进程中的一个实体,是被系统独立调度和分派的基本单位;
  3. 线程只作为处理器的分配单元;
  4. 线程里有多条指令,但是线程是不可分割的;

协程(Coroutine)

目的

不管是进程还是线程,调度算法对于程序来说都是“被动”式的。那么就会出现线程不需要CPU而操作系统依然分配了CPU给线程,为了解决这种问题就出现了协程的概念。

基本概念

协程是主动的通知操作系统将CPU控制权交给期望的协程,所以协程可以认为是主动性的用户态进程。

参考资料

  1. 进程与线程
  2. 协程