[笔记]《操作系统精髓与设计原理》---(3)线程

进程和线程

进程概念包括2个特点:

  • 资源所有权:进程映像是程序、数据、栈和进程控制块中定义的属性的集合,进程拥有对资源的控制、所有权,包括内存、I/O设备、文件等。
  • 调度/执行:一个进程沿着可以通过一个或者多个程序的执行路径(轨迹)执行,其执行过程可能与其他进程交替进行。一个进程具有执行状态和被分配的优先级,是一个可被操作系统调度和分批的实体。

多线程环境中,进程被定义成资源分配的单位和一个被保护的单位

与进程相关联的有:

  • 存放进程映像的虚拟地址空间
  • 受保护地对处理器、其他进程(用于进程间通信)、文件和I/O资源(设备、通道)的访问。

每个线程有:

  • 线程执行状态
  • 在未运行时保存线程上下文。
  • 执行栈
  • 每个线程局部变量的静态存储空间。
  • 与进程内其他线程共享的对进程的内存、资源的访问。

这里写图片描述


Linux进程和线程管理

线程:
用户级线程被映射到内核级进程上。

一个用户级进程的多个用户级线程被映射到共享同1个组ID的多个linux内核级进程上。可以共享文件和内存资源,同一组中的进程调度切换时不需要切换上下文。

linux中通过复制当前进程的属性可创建1个新进程,克隆出来可以共享资源。当两个进程共享相同虚存时,他们可以被当作一个进程中的线程。linux没有进程和线程区别。

内核执行进程切换时,检查当前进程的页目录地址是否和被调度的进程相同,如果相同则共享同一个地址空间,上下文切换仅仅从代码跳转到代码另一处。

进程/任务,task_struct结构

这里写图片描述

执行状态:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值