- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2010-12-14 嵌入式系统操作系统 吴国伟 wgwdut@ 大连理工大学软件学院 关键回顾 Linux特点 Linux系统结构 Linux内核结构和内核源码结构 Linux内核版本 启动流程 Linux系统结构 Linux内核结构 第八章 Linux系统结构(续) Linux内核特性 Linux内核编译方法 实验 Linux移植 Linux内核特性 Linux内核是单内核体系结构(monolithic kernel),相对应的是微内核结构. 微内核优点:模块化,易于移植到其他体系结构,Linux采用模块的方法来弥补单内核的缺点. 模块是运行时能够被动态连接到内核的目标文件中,是在内核模式下执行的. Linux内核是非抢占式. ---2.6已是抢占式的了 Linux线程的支持通过LWP机制来实现的,认为线程是共享上下文的进程,可以通过系统调用clone处理. 如果一个子进程是轻量级进程,那么它可以和父进程共享页表,打开文件表等信息,以减少创建进程时的开销. Linux有一套在用户模式下运行的线程库pthread,Linux还支持内核线程. Linux支持SMP. Linux内核编译方法 下载Linux内核代码: 本课程以linux-2.4.18.tar.gz为例 编译步骤: 解压源码 配置内核 编译内核和模块 配置启动文件 解压 先将压缩包移到你所要的目录下: mv linux-2.4.18.tar.gz /home/yourdir/ tar zxvf linux-2.4.18.tar.gz 会解出一个linux目录 配置内核 makefile的用途 避免复杂命令行 减少编译所需时间 让编译自动运行 配置内核 make工具 自动化编译工具 是解释makefile文件中指令的命令工具 命令的参数和使用方式多样 功能强大 可以控制哪些需要编译到内核(在启动时被载入),哪些是需要时才装入的内核模块. 首先使用make mrproper清除目录下的所有配置文件和先前生成核心时产生的中间文件. cd linux make mrproper 然后开始配置 make config make menuconfig make xconfig make oldconfig 编译内核和模块 make dep或make clean检验内核源代码文件的依赖性和完整性,及确保所有有关文件处于必威体育精装版版本状态. make zImage—产生压缩形式的内核文件 make bzImage---产生压缩率更高的大内核文件 产生的内核文件存放在: /user/src/linux/arch/i386/boot 模块:如果选择了可加载模块,编译完内核后,要对选择的模块进行编译 make modules Linux在系统引导后.从/boot目录下读取内核映像到内存中. 拷贝内核映像文件和内核符号表文件(System.map:记录内核映像中的符号及对应的地址). cp /user/src/linux/arch/i386/boot/zImage /boot/zImage-2.4.18 cp /user/src/linux/System.map /boot/System.map-2.4.18 ln –sf /boot/System.map-2.4.18 /boot/System.map 如果使用lilo启动linux ,则编辑/etc/lilo.conf文件修改系统引导配置.(或者grub). 典型的lilo.conf文件配置 promt Timeout=50 Default=linux Boot=/dev/had Map=/boot/map Install=/boot/boot.b Message=/boot/message Lba32 Image=/boot/vmlinux-2.4.7-10 label=linux read-only root=/dev/hda1 Image=/boot/zImage-2.4.18 label=software school read-only root=/dev/hda1 Image指明内核映像的存放位置,label是lili启动时供选择的提示关键字,root是被加载为根目录的磁盘分区. Lilo –v写回 实践环节一 观察Linux的行为 实验目的:通过proc文件系统观察整个系统的一些重要特征,并编写一个程序使用proc文件系统获得以及修改系统的各种配置参数. 实验要求:需要具有linu
文档评论(0)