操作系统原理,在进程的基础上,处于性能考虑引入线程,线程的概念,线程的三种实现
O、在进程的基础上引入线程主要处于应用需要,开销,性能方面的考虑
进程本身需要线程实现并发的任务处理以提升进程的总体处理效率,相比进程,线程的创建和释放,上下文切换更快,相互通信不需要通过内核,而是在进程中共享文件和内存。
一、进程的两个基本属性:资源拥有者,CPU调度单位
随着线程的引入,进程仍然是资源拥有着,但是线程继承了进程的CPU调度单位这一属性。
二、线程:进程中的一个运行实体,是CPU的调度单位,有时将线程称为轻量级进程。
线程的属性:
1、标识符ID
2、有状态和状态装欢操作
3、不运行时保存上下文,程序计数器等寄存器
4、有自己的栈和栈指针
5、共享所在进程的地址空间和其他资源
6、可以创建、撤销另一个线程,程序开始是以一个单线程进程的方式运行的,和操作系统一开始只有一个进程一样。
三、线程的实现:
1、用户级线程
2、核心级线程
3、混合-两者结合方法
四、用户级线程(user level thread)实现方法
1、在用户空间建立线程库,提供一组管理线程的过程(函数接口)
2、运行时系统runtime,完成线程的管理工作,维护相关操作(函数接口)和数据结构(线程表)