2022年操作系统原理实验复习考试.docx





《2022年操作系统原理实验复习考试.docx》由会员分享,可在线阅读,更多相关《2022年操作系统原理实验复习考试.docx(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 操作系统原理试验笔试复习重点与考试要求成果运算 :平常 40 分 考勤问答( 5 分) + 平常作业( 15 分) + 大作业( 20 分) + 期末 60 分 笔试( 30 分) + 操作( 30 分) = 100 分考试形式: 开卷笔试(可以带电脑)考试时间: 20XX 年 6 月 10 日(周日)下午 2:304:30 考试地点 :东新区教学楼B203(信安 /网工)和 B204(计科)题型: 填空( 15 题,每题 2 分,共 30 分)、问答( 6 题,每题 5 分,共 30 分)、编程( 4 题,每题 10 分,共 40 分)1 试
2、验环境与引导参见“01 操作系统的试验环境与引导.doc” 和“03FAT 文件系统与文件装载.doc” 中的3.1 和 2.3;1.1 环境1.1.1 基本环境硬件平台: PC 机( IA-32 )操作系统: Windows XP/7 、虚拟机中的 Linux ( Ubuntu)虚拟机:Virtual PC (已剔除)VMware (Ubuntu 、编程)Bochs(测试)在 VMware 中创建 Ubuntu 虚拟机,并安装 Ubuntu Linux(包括另外安装 GCC、NASM 和 Samba),供以后 C 与汇编混合编程时使用1.1.2 编译环境与工具汇编语言操作系统: Window
3、s XP/7 编译器: NASM C 语言与汇编混合编程名师归纳总结 - - - - - - -第 1 页,共 47 页精选学习资料 - - - - - - - - - 操作系统:虚拟机中的 Linux (Ubuntu)编译器: GCC 与 NASM 链接器: LD 1.1.3 其他开发工具Windows 平台NotePad+源代码编辑,编写汇编和C 语言源程序、配置文件等文本文件WinHex 二进制编辑,文件、软盘映像、磁盘 FloppyWriter 将引导扇区等写入软盘映像 WinImage 用于将文件复制进 FAT12 软盘映像 Debug调试汇编程序 Linux 平台 Samba Li
4、nux 与 Windows 进行网络共享的工具(已剔除)gedit 图形界面的文本编辑器,用于编写汇编和 C 语言源程序1.1.4 测试环境虚拟机: Bochs 操作系统: DOS(MS-DOS 6.22 或 FreeDOS 1.1)系统软盘映像 外存:(带 FAT12 的) 1.44MB 软盘映像、 U 盘 文件格式: COM 、BIN 、 ELF 1.2 引导1.2.1 引导过程运算机加电或重启CPU 复位 内存清零 内存奇偶校验跳转到地址为 FFFF0h 处的系统 BIOS 入口指令,执行主板 ROM 中的例程 检查各个端口, 识别并初始化设备,然后将这些设备连接到运算机上,并供应 在设
5、备上的 I/O 服务创建两个数据区中断向量表和 BIOS 数据区读启动盘的第一个物理扇区,假如其最终两个字节为55h 和 AAh ,就装入该扇区到内存地址7C00h 处,并跳转到7C00h 处执行(引导扇区里面的指令,一般是装入操作系统的引导程序)名师归纳总结 - - - - - - -第 2 页,共 47 页精选学习资料 - - - - - - - - - 1.2.2 引导扇区引导扇区( Boot Sector )是磁盘的第一个物理扇区(512B),构成:主引导记录( MBR = Master Boot Record ,446B)磁盘分区表( DPT = Disk Partition Tab
6、le , 4*16=64B )引导记录标识符(BRID = Boot Record IDentifier,2B,55h AAh )1.3 引导试验1.3.1 编写引导汇编代码用 NotePad+编写汇编源代码(参见“01 操作系统的试验环境与引导.doc” 的 3.3)用 org 操作符设置程序的入口地址为7C00h 设置 DS 和 ES=CS 调用后面定义的显示字符串函数 进入无限循环定义显示字符串函数用10h 号中断的 13h 功能实现(红色)字符串显示定义字符串常量“Hello, OS world.”用 times 伪指令将剩余空间填充为 0 将引导扇区的最终 2 个字节设置为 55h
7、和 AAh 将写好的汇编程序用文件名boot.asm 储存到 NASM 程序所在的目录中用 NASM 将程序编译成二进制文件 boot.bin :nasm boot.asm -o boot.bin 1.3.2 创建软盘映像参见“03FAT 文件系统与文件装载.doc” 的 3.1 运行 Bochs 程序组中的“Disk Image Creation Tool ” 程序( bximage.exe)在“Please type ha or fd. hd ” 后键入 fd(指软盘,默认为硬盘 hd)后回车在下面的选项中用回车挑选默认的 1.44MB 软盘在下面的选项中键入软盘映像文件的名称“bt.im
8、g ” (默认为“a.img ” )后回车再按任意键完成创建新建的软盘映像文件会被存放在 Bochs 程序的主目录中将软盘映像文件移动到 Bochs 程序的“dlxlinux ” 子目录1.3.3 将 boot.bin 写入软盘映像运行 FloppyWriter.exe 程序单击“Write File to Image ” (写文件到映像)按钮在弹出的 “ 打开文件”对话框中, 选中 NASM 程序目录中的 boot.bin 文件后按 “ 打开” 按钮名师归纳总结 - - - - - - -第 3 页,共 47 页精选学习资料 - - - - - - - - - 在新弹出的 “ 打开文件”对话
9、框中, 选中 Bochs 程序的“ dlxlinux ” 子目录中的bt.img文件后按“ 打开” 按钮弹出含字符串“ 胜利! ” 的表示写入胜利的消息框1.3.4 用软盘映像启动虚拟机参见“03FAT 文件系统与文件装载.doc” 的 2.3;修改 Bochs 虚拟机的配置文件用记事本或NotePad+打开 Bochs 程序的“dlxlinux ” 子目录中的虚拟机配置文件 bochsrc.bxrc 将其中的“floppya: 1_44=floppya.img, status=inserted” 行中的“floppya.img ”改为我们自己的软盘映像文件“bt.img”将“boot: c”
10、 行中的硬盘“c” 改为“floppy ” (软盘)储存 bochsrc.bxrc 文件重新启动 Linux Demo in Bochs 2.5.1 虚拟机1.3.5 用 WinHex 编辑启动 U 盘留意!下面的操作可能会破坏 U 盘的分区结构;插入(空白或闲散的)U 盘运行 WinHex 打开 boot.bin 文件选中“ 工具 /打开磁盘”菜单项, 在弹出的 “ 编辑 磁盘” 对话框中, 挑选下部的 “ 物理驱动器” 中 U 盘对应项,按“ 确定” 钮打开 U 盘选中 boot.bin 文件前面的非0 内容,按 Ctrl+C 复制到剪接板定位到 U 盘的开头处, 按 Ctrl+B(并在弹
11、出的确认菜单中按“ 确定” 钮),将 boot.bin中的代码复制到 U 盘的启动扇区确保 U 盘的第一个物理扇区(即引导扇区)的最终两个字节为 55h AAh 重启运算机,挑选用 U 盘启动2 汇编程序与代码块装载2.1 CPU Intel 8086(16 位,实模式)、80286(16 位,爱护模式) 、80386(32 位,爱护模式+分页机制)IA-32(Intel Architecture-32 ,因特尔 32 位体系结构) = x86-32,包括 80386 和 80486 IA-64 = 指 Intel 公司的 64 位 CPU 安腾( Itanium)架构(与 IA-32 不兼容
12、)x64 = Intel 64 / IA-32e = AMD64 / x86-64 =( AMD 创造,与 IA-32 兼容),包括奔腾(Pentium)、酷睿( Core)、赛扬( Celeron)、凌动( Atom )名师归纳总结 - - - - - - -第 4 页,共 47 页精选学习资料 - - - - - - - - - 2.2 寄存器2.1.1 8086 寄存器Intel 8086 有 14 个 16 位寄存器;8 个通用寄存器4 个数据寄存器:AX (累加)、BX (基址)、CX(计数)、DX (数据)4 个指针变址寄存器:SP(堆栈指针) 、BP(基址指针) 、SI(源变址)
13、、DI(目的变址)4 个段寄存器: CS(代码段)、DS(数据段)、SS(堆栈段)、ES(附加段)2 个专用寄存器:2.1.2 标志寄存器IP(指令指针)、FLAGS (标志)8086 的 16 位标志寄存器 FLAGS 中一共定义了 9 个标志位,其中的 6 个状态标志位可用于条件代码,3 个掌握标志位可影响指令的执行结果;6 个状态标志位:零标志 ZF (第 6 位)指明算术或比较运算的结果,可被 JZ/JNZ 指令利用符号标志 SF(第 7 位)运算结果的符号,可被 JS/JNS指令利用进位标志 CF(第 0 位)包含算术运算操作后最高位的进位或移位 /循环操作后最终位的内容,可被 JC
14、/JNC 指令利用溢出标志 OF(第 11 位)指出算术运算后最高位溢出,可被 JO/JNO 指令利用奇偶标志 PF(第 2 位)指明在操作产生的结果中,低字节里为 1 的位的数量的奇偶,可被 JPE/JNP 或 JPO 指令利用帮助进位标志 AF (第 4 位)在字操作时发生低字节向高字节进位或借位时、在字节操作时发生低 指令3 个掌握标志位:4 位向高 4 位进位或借位时, AF=1 ,否就为 0,无相关的 CPU方向标志 DF(第 10 位)确定传送或比较字符串数据时的方向,默认 DF=0 为左/上 /索引增加方向,可以用指令STD/CLD 来设置成递减 /递增方向中断答应标志IF(第
15、9 位)指明是否处理外部可屏蔽中断,可以用指令STI/CLI来设置要 /不处理中断2.1.3 80386 寄存器在 Intel 80386 CPU 中,8 个通用寄存器和 2 个专用寄存器都从 16 位扩展到了 32 位(命名前增加了一个字母 E=Extended ,扩展 ),但 4 个段寄存器仍旧保留为 16 位的,另外仍增加了 2 个新的 16 位附加段寄存器 FS 和 GS,使程序可同时操作的段达到 6 个;80386( 80286)新增加的寄存器仍有:4 个系统地址寄存器名师归纳总结 全局描述符表寄存器GDTR (32 位) GDT 的线性基址,相关的装入/保第 5 页,共 47 页-
16、 - - - - - -精选学习资料 - - - - - - - - - 存寄存器的特权指令为 LGDT/SGDT 局部描述符表寄存器LDTR (16 位) LDT 的段挑选符, 相关的装入 /储存寄存器的特权指令为 LLDT/SLDT 中断描述符表寄存器 IDTR (32 位) IDT 的线性基址,相关的装入 /储存寄存器的特权指令为 LIDT/SIDT 任务寄存器 TR (16 位) TSS 的段挑选符,相关的装入 /储存寄存器的特权指令为 LTR/STR 4 个 32 位的掌握寄存器CR0 80286 的 16 位 MSW(Machine Status Word,机器状态字) 的 32
17、位扩展,其最低位为PE(Protection Enable ,启用爱护 模式 ),最高位为PG(Paging,分页)用于启动分页机制CR1未使用CR2存放引起页故障的线性地址CR3 页目录基址寄存器8 个调试寄存器 DR0DR7 8 个测试寄存器 TR0TR7 2.3 BIOS 中断2.3.1 调用格式BIOS 中断调用的一般格式为:mov ah,功能号名师归纳总结 - - - - - - -第 6 页,共 47 页精选学习资料 - - - - - - - - - ; 设置各种入口参数int 中断号2.3.2 常用 BIOS 中断显示字符 int 10h 的 0Eh 功能显示字符串int 10
18、h 的 13h 功能读按键 int 16h 的 00h 功能读扇区 int 13h 的 02h 功能2.3.3 MY-OS 例引导扇区程序(boot1.asm):显示 3 个字符串( MY-OS 1.0 、C 2022 Li Caiwei 、Please Key in characters Esc to quit:+ 响铃 换行 回车)、接受用户键入字符并回显到屏幕上;汇编代码参见“ 02汇编程序与代码块装载 .doc ”中的 2.2 的 3;2.4 装载代码块将 boot1.asm 的第一行代码改为:org 7E00h,另存为 boot2.asm 用 NASM 将 boot2.asm 编译为
19、 boot2.bin 利用 WinHex 将 boot2.bin 写入 bt.img 的其次个扇区 在原先的 boot.asm 的基础上,增加装载其次个扇区到 7E00h 处的汇编代码,储存 为 boot3.asm,参见“02 汇编程序与代码块装载 .doc” 中的 3 用 NASM 将 boot3.asm 编译成 boot3.bin 利用 WinHex 或 FloppyWriter 将 boot3.bin 写入 bt.img 的第一个扇区 用 bt.img 启动 Bochs 虚拟机2.5 Debug 常用的 debug 命令:R(Register 寄存器)查看、修改 CPU 寄存器 D(Du
20、mp 转储)查看内存中的内容 E(Enter 键入)改写内存中的内容 A(Assemble 汇编)以汇编指令的格式,在内存中写入一条机器指令 U(Unassemble 反汇编)将内存中的机器指令翻译成汇编指令 P( Proceed 连续进行)单步执行,类似于 Step Over T(Trace 跟踪)执行一条机器指令,类似于 Step Into N(Name 名称)指定文件名,供 L 和 W 命令使用 L(Load 装入)读磁盘文件中的指定扇区到内存 W(Write 写入)写内存数据到磁盘文件的指定扇区名师归纳总结 Q(Quit )退出debug 第 7 页,共 47 页- - - - - -
21、 -精选学习资料 - - - - - - - - - .(帮忙)显示命令清单2.6 COM 文件2.6.1 可执行文件格式BAT(batch file ,批处理文件)DOS/Windows 的一种基于 ASCII 文本的脚本型可执行文件(扩展名为 .bat 或.cmd,后者为 Windows NT 引进)COM (command file ,命令文件)DOS 的二进制裸格式,不分段,会被装载到当前段的 100h 处(需使用 org 100h 指令, SP=100h-4),文件大小必需64KB-256B EXE (executable file ,可执行文件)DOS/Windows 的主要可执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 操作系统 原理 实验 复习 考试

限制150内