OS综合实验报告1.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OS综合实验报告1

综合实验报告 ( 2013 -- 2014 年度第 1 学期) 名 称: 操作系统综合实验 题 目: 基于OS Lab的操作系统综合实验 院 系: 计算机系 班 级: 学 号: 学生姓名: 指导教师: 王德文,王 艳 设计周数: 1 成 绩: 日期: 2013 年 月 日 一、课程设计附录() ? 熟悉操作系统集成实验环境OS Lab的基本使用方法。 ? 练习编译、调试EOS操作系统内核以及EOS应用程序。 2.实验内容: . 学习OS Lab的基本使用方法 a.启动OSlab b.新建windows控制台程序项目,eos内核项目,eos应用程序项目; c.生成项目 d.执行项目 e.调试项目 f.项目名称的修改及项目的保存 .实验中代码的修改: 1)在 func.c 文件中添加函数: int Func (int n) { n = n + 1; return n; } 2)点击源代码编辑器上方的console.c标签,切换到console.c文件。将 main 函数修改为: int main (int argc, char* argv[]) { int Func (int n); // 声明Func函数 int n = 0; n = Func(10); printf (Hello World!\n); return 0; } 问题答案: EOS SDk文件夹的目的和作用: 主要供EOS应用程序使用。EOS内核提供的API函数及重要的数据类型都是通过将相关的头文件复制到SDK文件夹中,然后EOS应用程序再包含SDK文件夹中的头文件,使EOS应用程序可以调用这些函数或使用数据类型来定义变量。同时,SDK文件夹中还保存了Debug和Release版本的二进制文件,分别为两个版本的应用程序使用。 运行结果图示 实验总结及体会: 通过本次实验,对EOS操作系统和OS Lab集成实验环境有一个初步的了解,学会了创建三种项目,项目的调试,执行及保存,还有一些文件的含义。 实验三.进程创建 1.实验目的: 练习使用EOS API函数CreateProcess创建一个进程,掌握创建进程的方法,理解进程和程序的区别。 试跟踪CreateProcess函数的执行过程,了解进程的创建过程,理解进程是资源分配的单位。 2.实验内容: 练习使用控制台命令创建EOS应用程序的进程; 练习通过编程的方式让应用程序创建另一个应用程序的进程CreateProcess函数; 调试PsCreateProcess函数; 练习通过编程的方式创建应用程序的多个进程#include EOSApp.h int main(int argc, char* argv[]) { int i; for (i = 1; i = 5; i++) { printf(Hello,world! %d\n, i); Sleep(1000); } printf(Bye-bye!\n); return 0; } 2. /* #include EOSApp.h int main(int argc, char* argv[]) { STARTUPINFO StartupInfo; PROCESS_INFORMATION ProcInfo; ULONG ulExitCode; // 子进程退出码 INT nResult = 0; // main 函数返回值。0 表示成功,非 0 表示失败。 #ifdef _DEBUG __asm(int $3\n nop); #endif printf(Create a process and wait for the process exit...\n\n); StartupInfo.StdInput = GetStdHandle(STD_INPUT_HANDLE); StartupInfo.StdOutput = GetStdHandle(STD_OUTPUT_HANDLE); StartupInfo.StdError = GetStdHandle(STD_ERROR_HANDLE); if (CreateProcess(A:\\Hello.exe, NULL, 0, StartupInfo, ProcInfo)) { WaitForSing

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档