《实用操作系统》复习要点中学教育中考中学教育中学课件.pdf
《《实用操作系统》复习要点中学教育中考中学教育中学课件.pdf》由会员分享,可在线阅读,更多相关《《实用操作系统》复习要点中学教育中考中学教育中学课件.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习好资料 欢迎下载 2011年实用操作系统期末考试复习要点 一、考试题型说明 考试题型包括以下几部分:1、名词解释(共 5 题,每题 4 分,计 20 分)2、计算题(共 1 题,每题 15 分,计 15 分)3、简答题(共 5 题,每题 6 分,计 30 分)4、分析题(共 1 题,每题 10 分,计 10 分)5、程序分析题(共 1 题,每题 15 分,计 15 分)6、程序设计题(共 1 题,每题 10 分,计 10 分)二、复习说明 本次考试侧重考察基本知识的掌握情况,所有考试内容都来自课程 ppt。大家在复习时,要结合复习提纲,多看 ppt,但不需要死记硬背。另外,讲义中的程序代码
2、非常多,这些代码主要用作大家课后理解相关实现机制的补充材料。因此,大家没有必要去仔细研读代码。需要提醒的是,在试卷中,也会给出一段程序代码,需要大家说明其中的实现机制。试卷中这部分代码也仅仅是用于辅助大家去回想 ppt 中的相关内容,而不是考察大家对该代码细节(每个语句)的理解。名词解释要求大家能根据自己的理解、用简单的言语解释相关概念。计算题要求大家能结合相关知识,给出计算结果。评分时按步计算,请大家务必写出求解过程。简单题希望大家通过对比分析、根据自己的理解扼要说明相关概念及实现机制的特点。分析题要求大家根据题目要求,构造出内核相关算法的实现机制示意图。程序分析题要求大家结合一段程序代码,
3、扼要说明内核相关机制的实现过程。程序设计题要求大家根据任务要求,写出相应代码。该题与其他课程的程序设计要求类似,但评分时不会过分在意语法方面的细节错误。三、复习提纲(一)第一讲 Linux系统分析基础 1、单内核、微内核的概念 微内核:只提供基础功能,其他功能通过服务实现 微内核功能被划分为多个独立过程,每个过程称为服务器 单内核:(Monolithic kernel)单内核是一个很大的进程。它的内部又可以被分为若干模块(或者是层次或其它)。但是在运行的时候,它是一个独立的二进制大映象。其模块间的通讯是通过直接调用其它模块中的函数实现 2、特权指令的概念及 Linux中特权等级的分类 特权指令
4、:指具有特殊权限的指令。这类指令只用于操作系统或其他系统软件,一般不直接提供给用户使用。在多用户、多任务的计算机系统中特权指令必不可少。它主要用于系统资源的分配和管理,包括改变系统工作方式,检测用户的访问权限,修改虚拟存储器管理的段表、页表,完成任务的创建和切换等。3、Makefile 的作用、Makefile 的编写方法、Makefile 中的常用预定义变量、伪目标.PHONY的作用及使用方法 Makefile 的作用:采用 GNU编译工具对.config中的源文件列表编译 完成内核文件的配置、依赖关系及模块的生成,随后调用 Rules.make编译学习好资料 欢迎下载 文件 Rules.m
5、ake 定义所有 Makefile共用的编译规则 Makefile支持的 make命令 make mrproper:检查.o 文件及文件依赖关系的正确性 make config:配置内核并生成配置文件 make dep:根据配置文件创建相应的依赖关系树 make clean:清除旧版本的目标文件 make zImage:编译并用 gzip压缩成 1MB以下的内核 未压缩的文件是 vmlinuz make bzImage:编译并用 gzip压缩成 1MB以上的内核 make modules:编译模块 make modules_install:安装模块 depmod a:生成模块之间的依赖关系 m
6、akefile 的编法:缺省情况下从 Makefile中的第一个目标开始执行 执行过程类似一次深度优先遍历 sum:main.o sum.o gcc o sum main.o sum.o main.o:main.c sum.h gcc c main.c sum.o:sum.c sum.h gcc c sum.c(danteng)Makefile 中的常用预定义变量:make可直接使用许多预定义的变量 AR:归档维护程序的名称,默认值为 ar ARFLAGS:归档维护程序的选项 AS:汇编程序的名称,默认值为 as ASFLAGS:汇编程序的选项 CC:C编译器的名称,默认值为 cc CFLAG
7、S:C编译器的选项 CXX:C+编译器的名称,默认值为 g+CPPFLAGS:C预编译的选项 系统环境变量的处理 make过程中被解释成 make变量 伪目标.PHONY的作用及使用方法:(./PHONY 来显示的指名一个目标是伪目标,有两个作用一个是改善性能,另外一个是来避免冲突。).phony 是一个特殊工作目标 用来指定一个假想的工作目标,即其后并不是一个实际文件,而且肯定要视为未更新 使用场景 避免与同名文件冲突、改善性能 前例解决方法:.PHONY 题分计分计算题共题每题分计分简答题共题每题分计分分析题共题每题分计分程序分析题共题每题分计分程序设计题共题每题分计分二复习说明本次考试侧
8、重考察基本知识的掌握情况所有考试内容都来自课程大家在复习时要结合复材料因此大家没有必要去仔细研读代码需要提醒的是在试卷中也会给出一段程序代码需要大家说明其中的实现机制试卷中这部分代码也仅仅是用于助大家去回想中的相关内容而不是考察大家对该代码细节每个语句的理解名词解释要算请大家务必写出求解过程简单题希望大家通过对比分析根据自己的理解扼要说明相关概念及实现机制的特点分析题要求大家根据题目要求构造出内核相关算法的实现机制示意图程序分析题要求大家结合一段程序代码扼要说明内核学习好资料 欢迎下载 .PHONY:clean clean:$rm*.o exec_file make不检查是否存在有文件名与依赖
9、体中的一个名字相匹配的文件,而直接执行与之相应的命令 方法:PHONY 目标也可以有依赖关系 使用场景 当一个目录中有多个程序,将其放在一个 makefile 中会更方便 因为缺省目标是 makefile 中的第一个目标,通常将这个 phony目标叫做all,其依赖文件为各个程序 all:prog1 prog2 prog3.PHONY:all prog1:prog1.o utils.o cc-o prog1 prog1.o utils.o prog2:prog2.o cc-o prog2 prog2.o prog3:prog3.o sort.o utils.o cc-o prog3 prog3
10、.o sort.o utils.o 4、Linux函数调用过程中堆栈结构动态变化过程 改进程序中,main 函数中调用了函数 p2,而在p2的执行过程中又调用了函数 p1 题分计分计算题共题每题分计分简答题共题每题分计分分析题共题每题分计分程序分析题共题每题分计分程序设计题共题每题分计分二复习说明本次考试侧重考察基本知识的掌握情况所有考试内容都来自课程大家在复习时要结合复材料因此大家没有必要去仔细研读代码需要提醒的是在试卷中也会给出一段程序代码需要大家说明其中的实现机制试卷中这部分代码也仅仅是用于助大家去回想中的相关内容而不是考察大家对该代码细节每个语句的理解名词解释要算请大家务必写出求解过程
11、简单题希望大家通过对比分析根据自己的理解扼要说明相关概念及实现机制的特点分析题要求大家根据题目要求构造出内核相关算法的实现机制示意图程序分析题要求大家结合一段程序代码扼要说明内核学习好资料 欢迎下载 (二)第二讲进程与线程 1、Linux中进程、线程及内核线程的区别,及其与其他操作系统在实现机制上的主要区别。在 Linux系统中如何区别内核线程与进程。(内核线程)独立运行在内核空间的标准进程,支持内核在后台执行一些操作 刷新磁盘高速缓存 交换出不用的页框 维护网络链接等待 与普通进程的区别 只运行在内核态,内核线程没有独立的地址空间(mm指针被设置为NULL)每个内核线程执行一个单独的内核函数
12、 只使用大于 PAGE_OFFSET的线性地址空间 进程与线程的区别:从形态角度 一个进程可包含一个或多个线程 从调度角度 进程是资源分配的基本单位 线程是处理器调度的独立单位 从虚拟化角度 进程提供两种虚拟机制 虚拟处理器:进程独享处理器的假象 虚拟内存:进程拥有系统内所有内存资源的假象 线程之间可共享虚拟内存,但各自拥有独立虚拟处理器 对 Linux系统而言,线程只是一种特殊的进程!内核态(亦称核心态或系统态)可执行特权指令,访问任意物理地址(包括系统空间)用户态 只能在对应级别允许的范围内活动(用户空间)题分计分计算题共题每题分计分简答题共题每题分计分分析题共题每题分计分程序分析题共题每
13、题分计分程序设计题共题每题分计分二复习说明本次考试侧重考察基本知识的掌握情况所有考试内容都来自课程大家在复习时要结合复材料因此大家没有必要去仔细研读代码需要提醒的是在试卷中也会给出一段程序代码需要大家说明其中的实现机制试卷中这部分代码也仅仅是用于助大家去回想中的相关内容而不是考察大家对该代码细节每个语句的理解名词解释要算请大家务必写出求解过程简单题希望大家通过对比分析根据自己的理解扼要说明相关概念及实现机制的特点分析题要求大家根据题目要求构造出内核相关算法的实现机制示意图程序分析题要求大家结合一段程序代码扼要说明内核学习好资料 欢迎下载 2、Linux 2.4与 Linux 2.6系统堆栈结构
14、的主要区别。Linux 2.4进程系统堆栈结构:Linux系统进程个数限制 所有进程的 PCB及系统堆栈占用空间1/2 的物理内存总和 Linux 2.6进程系统堆栈结构:进程描述符由 slab分配器动态生成 栈底用新结构 struct thread_info,指向进程描述符 3、Linux通用内核链表的特点。Linux 2.6内核通用链表的新特性 HASH链表(hlist)单指针表头双循环链表 表头仅有一个指向首节点的指针,而没有指向尾节点的指针 在可能是海量的 HASH表中存储的表头就能减少一半的空间消耗 读拷贝更新(rcu)以“_rcu”结尾的宏 题分计分计算题共题每题分计分简答题共题每
15、题分计分分析题共题每题分计分程序分析题共题每题分计分程序设计题共题每题分计分二复习说明本次考试侧重考察基本知识的掌握情况所有考试内容都来自课程大家在复习时要结合复材料因此大家没有必要去仔细研读代码需要提醒的是在试卷中也会给出一段程序代码需要大家说明其中的实现机制试卷中这部分代码也仅仅是用于助大家去回想中的相关内容而不是考察大家对该代码细节每个语句的理解名词解释要算请大家务必写出求解过程简单题希望大家通过对比分析根据自己的理解扼要说明相关概念及实现机制的特点分析题要求大家根据题目要求构造出内核相关算法的实现机制示意图程序分析题要求大家结合一段程序代码扼要说明内核学习好资料 欢迎下载 通过延迟写操
16、作来提高同步性能 4、fork()的 vfork()主要差别及创建进程/线程的主要方法(常用函数)。Fork:说明 子进程完全复制父进程的资源 子进程的执行独立于父进程 进程间数据共享需通过专门的进程间通信机制来实现 返回值 父进程执行 fork()返回子进程的 PID值 子进程执行 fork()返回 0 调用失败返回-1 Vfork:vfork()创建的子进程与父进程共享地址空间 子进程作为父进程的一个单独线程在其地址空间运行 子进程从父进程继承控制终端、信号标志位、可访问的主存区、环境变量和其他资源分配 子进程对虚拟空间任何数据的修改都可为父进程所见 父进程将被阻塞,直到子进程调用 exe
17、cve()或 exit()与 fork()的关系 功能相同,但 vfork()但不拷贝父进程的页表项 子进程只执行 exec()时,vfork()为首选 创建进程/线程的主要方法(常用函数):Linux 进程创建方法:在终端输入命令,由 shell 进程创建一个新进程 进程创建函数 pid_t fork(void);pid_t vfork(void);int clone(int(*fn)(void*arg),void*stack,int flags,void*arg);创建轻量级线程 三函数都调用同一内核函数 do_fork()/kernel/fork.c Linux 线程的创建:函数调用形式
18、 int clone(int(*fn)(void*arg),void*stack,int flags,void*arg);int pthread_create(pthread_t*restrict tidp,const pthread_attr_t*restrict attr,void*(*start_rtn)(void),void*restrict arg);tidp:新线程的线程描述表指针 题分计分计算题共题每题分计分简答题共题每题分计分分析题共题每题分计分程序分析题共题每题分计分程序设计题共题每题分计分二复习说明本次考试侧重考察基本知识的掌握情况所有考试内容都来自课程大家在复习时要结合复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用操作系统 实用 操作系统 复习 要点 中学 教育 中考 课件
限制150内