什么是进程 /任务(Process/Task)*
概念
进程就是一个"正在运行"的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程;
同时,在操作系统内部,进程又是操作系统进行资源分配的基本单位。
进程如何被管理
关于进程,最核心的问题,就是进程在系统中是如何被管理的?
管理=描述(PCB) +组织
PCB: 进程控制块,这是一个类/C语言的结构体.一个结构体对象就对应一个进程.
组织: 使用一定的数据结构来组织,其中常见的做法就是使用双向链表.
查看进程列表, 本质上就是遍历操作系统内核中的这个链表,并显示其中的属性;
创建一个进程,本质上就是创建一个PCB对象,加入到内核的链表中.
销毁一个进程,本质上就是把这个PCB对象从内核链表中删除掉.
PCB中大概都有哪些属性呢?
1)pid
:一个进程的身份标识. 一个机器同一时刻,不可能有两个进程的pid
相同(唯一性).一个pid
(进程)可能包含一个或多个PCB(线程),上下文等等.
2)内存指针:描述了这个进程使用的内存空间是哪个范围(其