实验一操作系统的引导

合集下载

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书实验⼀操作系统⽤户接⼝实验⼀、实验⽬的熟悉操作系统的命令接⼝、图形⽤户接⼝和程序接⼝。

⼆、实验内容:1、使⽤操作系统的命令接⼝。

使⽤Windows常⽤命令:dir 、md、copy、date、help,显⽰这些命令的结果,并解释这些命令的作⽤。

图1-1 命令控制台图1-2 windows常⽤命令图1-3 windows常⽤命令图1-4 windows常⽤命令使⽤图1-5 windows常⽤命令使⽤2、使⽤操作系统的程序接⼝。

VB环境下:编制⼀⼩程序,使其可通过某个系统调⽤来获得os 提供的某种服务,如打开控制⾯板:Shell "rundll32.exe Shell32.dll,Control_RunDLL", 1VC环境下:⽤C语⾔编制⼀个⼩程序,使其可通过Localtime( )系统调⽤来获得OS提供的时间和⽇期。

3、使⽤操作系统的图形⽤户接⼝(略)。

三、思考:OS向⽤户提供的命令接⼝、图形⽤户接⼝和程序接⼝分别适⽤于哪些场合?实验⼆进程创建与撤消⼀、实验⽬的1、加深对进程概念的理解和进程创建与撤消算法;2、进⼀步认识并发执⾏的实质。

⼆、实验内容本实验完成如下三个层次的任务:(1)系统级—以普通⽤户⾝份认识windows的进程管理。

通过windows的“任务管理器”观察进程的状态,进⾏进程的创建、切换和撤销。

(2)语⾔级—以普通程序员⾝份认识⾼级语⾔VC++/Java/VB的进程创建与撤销⼯具。

(3)模拟级—以OS设计师⾝份编程模拟实现进程创建与撤销功能,并在屏幕上观察进程活动的结果。

三、实验步骤1、windows的进程管理当前状态图2-1 windows任务管理器切换前图2-2 windows任务管理器切换后图2-3 windows任务管理器撤销图2-4 windows任务管理器2、VC++进程创建与撤销⼯具Windows所创建的每个进程都从调⽤CreateProcess() API函数开始,该函数的任务是在对象管理器⼦系统内初始化进程对象。

操作系统教学实践(3篇)

操作系统教学实践(3篇)

第1篇一、引言操作系统是计算机科学与技术领域的重要基础课程,它涉及计算机系统的资源管理、进程管理、存储管理、文件系统等多个方面。

为了提高学生对操作系统的理解和掌握程度,本文将从教学实践的角度,探讨如何进行操作系统教学。

二、教学目标1. 使学生掌握操作系统的基本概念、原理和关键技术;2. 培养学生分析和解决实际问题的能力;3. 增强学生的团队协作和创新能力;4. 提高学生的编程能力和动手能力。

三、教学内容1. 操作系统概述:介绍操作系统的定义、发展历程、分类和特点;2. 进程管理:讲解进程的概念、进程状态、进程调度算法和进程同步与互斥;3. 存储管理:分析内存分配策略、页面置换算法和虚拟内存技术;4. 文件系统:探讨文件系统的概念、目录结构、文件操作和存储设备管理;5. 设备管理:介绍设备的分类、驱动程序、I/O控制方式和中断处理;6. 网络操作系统:讲解网络操作系统的基本概念、网络协议、网络设备管理和网络安全。

四、教学实践1. 案例教学:通过实际案例,引导学生分析操作系统的原理和应用。

例如,以Linux系统为例,讲解进程调度、内存管理和文件系统等知识点。

2. 实验教学:设计实验项目,让学生动手实践操作系统的相关知识。

实验项目包括:(1)进程调度实验:让学生编写进程调度算法,实现进程的创建、调度和同步。

(2)内存管理实验:让学生实现内存分配、页面置换和虚拟内存等技术。

(3)文件系统实验:让学生实现文件系统的目录结构、文件操作和存储设备管理。

(4)设备管理实验:让学生编写设备驱动程序,实现设备的控制和管理。

3. 项目教学:以实际项目为背景,让学生分组完成项目开发。

项目可以包括:(1)操作系统模拟器:让学生模拟操作系统的运行过程,加深对操作系统原理的理解。

