- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验3报告汇编
操作系统 实 验 报 告 课程名称 操作系统实验 课程编号 0906553 实验项目名称 进程的创建 学号 年级 姓名 专业 计算机科学与技术 学生所在学院 计算机科学与技术学院 指导教师 实验室名称地点 计算机科学与技术学院 第三讲 进程的创建 一、实验概述 1. 实验名称 进程的创建 2. 实验目的 (1)练习使用 EOS API 函数 CreateProcess 创建一个进程,掌握创建进程的方法,理解进程和程序的区别。 ? (2)调试跟踪 CreateProcess 函数的执行过程,了解进程的创建过程,理解进程是资源分配的单位。 3. 实验类型 验证型 4. 实验内容 准备实验 练习使用控制台命令创建EOS应用程序的进程 调试CreateProcess函数 调试PsCreateProcess函数 练习通过编程的方式创建应用程序的多个进程 二、实验环境 操作系统:操作系统集成实验环境 OS Lab EOS 操作系统内核以及 EOS 应用程序 实验工具SLab 语言 1. 设计思路和流程图 思路 流程 7. 接下来继续使用 F10 一步步调试 PsCreateProcess 函数中的代码,同样要注意观察执行后的代码 修改了进程控制块中的哪些成员变量。当调试到 PsCreateProcess 函数的最后一行代码时,查看 进程控制块中的信息,此时所有的成员变量都已经被初始化了(注意观察成员 ImageName 的值)。 按 F5 继续执行,EOS 内核会为刚刚初始化完毕的进程控制块新建一个进程。激活虚拟机窗口查看 新建进程执行的结果。 9. 在 OS Lab 中选择“调试”菜单中的“停止调试”结束此次调试。 10. 选择“调试”菜单中的“删除所有断点”。 3.6 练习通过编程的方式创建应用程序的多个进程 使用 OS Lab 打开本实验文件夹中的参考源代码文件 NewTwoProc.c,仔细阅读此文件中的源代码。使 用 NewTwoProc.c 文件中的源代码替换 EOS 应用程序项目中 EOSApp.c 文件内的源代码,生成后启动调试, 查看多个进程并发执行的结果。 需要解决的问题及解答 在源代码文件NewTwoProc.c提供的源代码基础上进行修改,要求使用hello.exe同时创建10个进程。 运行结果如图1。修改后代码为 /* 提供该示例代码是为了阐释一个概念,或者进行一个测试,并不代表着 最安全的编码实践,因此不应在应用程序或网站中使用该示例代码。对 于超出本示例代码的预期用途以外的使用所造成的偶然或继发性损失, 北京海西慧学科技有限公司不承担任何责任。 */ #include EOSApp.h // // main 函数参数的意义: // argc - argv 数组的长度,大小至少为 1,argc - 1 为命令行参数的数量。 // argv - 字符串指针数组,数组长度为命令行参数个数 + 1。其中 argv[0] 固定指向当前 // 进程所执行的可执行文件的路径字符串,argv[1] 及其后面的指针指向各个命令行 // 参数。 // 例如通过命令行内容 a:\hello.exe -a -b 启动进程后,hello.exe 的 main 函 // 数的参数 argc 的值为 3,argv[0] 指向字符串 a:\hello.exe,argv[1] 指向 // 参数字符串 -a,argv[2] 指向参数字符串 -b。 // int main(int argc, char* argv[]) { // // 启动调试 EOS 应用程序前要特别注意下面的问题: // // 1、如果要在调试应用程序时能够调试进入内核并显示对应的源码, // 必须使用 EOS 核心项目编译生成完全版本的 SDK 文件夹,然 // 后使用此文件夹覆盖应用程序项目中的 SDK 文件夹,并且 EOS // 核心项目在磁盘上的位置不能改变。 // // 2、在启动调试应用程序之前必须首先删除/禁用所有的断点,在断 // 点中断 (int 3) 被命中后才能重新添加/启用断点,否则启动 // 调试会失败。 // STARTUPINFO StartupInfo; //PROCESS_INFORMATION ProcInfoOne, ProcInfoTwo; int i; int sum=0; PROCESS_IN
您可能关注的文档
最近下载
- 2016尔雅文化遗产概览【参考】.docx VIP
- 2025年江西省上饶市辅警协警笔试笔试真题(附答案).docx VIP
- 国开《学位论文指南》形考作业1-2答案.docx
- 和谐社会视野下中国基层行政伦理建设.doc VIP
- 股骨头骨骺炎胫骨结节骨骺炎.ppt VIP
- 和谐社会视野下中国基层行政伦理建设的论文.doc VIP
- 国际篮联的必威体育精装版规则 .pdf VIP
- 辽宁省重点高中联合体2024-2025学年高一下学期期末考试语文试题及答案.docx VIP
- 儿童生存质量测定量表PedsQL4.0中文版的信度和效度分析.pdf VIP
- NB∕T 10877-2021 水电工程建设征地移民安置补偿费用概(估)算编制规范.pdf
有哪些信誉好的足球投注网站
文档评论(0)