

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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.make 定义
5、所有 Makefile 共用的编译规则 Makefile 支持的 make 命令make mrproper:检查.o 文件及文件依赖关系的正确性make config:配置内核并生成配置文件make dep:根据配置文件创建相应的依赖关系树make clean:清除旧版本的目标文件make zlmage:编译并用 gzip 压缩成 1MB 以下的内核 未压缩的文件是vmlinuzmake bzlmage:编译并用 gzip 压缩成 1MB 以上的内核 make modules :编译模块make modules_install :安装模块depmod a:生成模块之间的依赖关系makefile
6、 的编法:缺省情况下从 Makefile 中的第一个目标开始执行 执行过程类似一次深度优先遍历sum: main.o sum.ogcc -o sum main.o sum.omain.o: main.c sum.hgcc -c main.csum.o: sum.c sum.hgcc -c sum.c (danteng)Makefile 中的常用预定义变量:make 可直接使用许多预定义的变量AR:归档维护程序的名称,默认值为arARFLAGS 归档维护程序的选项AS:汇编程序的名称,默认值为asASFLAGS 汇编程序的选项CC:C 编译器的名称,默认值为ccCFLAGS C 编译器的选项CX
7、X C+编译器的名称,默认值为g+CPPFLAGS C 预编译的选项系统环境变量的处理make 过程中被解释成 make 变量伪目标.PHONY勺作用及使用方法:(./PHONY 来显示的指名一个目标是伪目标,有两个作用一个是改善性能,另外一个是来避免冲突。).phony 是一个特殊工作目标用来指定一个假想的工作目标,即其后并不是一个实际文件, 且肯定要视为未更新学习好资料欢迎下载使用场景避免与同名文件冲突、改善性能前例解决方法:.PHONY学习好资料欢迎下载.PHONY: clea nclea n:$rm *.o exec_filemake 不检查是否存在有文件名与依赖体中的一个名字相匹配的
8、 文件,而直接执行与之相应的命令方法:PHON 目标也可以有依赖关系使用场景当一个目录中有多个程序,将其放在一个 makefile 中会更方便 因为缺省目标是 makefile 中的第一个目标,通常将这个 phony 目标叫做all,其依赖文件为各个程序all : prog1 prog2 prog3.PHONY: allprog1 : prog1.o utils.occ -o prog1 prog1.o utils.oprog2 : prog2.occ -o prog2 prog2.o prog3 : prog3.o sort.o utils.occ -o prog3 prog3.o sort
9、.o utils.o4、Linux 函数调用过程中堆栈结构动态变化过程srintliLJide t dlo IIAvoid pUchdi c Iprintf (;卜iiim七p2 (JJItKxni t y Jcluii t jC= p!:pl(c): rct u rn z+y ;jjii t nNirn ( va xd Iint t y , z;x= l ;* V ):pi iii11 (rx , jr,z): i v Lui ii uQp2 的执行过程中又调用了函数pl改进程序中,main 函数中调用了函数 p2,而在学习好资料欢迎下载(二)第二讲进程与线程1、Linux 中进程、线程及内
10、核线程的区别, 及其与其他操作系统在实现机制上的 主要区别。在 Linux 系统中如何区别内核线程与进程。(内核线程)独立运行在内核空间的标准进程,支持内核在后台执行一些操作刷新磁盘高速缓存交换出不用的页框维护网络链接等待与普通进程的区别只运行在内核态,内核线程没有独立的地址空间(mm 指针被设置为 NULL) 每个内核线程执行一个单独的内核函数只使用大于 PAGE_OFFSE 的线性地址空间进程与线程的区别:从形态角度一个进程可包含一个或多个线程从调度角度进程是资源分配的基本单位线程是处理器调度的独立单位从虚拟化角度进程提供两种虚拟机制虚拟处理器:进程独享处理器的假象虚拟内存:进程拥有系统内
11、所有内存资源的假象 线程之间可共享虚拟内存,但各自拥有独立虚拟处理器 对 Linux 系统而言,线程只是一种特殊的进程!内核态(亦称核心态或系统态)可执行特权指令,访问任意物理地址(包括系统空间)用户态只能在对应级别允许的范围内活动(用户空间)oineippinpdP2du 哪一eip一pi(c) 4eip一eip一eipreipmainP2(M) *-mainOL 电越-plttfseipQ邱c)p2堆栈eipesfV1 ,mwiri堆桟堆栈程痒的代码段学习好资料欢迎下载2、Linux 2.4 与 Linux 2.6 系统堆栈结构的主要区别。Linux 2.4 进程系统堆栈结构:Linux
12、系统进程个数限制所有进程的 PCB 及系统堆栈占用空间W1/2 的物理内存总和通过延迟写操作来提高同步性能1wraj 1 矽 h MrtKlLinux 2.6 进程系统堆栈结构:进程描述符由 slab 分配器动态生成栈底用新结构 struct threadnfo,指向进程描述符100%-川两个连续物理页囿(约gK):谜程描述符 (约立宇节)鑑低的内存ilfehl3、Linux通用内核链表的特点。Linux 2.6 内核通用链表的新特性HASH 链表(hlist)单指针表头双循环链表表头仅有一个指向首节点的指针,而没有指向尾节点的指针 在可能是海量的 HASH 表中存储的表头就能减少一半的空间消耗读拷贝更新(rcu)以rcu 结尾的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论