Linux复习总结.docVIP

  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复习总结

Linux的里程碑 答:a)1991年11月,芬兰赫尔辛基大学的学生Linus Torvalds 发布了第一个linux内核 b)1993年,发布了linux 1.0版 c)1994年,发布了linux第一个商业发行版Slackware 标准Linux和uClinux在内存管理方面的差异是什么? 答:a)标准linux使用虚拟存储器技术 b)uclinux针对NOMMU Linux的内核版本号 答:a)linux的内核版本号采用的是双树系统 一棵是稳定树,主要用于发行 另一棵是非稳定树(开发树),主要用于产品的开发和改进 b)linux的内核版本号由3位数字组成r.x.y r:主版本号 x:说明版本类型的次版本号,偶数为产品化版本,奇数为实验版本 堆栈的一些作用 答:堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间,作用包括: 函数调用框架 传递参数 保存返回地址 提供局部变量空间 为什么要有内核态和用户态之分 答:a)假定不区分: 用户直接修改操作系统的数据 用户直接调用操作系统的内部函数 用户直接操作外设 用户任意读/写物理内存 b)区分内核态和用户态的作用: 禁止用户程序和底层硬件直接打交道,防止向寄存器写入不恰当的值,导致硬件无法正常工作 禁止用户程序访问任意的物理内存,防止破坏其他用户程序,对内核所在的地址写入数据,导致系统崩溃 什么是 用户态和内核态? 答:一般现代CPU都有几种的指令级别,intel x86有0-3级,linux只采用了0和3级 内核态:代码开源执行特权指令,访问任意的物理地址 用户态:代码的掌控范围会受到限制,只能在允许的范围内活动 x86中如何区分用户态和内核态?基于x86的Linux是如何区分用户态和内核态的(2种) 答:a)cs寄存器的最低两位表明了当前代码的特权级 b)CPU每条指令的读取都是通过cs,eip这两个寄存器;cs是代码段选择寄存器,eip是偏移量寄存器 上述判断是由硬件完成 基于x86的Linux中,逻辑地址空间是一个显著的标志: A)0xc0000000以上的地址空间只能在内核态下访问 B)0x000000000xbfffffff的地址空间在两种状态下都可以访问 GCC的编译过程 答:一般情况下c程序的编译过程为 预处理: 编译成汇编代码: 汇编成目标代码: 链接: GUN binutils的简介 答:binutils是一组二进制工具程序集,是辅助GCC的主要软件,它主要包括: ar:建立、修改、提取归档文件。归档文件是包含多个文件内容的一个大文件,其结构保证了可以恢复原始文件内容。 as:是GNU汇编器,主要用来编译GNU C编译器gcc输出的汇编文件,他将汇编代码转换成二进制代码,并存放到一个object文件中,该目标文件将由连接器ld连接 ld:连接器,它把一些目标和归档文件结合在一起,重定位数据,并链接符号引用,最终形成一个可执行文件。 nm:列出目标文件中的符号。 objcopy:把一种目标文件中的内容复制到另一种类型的目标文件中 objdump:显示一个或者更多目标文件的信息。使用选项来控制其显示的信息。 Readelf:显示elf格式可执行文件的信息 Ld设置入口点的命令 答:格式:ENTER(symbol),其中symbol的值为执行程序的入口点 Ld有多种方法设置执行程序的入口点,确定入口点的顺序为: ld命令的-e选项指定的值 entry(symbol)指定的值 .text节的起始地址 入口点位0 Linux源代码中根目录下,arch目录下,include目录下的主要目录的内涵 答:/include子目录包含了简历内核代码时所需要的大部分文件 /init子目录包含了内核的初始化代码,是内核工作的开始的起点 /arch子目录包含了所有硬件结构特定的内核代码 /kernel子目录包含了主内核代码 /mm子目录包含了所有内存管理代码 /fs子目录包含了所有文件系统的代码 Linux源代码编译后,生成的原始vmlinux的大概组成 答:a)i386/kernel/head_32.S b)init/main.c + init/version.o c)CORE_FILES + DRIVERS + NETWORKS + LIBS 从vmlinux到bzimage的变化过程 答:a)

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档