[工学]第6章 Linux系统的进程与存贮管理.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第6章 Linux系统的进程与存贮管理

第6章 Linux系统的进程与存储管理 主要内容 Linux进程结构 Linux进程控制 Linux进程调度 Linux进程通信 Linux存储管理 6.1 Linux进程和存储管理简介 Linux核心两部分: “静”的文件系统 存放管理程序数据,为数据文件分配存储空间 “动”的进程控制系统 分配内存空间,进程调度、控制,进程间通信,内存管理 6.1 Linux进程和存储管理简介 Linux系统中一个程序看做是一个可执行文件,一个进程是一个正在执行程序的实例。 从静态观点来看,进程由:指令、数据、堆栈结构和上下文组成。 系统同时运行多个进程,多个进程可以调用同一个程序。 Linux安装程序的任务: 建立引导程序、初始化交换分区 拷贝文件 初始化用户环境等 6.1 Linux进程和存储管理简介 Linux启动过程: 将保存在硬盘中的内核加载到内存,然后进行Linux内核的初始化 0#进程(静态建立,idle进程) 不做什么有意义的事情,只在其它进程都不被调度时运行 1#进程(1#进程,控制终端及运行shell进程) 启动终端和shell进程,响应用户输入 6.1 Linux进程和存储管理简介 Linux的内核初始化过程 BIOS或EFI等固件,负责从磁盘引导扇区加载引导加载程序 grub或lilo,负责装入内核到内存并运行内核所在起始地址 核心首先初始化硬件相关代码,然后初始化系统内部数据结构 建立0#进程,将文件系统挂在到/下,创建进程1,然后0#进程变为idle进程 1#进程 /sbin/init 6.1 Linux进程和存储管理简介 核心态与用户态: 用户态的进程能够存取自己的指令和数据,不能存取核心指令和数据 用户态通过系统调用切换到核心态得到系统的服务 6.1 Linux进程和存储管理简介 Linux进程控制系统包括: 与文件系统的接口 进程本身的控制(创建、调度、撤销等) 进程间控制部分(互斥、同步和通信) 存储管理部分 6.1 Linux进程和存储管理简介 Linux进程调度原则: 按照进程优先级,调度最高优先级进程 进程优先级随时间动态变化 Linux的四种调度情况: 当前进程要求资源未得到满足,自身调用sleep过程放弃处理机进入睡眠 与其它进程保持同步,调用wait过程 某进程被唤醒且优先级高于当前进程优先级 当前进程调用exit,自我终止时 6.1 Linux进程和存储管理简介 Linux用户进程间通信: 软中断信号和wait,sleep 管道、命名管道、共享内存 Linux的存储管理策略: 请求调页策略 6.2 Linux进程结构 6.2.1 进程概念 Linux系统中进程被赋予的含义 对一个程序的执行 存在一个task_struct结构 进程可生成或消灭其他子进程 进程是分配和释放资源的基本单位 6.2 Linux进程结构 task_struct 结构 进程上下文:进程控制块+正文+数据, task_struct 结构相当于PCB,包括: 进程的状态 进程PID 描述进程家族关系、组成员关系的一些指针 若干用户标识号,用户ID,用户组ID等 调度参数:优先级、调度策略、进程所处的就绪队列,时间片等 6.2 Linux进程结构 task_struct 结构(续) 软中断信号项 中断及中断处理参数 各种计时项,用于记账,计算调度优先级等 进程地址空间和内存相关信息 与文件系统有关的项目,fs_struct类型,描述进程的当前目录,文件系统环境等 6.2 Linux进程结构 task_struct 结构(续) 用户文件描述附表,记录进程打开的文件 进程消亡时的返回值和终止信号 与上下文切换、现场保护有关的各项,保存各种寄存器的当前值 资源限制有关的项目 全长1680字节 6.2 Linux进程结构 6.2.2 进程的虚拟地址结构(Intel x86平台) 每个进程有4G虚拟空间,其中: 0~3G由用户进程访问 1~4G称为核心地址空间,所有进程共享,不能由用户进程直接访问 mm_struct结构: 保存用户进程地址空间相关信息,该结构体指针保存在task_struct 中 6.2 Linux进程结构 虚拟区域vm area,VMA: 虚拟地址空间上的一段连续区域 被共享、保护及内存分配的独立实体 一个区存放一个逻辑段,如:代码段、数据段 vm_area_struct结构管理进程中的区 注意:区地址范围不重叠,两个区不一定连续,区内地址连续 进程调用mmap请求创建一个区,通过munmap释放一个区 6.2 Linux进程结构 6.2.3进程上下文 进程上下文结构 不同硬件体系结构,进程上下文分布规则不同。 Intel x86上,进程虚拟地址空间232。 核心栈包括系统调用参数和调用序列 6.2 Linux进

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档