《计算机操作系统》实验指导书.docx

上传人:b****4 文档编号:11358867 上传时间:2023-05-31 格式:DOCX 页数:87 大小:61.95KB
下载 相关 举报
《计算机操作系统》实验指导书.docx_第1页
第1页 / 共87页
《计算机操作系统》实验指导书.docx_第2页
第2页 / 共87页
《计算机操作系统》实验指导书.docx_第3页
第3页 / 共87页
《计算机操作系统》实验指导书.docx_第4页
第4页 / 共87页
《计算机操作系统》实验指导书.docx_第5页
第5页 / 共87页
《计算机操作系统》实验指导书.docx_第6页
第6页 / 共87页
《计算机操作系统》实验指导书.docx_第7页
第7页 / 共87页
《计算机操作系统》实验指导书.docx_第8页
第8页 / 共87页
《计算机操作系统》实验指导书.docx_第9页
第9页 / 共87页
《计算机操作系统》实验指导书.docx_第10页
第10页 / 共87页
《计算机操作系统》实验指导书.docx_第11页
第11页 / 共87页
《计算机操作系统》实验指导书.docx_第12页
第12页 / 共87页
《计算机操作系统》实验指导书.docx_第13页
第13页 / 共87页
《计算机操作系统》实验指导书.docx_第14页
第14页 / 共87页
《计算机操作系统》实验指导书.docx_第15页
第15页 / 共87页
《计算机操作系统》实验指导书.docx_第16页
第16页 / 共87页
《计算机操作系统》实验指导书.docx_第17页
第17页 / 共87页
《计算机操作系统》实验指导书.docx_第18页
第18页 / 共87页
《计算机操作系统》实验指导书.docx_第19页
第19页 / 共87页
《计算机操作系统》实验指导书.docx_第20页
第20页 / 共87页
亲,该文档总共87页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《计算机操作系统》实验指导书.docx

《《计算机操作系统》实验指导书.docx》由会员分享,可在线阅读,更多相关《《计算机操作系统》实验指导书.docx(87页珍藏版)》请在冰点文库上搜索。

《计算机操作系统》实验指导书.docx

《计算机操作系统》实验指导书

《计算机操作系统》实验指导书2

一、实验第01讲Windows系统管理与访问Linux系统2

1、实验1Windows2000系统管理(必做)2

2、实验2Windows2000进程编程(必做)3

3、实验3linux系统访问(必做)4

二、实验第02讲Windows进程管理与管理Linux系统进程及Linux重定向和管道7

1、实验1Windows任务管理器的进程管理(必做)7

2、实验2Windows2000进程编程(必做)8

3、实验3管理Linux系统进程(必做)10

4、实验4Linux重定向和管道(必做)11

三、实验第03讲Linux文件信息命令、基本文件管理与文件权限12

1、实验1Linux文件信息命令和基本文件管理(必做)12

2、实验2Linux文件权限(必做)13

四、实验第04讲Windows进程与线程编程15

1、实验1Windows2000进程的“一生”(必做)15

2、实验2Windows2000线程同步(必做选做)19

3、实验3Windows2000线程间的通讯(选做)23

五、实验第05讲Linux并发程序设计及Linux用户程序的内存管理28

1、实验1Linux并发程序设计(必做)28

2、实验2Linux用户程序的内存管理(必做)30

六、实验第06讲Windows存储管理32

1、实验1提高Windows2000的内存性能(必做)32

2、实验2Windows2000内存结构(必做)35

3、实验3Windows2000虚拟内存(必做)36

七、实验第07讲Linux声音设备编程40

1、实验1Linux声音设备编程(必做)40

《计算机操作系统》实验指导书

课程编号:

10302340实验学时:

8学时

先修课程:

《计算机组成原理》、《高级语言程序设计》、《数据结构》

一、实验第01讲Windows系统管理与访问Linux系统

1、实验1Windows2000系统管理(必做)

1、实验学时与难度

▪实验估计时间:

60分钟,难度系数:

3。

2、背景知识简介

▪Windows2000Professional的“管理工具”中集成了许多系统管理工具,利用这些工具,管理员可以方便地实现各种系统维护和管理功能

▪这些工具集中在“控制面板”的“管理工具”选项下,用户和管理员可以很容易地对它们操作和使用

