讨论区讨论详情

【学堂笔记展览馆】《操作系统》第十一章 进程与线程
2015-05-08 07:01:50

11.1 进程的概念

进程的定义: 是指一个具有一定独立功能的程序 在一个数据集合上的一次动态执行过程
程序 =  文件 (静态的可执行文件)

进程 = 执行中的程序 = 程序 + 执行状态

同一程序的多次执行过程对应为不同的进程

进程的组成包括程序, 数据和进程控制块


11.2 进程控制块
PCB ,process control block
进程控制块: 进程标识信息, 处理机现场保留, 进程控制信息

进程控制块的组织
链表和索引表


进程地址空间


11.3 进程的状态
创建,执行, 等待, 抢占, 唤醒, 结束

创建:1 系统初始化时,2 用户请求创建一个新进程时 3 正在运行的进程执行了创建进程的系统调用时

执行:内核选择一个就绪的进程, 让它占用处理机并执行

进程: 进程间进行隔离
实体间可以并发执行, 实体间共享相同 的地址空间


11.4 三状态进程模型

运行,就绪,等待

创建,退出,结束


11.5 挂起进程模型

处在挂起状态的进程映像在磁盘上, 目的是减少进程占用内存

比三状态多了:

挂起:

        等待挂起状态, 就绪挂起状态

激活:

        就绪挂起到就绪, 等待挂起到等待

状态队列:由操作系统来维护一组队列, 表示系统中所有进程的当前状态

不同队列表示不同的状态


11.6 线程的概念

多线程的解决思路:1 实体之间可以并发执行 2 实体之间共享相同的地址空间

线程是进程的一部分, 描述指令流执行的状态, 它是进程中指令执行流的最小单位, 是CPU调度的基本单位。

thread.png

线程的优点:

1 一个进程中可以同时存在多个线程

2 各个线程之间可以并发地执行

3 各个线程之间可以共享地址空间和文件资源

缺点:

一个线程崩溃, 会导致所属进程的所有线程崩溃


进程是资源分配的单位, 线程是CPU调度的单位

进程拥有一个完整的资源信息, 而线程只独享指令流执行的必要资源, 比如寄存器和栈

线程具有就绪, 等待和运行三种基本状态和状态间的转换关系

线程能减少并发执行的时间和空间开销

线程 = 进程 - 共享资源


11.7 用户线程
线程的三种实现(历史发展): 用户线程, 内核线程,轻量级进程(轻权线程)x 

x
用户线程的特征(优点):

1 不依赖于操作系统的内核

2 在用户空间实现的线程机制

3 允许每个进程拥有自己的线程调度算法

用户线程的不足(缺点)

1 线程发起系统调用而阻塞时, 则整个进程进入等待

2 不支持基于线程的处理机抢占

3 只能按进程分配CPU时间


11.8 内核线程

轻权进程 :内核支持的用户线程, 一个进程可有一个或多个轻量级进程, 每个轻权进程由一个单独的内核线程来支持


回复:

还没有人发言哦,来抢沙发吧~

请先登录

说点什么吧~

学堂公告

各位MOOCer大家好 (^-^)V

欢迎来到学堂在线广场~

在这里你可以玩活动,看资讯,晒笔记。

还可以交学友、发心情、聊人生。

在学堂的每一天,就从这里开始吧!

点击 广场指南 了解更多

推荐活动

我要举报
提交