写操作系统这一 Part 还是为了在看书学习过程中对一些不太熟悉或是比较重要的知识点的罗列。
进程的概念
进程是进程实体的运行过程,是系统进行资源分配和调度的独立单位。
进程的组成
进程是由程序段、数据段和PCB(进程控制块)三部分组成。
PCB:存储进程的状态信息,以便对其进行控制和管理,是进程存在的唯一标志。
程序段:能被调度到CPU中执行的程序代码段。
数据段:存储程序运行过程中的一些相关的数据。
进程的通信
1. 共享存储:在通信的进程之间存在一块可直接访问的共享空间,通过对这片共享空间进行写/读操作实现进程间的信息交换。
2. 消息传递:进程间的数据交换是以格式化的消息为单位的,若进程间不存在共享空间,则必须利用操作系统提供的消息传递方法实现进程通信。通过发送消息和接收消息两个原语进行数据交换。分为直接通信方式和间接通信方式。
2. 管道通信:是消息传递的一种特殊形式。采用半双工通信,只能单向传输。写进程会把缓冲区写满,然后才让读进程读,当缓冲区中还有数据时,写进程不会往缓冲区写数据。
为什么要引入进程
为了更好得描述和控制程序的并发执行,实现操作系统的并发性和共享性(最基本的两个特征),以提高资源利用率和系统吞吐量。
线程的概念
线程最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元。
线程的组成
线程由线程ID