(2)嵌入式操作系统开发:让学生了解嵌入式操作系统的特点,掌握嵌入式开发技能。

(3)分布式操作系统开发:让学生了解分布式系统的原理,掌握分布式操作系统的开发方法。

操作系统实验报告

操作系统实验报告

操作系统实验报告专业:软件工程姓名:李程星学号:2011221104220092实验一操作系统的用户界面LINUX操作系统提供了图形用户界面和命令行界面,本实验主要熟悉命令行界面,为后续的实验编程做准备。

一、系统启动1. 开机,选择进入Linux系统,约40秒后系统启动成功,系统提示输入用户名:user输入口令:111111 然后进入Linux系统桌面。

2.进入Linux命令行方式单击小红帽图标,选择“系统工具”,单击“终端”图标,出现Linux的shell提示符.....@......$,,即可输入命令。

实验二进程管理一、实验目的(1)加深对进程概念的理解,明确进程和程序的区别。

(2)进一步认识并发执行的实质。

二、实验内容1、进程的创建执行下面的程序,分析执行的结果。

#include <stdio.h>main(){ int i;printf("just 1 process.\n");i=fork();if (i==0)printf("I am child.\n");elseif (i>0)printf("I am parent.\n");elseprintf("fork() failed.\n");printf("program end.\n");}输出结果:just 1 process.I am parent.program end.I am a child.program end.2、进程的同步执行下面的程序,分析执行的结果。

#include <stdio.h>main(){ int i;printf("just 1 process.\n");i=fork();if (i>0){printf("I am parent.\n");wait();}elseif (i==0) {printf("I am child.\n");exit(1);}printf("program end.\n");}输出结果:just 1 process.I am parent.I am child.program end.3、进程的延迟执行下面的程序,分析执行的结果。

计算机操作系统实验指导linux版王红玲源码

计算机操作系统实验指导linux版王红玲源码

计算机操作系统实验指导linux版王红玲源码操作系统实验是计算机科学专业学生必修的一门课程,通过实验可以增加学生对操作系统原理的理解和运用能力。

本文以Linux版王红祥操作系统实验指导为例,介绍实验的内容和相关源码。

一、实验内容王红祥操作系统实验主要包括以下几个方面的内容:1.操作系统的引导过程:通过编写汇编代码,实现在x86计算机上加载操作系统,并将CPU从实模式切换到保护模式。

2. 中断处理:实现Timer和UART中断的处理函数,并学习如何编写中断处理程序。

3.多进程管理:实现进程的创建、调度和切换,并学习如何用进程间通信的方式实现进程间的数据交换。

4.内存管理:实现内存的分配和回收,通过设计页表实现虚拟地址转换到物理地址。

5.文件系统:基于FAT12文件系统,实现文件的读取和写入功能,包括创建、删除和修改文件。

二、源码分析以下是王红祥操作系统实验中的一个源码例子,用于实现中断处理:```cvoid irq_handler(int irq)if (irq == TIMER_IRQ)} else if (irq == UART_IRQ)uart_handle(;}/*处理定时器中断的逻辑*/void uart_handle/*处理串口中断的逻辑*/int main/*设置中断处理函数*/set_irq_handler(IRQ0, irq_handler); set_irq_handler(IRQ1, irq_handler); /*启用中断*/enable_irq(IRQ0);enable_irq(IRQ1);/*主循环*/while (1)/*在这里执行其他的操作*/}return 0;```在main函数中,首先通过set_irq_handler函数设置了中断处理函数。

然后,通过enable_irq函数启用了IRQ0和IRQ1中断。

最后,采用死循环结构确保操作系统对中断的及时处理。

以上源码是王红祥操作系统实验中的一部分,通过学习和实践这些源码,可以更好地理解和掌握操作系统的原理和实现。

操作系统实验指导1

操作系统实验指导1

操作系统实验指导书楚雄师范学院计算机科学系操作系统课程组2011-9-20第一部分操作系统上机指导Linux操作系统环境:RedHat Enterprise Linux ES release 3 (Taroon Update 1) (2.4.21-9.EL)Red Flag Linux release 4.0 (HOT) (2.4)登录到系统常用命令练习:用root账号(超级用户)注册,口令为jkxroot(注意大小写)。

