.linux内核简介.ppt

.linux内核简介.ppt

ID:21390226

大小:1.65 MB

页数:88页

时间:2018-10-18

.linux内核简介.ppt_第1页
.linux内核简介.ppt_第2页
.linux内核简介.ppt_第3页
.linux内核简介.ppt_第4页
.linux内核简介.ppt_第5页
资源描述:

《.linux内核简介.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、学习LINUX内核一个典型的Linux操作系统的结构用户应用程序Systemcall对硬件资源的管理Shell,libKernelimplementation最简单也是最复杂的操作在控制台下输入ls命令Shell程序分析输入参数,确定这是ls命令调用系统调用fork生成一个shell本身的拷贝什么是系统调用?为什么我们敲击键盘就会在终端上显示?fork是什么?为什么要调用fork?中断的概念,终端控制台设备驱动内核态用户态相关问题,内存保护进程的描述,进程的创建。COW技术系统调用是怎么实现的?软中断、异常的概念调用exec系统调用将

2、ls的可执行文件装入内存内存管理模块,进程的地址空间,分页机制,文件系统从系统调用返回如何做到正确的返回?堆栈的维护,寄存器的保存与恢复Shell和ls都得以执行进程的调度,运行队列等待队列的维护什么是shell?终端解释程序Linux基本概念系统调用内存管理进程管理虚拟文件系统(VFS)信号机制内核初始化过程提纲用户态和内核态系统调用意义系统调用方法Ckcore的特权指令有:MFCR、MTCR、PSRSET、PSRCLR、RFI、RTE、STOP、WAIT、DOZE这里所说的地址空间是虚拟地址而不是物理地址用户态和内核态(CPU:c

3、kcore)内核态用户态标志PSR最高位1PSR最高位0运行指令无限制特权指令不可执行地址空间(MMU)0~4G可访问0~2G可访问区分用户态和内核态目的在于安全考虑:禁止用户程序和底层硬件直接打交道(最简单的例子,如果用户程序往硬件控制寄存器写入不恰当的值,可能导致硬件无法正常工作)禁止用户程序访问任意的物理内存(否则可能会破坏其他程序的正常执行,如果对内核所在的地址空间写入数据的话,会导致系统崩溃)用户程序如何同设备打交道?例如,用户需通过网卡发送数据硬件被linux内核隔离,只能通过内核实现。不可能直接调用操作系统的函数:不可行

4、,也不安全。Linux提供的解决方法:系统调用系统调用的意义操作系统为用户态进程与硬件设备进行交互提供了一组接口——系统调用把用户从底层的硬件编程中解放出来极大的提高了系统的安全性使用户程序具有可移植性基于ckcore的Linuxkernel使用“trap0”指令进行系统调用系统调用过程:执行陷阱异常指令trap0进入异常后,处理器PSR最高位被硬件置1,实现普通用户到特权用户的转变根据系统调用号(r1传入),调用相应函数,满足用户需求系统调用返回,重新回到用户态,用户获得资源。API和系统调用完全不同:API只是一个函数定义系

5、统调用通过“软中断”向内核发出一个明确的请求trap0系统调用图解Linux2.6提供了300多个系统调用,用户可以通过这些系统调用,及它们的组合实现对设备的操作。通常,应用程序开发并不直接和系统调用打交道,而是用C库提供的一层包装函数。如,malloc()sbrk()sys_brk内核函数sys_brk是45号系统调用,C库中它的系统调用方式可能是:…movir1,45trap0…Linux基本概念系统调用内存管理进程管理文件系统信号机制内核初始化过程提纲虚拟内存虚拟内存到物理内存映射方法物理内存和虚拟空间的管理页面异常处理页

6、面交换策略slab分配器ioremap虚拟内存物理内存有限,是一种稀缺资源32位系统中,每个进程独立的占有4G虚拟空间。虚拟内存优势:用户程序开发方便保护内核不受恶意或者无意的破坏隔离各个用户进程Ckcore的MMU虚拟地址空间在保护模式下,即MMU开启时:USEG:用户程序可访问;需建立映射SSEG0:只有内核可访问;直接映射到0~512MPA;可cacheSSEG1:只有内核可访问;也映射到0~512MPA;不可cacheSSEG2:只有内核可访问;需建立映射在ckcoreLinux中,2G以上是内核空间,2G以下是用户空间。虚拟

7、地址到物理地址转换问题:内核为每个进程管理一个PT,占据内存4MB。虚拟地址到物理地址转换:多级映射内核为每个进程管理一个PGD表,PT则需要时再分配。占内存4kB+4KB*N物理内存获取过程:用户程序请求物理内存内核分配物理页面内核填写对应页表项用户程序获得物理内存从这个过程看出,内存管理的核心内容是:物理页面分配和所有进程页表的维护,即物理内存管理和虚拟空间管理。物理内存管理虚拟空间管理缺页异常处理物理页面并不预先分配,而是用到时发现缺少再分配。典型的页面分配过程:用户程序访问虚拟空间未建立映射,产生缺页异常异常处理函数

8、分配物理页面,并填好页表异常返回,用户程序再次访问该虚拟空间Linux页面交换策略把暂时不用的页面存放到磁盘上,为其它急用的进程腾出空间,到需要时再从磁盘上读出来以时间换空间,因此:有实时性要求的系统不宜使用嵌入式只有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。