1 了解进程前的预备知识
在深入了解进程前,我们需要知道,单任务,多任务,并发,并行,单核CPU,多核CPU这些基本概念,下面我将依次介绍这几点概念,以便读者理解
1.1 单任务:
一个任务在执行过程中不响应其他程序,必须等一个任务执行完毕后再去处理另一程序,简单来说就是在执行一件事情必须有先后顺序,处理一件事情时不去处理其他任务,例如当你去南京和合肥旅游的时候,你必须先去一个城市,然后才能去另一个城市,你不可能同时去两个城市叭
1.2 多任务:
在执行一个任务过程中可以去响应其他任务,举个简单的例子,当你在打王者的时候,这时你突然来了一个电话,这时你在打王者的时候可以接收到对方的电话,在处理一件事情时,同时可以去响应另一件事,这就是多任务的概念
1.3 单核CPU:
同一时间只能处理一个任务,当前进程执行了一个短暂的时间片后,切换执行另一个进程,如此循环往复,由于时间片很短,在宏观上,我们会感觉到所有的进程是同时运行的
1.4 多核CPU:
不同的CPU可以同时独立的执行不同的进程,这种叫做并行运行,当多核CPU并行和并发是同时存在的
1.5 并行:
同一时间点,可以处理多个任务 (多对多的思想),只有在多核CPU的情况下,才会发生并行处理任务的情况
1.6并发:
CPU在一段时间内可以响应多个任务,但是需要一个一个去处理每个任务 (一对多)
1.7 并发与并行的区别
2 进程的概念
2.1进程是什么?
我们编写的代码只是一个存储在硬盘的静态文件,通过编译后就会生成二进制可执行文件,当我们运行这个可执行文件后,它会被装载到内存中,接着 CPU 会执行程序中的每一条指令,那么这个运行中的程序,就被称为「进程」(Process)。
2.2进程的控制结构
在操作系统中,是用进程控制块(process control block,PCB)数据结构来描述进程的。
PCB 是进程存在的唯一标识,这意味着一个进程的存在,必然会有一个 PCB,如果进程消失了,那么 PCB 也会随之消失。