操作系统/进程/PCB概念:
操作系统是进行软、硬件管理的软件,操作系统的进行硬件管理时,需要通过驱动程序来进行执行,驱动程序就相当于一个执行者,介于操作系统和硬件之间。操作系统的任务包含进程管理,进程调度,进程间通讯机制,内存管理,中断异常处理,⽂件系统,驱动程序管理,I/O系统等。
进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。<程序代码+代码相关联的数据集>
PCB(进程控制块)是用来“描述”一个进程,包含进程的信息,操作系统会将PCB进行连接。
进程与程序的区别:
程序是一个二进制文件;
进程是把可执行文件加载到内存中,是程序的一个执行实例, 是能分配处理器并由处理器执行的实体。进程除了有二进制文件,还有一套描述其信息的数据结构(PCB);
Linux中的PCB—task_struct:
Linux内核的进程控制块是task_struct结构体。在linux 中每一个进程都由task_struct 数据结构定义. 每个进程都把它的信息放在 task_struct 这个数据结构⾥。所有运⾏在系统⾥的进程都以 task_struct 链表的形式存在内核⾥。
task_struct就是一个PCB.当我们调用fork() 时, 系统会为我们产生一个task_struct结构。然后从父进程,那里继承一些数据, 并把新的进程插