内核分析与高级编程详解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性地址转换为物理地址 线性地址结构 页目录索引 页表索引 页内偏移量 页目录项 ┋ 页表项 ┋ (1024项) (1024项) 物理页帧 内存 页内偏移 页帧号 CR3 页目录表 页表 31 22 21 12 11 0 物理地址 目前三十页\总数四十三页\编于二十三点 页表项 31 0 12 11 其它控制位 禁止缓存位 访问位 保护位 修改位 存在位 1=只读 0=读写 页内编移量 查表最终得到 页帧号 + 页帧号  页内偏移量 页帧号 1=存在 0=不存在 物理地址送地址线 MMU在页表的支持下完成 地址映射和虚实转换 线性地址32位 10 位 10位 12位 目前三十一页\总数四十三页\编于二十三点 内核分析与高级编程详解演示文稿 目前一页\总数四十三页\编于二十三点 优选内核分析与高级编程 目前二页\总数四十三页\编于二十三点 内存管理 虚拟文件系统 进程调度 网络接口 进程间通信 Linux内核的抽象结构 网络文件传送 VFS SCHED NET 调度\交 换进程 IPC 存取共享内存 装入数据和 程序 虚存交换 MM 目前三页\总数四十三页\编于二十三点 用户应用程序 系统库(如标准C库) 系统调用接口 硬   件 用户态进程请求与内核的接口 模块 (动态链接) I/O 进程控制 (调度\通信 内存管理) 内核 目前四页\总数四十三页\编于二十三点 /usr/src linux documentation scripts net modules mm lib kernel ipc init include arch i386 … alpha kernel mm lib … drivers block char fs ext2 fat proc … 源代码目录树结构 目前五页\总数四十三页\编于二十三点 /proc driver fs ide irq net sys sysvipc tty 有关进程的子目录(十进制数目录) 虚拟文件系统/PROC目录结构 目前六页\总数四十三页\编于二十三点 一个简单的系统监测工具的实现 命令行形式: sysinfo [-h] [-i] [-l interval ] 选项: -h —— 显示命令用法 -i —— 显示系统静态信息,包括:内核版本信息,主机名,内核版本号,操作系统类型,CPU类型和主频,内存信息 -l 间隔时间 —— 按指定间隔时间刷新显示CPU占用率,包括:用户态、核心态和空闲态占用CPU时间百分比。 main( ) 显示帮助 信  息 显示系统 静态信息 cpuinfo() 显示系统 动态信息 loadinfo() -h -i -l 目前七页\总数四十三页\编于二十三点 cpuinfo() 获取系统日期及时间 显示报告系统静态信息的时间和日期 依次打开/proc下的相关文件 提取系统信息字符串并显示 显示系统静态信息 /proc/version /proc/sys/kernel/hostname /proc/sys/kernel/osrelease /proc/sys/kernel/ostype /proc/cpuinfo /proc/meminfo 目前八页\总数四十三页\编于二十三点 loadinfo( ) 执行procinfo命令 产生系统信息文件info 提取文件info中的cpu使用情况信息 格式化输出cpu使用情况信息 休眠(由刷新参数指定休眠时间) 显示系统动态信息 目前九页\总数四十三页\编于二十三点 运行态 停止态 等待态 就绪态 僵死态 进程状态转换关系示意图 跟踪结束 创建进程、分配资源 调度 回收资源 进程消亡 等待事件 睡眠 时间片耗尽 跟踪 事件唤醒 exit 目前十页\总数四十三页\编于二十三点 fork( )创建新进程后,将并发执行两个进程: int main(void) { pid_t pid; … if((pid=fork()) ==0) //条件不成立 { … } else { 父进程执行的分支 } … int main(void) { pid_t pid; … if((pid=fork()) ==0) //条件成立 { 子进程执行的分支 } else {

文档评论(0)

风高云蛋 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档