计算机操作系统基础笔记 操作系统有哪些状态( 三 )


间接通信方式:信箱,消息缓冲队列通信机制
3. 管道通信
4. 客户机–服务器系统
套接字,远程过程调用和远程方法调用
线程进程的两个特点:资源所有权,调度/执行 。调度和分派的部分通常称为线程或轻便进程,而资源所有权的部分通常称为进程 。
属性:
1. 轻型实体
2. 独立调度和分派的基本单位
3. 可并发执行
4. 共享进程资源
多线程OS中的进程属性:(1) 作为系统资源分配的单位 。(2) 可包括多个线程 。(3) 进程不是一个可执行的实体 。
分类:
1. 用户级线程,用户级线程在用户空间实现,无需得到内核的支持,调度算法由线程库提供 。
2. 内核支持线程,内核支持线程的TCB被它的保存在核心空间中,它的运行需获得内核的支持 。
3. (用户级线程和核心级线程的结合,LWP)
内核支持线程即无论 是用户进程中的线程,还是系统进程中的线程,他们 的创建、撤消和切换等,是依靠内核实现的 。
在内核空间中为每一个内核支持线程设置了一个线 程控制块TCB,内核是根据该控制块而感知某线程的 存在的,并对其加以控制
优点(1) 在多处理器系统中,内核能够同时调度同一进程中多 个线程并行执行;
(2) 如果进程中的一个线程被阻塞了,内核可以调度该进 程中的其它线程占有处理器运行,也可以运行其它进程 中的线程;
(4) 内核本身也可以采用多线程技术,可以提高系统的执 行速度和效率 。
缺点对于线程切换而言,其模式切换的开销较大,在同一个进程中,从一个线程切换到另一个线程时 ,需要从用户态转到内核态进行,这是因为用户进程的线程在用户态运行,而线程调度和管理是 在内核实现的,系统开销较大 。
实现在仅设置了内核支持线程的OS中,一种可能的线程控制方法是,系统在创建一个新进程时,便为它分配 一个任务数据区PTDA(Per Task Data area),其中包括若干个线程控制块TCB空间
用户级线程用户级线程仅存在于用户空间中 。对于这种线程的创建、撤消、线程之间的同步与通信等功能,都无须内核来实现 。

  • 由应用程序完成所有线程的管理
    通过线程库(用户空间):一组管理线程的函数线程库来 提供一个线程运行管理系统(运行系统)
  • 内核不知道线程的存在
  • 线程切换不需要核心态特权
  • 调度算法可以是进程专用的
优点线程切换不调用内核
调度是应用程序特定的:可以选择最好的算法
可运行在任何操作系统上(只需要线程库),可以在一 个不支持线程的OS上实现
缺点大多数系统调用会引起进程阻塞,并且是进程中所有线 程将被阻塞
内核只将处理器分配给进程,同一进程中的两个线程不 能同时运行于两个处理器上
实现所有用户级线程都具有相同的数据结构,它们都运行在一个中间系统上
(1)运行时系统
是用于管理和控制线程的函数的集合,又称为线程库 。
(2)内核控制线程
线程的同步这种线程又称为轻型进程LWP(Light Weight Process )
1. 互斥锁
2. 条件变量
3. 信号量机制
使用线程的优点
  1. 在一个已有进 程 中 创 建 一 个 新 线 程 比 创 建 一 个全新进程所需的时间少 。
  2. 终止一个线程比终止一个进程花费的时间少。
  3. 线程间切换比进程间切换花费的时间少 。
  4. 线程提高了不同的执行程序间通信的效率。同一个进程中的 线程共享存储空间和文件,它们无需调用内核就可以互相通信 。
进程同步经典问题处理机调度和死锁调度的目标:
1、提高处理机的利用率
2、提高系统吞吐量
3、尽量减少进程的响应时间
4、防止进程长期得不到运行
调度方式和算法的选择,取决于操作系统的类型及其目标 。
选择准则(面向系统):
1. 系统吞吐量
2. 处理机利用率
3. 各类资源的平衡利用
选择准则(面向用户):
1. 周转时间
2. 响应时间
3. 截止时间的保证

推荐阅读