第一章 Linux内核概览.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 Linux内核概览

配置启动文件 在bootloader中添加一个引导配置项,启动新内核 GRUB 编辑/boot/grub/menu.list文件,增加新启动项 titile Redhat 9.0 linux-x.y.z root (hd0,1) kernel /boot/vmlinuz-x.y.z initrd /boot/initrd-x.y.z.img LILO 编辑/etc/lilo.conf,然后运行lilo(8) 编译后生成文件 vmlinuz vmlinuz是可引导的、压缩的内核 vm代表Virtual Memory, Linux 支持虚拟内存,能够使用硬盘空间作为虚拟内存 位于/boot/vmlinuz initrd.img 初始 RAM 磁盘,在系统引导过程中挂载的一个临时根文件系统 包含了支持 Linux 系统两阶段引导过程所需要的必要可执行程序和系统文件 安装根文件系统和加载一些模块 System.map 内核符号表,包括所有符号连同它们的地址 由“nm vmlinux”产生并且不相关的符号被滤出 Linux内核不使用符号名,而是通过变量或函数的地址来识别变量或函数名 如不使用size_t BytesRead,而使用c0343f20这样引用这个变量 Linux 符号表使用到2个文件: /proc/ksyms ,System.map Thanks for Your Attention! System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。 内核符号表是怎么创建的呢? System.map是由“nm vmlinux”产生并且不相关的符号被滤出。 对于本文中的例子,编译内核时,System.map创建在/usr/src/linux-2.4/System.map。像下面这样: nm /boot/vmlinux-2.4.7-10 System.map 下面几行来自/usr/src/linux-2.4/Makefile: nm vmlinux | grep -v (compiled)|(.o$$)|( [aUw] )|(..ng$$)|(LASH[RL]DI) | sort System.map 然后复制到/boot: cp /usr/src/linux/System.map /boot/System.map-2.4.7-10 在进行程序设计时,会命名一些变量名或函数名之类的符号。Linux内核是一个很复杂的代码块,有许许多多的全局符号。 Linux内核不使用符号名,而是通过变量或函数的地址来识别变量或函数名。比如不是使用size_t BytesRead这样的符号,而是像c0343f20这样引用这个变量。 对于使用计算机的人来说,更喜欢使用那些像size_t BytesRead这样的名字,而不喜欢像c0343f20这样的名字。内核主要是用c写的,所以编译器/连接器允许我们编码时使用符号名,当内核运行时使用地址。 然而,在有的情况下,我们需要知道符号的地址,或者需要知道地址对应的符号。这由符号表来完成,符号表是所有符号连同它们的地址的列表。 * Linux内核分析与实践(Intel课程项目资助) 第一章 Linux内核概览 本章主要内容 操作系统和内核简介 Linux的出现和发展 Linux内核和传统UNIX内核的比较 Linux内核的版本 Linux内核的开发社区 内核源代码的获取 内核源代码结构和查看方式 编译和安装内核 操作系统和内核简介 操作系统相关问题 什么是操作系统?解决什么问题? 操作系统启动之后,你是通过什么硬件和软件来操作计算机系统的?你能干什么? 操作系统与处理器架构有什么关系? 应用程序与开发库是如何运行的?它们是操作系统的一部分吗? 操作系统 操作系统是指整个计算机系统中负责完成最基本功能和系统管理的那部分 操作系统的几个基础概念 内核 进程 系统调用 文件 多用户 多任务 用户(组) 内核简介 内核是操作系统核心(超级管理者) 进程管理 内存管理 文件系统 设备控制 网络功能 设备驱动程序 系统调用接口 Linux内核结构图 Linux的出现和发展 UNIX 贝尔实验室与MIT等研制MULTICS操作系统因困难而退出 1969年,其参与科学家Ken Thompson开发了简化的单用户版的MULTICS,经改进后发展为UNIX(1972年用c语言改写) 贝尔实验室免费向各大学提供UNIX供教学、科研使用,版本6以前源代码公开,因此变得很流行 在ATT公布版本7时开始认识到UNIX的商业价值,于是禁止在课程中研究其源代码 为了教学的需要,1987年荷兰籍教授Andrew

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档