




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2010 年 Linux 操作系统分析资料 1 Power by Range 1 Linux 的里程碑 答 a 1991 年 11 月 芬兰赫尔辛基大学的学生 Linus Torvalds 发布了第 一个 linux 内核 b 1993 年 发布了 linux 1 0 版 c 1994 年 发布了 linux 第一个商业发行版 Slackware 2 标准 Linux 和 uClinux 在内存管理方面的差异是什么 答 a 标准 linux 使用虚拟存储器技术 b uclinux 针对 NOMMU 3 Linux 的内核版本号 答 a linux 的内核版本号采用的是双树系统 一棵是稳定树 主要用于发行 另一棵是非稳定树 开发树 主要用于产品的开发和改进 b linux 的内核版本号由 3 位数字组成 r x y r 主版本号 x 说明版本类型的次版本号 偶数为产品化版本 奇数为实验版 本 4 堆栈的一些作用 答 堆栈是 C 语言程序运行时必须的一个记录调用路径和参数的空间 作用 包括 函数调用框架 传递参数 保存返回地址 提供局部变量空间 5 为什么要有内核态和用户态之分 答 a 假定不区分 用户直接修改操作系统的数据 用户直接调用操作系统的内部函数 用户直接操作外设 用户任意读 写物理内存 b 区分内核态和用户态的作用 禁止用户程序和底层硬件直接打交道 防止向寄存器写 入不恰当的值 导致硬件无法正常工作 禁止用户程序访问任意的物理内存 防止破坏其他用户 程序 对内核所在的地址写入数据 导致系统崩溃 2010 年 Linux 操作系统分析资料 2 Power by Range 6 什么是 用户态和内核态 答 一般现代 CPU 都有几种的指令级别 intel x86 有 0 3 级 linux 只采 用了 0 和 3 级 内核态 代码开源执行特权指令 访问任意的物理地址 用户态 代码的掌控范围会受到限制 只能在允许的范围内活动 7 x86 中如何区分用户态和内核态 基于 x86 的 Linux 是如何区分用户态和 内核态的 2 种 答 a cs 寄存器的最低两位表明了当前代码的特权级 b CPU 每条指令的读取都是通过 cs eip 这两个寄存器 cs 是代码段选 择寄存器 eip 是偏移量寄存器 上述判断是由硬件完成 基于 x86 的 Linux 中 逻辑地址空间是一个显著的标志 A 0 xc0000000 以上的地址空间只能在内核态下访问 B 0 x00000000 0 xbfffffff 的地址空间在两种状态下都可以访问 8 GCC 的编译过程 答 一般情况下 c 程序的编译过程为 a 预处理 b 编译成汇编代码 c 汇编成目标代码 d 链接 9 GUN binutils 的简介 答 binutils 是一组二进制工具程序集 是辅助 GCC 的主要软件 它主要 包括 ar 建立 修改 提取归档文件 归档文件是包含多个文件内容的一个 大文件 其结构保证了可以恢复原始文件内容 as 是GNU汇编器 主要用来编译GNU C编译器gcc输出的汇编文件 他 将汇编代码转换成二进制代码 并存放到一个object文件中 该目标文件将 由连接器ld连接 ld 连接器 它把一些目标和归档文件结合在一起 重定位数据 并链 接符号引用 最终形成一个可执行文件 nm 列出目标文件中的符号 objcopy 把一种目标文件中的内容复制到另一种类型的目标文件中 objdump 显示一个或者更多目标文件的信息 使用选项来控制其显示 的信息 Readelf 显示 elf 格式可执行文件的信息 2010 年 Linux 操作系统分析资料 3 Power by Range 10 Ld 设置入口点的命令 答 格式 ENTER symbol 其中 symbol 的值为执行程序的入口点 Ld 有多种方法设置执行程序的入口点 确定入口点的顺序为 a ld 命令的 e 选项指定的值 b entry symbol 指定的值 c text 节的起始地址 d 入口点位 0 11 Linux 源代码中根目录下 arch 目录下 include 目录下的主要目录的内 涵 答 include 子目录包含了简历内核代码时所需要的大部分文件 init 子目录包含了内核的初始化代码 是内核工作的开始的起点 arch 子目录包含了所有硬件结构特定的内核代码 kernel 子目录包含了主内核代码 mm 子目录包含了所有内存管理代码 fs 子目录包含了所有文件系统的代码 12 Linux 源代码编译后 生成的原始 vmlinux 的大概组成 答 a i386 kernel head 32 S b init main c init version o c CORE FILES DRIVERS NETWORKS LIBS 13 从 vmlinux 到 bzimage 的变化过程 答 a 在 Linux 内核源代码顶层目录下生成一个 vmlinux arch x86 kernel head 32 S init main c b compressed 下的 vmlinux 为 compressed head 32 S 压缩后的顶层目录下的 vmlinux c boot 下的 bzimage 为 boot 下 header S 等 即 setup bin compressed vmlinux 14 bzimage 中 b z 的含义 答 z 代表压缩 b 代表大内核 15 什么是硬盘的 MBR 答 硬盘的第一个扇区 主引导记录 MBR master boot record MBR 存储 该硬盘的分区表和一小段引导程序 这个应道程序用来装载 OS 所在的分区 2010 年 Linux 操作系统分析资料 4 Power by Range 的第一个扇区 boot loader 的内容到 Ram 中 这个应道程序也可以被替 换 16 从 PC 加电到硬盘启动到 Linux 的经典过程 答 a 上电复位 在 cpu 的引脚上产生一个逻辑值 b 进入到 BIOS 中进行检测 初始化设备 把第一个扇区的内容拷贝到 0 x7c00 c boot loader 启动 并将内核映像的第一个 512 字节拷贝到 0 x90000 d setup 函数从 0 x90200 开始存入 ram 启动 17 实模式 答 实模式是为了兼容早期的 CPU 而设置的 i386 系统总是始于实模式 实模式下 地址总线 20 位 内存范围 0 1MB 逻辑地址 段地址 段内偏移 段地址 段寄存器中的值 16 或左移4 位 段寄存器 cs ds es fs gs 段寄存器长度 16bit 段长 16 位偏移 64KB 18 保护模式 答 保护模式下 地址总线 32bit 访存范围 4GB 原来的段寄存器现在被称为段选择子 最后两位是特权级 DPL 与 GDT 表配合使用 GDT 表由 gdtr 寄存器指示其位置和长度 使用特殊的指令进行操作 sgdt lgdt 19 x86 下的 3 种地址及其转换关系 答 在 intelx86 处理器下 有三种不同的地址 逻辑地址 每个逻辑地址由一个段 segment 和偏移量 offset 组成 线性地址 32 位无符号整数 可表示 4G 大小的地址空间 物理地址 芯片级内存单元寻址 它们与从 CPU 的地址引脚发送到内存 总线上的电信号相对应 地址转换过程 逻辑地址 分段单元 线性地址 分页单元 物理 地址 20 Linux 的几个发行版本 2010 年 Linux 操作系统分析资料 5 Power by Range 答 redhat debian ubuntu kubuntu suse centos fedora 21 段描述符的含义 答 段描述符描述了段的特征 存放在 GDT 或者 LDT 中 段基地址 base 63 56 39 16 一共 32bit 访存 4G 段单元大小 G 55 0 1B 1 4k 最后一个单元的偏移量 Linit 51 48 15 0 一共 20bit 与 G 位 一起决定段大小 系统标志 S 44 特权级 DPL 46 45 存在位 P 47 1 22 在 GDT or LDT 中找到对应段描述符 答 段选择子 0 xFFF8 前 15 位的 index 值乘以 8 就是段描述符 在 XDT 中的位置 23 二级页表的寻址 答 cr3 31 22 21 12 11 0 24 Linux 进程的状态 答 可运行状态 TASK RUNNING 可中断的等待状态 TASK INTERTUPTIBLE 进程被挂起 直到某个条件 为真 返回可运行状态 中断或者一个信号都可以唤醒进程 不可中断的等待状态 TASK UNINTERRUPTIBLE 与可中断的等待状态类 似 但是中断和信号不可唤醒进程 暂停状态 TASK STOPPED 跟踪状态 TASK TRACED 25 进程的标识 答 a 进程描述符地址 b PID 26 调度算法 答 非实时进程 CFS vruntime 红黑树 实时进程 优先级队列 2010 年 Linux 操作系统分析资料 6 Power by Range 27 用户态堆栈与内核态堆栈的差异 答 内核态堆栈与 thread info 结构共享 8k 的空间 28 什么是内核线程 答 每个内核线程执行一个单独指定的内核函数 它只在内核态下运行 使 用大于 PAGE OFFSET 的线性地址空间 29 Linux 从用户态陷入到内核态的三中方式 答 中断 异常 系统调用 30 中断描述符表 系统调用号 系统调用表在从用户态陷入到内核态中的作 用 答 中断描述符表 它与每一个中断或者异常向量相联系 每一个向量在表 中有相应的中断或者异常处理程序的入口地址 内核在允许中断发生前 必 须初始化 IDT 表 系统调用号 指明系统调用 用于参数的传递 系统调用表 把系统调用号与系统调用服务例程关联 31 Linux 的时钟和定时测量功能 答 a 获得当前的时间和日期 Time ftime gettimeofday b 定时器 settime alarm 32 Linux 的计时体系结构 答 a 更新自系统启动以来所经历过的时间 b 更新时间和日期 c 确定当前进程的执行时间 考虑是否要抢占 d 更新资源使用统计计数器 e 检查到期的软定时器 33 静态链接与动态链接的差异 答 静态链接使用静态链接库 在编译后 将需要的库函数加载到编译的文 件中 动态链接使用动态链接库 在加载时 才去调用库函数 2010 年 Linux 操作系统分析资料 7 Power by Range 34 虚拟文件系统 VFS 的作用 答 vfs virtual filesystem switch 是一个软件层 用来处理与 Unix 标准文件系统相关的所有系统调用 是用户应用程序与文件系统实现之间的抽象层 能为各种文件系统提供 通用的 统一的接口 支持多种文件系统格式的目标 35 Vfs 支持的文件系统类型 答 vfs 支持的文件系统可以划分为三种主要类型 a 基于磁盘的文件系统 他们管理在本地磁盘分区中可用的存储空间 如 Linux 使用的文件系统 ext2 ext3 reiserFS Unix 家族的文件系统 sysv 文件系统 ufs minix 文件系统以 及 veritas vxfs 微软公司的文件系统 ms dos vfat ntfs Iso9660cd rom 文件系统和通用磁盘格式的 DVD 文件 其他有专利权的文件系统 hpfs hfsaffs adfs 起源于非 linux 其他的其他日志文件系统 jfs xfs b 网络文件系统 用于访问属于其他网络计算机的文件系统所包含的 文件 Nfs coda afs smb ncp c 特殊文件系统 proc 不管理具体的磁盘空间 36 Linux 支持多少个信号 进程对信号如何处理 答 在 Linux 中可用声明的信号最大数是 64 进程以三种方式对一个信号做出应答 a 显式的忽略这个信号 b 执行系统默认的缺省操作 包括 terminate dump ignore stop continnue c 捕获信号 执行用户指定的某个信号的处理函数 37 信号中的注意点 答 a 阻塞不等于忽略 阻塞仅仅推迟了传递的时间 忽略的信号总是被传递 但是没有进一步的操作 b 有两种信号不可以被显式的忽略 捕捉或阻塞 SIGKILL 和 SIGSTOP 因为他们向超级用户提供一种终止或者停止进 程的可靠的方法 38 设备驱动程序的模型的组件 答 设备 device type 对象 decive 对象 2010 年 Linux 操作系统分析资料 8 Power by Range 驱动程序 device driver 对象 总线 bus type bus register 类 class 39 设备文件 答 unix 类操作系统都是基于文件概念的 文件是以字符序列而构成的信息载体 因此一个 I O 设备也可以当作文 件来处理 与普通文件交互的系统调用也可以直接用于 I O 设备 根据设备驱动程序的基本特性 设备文件可以分类 字符设备 块设备 40 文件 答 设备文件时存放在文件系统中的实际文件 索引节点不对磁盘上的数据块编址 而是包含硬件设备的一个标识 每个设备文件包括 名字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃庆阳市庆城县事业单位引进高层次和急需紧缺人才4人(第三批)模拟试卷及答案详解(全优)
- 2025年甘肃省大数据中心招聘工作人员模拟试卷完整答案详解
- 2025湖北黄冈市武穴市事业单位第二批考核招聘三支一扶服务期满人员1人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025北京大兴区旧宫镇红星派出所流动人口和出租房屋管理员招录1人考前自测高频考点模拟试题及答案详解(必刷)
- 2025杭州青少年活动中心招聘工勤岗位工作人员20人模拟试卷及答案详解一套
- 2025年4月广东深圳市大鹏新区政务服务和数据管理局招聘编外人员2人模拟试卷及答案详解一套
- 2025河南工程学院招聘高层次人才160人模拟试卷附答案详解(突破训练)
- 2025年福建省泉州市晋江市首峰中学招聘1人考前自测高频考点模拟试题参考答案详解
- 2025年上半年五粮液集团公司招聘870人笔试题库历年考点版附带答案详解
- 2025年3月吉林省高速公路集团有限公司公开招聘3人(总部岗位)笔试题库历年考点版附带答案详解
- 房地产 总承包工程技术标述标汇报 -总承包工程技术标答辩标准范本2023版
- 石棉矿域生态修复法
- 儿童入园(所)健康检查表
- (正式版)JBT 14581-2024 阀门用弹簧蓄能密封圈
- 幼儿园-消毒工作流程图
- 电缆修理工安全生产责任制
- 拼音拼读音节带声调完全版
- 2024被动式超低能耗(居住)绿色建筑节能设计标准
- 某桥梁箱涵、箱通工程监理细则
- 【教案】圆锥曲线光学性质的数学原理及应用教学设计人教A版(2019)选择性必修第一册
- 2021年12月12日河北省直机关遴选公务员笔试真题及答案解析
评论
0/150
提交评论