- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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进
您可能关注的文档
- [工学]第1章 光的电磁理论Ato学生.pdf
- [工学]第1章 创业概述.ppt
- [工学]第16讲 干道信号协调控制基本知识.ppt
- [工学]第1章 物体受力分析与平衡.ppt
- [工学]第1章-放射性基本知识2012.ppt
- [工学]第1章引论1.ppt
- [工学]第1章算法复杂度分析.pdf
- [工学]第1章_虚拟仪器与LabVIEW概述.ppt
- [工学]第2章 信息加密技术基础.ppt
- [工学]第2章 1632位微处理器.ppt
- 2025年金肯职业技术学院单招职业适应性测试题库带答案.docx
- 2025年钦州幼儿师范高等专科学校单招综合素质考试题库完美版.docx
- 2025年钟山职业技术学院单招职业适应性考试题库参考答案.docx
- 2025年金华职业技术学院单招职业技能测试题库附答案.docx
- 2025年闽南理工学院单招职业技能测试题库审定版.docx
- 2025年闽南理工学院单招综合素质考试题库审定版.docx
- 2025年闽南理工学院单招职业倾向性考试题库汇编.docx
- 2025年闽南理工学院单招职业倾向性考试题库推荐.docx
- 2025年闽北职业技术学院单招综合素质考试题库1套.docx
- 2025年长沙轨道交通职业学院单招职业技能考试题库一套.docx
文档评论(0)