- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验指导书.
操作系统实验指导
目 录
实验一 Windows2000进程观测 1
实验二 Windows2000进程控制 6
实验三 Windows2000线程的运行 14
实验四 Windows2000线程同步 19
实验五 经典同步问题的实现 27
实验六 Windows2000内存管理 31
实验七 Windows2000文件管理 40
实验八 安装Linux操作系统 48
实验九 Linux 基本操作 49
实验十 Linux下的进程与线程 55
实验一 Windows2000进程观测
一、背景知识
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) 代码块,在其中包含应用程序所使用的机器代码和应用程序的数据。
二、实验目的
通过对Windows 2000编程,进一步熟悉操作系统的基本概念,较好地理解Windows 2000的结构。
三、实验内容与步骤
1. 简单的控制台应用程序
我们先来创建一个名为“Hello,World”的应用程序。
用VC6.0编辑并编译执行程序。
启动VC6.0,选择菜单中的“文件”_“新建”_选择“Win32 Console Application” ,“位置”选择d:\os,“工程名称”输入“1_1”,选择确定后,再下一窗口中选择“一个空文件”。
再次选择VC6.0菜单中的“文件”_“新建”_选择“C++ Souce File”,文件名为“1_1”。
在编辑窗口编辑“程序1_1”,然后对其进行编译和执行。
观察1_1文件夹中生成的文件各是什么:
____________________________________________________________________
程序1_1 一个简单的Windows 2000控制台应用程序
// hello项目
# include iostream.h
? void main()
{
cout “Hello, Windows 2000” endl ;
}
2. 进程对象
操作系统将当前运行的应用程序看作是进程对象。利用系统提供的惟一的称为句柄 (HANDLE) 的号码,就可与进程对象交互。这一号码只对当前进程有效。
本实验表示了一个简单的进程句柄的应用。在系统中运行的任何进程都可调用GetCurrentProcess() API函数,此函数可返回标识进程本身的句柄。然后就可在Windows需要该进程的有关情况时,利用这一句柄来提供。
步骤7:编辑调试如下代码,并保存为d:\os\1_3\1_3.cpp。
程序1_2 获得进程的优先级
// prochandle项目
# include windows.h
# include iostream.h?
// 确定自己的优先权的简单应用程序
void main()
{ HANDLE hProcessThis = GetCurrentProcess() ; // 从当前进程中提取句柄
DWORD dwPri
您可能关注的文档
最近下载
- 2025至2030中国农产品批发行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2011一汽马自达8车身维修手册(1).pdf VIP
- 2025大学生广西西部计划考试模拟试题题型(含答案).docx
- 《T/ZGZS 0308-2023废活性炭热处理再生技术规范》.pdf
- 中班数学活动《有趣的排序》ppt课件.pptx VIP
- 海尔BCD-218WDGS使用说明书.pdf
- 2025年海南省新高考生物试卷真题(附答案详解) .pdf VIP
- 《贸易单据审核与制作》课件.ppt VIP
- 《贸易单据制作与流转》课件.ppt VIP
- 2025年黑龙江省职业教育春季高考畜牧兽医类专业技能操作考试大纲.docx VIP
文档评论(0)