▪默认情况下,只有一些常用工具随Windows2000系统的安装而安装

•服务:

启动和停止由Windows系统提供的各项服务

•计算机管理器:

管理磁盘以及使用其他系统工具来管理本地或远程计算机

•事件查看器:

显示来自于Window和其他程序的监视与排错信息

•数据源(ODBC):

添加、删除以及配置ODBC数据源和驱动程序

•性能:

显示系统性能图表以及配置数据日志和警报

•组件服务:

配置并管理COM+应用程序

▪另一些工具则随系统服务的安装而添加到系统中,例如:

•Telnet服务器管理:

查看以及修改Telnet服务器设置和连接

•Internet服务管理器:

管理IIS、Internet和IntranetWeb站点的Web服务器

•本地安全策略:

查看和修改本地安全策略,诸如用户权限和审计策略

3、实验目的和要求

▪了解和学习Windows系统管理工具及其使用

▪熟悉Windows系统工具的内容和应用

▪进一步熟悉Windows操作系统的应用环境

4、实验环境

▪需要准备一台运行Windows2000Professional操作系统的计算机

5、实验内容与步骤

▪为了帮助用户管理和监视系统,Windows2000提供了多种系统管理工具,其中最主要的有

•计算机管理

•事件查看器

•性能监视

•服务

•数据源(ODBC)

▪管理工具组中,有哪些系统管理工具,基本功能是什么?

▪1本地安全策略:

查看和修改本地安全策略,如用户权限和审核策略。

▪2服务:

启动和停止服务。

▪3计算机管理:

管理磁盘以及使用其他系统工具来管理本地或远程的计算机。

▪4事件查看器:

显示来自于Windows和其他程序的监视与排错消息。

▪5数据源(ODBC):

添加、删除、以及配置ODBC数据源和驱动程序。

▪6性能:

显示系统性能图表以及配置数据日志和警报。

▪7组件服务:

配置和管理COM+应用程序。

▪对“系统工具”、“存储”、“服务和应用程序”等进行实验记录

实验记录

系统工具

名称

类型

描述

事件查看器

扩展管理单元

显示事件日志

共享文件夹

显示共享文件夹,目前会话。

本地用户和组

扩展管理单元

管理本地用户和组

性能日志和警报

扩展管理单元

配置性能数据日志和警报

设备管理器

设备管理器

存储

名称

类型

描述

可移动存储

扩展管理单元

编辑可移动媒体和管理自动库

Diskeeper

磁盘管理

管理单元

逻辑磁盘管理器

名称

类型

描述

MicrosoftSQLServers

服务

启动,终止并设置Windows

WMI控件

扩展管理单元

配置和控制Windows管理

索引服务

扩展管理单元

提供快速和灵活的文件

Clearcase

ExtensionSnapin

AllowsfortheManagmant..

2、实验2Windows2000进程编程(必做)

1、实验学时与难度

▪实验估计时间:

30分钟,难度系数:

3。

2、背景知识简介

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

▪控制台应用程序可以创建GUI;GUI应用程序可以作为服务来运行;服务也可以向标准的输出流写入数据——不同类型应用程序间的惟一重要区别是其启动方法

▪Windows2000是以NT的技术构建的,它提供了创建控制台应用程序的能力,使用户可以利用标准的C++工具,如iostream库中的cout和cin对象,来创建小型应用程序。

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

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

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

其本身负责使应用程序的行为像一个服务。

通常,服务登录到特殊的LocalSystem账号下,此账号具有与开发人员创建的服务不同的权限

▪当令C++编译器创建可执行程序时,编译器将源代码编译成OBJ文件,然后将其与标准库相链接。

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

装载器指令告诉系统从哪里装载机器代码。

另一个装载器指令告诉系统从哪里开始执行进程的主线程。

在进行某些设置后,进入开发者提供的main()、ServiceMain()或WinMain()函数的低级入口点。

机器代码中包括有控制逻辑,它所做的事包括跳转到WindowsAPI函数,进行计算或向磁盘写入数据等

▪Windows允许开发人员将大型应用程序分为较小的、互相有关系的服务模块,即动态链接库(DLL)代码块,在其中包含应用程序所使用的机器代码和应用程序的数据

3、实验目的和要求

▪通过对Windows2000进程编程

