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

来源:互联网 发布:巧手十字绣软件 编辑:程序博客网 时间:2024/06/05 19:38

进程和线程

进程概念包括2个特点:

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

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

与进程相关联的有:

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

每个线程有:

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

这里写图片描述


Linux进程和线程管理

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

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

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

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

进程/任务,task_struct结构

这里写图片描述

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

阅读全文
0 0
原创粉丝点击