Linux的进程 嵌入式系统实验室 EMBEDDED SYSTEM LAE口RAT口RY SUZHOU INSTITUTE FOR ADVANCED STUDY OF USTC
Linux的进程
主要内容 令进程描述符 令进程切换 令进程的创建和删除 令进程调度 1958 2021/2/6 Linux操作系统分析 65 嵌入式系统实验室 EMBEDDED SYSTEM LAB口RAT口RY SU:MDU INTHUTE OR AOVANCLD STUOY D USTt
2021/2/6 Linux操作系统分析 3/65 主要内容 ❖进程描述符 ❖进程切换 ❖进程的创建和删除 ❖进程调度
进程和线程 ◇多道程序对操作系统的需求→进程 ◆进一步提高并发度,对操作系统的需求 →线程 ◆进程是执行程序的一个实例 进程和程序的区别 几个进程可以并发的执行一个程序 个进程可以顺序的执行几个程序 ◆线程和进程的区别 Linux24内核以及之前的版本都不支持线程 >2.6内核中有 thread,但仍不是线程 Linux中的线程是在用户态实现的,不是本课程的内容 ◆但 Linux内核对用户态线程有一定的辅助支持 2021/2/6 Linux操作系统分析 嵌入式系统实验室 5/65 EM日 EDDED SYSTEM LA日口 RATORY
2021/2/6 Linux操作系统分析 5/65 进程和线程 ❖ 多道程序对操作系统的需求➔进程 ❖ 进一步提高并发度,对操作系统的需求 ➔线程 ❖ 进程是执行程序的一个实例 ❖ 进程和程序的区别 ➢ 几个进程可以并发的执行一个程序 ➢ 一个进程可以顺序的执行几个程序 ❖ 线程和进程的区别 ❖ Linux 2.4内核以及之前的版本都不支持线程 ➢ 2.6内核中有thread,但仍不是线程 ❖ Linux中的线程是在用户态实现的,不是本课程的内容 ❖ 但Linux内核对用户态线程有一定的辅助支持
进程描述符 令为了管理进程,内核必须对每个进程进行清晰的 描述。 令进程描述符提供了内核所需了解的进程信息 源码 include/linux/sched.h定义 struct task struct 1958 数据结构很庞大 ●基本信息 ●管理信息 控制信息 01026: struct task struct 01027: volatile long state;/*-1 unrunnable, 0 runnable, >0 stopped * 01028: void *stack 01029: atomic_t usage 01030 unsigned int flags;/* per process flags, defined below unsigned int ptrace snDTtUIL I
2021/2/6 Linux操作系统分析 6/65 进程描述符 ❖为了管理进程,内核必须对每个进程进行清晰的 描述。 ❖进程描述符提供了内核所需了解的进程信息 ➢源码include/linux/sched.h定义 struct task_struct ➢数据结构很庞大 ⚫基本信息 ⚫管理信息 ⚫控制信息
stat ed resched counter IKE tty struct tty associated wirh the process P_pptr t struct 4.1 files struct Pointers to le descriptors mm strun thread Fainters to memory fs signal_struct files sigmask_lock 室
2021/2/6 Linux操作系统分析 7/65