【搞定操作系统】---《操作系统精髓与设计原理》读书笔记:第 4 章:线程、对称多处理(SMP)和微内核

本文详细介绍了操作系统中的线程概念,包括进程与线程的区别,线程的分类如用户级线程和内核级线程,以及Windows和Linux平台上的线程管理。强调了多线程的优势,如资源利用率高和通信效率,并指出线程同步的重要性。
摘要由CSDN通过智能技术生成

本文目录:

一、进程和线程

1.1  多线程

1.2  线程功能特性

二、线程的分类

2.1  用户级线程

2.2  内核级线程

2.3  组合方法

三、Windows 线程

四、Linux 的进程和线程管理

五、总结


一、进程和线程

 这里所说的进程个概念要比前面给出的更复杂和精细。实际上,它包含两个独立的概念:一个与资源管理权有关(进程),一个与执行相关(线程)

到目前为止提出的进程的概念包含两个特点:

1、资源所有权:一个进程包括一个存放进程映像的虚拟地址空间。进程映像是程序、数据、栈和进程控制块中定义的属性集合。一个进程总是拥有对资源的控制或所有权,这些资源包括:内存、I/O 通道、I/O 设备和文件。操作系统执行保护功能,以防止进程之间发生不必要的与资源相关的冲突;

2、调度/执行:一个进程沿着通过一个或多个程序的一条执行路径(轨迹)执行。其执行过程可能与其他进程的执行过程交替执行。因此,一个进程具有一个执行状态(运行、就绪等)和一个分配的优先级,并且是一个可被操作系统调度和分派的实体。

为了区分以上两点,分派的单位通常称为线程轻量级进程,而拥有资源所有权的单位通常称为进程任务

1.1  多线程

多线程:是指操作系统在单个进程内支持多个并发执行路径的能力。Java运行时环境是单进程多线程的一个例子。

在多线程环境中,进程被定义成资源分配的单位和一个被保护的单位,与进程相关联的有:存放进程映像的虚拟地址空间;受保护的对处理器,其他进程,文件和 IO 资源的访问。

在一个进程中,可能有一个或多个线程,每个线程有:

1、线程执行状态(运行、就绪等);

2、在未运行时保存的线程上下文;从某种意义上看,线程可以被看做进程内的一个被独立地操作的程序计数器;

3、一个执行栈;

4、用于每个线程局部变量的静态存储空间;

5、与进程内的其他线程共享的对进程的内存和资源的访问。

单线程单进程模型中(没有明确的线程概念):进程的表示包括它的进程控制块和用户地址空间,以及在进程执行中管理调用/返回行为的用户栈和内核栈。当进程正在运行时,处理器寄存器将被该进程控制;当进程不运行时,这些处理器寄存器中的内容将被保存。

多线程环境中:进程仍然只有一个与之关联的进程控制块和用户地址空间。但是每个线程都有一个独立的栈,还有独立的线程控制块(用于包含寄存器值、优先级和其他与线程相关的状态信息)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值