《操作系统原理实验》试卷A及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考试作弊不授予学士学位
计算机科学系第二学期
《操作系统原理实验》期末考试试题(A)
考试形式:开卷考试时间:2小时
班别:3 专业:计科姓名:________ 学号:___ _ 成绩___ _ 注意:答案一定要写在答卷中,写在本试题卷中不给分。本试卷要和答卷一起交回。
一.填空题(每小题2分,共30分)
1.在我们的操作系统实验中,C与汇编语言混合编程的操作系统环境为___,其所用的虚拟机为___。2.测试用软盘映像文件的大小为___MB,使用的文件系统格式为___。
3.Intel 80386新增加的两个段寄存器分别为___和___。
4.Intel处理器实模式下的中断向量表包含___个中断向量,每个中断向量有___位。
5.Linux中挂载磁盘映像的命令为___,C语言的编译器为___。
6.将程序的入口安排在指定位置的汇编操作符为___、LD的链接选项为___。
7.ELF的英文原文是___,中文译文为___。
8.在FAT的文件条目中,普通文件和子目录的文件属性值分别为___和___。
9.在IA-32的保护模式下,分段用于___,分页用于___。
10.IA-32处理器的4个系统地址寄存器分别为___。
11.IA-32中的描述符和选择符大小分别为___位和___位。
12.TSS的主要功用为___,TSS描述符只能位于___描述符表中。
13.控制保护模式的寄存器为___,激活保护标志位于其___位。
14.IA-32的三种特权级类型分别为___、___和___。
15.在Make文件中,$@ 和$< 分别表示___和___。
---------------------------------------------------------------
1.虚拟机中的Linux(Ubuntu)、VMware
2. 1.44、FAT12
3.FS、GS
4.256、32
5.mount、GCC
6.org、-Ttext
7.Executable and Linkable Format、可执行与可链接格式
8.0、10h
9.内存(访问)保护、虚拟内存(管理)
10.GDTR、LDTR、IDTR、TR
11.64、16
12.保存任务运行现场(用于任务切换)、全局(GDT)
13.CR0、最低/0/PE
14.CPL、DPL、RPL
15.目标、首个先决条件(源代码文件)
二.问答题(每小题5分,共30分)
1.在实模式下的进程调度中是如何实现堆栈切换的?
2.IA-32的保护模式相比实模式的主要优点有哪些?
3.给出IA-32保护模式下的段寄存器的内容、组成和功用。
4.给出GDT和LDT的英文原文和中文译文,它们有哪些主要功用和区别?
5.启动分页机制的主要步骤有哪些?
6.给出IA-32段页式保护模式下(采用4KB页面大小与两级分页方式的)逻辑地址和线性地址的构成及转换成物理地址的方法。
1.实模式下的进程调度涉及三种不同的栈:应用程序栈、进程表栈、内核栈。其中的进程表栈,只是为了保存和恢复进程的上下文寄存器值,而临时设置的一个伪局部栈,不是正常的程序栈。
在时钟中断发生时,实模式下的CPU会将FLAGS、CS、IP先后压入当前被中断进程(应用程序)的堆栈中。为了及时保护中断现场,进程调度程序将所有上下文寄存器也保存在被中断程序的堆栈中。
在调度程序中,再切换到进程表栈,将这些寄存器值复制到内核进程表中的对应PCB中。
为了能够同时完成进程切换和栈切换,先切换到下一进程的栈,再将返回指令RETF所需的IP和CS的值,预先压入此栈中,在恢复上下文寄存器值后,再使用RETF指令进行进程切换。
2.可访问大容量内存、提供内存保护、支持内存分页/虚拟内存管理。
●保护模式下可访问32位的地址空间,突破了实模式的20位地址空间限制;
●在保护模式下,提供了段长和特权级,通过特权级验证、访问限制和越界检查,可以保护操作系统
和应用程序的代码和数据不被非法访问和修改。而实模式下无任何访问控制,一个程序都可以访问和修改任何其他程序的代码和数据,无任何安全可言;
●保护模式下提供了建立在基本的带保护的分段机制之上的内存分页机制,支持虚拟内存管理。而实
模式下只有无保护的分段机制;
●大容量内存的访问、内存的保护和分页,是构建现代操作系统的基础。
3.在保护模式下,16位的段寄存器的内容,不再是实模式下(最大64KB段长的)段基址,而是指向段描述符的一种数据结构段——选择符,包含段描述符表(GDT或LDT)的索引(偏移值,因为描述符的大小为8字节,所以该偏移值的低3位为0)和特权级等设置。其低2位为特权级别,第3位为0/1对应于全局/局部描述符表,高13位为在描述符表中的偏移值(的高13位)。其实在IA-32处理器中,为了避免地址转换时的频繁内存访问,除了6个可见的段寄存器外,还有隐藏不可见的与每个段寄存器对应的64位影子结构(内容来自段描述符),包含段的基地址、界限和访问信息,用于实现分段管理中的定位和保护功能,它们会在(用MOV指令)装入选择符时被CPU由对应描述符来同步设置。
4.
GDT:Global Descriptor Table,全局描述符表,可含有(系统程序的代码段和数据段的)段描述符和LDT、IDT、TSS、任务门和调用门等描述符表项,用于程序和LDT、IDT、TSS、任务等的寻址。
LDT:Local Descriptor Table,局部描述符表,可含有(应用程序的代码段、数据段和堆栈段的)段描述符、任务门和调用门描述符表项,一般用于应用程序的寻址。
区别:GDT可包含LDT、IDT和TSS等描述符表项,可用于访问操作系统内核及LDT、IDT和TSS等系统数据结构,LDT不能可包含LDT、IDT和TSS等描述符表项,只能用于访问应用程序的各种段。整个系统只有一个GDT,而每个应用程序一般都有一个自己的LDT(但是CPU中只有一个LDTR寄存器,用于存