本溪食品 中企动力提供网站建设,英文seo公司,网站做推广,同国外做贸易的网站一、进程的基础
1.1 什么是进程 1#xff09;进程是程序的一次执行过程 程序#xff1a;是静态的#xff0c;它是存储在外存上的可执行二进制文件#xff1b;进程#xff1a;动态的概念#xff0c;它是程序的一次执行过程#xff0c;包括了进程的创建#xff0c;调度、…一、进程的基础
1.1 什么是进程 1进程是程序的一次执行过程 程序是静态的它是存储在外存上的可执行二进制文件进程动态的概念它是程序的一次执行过程包括了进程的创建调度、消亡是存在于内存中的。 2进程是独立的可以被CPU调度的任务 Linux中的调度机制时间片轮询机制操作系统会给每一个进程分配时间片当时间片结束后cpu资源会切走当前进程等待下一次调度。 3进程在被调度的时候系统会分配和释放各种资源CPU资源内存资源进程调度块(PCB)。 1.2 进程的五种状态及五态图 五种状态 创建态就绪态运行态阻塞态终止态 ps进程运行过程中有5种种状态运行态只是进程运行过程中的一种状态。 五态图 1.3 进程的内存分布【重点】
1内存分布 在Linux操作系统中每个进程都会被分配4G的内存空间虚拟内存其中0-3G是用户空间代码使用每个进程相互独立其中3-4G是内核空间所有进程共享。 每个进程的用户空间都有自己独立的区
1 静态存储区 2 堆区 3 栈区 2虚拟内存和物理内存 虚拟内存和物理内存之间的关系---映射关系 物理内存 硬件上内存条上真正存在的存储空间。 虚拟内存 程序启动后会分配4G的虚拟地址空间用户只能访问到虚拟地址空间。当要使用的时候由虚拟地址映射到物理地址上。32位操作系统指针变量的大小为4bytes取值范围为[0, 2^32-1]所以寻址范围为4G64位操作系统指针变量的大小为8bytes只取了前48bit存储地址所以寻址范围是256TB 虚拟内存的目的 动态分配内存。 1.4 进程是资源分配的最小单位【重点】 以进程为单位分配和释放各种资源。 内存资源的申请和释放文件描述符表每个进程都有自己的1024个文件描述符时间片管理自己的虚拟地址空间使用的时候映射到物理地址上 ... ... 1.5 进程标识 操作系统会给每一个进程分配一个编号这个编号就是进程号。 主要进程标识 进程号PID (process id)父进程号PPID (parent process id)进程组号PGID (process group id) 若干个进程的集合称之为进程组默认情况下新创建的进程会继承父进程的组ID会话组号SID (session id) 若干个进程组的集合称之为会话组默认情况下新创建的进程会继承父进程的会话ID 操作系统刚启动的时候会启动三个进程。三个特殊的进程号 0 idle进程 操作系统引导程序创建1号2号进程。1 init进程 初始化内核的各个模块当内核启动完成后用于收养孤儿进程没有父进程的进程2 kthreadd进程 用于进程间调度。 1.6 进程相关的shell指令
1) ps -aux
功能显示进程占计算机资源的百分比USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
2) ps -ajx
功能显示进程之间的关系PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
父进程 进程号 进程组 会话组
3) pidof
功能根据进程名字获取PID号
格式pidof a.out
4) pstree
功能显示进程关系树
5) kill
kill -9 pid 根据pid号杀死进程
killall -9 进程名字 根据进程名字杀死进程
6) 进程的STAT D 不能被中断的阻塞状态R 运行状态S 可以被中断的阻塞状态T 被信号控制的挂起状态t 进程被调试的挂起状态X 死亡态死亡是一瞬间的该状态永远看不到Z 僵尸状态当前进程退出后父进程没有为其收尸。 高优先级的N 低优先级的L 有些页被锁进内存s 会话组组长l 多线程 运行在前端