您好,欢迎访问三七文档
计算机操作系统实验报告实验名称:实验一、班级:姓名:学号:类型:上机作业实验地点:鹤琴402日期:2015.4.8一、实验目的:1.理解操作系统接口的概念,理解程序接口和系统调用2.熟练使用API应用程序接口函数,3.比较程序接口和系统调用的区别和适用环境了解WINDOWS的动态链接库和应用程序接口;了解WINDOWS应用程序接口(API)函数的使用过程;掌握在面向对象程序设计语言中利用API访问操作系统的方法。二、实验环境:1.PC机一台(VC、C、VB等编程环境)三、实验内容和要求:1、使用若干个程序接口,实现一定的用户访问要求2、通过系统调用实现:获取本机操作系统版本号3、通过系统调用实现:修改本机“计算机名”4、分析和理解所使用的系统调用以及所涉及的数据结构实验准备:了解什么是动态链接、动态连接库、动态链接的过程、WINDOWS提供的API函数的作用、常用的API函数库有那几个、应用程序接口的使用方法(如如何声明、调用API的方式等)四、实验步骤:通过系统调用实现:获取本机操作系统版本号,修改本机“计算机名”#includeiostreamusingnamespacestd;#includewindows.hvoidgetversion(){OSVERSIONINFOdd;/*定义一个一个获取操作系统版本信息的数据结构*/dd.dwOSVersionInfoSize=sizeof(dd);/*以字节为单位,定义dd的大小*/GetVersionEx(&dd);if(dd.dwMajorVersion==5&&dd.dwMinorVersion==0)/*dwMajorVersion为标识操作系统的主版本号*/{cout\n该计算机的操作系统为:Windows2000版本号为:dd.dwBuildNumberendl;}elseif(dd.dwMajorVersion==5&&dd.dwMinorVersion==1)/*dwMinorVersion为标识操作系统的次要版本号*/{cout\n该计算机的操作系统为:WindowsXP版本号为:dd.dwBuildNumberendl;}elsecout\n该计算机的操作系统为:其他版本版本号为:dd.dwBuildNumberendl;}voidgetname(){constintnBufSize=MAX_COMPUTERNAME_LENGTH+1;TCHARchBuf[nBufSize];DWORDdwRet=nBufSize;GetComputerName(chBuf,&dwRet);cout该计算机名称为:chBufendl;}voidsetname(){cout输入需要修改的新计算机名,只在重启后生效:endl;charchBuf[256];newcname:cinchBuf;if(SetComputerName(chBuf)){cout\n修改成功,重启后生效,如果未生效检查系统是否有还原保护endl;}else{cout\n修改失败!请检查输入计算机名是否为非法字符。请重新输入新的计算机名:endl;gotonewcname;}}voidmain(){getversion();getname();setname();}五、实验结果与分析(含程序、数据记录及分析和实验总结等):应用程序接口(英语:ApplicationProgrammingInterface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常会需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,进而提高系统的维护性和扩展性。API又分为(Windows、Linux、Unix等系统的)系统级API,及非操作系统级的自定义API。作为一种有效的代码封装模式,微软Windows的API开发模式已经为许多商业应用开发的公司所借鉴,并开发出某些商业应用系统的API函数予以发布,方便第三方进行功能扩展。如Google、苹果电脑公司,以及诺基亚等手机开发的API等等。面向对象语言的APIen:ListofJavaAPIs库与框架的APIWindowsAPI微软Windows的DirectXSimpleDirectMediaLayer(SDL)API与协议en:LDAPApplicationProgramInterfaceAPI与设备接口PCBIOS调用接口ASPIforSCSIdeviceinterfacingWebAPIWebserviceGoogle地图的APIMediaWikiAPI六:思考题:1.API的作用API是应用程序接口,它是提供给用户用来编程的,它的特点是代码的不可以见行,是操作系统最基本的东西,它构成了系统的内核环境,所以通过API我们可以在系统的最底层进行编程,可以通过它来对计算机硬件操作。2.修改本机“计算机名”是否成功?如果不成功原因是什么。成功。如果不成功的原因有:计算机之间的物理连接不正常。所有计算机上都安装的TCP/IP协议不能工作正常,有问题。API函数调用的代码有问题3.获取本机操作系统版本号的系统调用函数有两个,它们的区别是什么?WindowsAPI中有两个函数可以得到系统版本信息:GetVersion和GetVersionExGetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返回值中用低位的那个字表示MS-DOS的版本号,高位的那个字表示Windows版本号。对于每个字来说,高位字节代表主要版本号,低位字节代表次要版本号。可是因为编写此函数的程序员犯了一个错误,使得此函数返回的Windows版本号颠倒了(即把主要版本号放到了低位字节,而次要版本号放到了高位字节)。当发现此错误的时候已经有很多程序员在使用这个函数了,Microsoft只好将错就错,直接把原来的API文档给改了过来。为了解决GetVersion带来的问题,Microsoft后来开发了一个新的函数GetVersionEx,用它能够得到更详细的Windows系统的版本信息。
本文标题:操作系统实验一
链接地址:https://www.777doc.com/doc-5559549 .html