注册成功出现#号(超级用户系统提示符,普通用户的系统提示符为$)。

注销(退出)系统:logout 或exit3.练习使用命令ls(注意Linux命令区分大小写。

)使用ls 查看当前目录内容;使用ls 查看指定目录内容,如/目录,/etc目录使用ls –all 查看当前目录内容;使用dir 查看当前目录内容4.使用cd改变当前目录cd .. 回到上层目录;cd / 回到根目录5.pwd 显示当前路径6.建立目录mkdirmkdir 目录名;mkdir /home/s2001/newdir7.删除目录:rmdir;8.复制文件cp:如cp 文件名1 文件名29.移动文件或目录: mv10.删除文件rm11. 显示文件内容:more (分页显示);12. 显示文件:cat 文件名建立文件:cat >文件名,ctrl+d结束输入使用编辑器vi 编辑文件进入linux的文本模式之后,在命令行键入vi filename.c 然后回车。

下面作一些简单的解释:首先vi命令是打开vi编辑器。

后面的filename.c是用户即将编辑的c文件名字,注意扩展名字是.c;当然,vi编辑器功能很强,可以用它来编辑其它格式的文件,比如汇编文件,其扩展名字是.s;也可以直接用vi打开一个新的未命名的文件,当保存的时候再给它命名,只是这样做不很方便。

最基本的命令I :当进入刚打开的文件时,不能写入信息,这时按一下键盘上的I键(insert),插入的意思,就可以进入编辑模式了。

操作系统实验(1)

操作系统实验(1)

实验一Linux常用命令实验一.目的和要求本实验的目的是熟悉Linux操作系统的命令接口、图形接口和程序接口;了解Linux操作系统的启动过程;了解Linux操作系统的目录结构;用vi编辑器编写简单的C语言程序,并用gcc编译器编译、运行。

二.实验内容1、实现开机、登录、退出与关机:(1)如果以root用户登录,则命令窗口的提示符为#;如果以普通用户登录,则命令窗口的提示符为$;登陆用户名:user 密码:123456(2)修改口令(修改口令操作不做):成功进入系统后,在命令提示符后输入“passwd”并键入回车键(3)退出帐号:命令方式下:logout(4)关机或重启:命令方式下:halt或reboot窗口方式下:“桌面”->“注销”2、掌握的基本常用命令列表(1)关于目录的操作命令:cd、ls、mkdir 、rmdir、pwd等;(2)关于文件的操作命令:cat、find、man/help、vi/vim、cp、rm、mv、dd、du、df、chmod、ln等;(3)关于进程管理的操作命令:ps、kill、top、free 等;(4)关于系统管理的操作命令:whoami、passwd、adduser/useradd、addgroup、userdel、groupdel、su、who、Ctrl+Alt+Fn(n=1、2、3、4、5、6)(在X-Window界面下切换到字符界面,重新登录,Ctrl+Alt+F7返回图形界面)、Alt+Fn(n=1、2、3、4、5、6)(在6个虚拟终端之间切换)等;(5)安装和卸载文件系统:mount、umount等;(6)显示有关计算机系统信息的命令:uname(显示操作系统的名称)、uname –n(显示系统域名)、uname –p(显示系统的CPU名称)(7)其它命令:time、date、cal 等。

3、阅读/etc/inittab 文本文件,思考问题:如果要求启动Linux系统之后进入字符界面,应如何修改/etc/inittab文件?用户应具有什么权限?4、切换到不同的虚拟终端,登录到Linux系统5、vi 编辑器的使用(1)进入和退出vi(2)利用文本插入方式建立一个文件(3)在新建的文本文件上移动光标。

北航os实验报告

北航os实验报告

北航os实验报告北航OS实验报告一、引言操作系统(Operating System,简称OS)是计算机系统中最基础的软件之一,它负责管理和控制计算机硬件资源,为用户和应用程序提供一个可靠、高效的工作环境。

本文将对北航OS实验进行详细的报告和分析。

二、实验目的本次北航OS实验的目的是让学生深入理解和掌握操作系统的基本原理和实现方式。

通过实践,学生将学会设计和实现一个简单的操作系统,了解操作系统的核心功能和运行机制。

