操作系统组织:
- 主从(主从,将一个处理器专用于操作系统简化了它,但是这个处理器在工作量和可靠性方面成为瓶颈);
- 对称(最有效和最复杂)。
2.1 进程和线程
进程是程序的执行。 进程的组成部分是正在运行的程序、它的数据、它的资源(例如内存)和执行状态。传统上,进程有自己的地址空间,其状态由以下信息表征:
- 页表(或段);
- 文件描述符;
- 投入产出订单;
- 寄存器;
- 等等
大量此类信息使得创建流程和切换流程变得昂贵。即使在单处理器计算机(物理进程或其建模,结合交换和计数)上也需要轻量级进程、线程,但它们只是利用具有共享内存的多处理器计算机的优势所必需的。进程可以是独立的,不需要任何同步和信息交换(但可以竞争资源),也可以是交互的。
2.2. 进程交互
如果一个应用程序被实现为一组进程(或线程),那么这些进程(线程)可以通过两种主要方式进行交互:
- 通过共享内存(RAM 或外部)
- 通过消息传递
当通过共享内存进行交互时,进程必须同步它们的执行。有两种类型的同步——关键间隔的互斥和进程的协调。关键部分。非确定性,竞争条件(race conditions)。
进程 p1 执行语句 I = I+J
,进程 p2 执行语句 I = I-K
。机器代码如下所示:
进程 p1 | 进程 p2 |
---|---|
加载R1,I | 加载R1,I |
负载 R2,J | 负载 R2,J |
添加 R1,R2 | 子 R1,R2 |