计算机操作系统原理与核心设计-第3章说课.ppt

计算机操作系统原理与核心设计-第3章说课.ppt

3.5 线程 3.5.1 线程的引入 多线程 若一些执行流可在同一个进程框架之下,且涉及相同的(代码和)数据,则这些执行流之间的切换便不涉及地址空间的变化。这样就可以在一个进程内建立多个线程,共享该进程的状态和资源。 多个线程执行相同代码段—同一个服务的多个请求(如服务器端同一个数据库的不同查询请求)。 多个线程执行不同代码段—体现了逻辑上的合作关系,这些合作的线程可以利用共享的数据结构相互交换信息。 由于同一个进程多个线程共享同一地址空间,带来了系统时/空管理的改善。 3.5.2 线程结构与线程控制块TCB 3.5 线程 执行堆栈 程序计数器 通用寄存器组状态标记 线程 线程控制块TCB 单进程 多线程 单进程 单线程 线程标识 线程号 处理机状态信息(现场) 通用寄存器 指令计数器 程序状态字 栈指针 线程调度信息 线程状态 线程优先数 等待原因 调度算法参数等 图3.19 线程及线程控制块 3.5 线程 3.5.2 线程结构与线程控制块TCB (总结)引入线程的益处: 并发执行在线程实体上,即处理机(调度)分配发生在线程之间,改善了系统时空开销。 系统创建或终止一个线程的开销要比创建或终止一个进程的开销少得多。 线程之间通信效率要高于进程之间的通信效率。进程间通信要内核介入,而同一进程多个线程共享同一

文档评论(0)

1亿VIP精品文档

相关文档