操作系统课程设计报告

上传人:cn****1 文档编号:433146181 上传时间:2022-11-08 格式:DOC 页数:24 大小:376.24KB
返回 下载 相关 举报
操作系统课程设计报告_第1页
第1页 / 共24页
操作系统课程设计报告_第2页
第2页 / 共24页
操作系统课程设计报告_第3页
第3页 / 共24页
操作系统课程设计报告_第4页
第4页 / 共24页
操作系统课程设计报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《操作系统课程设计报告》由会员分享,可在线阅读,更多相关《操作系统课程设计报告(24页珍藏版)》请在金锄头文库上搜索。

1、计算机科学与技术学院 计算机学院网络工程专业 操作系统课程设计报告进程的创建 (2012/2013学年 第一学期)学生姓名: 余迎香学生班级: 网络工程102001学生学号: 201020030121指导教师: 赵 静2012年 12 月 30日目录第一章 课程设计概述11.1 课程设计的目的与意义11.1.1 目的11.1.2 意义11.2 实验概述11.2.1 实验名称11.2.2 实验目的11.2.3 实验要求11.2.4 实验内容2第二章API函数简介32.1 API的定义32.2 windows API32.3开放API函数3第三章 相关API函数53.1 CreateProcess

2、()53.2 GetVersionEX()73.3 ReleaseMutex()83.4 ExitProcess()83.5 GetexitCodeProcess()83.6 STARTUPINFO结构93.7 PROCESS_INFORMATION 结构123.8 GetStartupInfo123.9 ShowWindow133.10 InternetGetConnectedState13第四章 实验结果与分析144.1 实验结果144.2 实验结果分析16结束语18参考文献19附录20I第一章 课程设计概述1.1 课程设计的目的与意义1.1.1 目的本课程设计是为了配合操作系统课程的理论

3、教学而设置的,目的是通过课程设计的综合训练,加强学生对操作系统概念的实际应用技能的训练,提高学生分析问题和解决问题的能力。1.1.2 意义本次操作系统课程设计的主要任务是进行系统级的程序设计。本课程设计是操作系统原理课程的延伸。通过该课程设计,使学生更好地掌握操作系统各部分结构、实现机理和各种典型算法,加深对操作系统的设计和实现思路的理解,培养学生的系统设计和动手能力,学会分析和编写程序。课程设计的实施将使学生在以下几个方面有所收获: (1)加深对操作系统原理的理解,提高综合运用所学知识的能力; (2) 培养学生自主查阅参考资料的习惯,增强独立思考和解决问题的能力; (3)通过课程设计,培养严

4、谨的科学态度和协作精神。1.2 实验概述1.2.1 实验名称 进程的创建,获取进程的PID和操作系统的版本信息。1.2.2 实验目的 (1)通过编写程序实现进程的创建,使用进程和操作系统的版本信息,进程的终止,使学生进一步掌握进程调度的概念,加深对处理机分配的理解。 (2)了解Windows 2000/XP中进程(线程)调度算法,掌握相应的与调度相关的API函数。1.2.3 实验要求 (1)Windows 2000 Professional,Visual C+; (2)了解进程的概念,并理解进程的调度与访问; (3)程序界面美观。I1.2.4 实验内容在Windows XP,Windows 2

5、000等操作系统下,语言不限,最好为C或者C+,应用API函数,编写进程的创建,进程使用,进程终止操作。II第二章API函数简介2.1 API的定义 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。2.2 windows API Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。 这在某种程

6、度上很像Windows的天然代码。而其他的语言只是提供一种能自动而且更容易的访问API的方法。当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体,VB获取这个调用并经过分析后生成一个特定事件。 API函数包含在Windows系统目录下的动态连接库文件中。 更易理解来说:Windows系统除了协调应用程序的执行、内存的分配、系统资源的管理外,同时他也是一个很大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个函数)可以帮助应用程序达到开启视窗、描绘图形和使用周边设备等目的,由于这些函数服务的对象是应用程序,所以称之为Application Programming Interf

7、ace,简称API 函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。 2.3开放API函数基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。开放是目前的发展趋势,越来越多的产品走向开放。目前的网站不能靠限制用户离开来留住用户,开放的架构反而更增加了用户的粘性。在Web 2.0的浪潮到来之前,开放的API 甚至源代码主要体现在桌面应用上,而现在越来越多的Web 应用面向开发者开放了API。 具备分

