操作系统内核与安全分析课程笔记【2】进程管理与调度
创始人
2024-05-31 20:38:10
0

文章目录

  • 基本概念与关键数据结构
  • 进程管理
    • 进程生命周期
    • 进程的关系
      • 进程家族树
      • 线程组
      • 进程组与会话
    • 进程的创建与终止
  • Linux中的线程

基本概念与关键数据结构

进程:静态的,存储在磁盘上的代码与数据。
程序:动态的,执行程序的动态过程,资源分配的基本单位。
线程:调度的最小单位。

Linux内核把进程列表存放在叫作任务队列(task list)的双向循环链表中。这个双向循环链表重的每一项都为task_struct、称为进程描述符(process descriptor)的结构。该结构的定义在中可以查看。一个task_struct在32位机器上大约为1.7KB,其中存储了一个进程状态,进程关系等关键信息。
请添加图片描述请添加图片描述

Linux内核进程描述符:task_struct存储了进程正常运行其功能所需要的信息,其中包括:

  1. 进程属性相关信息: state(状态),pid(进程标识符),flags,exit_code/exit_signal
  2. 进程间的关系:real_parent, children, sibling, group_leader
  3. 进程调度相关信息: prio, static_prio, normal_prio, rt_priority, sched_class, sc, rt, dl, polity, cpus_allowed
  4. 内存与管理相关信息: mm, fs(文件指针),files
  5. 信号相关信息
  6. 资源限制相关信息

进程管理

进程生命周期

在这里插入图片描述
进程有5种可能状态:(ps:可以写一个这5种状态互相转换的代码)

  1. TASK_RUNNING: 可运行态,正在运行或在就绪队列中
  2. TASK_INTERRUPTIBLE:可中断睡眠,被阻塞等待资源
  3. TASK_UNINTERRUPTABLE:不可中断睡眠,对信号没有反应
  4. _TASK_STOPPED:终止态
  5. EXIT_ZOMBIE:僵尸态,进程已消亡,但task_struct结构未释放

进程的关系

进程涉及的关系有3种:

  1. 进程家族树
  2. 线程组
  3. 进程组与会话

进程家族树

线程组

一个线程组中所有线程和该线程组主线程具有相同标识符,即其pid,它被存入task_struct数据结构的tgid字段。同一个线程组的线程通过进程间通信来共享数据。调用getpid()返回当前进程组的tgid,而非每个线程的pid。(ps:这意味着使用getpid()不会把所有线程都返回回来)。

进程组与会话

一个进程组由进程组的leader的pid唯一标识。同时,多个进程可以构成会话,该会话由领导进程的pid唯一标识。

proc1 | proc2 &
proc3 | proc4 | proc5 

在这里插入图片描述
这里proc1和proc2是一个后台进程组,proc3-proc5是一个前台进程组,它们同属一个会话,均在同一个终端运行。

进程的创建与终止

(ps: 这部分代码再多看看)

进程创建包括:fork()和execve()函数族。
进程终止包括:wait()、waitpid()、kill()、exit()函数族。

为了提升效率fork()又拓展为:vfork()和clone()。vfork() 通过保证子进程先运行避免复制浪费,从而提升fork的效率。

进程终止有2种方式:

  1. 主动调用函数终止
    • main函数返回链接程序会主动添加exit()系统调用
    • 主动调用exit()
  2. 被动接收终止信号或异常终止
    • 接收无法处理的信号
    • 产生异常
    • 收到SIGKILL等终止信号

Linux中的线程

linux中线程与进程都由task_struct实现,不同的是线程被视为一个与其他进程共享资源的轻量级进程。

相关内容

热门资讯

我国部署开展 大规模职业技能培... 新华社北京7月15日电 (记者 姜琳) 国务院就业促进和劳动保护工作领导小组近日印发关于开展大规模职...
请简要描述什么是平行宇宙? 请简要描述什么是平行宇宙?百科里的看不懂。如同2条平行线 永远不会相交所以 如果平行宇宙的话你可能...
银魂这句话出自多少集? 银魂这句话出自多少集?是在253话,小玉和银桑之间的一段对话,银桑回答完以后,霸气地拿着洞爷湖在墙上...
小沈阳竟遭《我就是演员》全体导... 小沈阳竟遭《我就是演员》全体导师灭灯,表情略显不服,他真的过气了吗?真的过气了。现在他的热度非常低,...
求曾经看过的一本小说!求书名!... 求曾经看过的一本小说!求书名!内容为有一个小男孩,从小就一直超级倒霉......看变形金刚得了那么Y...
大航海时代ol 购买更多的货物 大航海时代ol 购买更多的货物rt先是引取,就是买卖技能,等级越高就能买入更大量,组队了就能分享到技...
请告诉我关于守护甜心第四季悦梦... 请告诉我关于守护甜心第四季悦梦的资料??????????有吗
人生嘛,就是笑笑别人,顺便再让... 人生嘛,就是笑笑别人,顺便再让别人笑笑。什么意思?人生嘛,就是笑笑别人,顺便再让别人笑笑。什么意思?...
电磁感应的概念和定义是什么? 电磁感应的概念和定义是什么?电磁感应(Electromagneticinduction)现象是指放在...
三元股份相关公司新增一项900... (来源:快查一企业中标了)快查APP显示,三元股份相关公司北京首农畜牧发展有限公司于2025年7月1...