操作系统实验教程分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验报告 ——OS Lab 班级: 姓名: 学号: 实验1 实验环境的使用 本次实验主要学习了OS Lab的基本使用方法;练习编译、调试了EOS操作系统内核以及EOS应用程序。 无论是EOS操作系统内核还是EOS应用程序,开始时它们都只是一些源代码文件。当编译器、链接器、软盘镜像编辑器等工具,对它们的源代码文件进行逐步转化后,它们就变成了可以在虚拟机(或者裸机)运行的EOS操作系统内核与EOS应用程序。 思考与练习 思考生成EOS SDK文件夹的目的和作用。查看EOS SDK文件夹中的内容,明白文件夹的组织结构和各个文件的来源和作用。查看EOS应用程序包含了SDK文件夹中的哪些头文件,是如何包含的? 答:操作系统通过向开发者提供SDK来开放其API,开发者在为操作系统编写应用程序时,通过使用SDK来调用API。如果要为操作系统开发应用程序,就需要首先获得操作系统的SDK。 SDK为了向开发者提供操作系统的API,往往会包含头文件、导入库文件和动态链接库文件。 头文件的主要作用是导出操作系统使用的一些数据类型(例如操作系统中使用的结构体类型)和API函数的声明,一般会被放在SDK中的Inc(Include)文件夹中 导入库文件(Import Library)是 根 据操作系统需要导出的API函数而生成的特定格式的二进制文件导入库文件。导入库文件的主要作用是告诉应用程序的可执行文件,其调用的API函数在操作系统中的地址,一般会被放在SDK中的Lib (Library)文件夹中。 动态链接库文件(Dynamic Link Library)是包含了操作系统导出的API函数的可执行代码的二进制文件。动态链接库文件的格式一般与可执行文件是相同的,只是不能直接执行,一般会被放在SDK中的Bin(Binary)文件夹中。 在IDE 环境成功生成EOS的二进制文件后,会自动生成EOS SDK。IDE环境会首先新建一个SDK文件夹,然后将eos.h(导出API函数的声明)、eosdef.h(导出数据类型的定义)和error.h(导出错误码)三个头文件复制到SDK文件夹中的INC文件夹中,将生成的四个二进制文件都复制到BIN文件夹中(EOS SDK为了简单,将导入库文件也放入了BIN文件夹,而没有使用LIB文件夹)。这样,EOS SDK就具有了开发EOS应用程序所需的头文件、导入库文件和动态链接库文件。在编写EOS应用程序的源代码之前,必须首先获得EOS SDK文件夹。然后,在EOS应用程序的头文件eosapp.h中包含SDK/INC文件夹中的三个头文件。实际上,eosapp.h只需要包含eos.h文件就即可,因为在eos.h文件中已经包含了eosdef.h和error.h文件。 实验2 操作系统的启动 跟踪调试EOS在PC机上从加电复位到成功启动的全过程,了解操作系统的启动过程查看EOS启动后的状态和行为,理解操作系统启动后的工作方式。 思考与练习 1. 为什么EOS操作系统从软盘启动时要使用boot.bin和loader.bin两个程序?使用一个可以吗?它们各自的主要功能是什么?如果将loader.bin的功能移动到boot.bin文件中,则boot.bin文件的大小是否仍然能保持小于512字节? 答:boot文件夹包含了两个汇编文件boot.asm和loader.asm。这两个文件生成的二进制文件boot.bin和loader.bin会被写入软盘镜像文件。操作系统启动时boot.bin和loader.bin引导软盘加载程序,二者缺一不可。使用Boot.bin的主要功能是引导软盘;loader.bin的主要功能是加载程序。如果把loader.bin功能移动到boot.bin程序中,必然导致程序规模扩大,可能使其大于512字节。 2. 软盘引导扇区加载完毕后内存中有两个用户可用的区域,为什么软盘引导扇区程序选择将loader.bin加载到第一个可用区域的0x1000处呢?这样做有什么好处?这样做会对loader.bin文件的大小有哪些限制。 答:首先用户只用两个可用区域,加载位置非此即彼。第一个可用用户区是低地址区,且空间大小比较小,适合容纳小文件,所以我们选择将占用空间小的loder.bin加载到第一用户区。? 优点:由低地址开始,便于检索查找。小文件占用小空间,节约资源。? 限制:loader.bin文件必须小于1c00k. 实验3 进程的创建 练习使用EOS API函数CreateProcess创建一个进程,掌握创建进程的方法,理解进程和程序的区别。 调试跟踪CreateProcess函数的执行过程,了解进程的创建过程,理解进程是资源分配的单位 思考与练习 1. 在源代码文件

文档评论(0)

奇缘之旅 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档