多任务(20250210)
- 电脑硬件
- 2025-08-23 22:03:02

1. 进程的概念
(1) 程序:是一段存放在外存中代码的集合(静态的) (2) 进程:是一个程序动态执行的过程,包括创建、调度、消亡(动态的)
2. 如何实现多任务Linux中,通过进程、线性实现多任务
3. 进程正在执行的程序(动态),需要消耗内存和CPU,是一个动态执行的过程
进程的生存周期:创建 -> 调度 -> 消亡
进程:源代码编译为可执行程序,运行程序,消耗CPU和内存资源
进程和程序的区别:
1)程序是永存,进程是暂时的 2)进程有程序状态的变化,程序没有 3)进程可以并发,程序无并发 4)进程与进程会存在竞争计算机的资源 5)一个程序可以运行多次,变成多个进程, 一个进程可以运行一个或多个程序
4. 进程的创建每个进程被创建时,操作系统回味进程创建4G虚拟的内存空间
系统启动(空间被创建)时,bss段按位清零
5. 进程调度原则:保障多个任务能同时执行 1)宏观并行 多个任务同时向下执行 2)微观串行 CPU在多个任务中快速切换,保障多个任务同时向下执行
多任务操作系统分为:
非抢占式多任务:由调度程序来决定什么时候停止一个进程的运行(如时间片结束时),以便其他进程得到执行机会 Unix, Linux抢占式多任务:除非进程自己主动停止运行,否则会一直执行。 Mac os9 Windows3.1
常用调度算法:
1. 先来先执行,后来后执行 2. 短作业优先 3. 高优先级调度算法 4. 时间片轮转调度算法
6. 进程的状态1)运行态(用户运行态、内核运行态) R 正在执行,且被CPU任务调度所执行的进程
2)就绪态 R 正在执行,没有CPU任务调度执行的进程(只缺少cpu)
3)可唤醒等待态 S 也称为睡眠态,阻塞等待资源的进程
4 )不可唤醒等待态 D 不想被CPU任务调度所打断的进程任务可以设置为不可唤醒等待态 5) 暂停态 T 被暂停执行的进程 6) 僵尸态 Z 进程执行结束,空间没有被回收
7) 结束态 X 进程执行结束,空间被回收
三态图
Linux七态图
7. 进程相关指令1.ps -aux 查看进程状态 ps -aux|grep a.out
2.top 根据CPU占用率查看进程信息 q 退出
3.ps -ef 查看当前时刻进程信息
PID:进程的ID号(唯一) PPID:父进程的ID号
4.pstree 查看进程关系 pstree -p 查看所有进程关系及pid号 pstree -sp + 进程id号 查看某一进程关系
5.kill killall 给进程发送一个信号 kill -9 进程PID killall -9 进程名
6.jobs 查看当前终端下的后台执行任务
7.fg 编号 让一个后台执行的任务放到前台执行
8 进程相关接口父子进程: 父进程:创建新进程的进程称为新进程的父进程 子进程:被创建的进程称为原进程的子进程
8.1 fork 函数pid_t fork(void); 一次调用,会返回两次。 子进程先运行还是父进程先运行,顺序不确定,变量不共享。 子进程复制父进程的0到3g空间和父进程内核中的PCB,但id号不同。 功能:通过该函数可以从当前进程中克隆一个同名新进程。 克隆的进程称为子进程,原有的进程称为 父进程。 子进程是父进程的完全拷贝。 子进程的执行过程是从fork函数之后执行。 子进程与父进程具有相同的代码逻辑。 参数: 返回值: 失败返回-1 成功父进程中返回子进程的PID 子进程中返回0
8.2 getpid函数pid_t getpid(void); 功能: 获得调用该函数进程的pid 参数: 返回值: 进程的pid
8.3 getppid函数pid_t getppid(void); 功能: 获得调用该函数进程的父进程pid号 参数: 返回值: 返回父进程id号
多任务(20250210)由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“多任务(20250210)”
上一篇
向量的点乘的几何意义