•进一步熟悉操作系统的基本概念

•进一步熟悉进程的概念

•初步理解Windows2000进程的编程

4、实验环境

▪需要做以下准备

•一台运行Windows2000Professional操作系统的计算机

•计算机中需安装VisualC++6.0专业版或企业版

5、实验内容与步骤

▪列出当前运行进程的优先级(具体内容见源程序)

6、源程序

//prochandle项目

#include

#include

//确定自己的优先权的简单应用程序

voidmain()

{

//从当前过程中提取句柄

HANDLEhProcessThis=:

:

GetCurrentProcess();

//请求内核提供该过程所属的优先权类

DWORDdwPriority=:

:

GetPriorityClass(hProcessThis);

//发出消息,为用户描述该类

std:

:

cout<<"currentprocesspriority:

";

switch(dwPriority)

{

caseHIGH_PRIORITY_CLASS:

std:

:

cout<<"High";

break;

caseNORMAL_PRIORITY_CLASS:

std:

:

cout<<"Normal";

break;

caseIDLE_PRIORITY_CLASS:

std:

:

cout<<"Idle";

break;

caseREALTIME_PRIORITY_CLASS:

std:

:

cout<<"Realtime";

break;

default:

std:

:

cout<<"";

break;

}

std:

:

cout<

:

endl;

}

7、进阶

▪更改当前运行进程的优先级。

3、实验3linux系统访问(必做)

1、实验学时与难度

▪实验估计时间:

90分钟,难度系数:

4。

2、背景知识简介

▪Linux是一个与DOS或Windows完全不同的操作环境,具有它自己独特的风格

▪登录Linux和使用GNOME

•首先回顾Linux登录ID和口令的要求,使用标准图形用户界面GNOME练习登录Linux系统,并修改登录口令

•接着,学习使用GNOME。

GNOME是优秀的Linux桌面平台,也是目前Linux各版本中使用的对国际化支持最好的桌面平台。

使用GNOME需要熟悉面板,练习使用鼠标和键盘管理视窗;还需要练习工作空间的切换和使用工作空间菜单

•然后通过Linux系统的Shell、Linux文件、目录和权限等诸方面来掌握Linux系统管理的有关知识

•最后,退出(或者注销)并返回Linux登录界面

▪Linux系统的Shell

•使用Linux系统时,用户多数时间是通过Shell与系统进行对话的。

Shell是一个接收用户输入命令并将其转换成指令的程序,它是用户与Linux系统之间的界面之一

•Linux系统中可以使用的Shell包括:

▪bash:

BourneAgainShell。

这是Linux系统上最常用的Shell,它合乎POSIX(PortableOperatingSystemInterface)标准且相容于BourneShell,是GNU工程(自由软件基金会)的产物,并且提供了编辑命令行的功能

▪csh:

CShell。

由Berkeley(伯克利大学)开发,与BourneShell在交互式使用上很多是相兼容的,但在程序设计界面上却有很大的不同。

它不提供编辑命令行的功能,但它有类似的功能叫命令历史记录

▪ksh:

KornShell。

在UNIX系统下得到普遍使用,并最早将现代Shell技术(包括取自CShell的部分)引入BourneShell,提供了编辑命令行功能

▪sh:

BourneShell。

是原始的Shell,不提供编辑命令行功能

▪tcsh:

CShell的加强版,提供了编辑命令行的功能

▪zsh:

ZShell。

最新的Shell,与BourneShell兼容,提供编辑命令行的功能

▪Linux系统的文件、目录和权限

•Linux的文件名与DOS有许多相似之处也有其自身的特点

•Linux文件名没有标准格式。

通常文件名中可以包含任何字符(“/”字符除外,“~”字符不能作为文件名的第一个字符),文件名的长度限制在256个字符以内。

Linux的文件名也提供了功能强大且精确的通配符

•文件的权限是Linux系统安全的核心部分,包括

▪Read(可读)权限:

表示可以读取文件内的数据

▪Write(可写)权限:

表示可以改变或删除该文件

▪Execute(可执行)权限:

表示可以把该文件当成程序执行

•除文件权限之外,Linux系统上还有目录和很多其他类型的文件,其中包括特殊文件(设备)、Socket和符号连接等等(平时我们经常使用的Windows设备如软驱、光驱等在Linux中也是一种特殊的文件)