8、享、标准、去中心化、开放、模块化的Web 2.0 站点,在为使用者带来价值的同时,更希望通过开放的API 来让站点提供的服务拥有更大的用户群和服务访问数量。站点在推出基于开放API 标准的产品和服务后,无需花费力气做大量的市场推广,只要提供的服务或应用出色易于使用,其他站点就会主动将开放API 提供的服务整合到自己的应用之中。同时,这种整合API 带来的服务应用,也会激发更多富有创意的应用产生。 为了对外提供统一的API 接口,需要对开发者开放资源调用API 的站点提供开放统一的API接口环境,来帮助使用者访问站点的功能和资源。 当然,开放API 的站点为第三方的开发者提供良好的社区支持也是很

9、有意义的,这有助于吸引更多的技术人员参与到开放的开发平台中,并开发出更为有趣的第三方应用。视频云技术提供商CC视频开放API接口,用户可以在自己的网站后台轻松完成视频的上传、视频播放控制操作,并可批量获取视频及平台信息。第三章 相关API函数这个课程设计是基于API函数的,下面介绍在这个课程设计的过程中需要了解并理解的有关函数。3.1 CreateProcess()1) 定义: WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。2)函数原型:BOOL CreateProcess ( LPCTSTRlpApplicationName,

10、 LPTSTRlpCommandLine, LPSECURITY_ATTRIBUTESlpProcessAttributes, LPSECURITY_ATTRIBUTESlpThreadAttributes, BOOLbInheritHandles, DWORDdwCreationFlags, LPVOIDlpEnvironment, LPCTSTRlpCurrentDirectory, LPSTARTUPINFOlpStartupInfo, LPPROCESS_INFORMATIONlpProcessInformation );3)函数参数: (1)lpApplicationName指向一个

11、NULL结尾的、用来指定可执行模块的字符串。这个字符串可以是可执行模块的绝对路径,也可以是相对路径,在后一种情况下,函数使用当前驱动器和目录建立可执行模块的路径。 这个参数可以被设为NULL,在这种情况下,可执行模块的名字必须处lpCommandLine 参数的最前面并由空格符与后面的字符分开。 (2)lpCommandLine指向一个以NULL结尾的字符串,该字符串指定要执行的命令行。 这个参数可以为空,那么函数将使用lpApplicationName参数指定的字符串当做要运行的程序的命令行。如果lpApplicationName和lpCommandLine参数都不为空,那么lpApplic

12、ationName参数指定将要被运行的模块,lpCommandLine参数指定将被运行的模块的命令行。新运行的进程可以使用GetCommandLine函数获得整个命令行。C语言程序可以使用argc和argv参数。(3)lpProcessAttributes 指向一个SECURITY_ATTRIBUTES结构体,这个结构体决定是否返回的句柄可以被子进程继承。如果lpProcessAttributes参数为空(NULL),那么句柄不能被继承。 在Windows NT中:SECURITY_ATTRIBUTES结构的lpSecurityDescriptor成员指定了新进程的安全描述符,如果参数为空,新

13、进程使用默认的安全描述符。在Windows95中:SECURITY_ATTRIBUTES结构的lpSecurityDescriptor成员被忽略。 (4) lpThreadAttributes 指向一个SECURITY_ATTRIBUTES结构体,这个结构体决定是否返回的指向线程的句柄可以被子进程继承。如果lpThreadAttributes参数为空(NULL),那么句柄不能被继承。 在Windows NT中,SECURITY_ATTRIBUTES结构的lpSecurityDescriptor成员指定了主线程的安全描述符,如果参数为空,主线程使用默认的安全描述符。在Windows95中:SEC

14、URITY_ATTRIBUTES结构的lpSecurityDescriptor成员被忽略。 (5) bInheritHandles指示新进程是否从调用进程处继承了句柄。 如果参数的值为真,调用进程中的每一个可继承的打开句柄都将被子进程继承。被继承的句柄与原进程拥有完全相同的值和访问权限。 (6) dwCreationFlags 指定附加的、用来控制优先类和进程的创建的标志。以下的创建标志可以以除下面列出的方式外的任何方式组合后指定。 (7)lpEnvironment 指向一个新进程的环境块。如果此参数为空,新进程使用调用进程的环境。 一个环境块存在于一个由以NULL结尾的字符串组成的块中,这个块也是以NULL结尾的。每个字符串都是name=value的形式。因为相等标志被当做分隔符,所以它不能被环境变量当做变量名。(8)lpCurrentDirectory指向一个以NULL结尾的字符串,这个字符串用来指定子进程的工作路径。这个字符串必须是一个包含驱动器名的绝对路径。如果这个参数为空,新进程将使用与调用进程相同的驱动器和目录。这个选项是一个需要启动应用程序并指定它们的驱动器和工作目录的外壳程序的主要条件。 (9)lpStartupI

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械/制造/汽车 > 工业自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号