- 进程管理是程序执行逻辑控制
- 进程是运行中的程序,在OS系统里面唯一标识是pid,在网络通信里面的标识是port;程序是运行在CPU上的,在单位时间内上CPU里面的数据只能够执行当前任务
- CPU上程序运行方式:站在时间点上是并行;站在时间段上是并发
- 新进程创建的步骤:
- 1.分配唯一的标识符
- 2.分配内存空间
- 3.进程环境初始化
- 4.设置连接-程序调度使用
- 5.程序正常运行(需要额外的空间,保存运行数据)
- 进程的组成:程序文件,进程控制块(PCB),运行数据
- CPU执行过程依赖于操作系统的进程调度机制和内存管理
- 进程之间有独立的空间结构
- 进程类型:
- 按进程运行方式分类:
- 守护进程:daemon,在系统引导过程中启动的进程,和终端无关进程
- 前台进程:跟终端相关,通过终端启动的进程
- 按进程资源分类:
- cpu-bound:cpu密集型,非交互
- IO-bound:IO密集型,交互,查看设备IO调度算法
- 按管理对象分类:
- 系统进程:完成操作系统的各种功能的进程,处于运行状态的操作
- 用户进程:用户空间下各个程序的进程,包括自己启动的各种程序进程
- 开销就是资源消耗
- 线程是程序执行中一个单一的顺序控制流程,是程序执行的最小单元,是CPU处理器调度和分派的基本单位。
- 一个进程可以有一个或多个线程
- 线程由线程ID,当前指令指针(PC),寄存器和堆栈组成
- 进程有(内存空间,代码,数据,进程空间,打开的文件)和一个或多个线程组成
- 线程与进程的区别在于线程可以共享进程的资源,轻量,切换成低
- 线程相关的概念:线程池,上下文切换,死锁,阻塞运行状态
- 查看进程的相关信息:ls /proc/pid
- 查看进程中的线程-包括进程本身:grep -i threads /proc/pid/status
- 查看进程中的二进制文件:ll /proc/pid/exe
- 查看进程打开的文件:/proc/pid/fd
- 查看多线程:pstree -p | grep xxx
- 进程创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程信息,完成资源分配。
- 就绪状态:进程已准备好,已分配到所需资源,只要分配到CPU就能立即执行。
- 执行状态:进程处于就绪状态被调度后,进程进入执行状态。
- 阻塞状态:正在执行的进程由于由于某些事件(IO请求,申请缓存区失败)而暂时无法运行,进程收到阻塞。
- 僵尸状态:结束进程,父进程结束前,子进程不关闭,杀死父进程可以关闭将死状态。
- 进程优先级决定了进程在竞争CPU资源时的先后顺序。
- 高优先级可以插队;通过调整高优先级,可以提高系统的响应速度和性能。
- 使用nice命令启动一个进程并设置其优先级,或者使用renice命令来调整已运行的进程优先级
- 使用top或htop等命令来实时查看和修改进程的优先级
- 常用进程命令:
- 查看:ps、pstree、top、free、vmstat、lsof
- 管理:kill、killall、pkill
- 任务:jobs、bg、fg、kill %id、nohup、Ctrl + Z
posted @
2026-04-20 11:58
kevin-579
阅读(
20)
评论()
收藏
举报