•拥有root口令的用户称为超级用户,超级用户有权访问整个系统,包括建立普通用户帐号、修改密码、安装与卸载软件等一切权限。

超级用户的提示符为“#”,普通用户提示符为“$”

•几个用户在一个系统下共用一个帐号,其个人文件的安全就得不到保障。

建立普通用户帐号后,系统能保证用户是唯一能够存取其个人文件的人。

另一方面,即使没有与人共享一个系统,建立普通用户帐号也是必要的。

因为如果总是以超级用户登录进行操作(超级用户的权限是整个系统),一旦出现误操作(如:

破坏或移动、删除一个重要的系统文件)处理起来也很棘手

▪Linux文件系统

•Linux的文件系统是文件和目录层次的集合。

了解Linux文件系统的结构有助于更好地理解和使用Linux。

在Linux文件系统根目录下,有如下子目录:

bin、dev、etc、home、install、lib、mnt、proc、root、tmp、user、var(不同版本,目录会略有不同)

▪/bin目录该目录中存放许多基本的系统程序。

▪/dev目录该目录中存放的文件是设备驱动程序,用来访问系统设备和资源,如磁盘设备、调制解调器、内存等

3、实验目的和要求

▪登录Linux和熟悉GNOME

•通过登录Linux操作理解以下内容

▪Linux登录ID的要求

▪在GNOME环境下登录进入Linux系统

▪修改口令

▪正确退出或者注销Linux系统

•通过以下操作熟悉GNOME界面

▪回顾GNOME面板图标和菜单

▪管理GNOME视窗

▪使用LinuxShell

•了解用户Linux环境所使用的Shell

•更改用户系统的Shell

•初步了解bash

▪熟悉Linux的文件和目录

•掌握Linux文件名通配符的使用

•了解Linux系统目录的特点

▪了解Linux文件系统

•Linux文件系统根目录的子目录

•/bin目录中的文件

•/dev目录中的文件

4、实验环境

▪需要做以下准备

•由指导老师分配的Linux登录用户ID(如user2)和口令

•一台运行RedHatLinux操作系统并带有GNOME的计算机

5、实验内容与步骤

▪登录规则和口令规则

▪登录Linux

▪熟悉GNOME

▪Linux系统中的Shell

▪Linux系统中文件与目录

▪Linux的文件系统

▪注销GNOME

6、进阶

▪Linux的常用命令(可选练习)

•有关目录的命令:

pwd、cd

•有关文件的命令:

ls、cat、chown、cp、date、dd、file、find

•其他的命令:

kill、clear、mount、umount、reboot、passwd、su

二、实验第02讲Windows进程管理与管理Linux系统进程及Linux重定向和管道

1、实验1Windows任务管理器的进程管理(必做)

1、实验学时与难度

▪实验估计时间:

30分钟,难度系数:

3。

2、背景知识简介

▪Windows2000的任务管理器提供了用户计算机上正在运行的程序和进程的相关信息,也显示了最常用的度量进程性能的单位

▪使用任务管理器

•可以打开监视计算机性能的关键指示器,快速查看正在运行的程序的状态,或者终止已停止响应的程序

•也可以使用多个参数评估正在运行的进程的活动,以及查看CPU和内存使用情况的图形和数据

▪任务管理器中

•“应用程序”选项卡:

显示正在运行程序的状态,用户能够结束、切换或者启动程序

•“进程”选项卡:

显示正在运行的进程信息。

例如,可以显示关于CPU和内存使用情况、页面错误、句柄计数以及许多其他参数的信息

•“性能”选项卡:

显示计算机动态性能,包括CPU和内存使用情况的图表,正在运行的句柄、线程和进程的总数,物理、核心和认可的内存总数(KB)等

3、实验目的和要求

▪通过在Windows任务管理器中对程序进程进行响应的管理操作

▪熟悉操作系统进程管理的概念

▪学习观察操作系统运行的动态性能

4、实验环境

▪需要准备一台运行Windows2000Professional操作系统的计算机

5、实验内容与步骤

▪使用任务管理器终止进程

▪显示其他进程记数器

▪更改正在运行的程序的优先级

6、实验提示

▪注意实验中所使用的是操作系统的哪个版本

▪了解在当前机器中正在运行的应用程序

