还剩1页未读,继续阅读
文本内容:
计算机操作系统实验报告实验名称实验
一、班级姓名学号类型上机作业实验地点鹤琴402日期
2015.
4.8
一、实验目的
1.理解操作系统接口的概念,理解程序接口和系统调用
2.熟练使用API应用程序接口函数,
3.比较程序接口和系统调用的区别和适用环境了解WINDOWS的动态链接库和应用程序接口;了解WINDOWS应用程序接口API函数的使用过程;掌握在面向对象程序设计语言中利用API访问操作系统的方法
二、实验环境LPC机一台VC、C、VB等编程环境
三、实验内容和要求
1、使用若干个程序接口,实现一定的用户访问要求
2、通过系统调用实现获取本机操作系统版本号
3、通过系统调用实现修改本机“计算机名”
4、分析和理解所使用的系统调用以及所涉及的数据结构实验准备了解什么是动态链接、动态连接库、动态链接的过程、WINDOWS提供的API函数的作用、常用的API函数库有那几个、应用程序接口的使用方法如如何声明、调用API的方式等
四、实验步骤通过系统调用实现获取本机操作系统版本号,修改本机“计算机名”#include iostreamusing namespacestd;#include windows.h voidgetversionOSVERSIONINFO dd;/*定义一个一个获取操作系统版本信息的数据结构*/dd.dwOSVersionInfoSize=sizeofdd;/*以字节为单位,定义dd的大小*/GetVersionExdd;ifdd.dwMajorVersion=5dd.dwMinorVersion==0/^dwMajorVersion为标识操作系统的主版本号*/cout«”\n该计算机的操作系统为:Windows2000版本号为”«dd.dwBuildNumber«endl;else ifdd.dwMajorVersion==5dd.dwMinorVersion=1/*dwMinorVersion为标识操作系统的次要版本号*/cout«\n该计算机的操作系统为:Windows XP版本号为”«dd.dwBuildNumber«endl;else cout«**\n该计算机的操作系统为其他版本版本号为:“«dd.dwBuildNumber«endl;void getnameconst intnBufSize=MAX_COMPUTERNAME_LENGTH+1;TCHAR chBuf[nBufSize];DWORD dwRet=nBufSize;GetComputerNamechBuf,dwRet;cout«n该计算机名称为:n«chB uf«endl;}void setnamecout«”输入需要修改的新计算机名,只在重启后生效〈Vendl;char chBuf
[256];newcname:cin»chBuf;ifSetComputerNamechBufcout«n\n修改成功,重启后生效,如果未生效检查系统是否有还原保护”endl;elsecout«\n修改失败!请检查输入计算机名是否为非法字符请重新输入新的计算机名:«endl;goto newcname;void maingetversion;getname;setname;
五、实验结果与分析(含程序、数据记录及分析和实验总结等)应用程序接口(英语:Application ProgrammingInterface,简称API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定由于近年来软件的规模日益庞大,常常会需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分良好的接且设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的脸程度,进而提高系统的维护性和扩展性API又分为(Windows、Linux、Unix等系统的)系统级API,及非操作系统级的自定义API作为一种有效的代码封装模式,微软Windows的API开发模式已经为许多商业应用开发的公司所借鉴,并开发出某些商业应用系统的API函数予以发布,方便第三方进行功能扩展如Google、苹果电脑公司,以及诺基亚等手机开发的API等等面向对象语言的API en:List ofJava APIs库与框架的API Windows API微软Windows的DirectX SimpleDirectMedia LayerSDL API与协议en:LDAP ApplicationProgram InterfaceAPI与设备接口PC BIOS调用接口ASPI forSCSI deviceinterfacing WebAPI Webservice Google地图的API MediaWikiAPI六思考题
1.API的作用API是应用程序接口,它是提供给用户用来编程的,它的特点是代码的不可以见行,是操作系统最基本的东西,它构成了系统的内核环境,所以通过API我们可以在系统的最底层进行编程,可以通过它来对计算机硬件操作
2.修改本机“计算机名”是否成功?如果不成功原因是什么成功如果不成功的原因有•计算机之间的物理连接不正常•所有计算机上都安装的TCP/IP协议不能工作正常,有问题•API函数调用的代码有问题
3.获取本机操作系统版本号的系统调用函数有两个,它们的区别是什么?WindowsAPI中有两个函数可以得到系统版本信息GetVersion和GetVersionEx GetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返回值中用低位的那个字表示MS-DOS的版本号,高位的那个字表示Windows版本号对于每个字来说,高位字节代表主要版本号,低位字节代表次要版本号可是因为编写此函数的程序员犯了一个错误,使得此函数返回的Windows版本号颠倒了(即把主要版本号放到了低位字节,而次要版本号放到了高位字节)当发现此错误的时候已经有很多程序员在使用这个函数了,Microsoft只好将错就错,直接把原来的API文档给改了过来为了解决GetVersion带来的问题,Microsoft后来开发了一个新的函数GetVersionEx,用它能够得到更详细的Windows系统的版本信息。