操作系统内核与安全分析课程笔记【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实现,不同的是线程被视为一个与其他进程共享资源的轻量级进程。

相关内容

热门资讯

摸摸你的腰mp3 摸摸你的腰mp3摸摸你的腰mp3... 摸摸你的腰mp3 展开 好多水我摸摸你的头好温柔,我...
最近书荒啊,谁有没有好看的言情... 最近书荒啊,谁有没有好看的言情小说介绍一些啊!不配【有三部】,赶夫上轿【轻松】,南风过境【宠文】,花...
金饰克价再次涨至1000元!黄... 本文来自微信公众号“大象新闻”6月30日,现货黄金盘中一度跌至一个月内新低,随后开始大幅反弹,收报3...
西安警方回应“中华田园犬禁养”... 6月30日,网传陕西省西安市公安局限制养犬管理办公室发布的“重点限养区禁止饲养烈性犬和大型犬”图片引...
小学生常常以教师的行为为榜样,... 小学生常常以教师的行为为榜样,教师也处处表现出对表现好的学生的喜爱和认可,学生从中获得派生地位。这种...
香港维持对日本水产进口管制 作者 | 《财经》特派香港记者 焦建 编辑 | 苏琦  日本水产及日式料理多年来受港人追捧,日本水产...
成都先导终止收购海纳医药65%... 6月30日,成都先导药物开发股份有限公司(以下简称“成都先导”)宣布,因未能就交易事项的核心条款达成...
11岁女孩身高137cm,警惕...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 转自:医学界*仅供医...
《勇气》阅读题理解 《勇气》阅读题理解 19世纪,在英国的名门公立学校—哈罗学校常常会出现以强凌弱、以大欺小的事情。...
建设银行再创历史新高!牵手“山...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!   中国基金报记者 ...