网站大量收购闲置独家精品文档,联系QQ:2885784924

Linux复习大纲带答案-学长版 .docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 第 PAGE 1 页 共 NUMPAGES 16 页 《实用操作系统》期末考试题型说明 2016年6月16日 一、名词解释(共5题,每题3分,计15分) 通过2~3句话说明相关概念的基本定义。 二、计算题(共2题,每题15分,计30分) 结合相应图表,根据题目要求,计算相应结果(给出详细计算过程,分步给分)。 三、简答题(共5题,每题6分,计30分) 根据提问,对相关知识点进行总结,并作必要对比分析。 四、程序分析题(共2题,每题7分,计14分) 根据相关代码框架,说明相应技术的实现原理与机制(不需要对代码细节做深入分析)。 五、程序设计题(共1题,计11分) 根据题目要求,给出相应的设计方案。 《实用操作系统》复习提纲 提示: 1)请根据以下提纲整理相关知识内容的要点,避免去死记硬背。 2)请不要简单地依据往年试题内容复习,否则后果自负。 第一讲:Linux系统分析基础 1、什么是用户态和内核态及划分的必要性? 不区分的缺陷 用户直接修改操作系统数据 用户直接调用操作系统内部函数 用户直接操作外设 用户任意读/写物理内存 区分意义:保护内核 禁止用户程序和底层硬件直接打交道 如果用户程序往硬件控制寄存器写入不恰当的值,可能导致硬件无法正常工作 禁止用户程序访问任意物理内存,否则可能会破坏其他程序的正常执行 如果对核心内核所在的地址空间写入数据,会导致系统崩溃 2、Linux单内核、多模块的特点及其与微内核操作系统的主要区别。 Linux是单内核、多模块系统 Linux内核运行在单独的内核地址空间 所有操作系统功能作为一个模块实现在内核中 模块均运行在内核态,直接调用函数,无需消息传递 模块化设计、抢占式 (Linux 2.6内核级抢占,Linux 2.4用户级抢占)、支持内核线程及动态装载内核模块的能力 与Unix主要区别 Unix也是单内核系统,但Linux汲取了微内核设计思想(基于模块定制内核) Unix也是单内核系统 Windows NT和Mach是微内核系统 只提供基础功能,其他功能通过服务实现 微内核被划分为多个独立过程,每个过程称为服务器 可加载内核模块的概念,内核模块与C语言应用程序的主要差别。 加载内核模块(Loadable Kernel Module)的概念 模块实际上是一种目标对象文件,没有链接,不能独立运行 其代码可以在系统运行时链接到系统中,作为内核的一部分运行或从内核中取下,从而可以动态扩充内核的功能(不需要重新编译内核) 这种目标代码通常由一组函数和数据结构组成 C语言程序 模块 运行 用户空间 内核空间 入口 main() module_init() 出口 无 module_exit() 编译 gcc -c 编制专用Makefule,并调用gcc 连接 gcc insmod 运行 直接运行 insmod 调试 gdb kdbug, kdb, kgdb等 第二讲:进程与线程 Linux 2.4及2.6进程系统堆栈结构特点及主要区别。 Linux进程系统堆栈结构特点 8192( 213 )字节,两个页框 占据连续两个页框,且第一个页框起始地址为213的倍数 Linux2.4进程系统堆栈结构特点 结构定义(/include/linux/sched.h) Linux2.6进程系统堆栈数据结构定义 (其定义了一个指向进程描述符的指针) Linux2.6进程系统堆栈结构特点 两者区别: Linux2.4进程描述符由alloc_task_struct(),free_task_struct(),get_task_struct()进行管理,Linux2.6进程描述符由slab分配器动态生成; Linux2.4进程系统堆栈栈底使用struct task_struct结构,Linux2.6进程系统堆栈栈底使用新结构struct thread_info,其定义了指向进程描述符的指针,占用更小的栈空间 进程(组)相关标识符的含义。 ·成员名:pid_t pid 功能: 内核通过pid标识每个进程 pid与进程描述符之间有严格的一一对应关系 ·成员名:pid_t tgid 功能: 标识进程是否属于同组,组ID是第一个组内线程(父进程)的ID 线程组中的所有线程共享相同的PID idle进程。 系统引导进程(init_task)在引导结束后成为cpu 0上的idle进程,每个cpu上都有一个idle进程,idle进程不进入就绪队列,仅当就绪队列为空时

文档评论(0)

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

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

1亿VIP精品文档

相关文档