进程概念

1、什么是进程?
进程概念

进程就是一个PCB(struct task_struct ),是一个运行中的程序的描述,通过描述信息中的内存指针能够找到内存中运行的程序代码以及数据,并且通过上下文数据可以保存程序调度切换时正在处理的数据,以及通过程序计数器保存进程切换时程序即将执行的下一步指令等等,通过这些描述信息实现控制一个程序的运行,因此对于操作系统来说进程就是一个PCB。
进程在操作系统中的调度切换运行的,每个进程都有一个CPU时间片(一个进程在CPU上运行的时间段),在CPU上时间片运行完毕后则切换下一个进程----CPU分时机制

2、进程的查看(先让系统运行一个loop程序)****

2.1 ps -ef :查看所有进程信息
grep—通过管道匹配文件名,heah -n 1 —打印格式行 进程概念

UID PID PPID C STIME TTY TIME CMD
拥有该程序的用户名 当前进程ID 父进程ID CPU使用的资源百分比 系统启动时间 登入者的终端机位置 使用掉的CPU时间 命令的名称和参数

2.2 ps -aux :查看进程详细信息
其使用和ps -ef一致进程概念

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
拥有该程序的用户名 当前进程ID 进程占用CPU百分比 进程占用内存百分比 进程占用虚存存容量(KB) 进程占用固定内存容量(KB) 登入者的终端机位置 进程状态 进程启动时间 使用掉的CPU时间 命令的名称和参数

3、进程状态

粗略分类,大概有三种状态:
1、运行状态:该进程已经拿到时间片,正在运行程序。
2、就绪状态:该进程处于就绪队列,已经具备除CPU以外的所有资源,只要拿到时间片就能直接运行。
3、阻塞状态:该进程由于某种事件(IO处理,时间片结束,需求资源不足等等)导致进程难以继续运行下去,加入阻塞队列,等待条件满足,在将其加入就绪队列,等待操作系统调度。
进程概念

在Linux操作系统下可细分为下面几种:

1、可执行状态R(task_running):正在运行或就绪状态
2、可中断休眠状态S(task_interruptible):