操作系统概念(第六版) 读书笔记5

    本章着重从定义和应用的角度分析了线程。  线程是有时也被称为轻量级进程(LWP),是一个基本的CPU 执行单元,它包含了一个线程ID、一个程序计数器、一个寄存器组和一个堆栈。它与属于同一个进程的其它的线程共享代码段、数据段,以及其它的操作系统资源(比如:打开的文件和信号)。一个传统的(或者说重量级)进程有一个单独的控制执行序列。一个多线程程序在同样的地址空间内包含了多个不同的控制流。多线程技术的优点包括:提高了对用户的响应速度、进程内的资源共享、经济实惠和能够充分发挥多处理机体系结构的优势。线程的实现包括三种:多对一、一对一、多对多。随后文章继续介绍了与线程相关的问题:fork 和exec 系统调用、线程的取消、信号处理、线程池、POSIX 标准的Pthread。fork分为两种,复制整个进程的每一个线程和复制特定线程。线程的取消也分为异步取消(立即取消)和延迟取消。线程池的引入极大的提高了kernel线程和user线程的处理效率,当然线程池的策略也在很大程度上影响结果。最后文章对不同系统的线程应用和支持状况进行了对比描述,saloris2、windows2000、linux、Java对线程的使用和支持上存在很大不同。saloris2在内核和用户级、SMP 和实时调度中支持线程。windows2000采用一对一的映射方式,而且还提供thread-local storage。Linux 内核在2.2 版中引入了线程,除了克隆的进程之外,Linux 不支持多线程、独立数据结构(separate data structure)或内核程序(kernel routine)。Java 是少数在语言级提供了线程的创建和管理的语言之一。然而,因为Java 虚拟机(JVM)管理线程,不是由用户级库或内核管理,所以就难以把Java 线程归类为用户级或内核级。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值