▪在WindowsXP的任务管理器中,“进程”选项卡增加了一个“用户名”栏目,其中区分了SYSTEM、NETWORKSERVICE、LOCALSERVICE和用户的不同进程类别

▪终止进程时要小心,有可能导致不希望发生的结果,包括数据丢失和系统不稳定等;终止进程将结束它直接或间接创建的所有子进程

2、实验2Windows2000进程编程(必做)

1、实验学时与难度

▪实验估计时间:

60分钟,难度系数:

4。

2、背景知识简介

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

▪控制台应用程序可以创建GUI;GUI应用程序可以作为服务来运行;服务也可以向标准的输出流写入数据——不同类型应用程序间的惟一重要区别是其启动方法

▪Windows2000是以NT的技术构建的,它提供了创建控制台应用程序的能力,使用户可以利用标准的C++工具,如iostream库中的cout和cin对象,来创建小型应用程序。

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

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

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

其本身负责使应用程序的行为像一个服务。

通常,服务登录到特殊的LocalSystem账号下,此账号具有与开发人员创建的服务不同的权限

▪当令C++编译器创建可执行程序时,编译器将源代码编译成OBJ文件,然后将其与标准库相链接。

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

装载器指令告诉系统从哪里装载机器代码。

另一个装载器指令告诉系统从哪里开始执行进程的主线程。

在进行某些设置后,进入开发者提供的main()、ServiceMain()或WinMain()函数的低级入口点。

机器代码中包括有控制逻辑,它所做的事包括跳转到WindowsAPI函数,进行计算或向磁盘写入数据等

▪Windows允许开发人员将大型应用程序分为较小的、互相有关系的服务模块,即动态链接库(DLL)代码块,在其中包含应用程序所使用的机器代码和应用程序的数据

3、实验目的和要求

▪通过对Windows2000进程编程

•进一步熟悉操作系统的基本概念

•进一步熟悉进程的概念

•进一步理解Windows2000进程的编程

•较好地理解Windows2000进程的结构

4、实验环境

▪需要做以下准备

•一台运行Windows2000Professional操作系统的计算机

•计算机中需安装VisualC++6.0专业版或企业版

5、实验内容与步骤

▪参照计算机的任务管理器中的进程栏所列出的内容,列出当前系统所有运行进程及其相关信息(具体内容见源程序)

6、源程序

//proclist项目

#include

#include

#include

//当在用户模式机内核模式下都提供所耗时间时,在内核模式下进行所耗时间的64位计算的帮助方法

DWORDGetKernelModePercentage(constFILETIME&ftKernel,

constFILETIME&ftUser)

{

//将FILETIME结构转化为64位整数

ULONGLONGqwKernel=(((ULONGLONG)ftKernel.dwHighDateTime)

<<32)+ftKernel.dwLowDateTime;

ULONGLONGqwUser=(((ULONGLONG)ftUser.dwHighDateTime)

<<32)+ftUser.dwLowDateTime;

//将消耗时间相加,然后计算消耗在内核模式下的时间百分比

ULONGLONGqwTotal=qwKernel+qwUser;

DWORDdwPct=(DWORD)(((ULONGLONG)100*qwKernel)/qwTotal);

return(dwPct);

}

//以下是将当前运行过程名和消耗在内核模式下的时间百分数都显示出来的应用程序

voidmain()

{

//对当前系统中运行的过程拍取“快照”

HANDLEhSnapshot=:

:

CreateToolhelp32Snapshot(

TH32CS_SNAPPROCESS,//提取当前过程

0);//如果是当前过程,就将其忽略

//初始化过程入口

PROCESSENTRY32pe;

:

:

ZeroMemory(&pe,sizeof(pe));

pe.dwSize=sizeof(pe);

BOOLbMore=:

:

Process32First(hSnapshot,&pe);

while(bMore)

{

//打开用于读取的过程

HANDLEhProcess=:

:

OpenProcess(

PROCESS_QUERY_INFORMATION,//指明要得到信息

FALSE,//不必继承这一句柄

pe.th32ProcessID);//要打开的进程

if(hProcess!

=NULL)

{

//找出进程的时间

FILETIMEftCreation,ftKernelMode,ftUserMode,ftExit;

:

:

GetProcessTimes(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2