2024年3月14日发(作者:)

哈尔滨工业大学(威海)

操作系统实验报告

说明:本实验报告实验答案,是本

人在上实验时的测试数据,由于操

作系统实验中后面实验与当时所做

实验的计算机的配置有关,因此本

实验报的数据仅供参考。

实验1

进程的描述与控制

Windows 2000编程

(实验估计时间:100分钟)

1.1 背景知识

Windows 2000 可以识别的应用程序包括控制台应用程序、GUI应用程序和服务应

用程序。控制台应用程序可以创建GUI,GUI应用程序可以作为服务来运行,服务也

可以向标准的输出流写入数据。不同类型应用程序间的惟一重要区别是其启动方法。

Windows 2000是以NT技术构建的,它提供了创建控制台应用程序的能力,使用

户可以利用标准的C++工具,如iostream库中的cout和cin对象,来创建小型应用程序。

当系统运行时,Windows 2000的服务通常要向系统用户提供所需功能。

服务应用程序类型需要ServiceMail()函数,由服务控制管理器(SCM)加以调用。

SCM是操作系统的集成部分,负责响应系统启动以开始服务、指导用户控制或从另一

个服务中来的请求。其本身负责使应用程序的行为像一个服务,通常,服务登录到特

殊的LocalSystem账号下,此账号具有与开发人员创建的服务不同的权限。

当C++编译器创建可执行程序时,编译器将源代码编译成OBJ文件,然后将其与

标准库相链接。产生的EXE文件是装载器指令、机器指令和应用程序的数据的集合。

装载器指令告诉系统从哪里装载机器代码。另一个装载器指令告诉系统从哪里开始执

行进程的主线程。在进行某些设置后,进入开发者提供的main()、Servicemain()或

WinMain()函数的低级入口点。机器代码中包括控制逻辑,它所做的事包括跳转到

Windows API函数,进行计算或向磁盘写入数据等。

Windows允许开发人员将大型应用程序分为较小的、互相有关系的服务模块,即

动态链接库(DLL)代码块,在其中包含应用程序所使用的机器代码和应用程序的数据。

1.2 实验目的

通过对Windows 2000编程,进一步熟悉操作系统的基本概念,较好地理解Windows

2000的结构。

1.3 工具/准备工作

在开始本实验之前,请回顾教科书的相关内容。

您需要做以下准备:

1)一台运行Windows 2000 Professional 操作系统的计算机。

2)计算机中需安装Visual C++ 6.0 专业版或企业版。

1.4 实验内容与步骤

(1)、简单的控制台应用程序

我们先来创建一个名为“Hello,World”的应用程序。