三、进程管理

36 阅读2分钟

进程管理

进程概念

  • 进程是运行起来的程序,是操作系统资源分配的最小单元
  • 进程加载到内存中有三部分:PCB、数据段、程序段
  • PCB是进程的唯一标识,即使是同一个应用程序启动多次产生的进程,他们的PCB也是不同的
  • 数据段包含了进程的原始数据和运行时产生的中间数据
  • 程序段是进程的运行指令,同一个应用程序启动的多个进程共享程序段

线程概念

  • 线程是一条执行路径,是一系列指令集合,必须包含在进程中
  • 线程是运算调度的基本单元
  • 线程是轻量级的进程,线程间共享进程资源
  • 线程可以并发执行
  • 线程是cpu资源分配的最小单元

线程实现方式

  • 用户级线程,在用户空间创建的线程,即应用程序中创建的线程
  • 内核级线程,在内核空间创建的线程,即操作系统提供的服务程序中创建的线程
  • 现在用户级线程与内核级线程是多对多关系,用户级线程更多
  • 系统服务程序中估计有个线程池,用户级线程调用服务接口时,从线程池中拿出内核级线程去执行
  • 用户级线程切换,不需要从用户态到内核态;内核级线程需要

用户级线程和内核级线程映射关系

  • 1对1:一个用户级线程对应一个内核级线程。优点是一个线程堵塞,进程中其他线程正常运行;缺点是线程切换需要从用户态切换到内核态
  • 多对1:多个用户级线程对应一个内核级线程。优点是线程切换在用户空间即可完成;缺点是一个线程堵塞,整个进程都堵塞
  • 多对多:多个用户级线程对应多个内核级线程,用户级线程更多。结合了一对一和多对一模型的优点;缺点是实现复杂
  • 现在常用的一对一和多对多模型