《linux内核源代码课程概览》.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文档。上传文档
查看更多
《linux内核源代码课程概览》.ppt

Linux内核分析课程概览 任国珍 renguozhen@ LINUX内核模块 Linux内核分析介绍 操作系统后续课程 为什么选LINUX(开放、实用、流行) 操作系统简单回顾 定义(接口、资源管理) 主要组成部分 现代系统主要概念(保护、中断驱动、多任务、同步、系统调用等) LINUX源代码 环境准备(LXR) 内核目录结构 学习线索 拟开展讨论专题 环境准备:LXR 0.3.1 Linux Cross Referencer lxr-0.3.1.tar.gz Depend on Webserver/Apache perl 5 glimpse Install … LXR depends on, …links exuberant ctags /projects/ctags A relational database MySQL, Postgresql or Oracle Apache with mod_perl freetext searching Glimpse or Swish-e glimpse Glimpse is the powerful indexing and query system inside of Webglimpse, which is a feature-rich search engine that has been used on thousands of sites. / install sh configure (or ./configure) make make install LXR 0.3.1 LXR Cross Referencer lxr-0.3.1.tar.gz Function Linux source cross reference URL http://lxr.linux.no/ /projects/lxr lxr-0.3.1 tar zxf lxr-0.3.1.tar.gz cd … modify ‘makefile’ INSTALLPREFIX: “tmp/lxr” → “/var/www/html/lxr” make install modify ‘/var/www/html/lxr/httpd/lxr.conf’ Sourceroot → “/usr/src/linux/” create ‘.htaccess’ ↓ … ?/genxref /usr/src/linux 安装实践 Linux内核功能??目录 系统启动和初始化 arch/i386/kernel/*.S init/main.c 内存管理 mm 内核/进程调度 arch/*/kernel kernel/sched.c kernel/fork.c include/linux/interrupt.h include/linux/sched.h PCI drivers/pci/pci.c include/linux/pci.h 进程间通信 ipc 中断处理 arch/i386/kernel/irq.c include/asm-i386/irq.h 设备驱动 block char cdrom … 文件系统 fs/buffer.c fs/ext2/ include/linux/ext2_fs.h ext2_fs_i.h ext2_fs_sb.h include/linux/fs.h 模块编程 kernel/modules.c include/linux/module.h include/linux/kerneld.h include/linux/elf.h 其他 学习线索 以执行流程为线索 启动和初始化 POST bootsect.S,setup.S,head.S, main.c_start_kernel() cpu_idle() init 中断 struct desc_struct idt_table[256] 进程调度 void schedule(void 修饰词 __attribute__ ##,# #define test(x) #x test(123) 被替换成字符串123; #define test(x,y) x##y test(123,456) 替换成123456; #例子 程序 #define test1(x) #x #define test2(x,y) x##y #define abxy 100 main() { puts(test1(123)); p

文档评论(0)

wgvi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档