三、实验内容1. 系统引导实验开始时,我们需要编写引导程序,将操作系统加载到计算机的内存中,并跳转到操作系统的入口地址开始执行。

这一步骤是整个实验的起点,也是操作系统正常运行的基础。

2. 中断处理操作系统需要能够处理各种中断事件,如时钟中断、键盘中断等。

学生需要实现中断处理程序,使操作系统能够响应和处理这些中断事件,并根据具体情况进行相应的操作。

3. 进程管理操作系统需要能够管理多个进程的创建、调度和终止。

学生需要设计并实现进程管理模块,包括进程控制块(PCB)的数据结构和进程调度算法。

通过合理的调度策略,提高系统的并发性和响应速度。

4. 内存管理操作系统需要管理计算机的内存资源,包括内存的分配和释放。

学生需要设计并实现内存管理模块,使用合适的算法来管理内存的分配和回收,避免内存泄漏和碎片化问题。

5. 文件系统操作系统需要提供文件系统来管理计算机中的文件和数据。

学生需要设计并实现一个简单的文件系统,包括文件的创建、读写和删除等操作。

通过文件系统,用户可以方便地存储和管理自己的数据。

四、实验过程在实验过程中,我们遇到了许多挑战和问题,但通过不断的尝试和调试,我们最终成功实现了一个简单的操作系统。

以下是我们在实验过程中遇到的一些关键问题和解决方案:1. 内存管理在实验过程中,我们发现内存管理是一个非常关键的问题。

如果内存管理不当,容易导致内存泄漏或者内存碎片化,从而影响系统的性能和稳定性。

我们通过设计一个位图来管理内存的分配和释放,使用首次适应算法来分配内存,并通过合理地回收内存来避免内存泄漏问题。

实验1-2 Windows操作系统的使用[1]

实验1-2  Windows操作系统的使用[1]

实验1 Windows操作系统的使用之一一、实验目的与要求:1.Windows XP的桌面及桌面上的基本操作。

2.从“开始”菜单中启动应用程序的方法,学会利用任务栏来实现程序的切换以及用不同的方式排列多个窗口。

3.掌握窗口的打开、移动、改变大小、最大化、最小化和关闭等基本操作。

4.熟悉Windows的剪贴板及其基本操作。

5.掌握Windows“任务管理器”的使用。

6.熟悉中文输入,学会利用软键盘输入一些特殊符号,了解全角和半角输入的区别。

7.掌握Windows桌面属性的设置。

二、实验内容与步骤:1.任务栏的设置和排列桌面图标⑴设置任务栏为锁定和非锁定状态。

提示:方法一:从Windows的帮助中获得答案。

(开始→帮助和支持→“搜索”对应的文本框中输入需要帮助的关键词→单击开始搜索)方法二:右单击“任务栏”空白处,在弹出的快捷菜单中单击“锁定任务栏”。

(右单击弹出快捷菜单)方法一方法二⑵在任务栏为非锁定状态时,将任务栏移到桌面的左边、右边和上面;拖动鼠标改变任务栏的宽度。

⑶设置任务栏为自动隐藏。

⑷在任务栏中取消时钟的显示,然后重新设置显示时钟。

提示:在“任务栏”的快捷菜单中,选择“属性”命令,在相应的对话框中进行设置。

⑸按不同的方式重新排列桌面图标。

提示:将鼠标放在桌面的空白处,单击鼠标右键,在弹出的快捷菜单中,进行设置。

2.程序的启动、切换及多个窗口的排列⑴从“开始”菜单启动“记事本”、“画图”、“Word”应用程序。

⑵通过在任务栏中单击应用程序的图标,实现应用程序窗口的切换。

⑶将多个窗口层叠、横向平铺或纵向平铺。

提示:在“任务栏”的快捷菜单中设置多个窗口的显示方式。

3.窗口的基本操作⑴打开“我的电脑”窗口。

⑵单击“最大化”按钮将窗口最大化。

⑶单击“还原”按钮将窗口还原。

⑷改变窗口的位置。

⑸改变窗口大小。

⑹打开窗口的控制菜单。

⑺关闭窗口。

4.剪贴板的基本操作⑴将“记事本”应用程序窗口复制到剪贴板中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验目的<编辑>•熟悉hit-oslab实验环境;•建立对操作系统引导过程的深入认识;•掌握操作系统的基本开发过程;•能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。

