内容发布更新时间 : 2024/11/14 16:11:13星期一 下面是文章的全部内容请认真阅读。
警 示 《中山大学授予学士学位工作细则》第六条考试作弊不授予学士学位
计算机科学系 2012第二学期
《操作系统原理实验》期末考试试题(A)
任课教师:李才伟 考试形式:开卷 考试时间:2小时
年级:11 班别: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文件中,$@ 和 $< 分别表示___和___。
二.问答题(每小题5分,共30分)
1. 在实模式下的进程调度中是如何实现堆栈切换的? 2. IA-32的保护模式相比实模式的主要优点有哪些?
3. 4. 5. 6.
给出IA-32保护模式下的段寄存器的内容、组成和功用。
给出GDT和LDT的英文原文和中文译文,它们有哪些主要功用和区别? 启动分页机制的主要步骤有哪些?
给出IA-32段页式保护模式下(采用4KB页面大小与两级分页方式的)逻辑地址和线性地址的构成及转换成物理地址的方法。
三.编码题(每小题10分,共40分)
1. 编写一个引导扇区汇编程序,在文本屏幕的中央显示黑底亮绿字的个性化字符串:XXX love OS!。其中
的XXX为你自己姓名(如张三丰)的拼音(如Zhang Sanfeng)。
2. 编写满足如下要求的完整汇编程序:在(利用DiskWrite/FloppyWriter)写入(C/H/S=80/4/63的)10MB
硬盘映像文件后,可创建(不含引导代码的)分离的主引导扇区和(序列号为你学号的)FAT12的分区引导扇区,初始化两个FAT表,并在根目录中添加名为“10MB OS HD”卷标条目。
3. 编写可生成COM文件的完整汇编程序,要求在文本屏幕顶行中央,每间隔一秒钟,交互显示黑底亮白
字的字符O和S。
4. 已知已经初始化好的GDTR指针为GdtPtr,已知32位代码段的选择符为SelectorCode32,写出进入保护
模式汇编程序的剩余代码部分。
《操作系统原理实验》试题参考答案
一.填空题(每小题2分,共30分)
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. 实模式下的进程调度涉及三种不同的栈:应用程序栈、进程表栈、内核栈。其中的进程表栈,只是为了
保存和恢复进程的上下文寄存器值,而临时设置的一个伪局部栈,不是正常的程序栈。
在时钟中断发生时,实模式下的CPU会将FLAGS、CS、IP先后压入当前被中断进程(应用程序)的堆栈中。为了及时保护中断现场,进程调度程序将所有上下文寄存器也保存在被中断程序的堆栈中。
在调度程序中,再切换到进程表栈,将这些寄存器值复制到内核进程表中的对应PCB中。
为了能够同时完成进程切换和栈切换,先切换到下一进程的栈,再将返回指令RETF所需的IP和CS的值,预先压入此栈中,在恢复上下文寄存器值后,再使用RETF指令进行进程切换。 2. 可访问大容量内存、提供内存保护、支持内存分页/虚拟内存管理。
? 保护模式下可访问32位的地址空间,突破了实模式的20位地址空间限制;
? 在保护模式下,提供了段长和特权级,通过特权级验证、访问限制和越界检查,可以保护操作系统
和应用程序的代码和数据不被非法访问和修改。而实模式下无任何访问控制,一个程序都可以访问和修改任何其他程序的代码和数据,无任何安全可言;
? 保护模式下提供了建立在基本的带保护的分段机制之上的内存分页机制,支持虚拟内存管理。而实
模式下只有无保护的分段机制;
? 大容量内存的访问、内存的保护和分页,是构建现代操作系统的基础。
3. 在保护模式下,16位的段寄存器的内容,不再是实模式下(最大64KB段长的)段基址,而是指向段描
述符的一种数据结构段——选择符,包含段描述符表(GDT或LDT)的索引(偏移值,因为描述符的大小为8字节,所以该偏移值的低3位为0)和特权级等设置。其低2位为特权级别,第3位为0/1对