进程、线程

来源:互联网 发布:ovid数据库的网址 编辑:程序博客网 时间:2024/06/14 05:15

基于linux-0.11

  • 为了充分利用硬件资源,特别是CPU,要实现进程间的并发执行,所以进程分为5种状态,每种状态由一个PCB队列管理,实现进程间的调度从而实现进程的并发执行

    这里写图片描述

  • 线程是进程的子单位,每个进程有一个或多个线程,线程分为:
    用户级线程:用户可直接切换线程,不涉及内核,os不可感知
    核心级线程:由内核调度切换线程,涉及内核,os可感知

    这里写图片描述

    用户级线程切换
    这里写图片描述

    核心级线程切换:
    这里写图片描述

    PCB(process control block):每个进程一个(linux里为task_struct)
    TCB(thread control block):每个线程一个

  • CPU调度策略

    • FCFS(First Come First Serve)
    • SJF(Shortest Job First)
    • RR(Round Robin):时间片轮转法
    • Job分为前后台,前台使用RR,后台使用SJF,只有前台无Job后台才能得到CPU使用权,同时调整priority使后台Job经过一定时间可以变为前台Job(防止前台Job一直有而后台Job得不到CPU)

  • 关于fork()
    这里写图片描述

  • 关于task_struct
    task_struct

  • 关于内核栈
    这里写图片描述

原创粉丝点击