实验内容<编辑>此次实验的基本内容是:1.阅读《Linux内核完全注释》的第6章,对计算机和Linux 0.11的引导过程进行初步的了解;2.按照下面的要求改写0.11的引导程序bootsect.s3.有兴趣同学可以做做进入保护模式前的设置程序setup.s。

改写bootsect.s主要完成如下功能:1.bootsect.s能在屏幕上打印一段提示信息“XXX is booting...”,其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等(可以上论坛上秀秀谁的OS名字最帅,也可以显示一个特色logo,以表示自己操作系统的与众不同。

)改写setup.s主要完成如下功能:1.bootsect.s能完成setup.s的载入,并跳转到setup.s开始地址执行。

而setup.s向屏幕输出一行"Now we are in SETUP"。

2.setup.s能获取至少一个基本的硬件参数(如内存参数、显卡参数、硬盘参数等),将其存放在内存的特定地址,并输出到屏幕上。

3.setup.s不再加载Linux内核,保持上述信息显示在屏幕上即可。

实验报告<编辑>在实验报告中回答如下问题:1.有时,继承传统意味着别手蹩脚。

x86计算机为了向下兼容,导致启动过程比较复杂。

请找出x86计算机启动过程中,被硬件强制,软件必须遵守的两个“多此一举”的步骤(多找几个也无妨),说说它们为什么多此一举,并设计更简洁的替代方案。

评分标准<编辑>实验提示<编辑>操作系统的boot代码有很多,并且大部分是相似的。

本实验仿照Linux-0.11/boot目录下的bootsect.s和setup.s,以剪裁它们为主线。

当然,如果能完全从头编写,并实现实验所要求的功能,是再好不过了。

同济大学赵炯博士的《Linux内核0.11完全注释(修正版V3.0)》(以后简称《注释》)的第6章是非常有帮助的参考,实验中可能遇到的各种问题,几乎都能找到答案。

可以在“资料和文件下载”中下载到该书的电子版。

同目录中,校友谢煜波撰写的《操作系统引导探究》也是一份很好的参考。

需要注意的是,oslab中的汇编代码使用as86编译,语法和汇编课上所授稍有不同。

下面将给出一些更具体的“提示”。

这些提示并不是实验的一步一步的指导,而是罗列了一些实验中可能遇到的困难,并给予相关提示。

它们肯定不会涵盖所有问题,也不保证其中的每个字都对完成实验有帮助。

所以,它们更适合在你遇到问题时查阅,而不是当作指南一样地亦步亦趋。

本书所有实验的提示都是秉承这个思想编写的。

Linux 0.11相关代码详解boot/bootsect.s、boot/setup.s和tools/build.c是本实验会涉及到的源文件。

它们的功能详见《注释》的6.2、6.3节和16章。

如果使用Windows下的环境,那么要注意Windows环境里提供的build.c是一个经过修改过的版本。

Linus Torvalds的原版是将0.11内核的最终目标代码输出到标准输出,由make 程序将数据重定向到Image文件,这在Linux、Unix和Minix等系统下都是非常有效的。

但Windows本身的缺陷(也许是特色)决定了在Windows下不能这么做,所以flyfish修改了build.c,将输出直接写入到Image(flyfish是写入到Boot.img文件,我们为了两个环境的一致,也为了最大化地与原始版本保持统一,将其改为Image)文件中。

同时为了适应Windows的一些特殊情况,他还做了其它一些小修改。

引导程序的运行环境引导程序由BIOS加载并运行。

它活动时,操作系统还不存在,整台计算机的所有资源都由它掌控,而能利用的功能只有BIOS中断调用。

完成bootsect.s的屏幕输出功能首先来看完成屏幕显示的关键代码如下:! 首先读入光标位置mov a h,#0x03xor b h,bhint 0x10! 显示字符串“LZJos is running...”mov c x,#25 ! 要显示的字符串长度mov b x,#0x0007 ! page 0, attribute 7 (normal) mov b p,#msg1mov a x,#0x1301 ! write string, move cursorint 0x10inf_loop:jmp i nf_loop ! 后面都不是正经代码了,得往回跳呀! msg1处放置字符串msg1:.byte 13,10 ! 换行+回车.ascii "LZJos is running...".byte 13,10,13,10 ! 两对换行+回车!设置引导扇区标记0xAA55.org 510boot_flag:.word 0xAA55 ! 必须有它,才能引导接下来,将完成屏幕显示的代码在开发环境中编译,并使用linux-0.11/tools/build.c将编译后的目标文件做成Image文件。

