!!
4.1 进程和线程
1.介绍:进程的两个特点
- 资源所有权:进程/任务
进程 对资源得控制权或所有权, 资源包括 内存、I/O通道,I/O设备 文件等
- 调度/执行: 分派的单位—线程/轻量级进程
不同的进程执行过程中会交替执行 可被操作系统调度和分派的实体
2. 多线程
- MS-DOS——单进程 单线程
- 一些UNIX——多进程 单线程
每个线程都有:
- 一个线程执行状态-An execution state (running, ready, etc.)
- 未运行时保存的线程上下文-Saved thread context when not running-Has an execution stack
线程可视为在进程内运行的一个独立程序计数器
- 一个执行栈-Has an execution stack
- 每个线程用于局部变量的一些静态存储空间- Some per-thread static storage for localvariables
- 与 进程内 其他线程共享 内存和资源的访问- Some per-thread static storage for localvariables
线程的优点
- 创建快
- 结束快
- 切换快
- 通信快
3.线程功能特性
线程状态
- 派生 Spawn
派生一个新进程的同时也会派生 一个线程
- 阻塞 Block
线程需要等待一个事件时会被阻塞(保存现成的用户寄存器,程序计数器和栈指针),处理器转而去执行另一个就绪线程
- 解除阻塞 Unblock
将该线程转移到就绪队列
- 结束 Finish
一个线程完成后,会释放其寄存器 上下文和栈
4. 用户级线程 内核级线程
用户级线程User-Level Thread ULT
- 管理线程的所有工作都由应用程序完成
- 内核不知道新城的存在
- thread library 线程库,应用级别的共享函数
内核级线程 Kernel-Level Threads KLT
- 内核包含了进程和线程的上下文信息
- 线程池 thread basis
ULT优点
- 线程切换快
- 为应用程序量身定制算法
- ULT可在任何操作系统中运行
ULT缺点
- 引起阻塞
混合方法
5. 其他
4.2 对称多处理Symmetric Multiprocessing
4.3 微内核 Microkernel
- 一致接口 uniform interface
- 可扩展性 Extensibility
- 灵活性 Flexibility
- 可移植性 Portability
- 可靠性 Reliability
C4
线程
进程中的1个独立执行程序
SMP
对称多处理系统,一个独立的计算机处理系统
拥有两个 或以上的性能相当的 处理器
这些处理器共享内存和IO
微内核
操作系统内核只包含了基本功能
如文件管理,虚存管理
单内核
又叫宏内核操作系统除了 基本功能外还有其他功能