欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:11929181       资源大小:1.57MB        全文页数:181页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、操作系统原理实验复习考试操作系统原理实验考试 成绩计算:平时40分 考勤问答(5分)+ 平时作业(15分)+ 大作业(20分)+ 期末60分 笔试(30分)+ 机考(30分) = 100分 考试形式:开卷笔试+上机操作(使用实验室或自己的电脑) 机考: 考试时间:2014年6月17日(周二,三班)&20日(周五,二班)上午10:3012:30 考试地点:实验中心B401 笔试: 考试时间:2014年6月26日(周四)晚上19:0021:00 考试地点:教学楼C101 笔试题型:填空(15题,每题2分,共30分)、问答(6题,每题5分,共30分)、编程(4题,每题10分,共40分) 操作题型:操

    2、作磁盘映像和文件(30分)、编写简单的汇编程序(30分)、编写较复杂的汇编或/和C程序(40分,二选一)复习重点与考试要求1 实验环境1)要求熟悉虚拟机、编译软件和各种开发工具的使用,会创建软硬磁盘的磁盘映像和FAT12文件结构、编写和编译简单的汇编和C语言程序、将引导程序写入磁盘映像的引导扇区、将可执行程序和各种文件写入带FAT文件结构的磁盘映像。2)重点 虚拟机:VMware(Linux/Ubuntu、混合编程)、Bochs(运行测试) 编译器:WindowsNASM(汇编),LinuxNASM(汇编)、GCC(C)、LD(链接) 开发工具:WindowsNotePad+(源代码编辑)、

    3、WinHex(二进制编辑)、DiskWriter/ FloppyWriter(写磁盘映像)、WinImage(复制文件到FAT磁盘映像),Linuxgedit(源代码编辑) 测试环境:虚拟机Bochs、DOS系统软盘映像、磁盘映像文件(带FAT12结构的1.44MB 软盘和10MB 硬盘)、可执行文件格式COM/BIN/ELF、虚拟机配置文件bochsrc.bxrc2 引导1)要求了解PC机的引导过程,掌握引导扇区的结构,会编写和编译带清屏和显示Hello串功能的简单汇编引导程序、将引导程序写入磁盘映像的引导扇区、修改Bochs虚拟机的配置文件、用该磁盘映像启动Bochs虚拟机进行测试。2)重

    4、点 引导过程:PC机加电或重启CPU复位内存清零内存奇偶校验跳转到地址为FFFF0h处的系统BIOS入口指令,执行主板ROM中的例程检查各个端口,识别并初始化设备,然后将这些设备连接到计算机上,并提供在设备上的I/O服务创建两个数据区(中断向量表和BIOS数据区)读启动盘的第一个物理扇区(主引导扇区),如果其最后两个字节为55h和AAh(引导记录标识符),则装入该扇区到内存地址7C00h处,并跳转到7C00h处执行 主引导扇区(Master Boot Sector)是磁盘的第一个物理扇区(512B),内容为: 主引导记录(MBR = Master Boot Record):446B,一般为装入

    5、操作系统的引导程序(通常负责加载OS的装载模块) 磁盘分区表(DPT = Disk Partition Table):4*16=64B,4个分区表项,每个16B,软盘没有DPT 引导记录标识符(BRID = Boot Record Identifier):2B,内容为55h AAh 引导实验 用NotePad+编写汇编源代码 用org操作符设置程序的入口地址为7C00h 设置DS和ES=CS (调用清屏例程) 调用显示字符串例程 进入无限循环 定义显示字符串例程用10h号中断的13h号功能实现(彩色)字符串显示 (定义清屏例程用10h号中断的6号功能实现上滚整个文本显示页) 定义字符串常量(如

    6、“Hello, OS world!”或其他特定字符串) 用times伪指令将剩余空间填充为0 将引导扇区的最后2个字节设置为55h和AAh 用NASM将源程序编译成二进制文件boot.bin 用Bochs工具创建1.44MB软盘映像a.img 用FloppyWriter/DiskWriter将boot.bin写入软盘映像a.img 修改Bochs虚拟机的配置文件,使用a.img作为软盘A的映像文件,并用软盘启动 启动Bochs虚拟机进行测试3 CPU与指令1)要求了解x86 CPU的结构,熟悉其寄存器,掌握常用的CPU指令和NASM指令,会编写简单的汇编程序。2)重点 808680386寄存器

    7、 8个1632位通用寄存器 4个数据寄存器:EAX(累加)、EBX(基址)、ECX(计数)、EDX(数据),其中的低16位寄存器(如AX)又可以进一步分成低8位(如AL)和高8位(如AH)两个部分 4个指针变址寄存器:ESP(堆栈指针)、EBP(基址指针)、ESI(源变址)、EDI(目的变址) 46个16位段寄存器(保护模式下为段选择符,有与对应段描述符类似的64位隐藏结构):CS(代码段)、DS(数据段)、SS(堆栈段)、ES(附加段)、FS(附加段)、GS(附加段) 2个1632位专用寄存器:EIP(指令指针)、EFLAGS(标志,其中的第6位为零标志ZF、第9位为中断允许标志IF、第10

    8、位为方向标志DF) 4个48或80位系统地址寄存器:GDTR(全局描述符表寄存器,48位:16位界限+32位基址)、LDTR(局部描述符表寄存器,80位:16位段选择符+32位基址+20位界限+12位属性)、IDTR(中断描述符表寄存器,48位:16位界限+32位基址)、TR(任务寄存器,80位:16位段选择符+32位基址+20位界限+12位属性) 4个32位的控制寄存器:CR0(机器状态字,其最低位PE用于进入保护模式,最高位PG用于启动分页机制)、CR1(未使用)、CR2(引起页故障的线性地址)、CR3(页目录基址) 常用CPU指令:算术运算(四则、增减)、位运算(逻辑、移位)、赋值(MO

    9、V)、比较测试、跳转、调用返回、中断、循环重复、栈操作、串操作、端口IO、标志位设置、装入/保存系统寄存器、无操作 常用NASM指令:DB/DW/DD,RESB/RESW/RESD,EQU,TIMES,BITS16/BITS32,SECTION/SEGMENT,EXTERN、GLOBAL,ALIGN/ALIGNB,%macro/ %endmacro、%rep/%endrep、%define、%if/%ifdef/%elif/%else/%endif,ORG,$、$4 BIOS中断1)要求掌握常用BIOS中断及其调用格式,会编写使用BIOS中断进行字符串显示、清屏、读按键和读扇区等操作的汇编程序

    10、。2)重点 常用BIOS中断: 显示字符int 10h的0Eh号功能、显示字符串int 10h的13h号功能、清屏(上滚整个文本显示页)int 10h中断的6号功能、读按键int 16h的00h号功能、读扇区int 13h的02h号功能 调用格式:mov ah,功能号 ; 设置各种入口参数int中断号5 可执行文件格式1)要求掌握常用可执行文件格式,掌握ELF的具体结构,会编写和生成COM和ELF格式的可执行文件、运行COM程序、分析ELF文件的结构。2)重点 BIN(binary,二进制)二进制裸格式,无org指令时程序的入口地址为0,引导程序需用org 7C00h指令来指定入口地址。文件的

    11、扩展名一般为bin COM(command file,命令文件)DOS的二进制裸格式,不分段,会被装载到当前段的100h处(需使用org 100h指令,DS=SS=CS、SP=100h-4),文件大小必须64KB-256B。文件的扩展名必须为com ELF(Executable and Linkable Format,可执行与可链接格式)类Unix操作系统的标准二进制文件格式。ELF文件由ELF头、程序头表、若干节(section)和节头表组成。程序头表记载了运行时所需的节,节头表则记载了二进制文件中各节的首地址,它们在ELF文件中都是可选的。ELF文件可以没有扩展名,也可以使用下列扩展名:.

    12、o、.so、.elf、.prx、.puff、.bin6 FAT文件系统1)要求掌握DPT及分区表项的结构,了解常用分区类型和磁盘寻址方式,熟悉1.44MB软盘和10MB硬盘的FAT12分区的具体格式和EBPB的概念与结构,掌握主引导扇区和分区引导扇区的区别,了解FAT文件系统的目录结构和表示方法,掌握文件条目的格式(包括首字节含义和文件属性)和FAT项值的含义(包括FAT头两项的特殊值介质描述符),会编写生成软硬盘FAT12文件结构的汇编程序并将其写入磁盘映像、能人工识别和手工编辑文件条目及FAT项(WinHex)。2)重点 磁盘分区 磁盘分区表(DPT = Disk Partition Ta

    13、ble)位于(主)引导扇区,含4个分区表项,每一项占16B。只有硬盘(U盘/固态盘)才有磁盘分区表,软盘无。如果DPT全为0,则表示无磁盘分区;有几个非0分区表项,就有几个磁盘分区(卷);一个磁盘最多可有4个分区(卷) 分区类型(CHS/LBA)如0x01 = FAT12、0x06/0x0E = FAT16、0x0B/0x0C = FAT32、0x07 = NTFS、0x05/0x0F = 扩展、0x83 = Linux、0xEE = GPT(GUID Partition Table,全局唯一标识符分区表,一种新的磁盘分区表标准,由Intel公司于2010年推出,可突破传统MBR的2TB限制)

    14、 磁盘寻址方式传统的CHS(Cylinder/Head/Sector,柱面/磁头/扇区)、现代的线性寻址方式LBA(Logical Block Addressing,逻辑块寻址),1996年以后推出的硬盘一般都支持LBA FAT分区 FAT(File Allocation Table,文件分配表)是微软公司为其操作系统DOS和老式Windows所定义的一套文件系统,包括FAT12(32MB)、FAT16(32MB/2GB)、FAT32(2TB)和FAT64/exFAT(64ZB)等多种具体格式 FAT12:在我们的OS实验中,使用1.44MB软盘映像和10MB硬盘映像作为测试介质,它们都采用F

    15、AT12文件系统 1.44MB软盘的格式: CHS=80/2/18、每个扇区有512(200h)B、共2880扇区=1440KB=1.44MB 每个FAT项占12位(1.5B)、每个簇只有1个扇区、每个FAT表占9个扇区 根目录区有224条目,占14扇区 无磁盘分区 起始地址主引导扇区:0(0#扇区)、FAT#1:200h(1#扇区)、FAT#2:1400h(10#扇区)、根目录区:2600h(19#扇区)、数据区:4200h(33#扇区) 10MB硬盘的格式: CHS=80/4/63、每个扇区有512(200h)B、共20160扇区=10080KB9.84MB 每个FAT项占12位(1.5B

    16、)、每个簇有8个扇区、每个FAT表占8个扇区 根目录区有512条目,占32扇区 主引导扇区的DPT中有唯一分区表项,分区从第2个(1号)柱面的首个扇区(4*63=252)开始 起始地址:主引导扇区:0(0#扇区)、分区引导扇区:1F800h(252#扇区)、FAT#1:1FA00h(253#扇区)、FAT#2:20A00h(261#扇区)、根目录区:21A00h(269#扇区)、数据区:25A00h(301#扇区) 分区引导扇区 是分区的第一个扇区(512B)。因为软盘无DPT,整个磁盘都是一个分区,所以其分区引导扇区与主引导扇区重合,都是磁盘的首个物理扇区;而硬盘必须有DPT,且其各个分区必

    17、须都从第2个柱面及其之后的某个柱面的首个扇区开始。所以我们的10MB硬盘的唯一分区,也从第2个(1号)柱面的首个扇区开始,分区的首个扇区(即分区引导扇区)的序号为252,主引导扇区到分区引导扇区之间的251个扇区(125.5KB)都浪费了 FAT分区引导扇区的结构:跳转指令(3B)、OEM名串(8B)、BPB(BIOS Parameter Block,BIOS参数块,25B)、EBPB(Extended BPB,扩展BPB,26B)、引导程序代码(448B)、有效结束标志(2B:55 AA) FAT文件系统:采用多级目录结构,子目录用文件表示。文件数据块的大小为簇,采用链式存储(FAT项为指向

    18、下一簇的链指针/下一簇号),磁盘的空闲空间管理采用空闲块列表(FAT项为0表示对应簇为空闲)。目录为文件条目的列表,每个条目占用32B(20h字节) 文件条目 格式:8+3文件名(11B,英文字母必须大写)、文件属性(1B)、保留(10B)、时间(2B)、日期(2B)、开始簇号(2B)、文件大小(4B) 首字节含义:0未使用、2Eh点条目、E5h已删条目、05E5h 文件属性(可位或):00普通文件、01只读、02隐藏、04系统、08卷标、10h子目录、20h档案 FAT项 FAT是映射到分区中每个簇(cluster)的项(entry)列表 FAT12的每个项占12位(1.5B) FAT项取值

    19、的含义:000空闲簇、001保留簇、002FEF被占用簇(值为下一簇的序号)、FF0FF6保留值、FF7坏簇、FF8FFF文件最后簇(一般取FFF) FAT表的前两个项保存特殊的值:项0 的低8位(首字节)为介质描述符(软盘为F0h、硬盘/U盘/固态盘为F8h)、其余位全为1,项1 = 结束簇标记,FAT12的前两项(3B)的值(十六进制)为F0 FF FF7 DOS1)要求了解DOS操作系统的特点、组成、版本和系统盘映像文件,掌握常用的DOS内外部命令的使用方法,会用TYPE和EDIT生成文本文件、用XCOPY复制文件目录。2)重点 DOS是PC机的传统操作系统,单用户、单任务、字符界面,运

    20、行在16位实模式(没有保护功能,最大RAM内存空间只有640KB),命令行不区分字母的大小写。 FreeDOS是一种自由开源的兼容DOS操作系统,由Jim Hall领导一个团队于1994年中开始开发,目前最新的是2012年1月2日推出的1.1版,其系统软盘映像文件为FDOS11.img。 MS-DOS 6.22是微软公司于1994年6月推出的一个DOS最后销售版本,其系统软盘映像文件为MSDOS622.img。 组成: FreeDOS:内核文件KERNEL.SYS和命令文件COMMAND.COM。 MS-DOS:内核文件MSDOS.SYS、设备管理文件IO.SYS和命令文件COMMAND.CO

    21、M 它们须用DOS的外部命令SYS.COM复制到其他磁盘,才能生成DOS的启动盘 配置文件CONFIG.SYS,初始化批处理文件AUTOEXEC.BAT。 内部命令:指COMMAND.COM中包含的命令,提供DOS的一些基本功能。其中常用的有:X:(改变当前卷为X)、CD(改变当前目录)、DIR(列出目录)、MD(创建目录)、DEL(删除文件)、REN(修改文件名)、PATH(设置路径)、TYPE(显示文件内容)、CLS(清屏)、VER(版本)等,可用“命令 /?”获取命令格式和使用方法的帮助信息。 外部命令:操作系统提供的独立的可执行文件,常用的有:SYS(传递系统文件)、FDISK(创建分

    22、区)、FORMAT(格式化磁盘)、XCOPY(复制目录)、DELTREE(删除目录)、MOVE(移动文件)、EDIT(仿图形界面的文本编辑器)、MOUSE(启用鼠标)等。 生成文本文件 TYPE内部命令和I/O重定向:type con *.txt,按Ctrl+C组合键退出。 Edit外部命令:仿图形界面的文本编辑程序edit.exe。 XCOPY外部命令:如A:xcopy test b: /s8 文件加载1)要求掌握根目录文件加载的方法和步骤,会编写加载FAT12软硬盘根目录中的LOADER.BIN文件的汇编代码。2)重点 引导扇区的主要功能是加载操作系统的装入程序LOADER.BIN LOA

    23、DER.BIN一般位于磁盘文件系统的根目录中 引导程序中加载LOADER.BIN文件到内存的主要步骤 在根目录中查找LOADER.BIN文件所对应的条目1. 设当前扇区号为根目录的起始扇区号2. 读根目录的当前扇区到内存中的加载地址3. 依次比较当前扇区中各个文件条目(共16个)中的文件名串与“LOADER.BIN”4. 若无相等的文件条目,前扇区号加1,转到25. 若找到相等的文件条目,从该条目获取起始簇号N 利用文件的首簇号及FAT项来确定文件各数据块的位置,并利用磁盘中断将数据块复制到指定内存6. 计算出簇号N所对应的装载文件的扇区号7. 调用读扇区函数将装载文件的当前扇区读到内存中加载

    24、地址的当前扇区8. 由当前簇号值N计算其对应FAT项在FAT表中的偏移地址D(=N*1.5B),由D值计算出FAT项所在扇区的序号K(=FAT起始扇区号+D/512)和偏移值O(=D%512)9. 调用读扇区函数将磁盘的(FAT表中的)K号和K+1号两个扇区(因为一个 FAT项可能跨越两个扇区)读入内存缓冲区(8F000h)10. 利用偏移值O获取FAT项值N(=文件下一个簇的序号)11. 若N=FF8h,则文件已经读完,跳转到装载程序9 实模式下的中断处理1)要求了解PC机中断的分类、IVT、CPU响应和IRET的功能,掌握中断控制器8259A的初始化和操作方法,了解计时器8253的组成、输

    25、入频率、初始节拍和工作过程,掌握通过8253的I/O端口设置计时器时钟中断频率的方法,会编写初始化8259A和设置其起始中断号、屏蔽中断请求和发送EOI的汇编代码,会编写设置计时器8253的时钟中断频率的汇编代码。2)重点 分类 屏蔽(x86处理器有两条外部中断请求线):NMI(Non Maskable Interrupt,不可屏蔽中断)和INTR(Interrupt Request,中断请求可屏蔽中断),不可屏蔽中断的优先级要高于可屏蔽中断的。 软硬:硬件中断由两个级联的8259A芯片所代理的可屏蔽外设中断、软件中断BIOS中断或由操作系统定义的系统服务中断(用int i指令调用)。 IVT

    26、:x86计算机在启动时会自动进入实模式状态,并由主板上的系统BIOS初始化8259A的各中断线的类型(0号为时钟中断),同时在内存的低位区(地址范围为010233FFH,1KB)创建含256个中断向量(存放中断处理程序的入口地址)的表IVT(Interrupt Vector Table,中断向量表),其中每个中断向量地址占4个字节,格式为:16位段值:16位偏移值,字节序为:IP、CS。 CPU响应:在实模式下,每当中断发生时,CPU都会中止当前程序的运行,并先后将寄存器FLAGS、CS和IP的当前值压入当前程序栈,接着清除IF标志(IF=0以禁止中断),最后转换程序控制到IVT中的中断号i所

    27、对应(4*i处)的向量所指定的中断处理程序的入口位置。 中断返回指令:IRET = POP IP、POP CS、POPF 可编程中断控制器8259A PC机中有两个级联的8259A 每个8259A有8根中断请求线IR0IR7,从8259A被级联到主8259A的第3根中断请求线IR2上。 每个8259A都有两个I/O端口,主8259A所对应的端口地址为20h和21h,从8259A的为A0h和A1h。程序员可通过in/out指令来读写这些端口,从而操作这两个中断控制器。 初始化:8259A的初始化由有严格顺序的4步组成1. 往端口20h(主片)或A0h(从片)写入ICW12. 往端口21h(主片)

    28、或A1h(从片)写入ICW2(设置起始中断向量号)3. 往端口21h(主片)或A1h(从片)写入ICW34. 往端口21h(主片)或A1h(从片)写入ICW4 操作:在初始化8259A后,可在任何时候,以任何顺序向8259A发送OCW(Operation Command Word,操作控制字) OCW1(21h或A1h端口)屏蔽中断请求 OCW2(20h或A0h端口)发送EOI(End of Interrupt,中断结束) OCW3(20h或A0h端口)(=10或11)设置下一个读端口的动作将要读取IRR(未处理中断)或ISR(正在处理的中断)寄存器的内容。 计时器/可编程时钟8253 组成:

    29、由石英晶体振荡器、计数器和寄存器三部分组成 输入频率:1.19MHz(1,193,181.8181Hz) 工作过程:计时器在启动时,将保持寄存器中的值复制到计时器中。在晶振每来一个脉冲时,计时器的值减1。当计时器的值减至0时,引发一个中断。然后,寄存器将自动把其中的值复制到计时器中,再重新开始计数。这样会产生周期性的中断,称为时钟节拍 计数器:8253中有3个16位计数器,作用各不相同。 计数器0 输出到IRQ0,产生(18.2Hz的)周期性时钟中断 计数器1 产生输出间隔为15s的脉冲,用于DMA刷新 计数器2 输出不同频率的方波,经75477电流驱动器放大后,推动扬声器发出不同频率的声音

    30、初始时钟中断频率=1193182/6553518.2(为时钟的最低频率值) I/O端口:8253有4个I/O端口40h(计数器0)、41h(计数器1)、42h(计数器2)、43h(控制字寄存器)。不能直接写计数器端口,须先向控制字寄存器写入8位的控制字来确定8253的工作方式(mode)和选择计数器 设置计时器的时钟中断频率:对应于8253中计数器0的工作方式2,对应的控制字值为34h。通过修改8253中计数器0的值(=1193182/n,每秒n次中断),可设置自己的计时器中断的频率(为n)10 实模式下的进程调度1)要求掌握实模式下进程调度的方法和步骤,包括编写应用程序(直接改写显存来显示字

    31、符)、重写装入程序以加载内核和各应用程序、定义PCB表数组、设置时钟中断频率、在时钟中断处理程序中保存上下文寄存器值并调用进程调度程序、三种栈及栈的切换、进程切换,会编写(多个)应用程序、(软硬盘)装入程序、时钟中断处理程序和(多个)进程间的调度程序的汇编代码。2)重点 方法和功能:采用汇编语言,利用计时器,实现实模式下多个进程间的简单切换 用户进程:编写三个功能相同的应用程序,分别在各自行的当前位置重复显示字符A、B、C 显示字符的方法:为了以避免中断重入,不调用显示中断int 10h,而是采用直接改写文本窗口所对应显存内容的方法来显示字符 延时:为便于测试观察,(因为CPU速度太快)需使用延时


    注意事项

    本文(操作系统原理实验复习考试.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开