编译和运行Ubuntu上先从终端进入~/oslab/linux-0.11/boot/目录。

Windows上则先双击快捷方式“MinGW32.bat”,将打开一个命令行窗口,当前目录是oslab,用cd命令进入linux-0.11\boot。

无论那种系统,都执行下面两个命令编译和链接bootsect.s:as86 -0 -a -o bootsect.o bootsect.sld86 -0 -s -o bootsect bootsect.o其中-0(注意:这是数字0,不是字母O)表示生成8086的16位目标程序,-a表示生成与GNU as和ld部分兼容的代码,-s告诉链接器ld86去除最后生成的可执行文件中的符号信息。

如果这两个命令没有任何输出,说明编译与链接都通过了。

Ubuntu下用ls -l可列出下面的信息:-rw--x--x 1 root root 544 Jul 25 15:07 bootsect-rw------ 1 root root 257 Jul 25 15:07 bootsect.o -rw------ 1 root root 686 Jul 25 14:28 bootsect.sWindows下用dir可列出下面的信息:2008-07-28 20:14 544 bootsect2008-07-28 20:14 924 bootsect.o2008-07-26 20:13 5,059 bootsect.s其中bootsect.o是中间文件。

bootsect是编译、链接后的目标文件。

需要留意的文件是bootsect的文件大小是544字节,而引导程序必须要正好占用一个磁盘扇区,即512个字节。

造成多了32个字节的原因是ld86产生的是Minix可执行文件格式,这样的可执行文件处理文本段、数据段等部分以外,还包括一个Minix可执行文件头部,它的结构如下:struct exec {unsigned char a_magic[2]; //执行文件魔数unsigned char a_flags;unsigned char a_cpu; //CPU标识号unsigned char a_hdrlen; //头部长度,32字节或48字节unsigned char a_unused;unsigned short a_version;long a_text; long a_data; long a_bss; //代码段长度、数据段长度、堆长度long a_entry; //执行入口地址long a_total; //分配的内存总量long a_syms; //符号表大小};算一算:6 char(6字节)+1 short(2字节)+6 long(24字节)=32,正好是32个字节,去掉这32个字节后就可以放入引导扇区了(这是tools/build.c的用途之一)。

对于上面的Minix可执行文件,其a_magic[0]=0x01,a_magic[1]=0x03,a_flags=0x10(可执行文件),a_cpu=0x04(表示Intel i8086/8088,如果是0x17则表示Sun 公司的SPARC),所以bootsect文件的头几个字节应该是01 03 10 04。

为了验证一下,Ubuntu 下用命令“hexdump -C bootsect”可以看到:00000000 01 03 10 04 20 00 00 00 00 02 00 00 00 00 00 00 |.... ...........|00000010 00 00 00 00 00 00 00 00 00 82 00 00 00 00 00 00 |................|00000020 b8 c0 07 8e d8 8e c0 b4 03 30 ff cd 10 b9 17 00 |.........0......|00000030 bb 07 00 bd 3f 00 b8 01 13 cd 10 b8 00 90 8e c0 |....?...........|00000040 ba 00 00 b9 02 00 bb 00 02 b8 04 02 cd 13 73 0a |..............s.|00000050 ba 00 00 b8 00 00 cd 13 eb e1 ea 00 00 20 90 0d |............. ..|00000060 0a 53 75 6e 69 78 20 69 73 20 72 75 6e 6e 69 6e |.Sunix is runnin|00000070 67 21 0d 0a 0d 0a 00 00 00 00 00 00 00 00 00 00|g!..............|00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|*00000210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|00000220Windows下用UltraEdit把该文件打开,果然如此。

图1 用UltraEdit打开文件bootsect接下来干什么呢?是的,要去掉这32个字节的文件头部(tools/build.c的功能之一就是这个)!随手编个小的文件读写程序都可以去掉它。

相关文档
最新文档