- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1篇 章 Linux内核介绍 Linux系统移植(第2版) .pptx
第1章 Linux内核介绍1.1 系统调用接口1.2 进程管理1.3 内存管理1.4 虚拟文件系统1.5 设备驱动程序1.1 系统调用接口1.1.1 Linux系统调用1.1.2 用户编程接口1.1.3 系统调用与服务例程的对应关系1.1.4 系统调用过程1.1.5 系统调用传递的参数1.1.1 Linux系统调用所有的操作系统在内核里都有一些内建的函数,这些函数完成对硬件的访问和对文件的打开、读、写、关闭等操作。Linux系统中称这些函数叫做“系统调用”(即systemcall)。这些函数实现了将操作从用户空间转换到内核空间。为了对系统进行保护,Linux系统定义了内核模式和用户模式。1.1.2 用户编程接口用户编程接口是为用户编程过程提供的各种功能库函数,如分配空间、拷贝字符、打开文件等。Linux用户编程接口(API)遵循了在UNIX中最流行的应用编程界面标准——POSIX标准。不同的语言和平台为用户提供了丰富的编程接口。系统调用与用户编程接口它们之间存在联系。一个或者多个系统调用会对应到一个具体的应用程序使用的API;但是,并非所有的API都需要使用到系统调用。1.1.3 系统调用与服务例程的对应关系为了通过系统调用号来调用不同的内核服务例程,系统必须创建并管理好一张系统调用表。该表用于系统调用号与内核服务函数的映射,Linux用数组sys_call_table表示这个表。在这个表的每个表项中存放着对应内核服务例程的指针,而该表项的下标就是该内核服务例程的系统调用号。Linux规定,在i386体系中,处理器的寄存器eax用来传递系统调用号。1.2 进 程 管 理1.2.1 进程1.2.2 进程描述符1.2.3 进程状态1.2.4 进程调度1.2.5 进程地址空间1.2.1 进程进程是程序执行时的一个实体。程序包含指令和数据,而进程包含程序计数器和全部CPU寄存器的值。进程的堆栈中存储着一些数据,如子程序参数、返回地址及变量之类的临时数据。当前的执行程序(进程)包含着当前处理器中的活动状态。1.2.2 进程描述符内核对进程的优先级、进程的状态、地址空间等采用进程描述符表示。在Linux内核中,进程用相当大的一个称为 task_struct 的结构表示。struct task_struct {volatile long state; /* -1 unrunnable, 0 runnable, 0 stopped */...unsigned int flags; /* per process flags, defined below */...struct list_head tasks;struct mm_struct *mm, *active_mm;/* task state */struct linux_binfmt *binfmt;int exit_state;...struct list_head thread_group;struct completion *vfork_done; /* for vfork() */int __user *set_child_tid; /* CLONE_CHILD_SETTID */int __user *clear_child_tid; /* CLONE_CHILD_CLEARTID */...};1.2.3 进程状态进程描述符中state字段描述进程当前的状态。它由一组标志组成,其中每个标志描述一种可能的进程状态。在2.6内核中,进程只能处于这些状态中的一种。可运行状态(TASK_RUNNING等待状态(WAITING)暂停状态(TASK_STOPPED)僵死状态(EXIT_ZOMBIE)1.2.4 进程调度Linux进程调度的目的就是调度程序运行时,要在所有可运行状态的进程中选择最值得运行的进程投入运行。每个进程的task_struct结构中有policy、priority、counter和rt_priority这4项是选择进程的依据。1.Linux进程分类Linux在执行进程调度的时候,对不同类型的进程采取的策略也不同,一般将Linux分为以下3类。交互式进程批处理进程(Batch Process)实时进程2.Linux进程优先级Linux系统中每一个普通进程都有一个静态优先级。这个值会被调度器用来作为参考来调度进程。在内核中调度的优先级区间为[100,139],数字越小,优先级越高。一个新的进程总是从它的父进程继承此值。静态优先级(priority)动态优先级(counter)实时优先级(rt_priority)Base time quantum3.Linux进程的调度算法在Linux系统中,进程作为程序的实体始终运行在系统
您可能关注的文档
- 第12篇 章第四节泌尿系统疾病 病理学基础课件.ppt
- 第12篇 章绘制和编辑三维表面 AutoCAD 2010入门课件.ppt
- 第12篇 章课件 第十二篇 章 合成孔径雷达 (Synthetic-Aperture Radar) 卫星海洋学 PPT.ppt
- 第12篇 章进出口商品的归类 报关实务课件.ppt
- 第12課コピー食品 新编日语第三册 教材课程.ppt
- 第12讲 序数 北京大学计算机系离散数学讲义(ppt版)教学讲义.ppt
- 第12讲 中国人口 人 和 与 与环境实用版课件.ppt
- 第12讲 主板接口 计算机硬件维修 教学讲义.ppt
- 第12讲 汇率决定的弗莱明-蒙代尔模型 国际金融 教程教案.ppt
- 第12讲_单元操作教材课程.ppt
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)