第一篇:实验一 Windows 2000XP操作系统教案
实验一Windows 2000XP操作系统
数计学院教师实验教案
课程名称:操作系统
任课专业班级:计算机应用技术 实验学时: 2学时
一、实验项目名称:
Windows 2000/XP操作系统(第1个实验)
二、实验目的和要求:
目的:对日常使用的Windows 2000/XP系统进行较深入的了解。要求:了解Windows 2000/XP操作系统的体系结构;了解Windows 2000/XP操作系统的主要管理功能。
三、实验内容
1、了解所用系统的常规属性,计算机名及所在工作组
2、使用Windows 2000/XP任务管理器,对应用程序、进程、性能、联网等方面进行查看和管理。
3、使用Windows 2000/XP系统性能监视器,跟踪内存、硬盘、CPU、缓存、文件系统、网络等方面的性能。
四、实验原理:
Windows 2000/XP采用基于对象的技术来设计系统,提出了客户/服务器系统结构,该结构在纯内核结构的基础上做了一些扩展,它融合了层次式结构和纯微内核结构的特点。对操作系统影响很大的组件放在内核下运行,而其他一些功能则在内核外实现。
五、实验步骤:
1、查看系统的常规属性
①、选择我的电脑单击鼠标右键,选择“属性”打开“系统属性”对话框;
实验一Windows 2000XP操作系统
②、选择“常规”选项卡,查看系统常规属性;
③、选择“计算机名”选项卡查看计算机名及所在工作组。
2、使用Windows 2000/XP任务管理器,对应用程序、进程、性能、联网等方面进行查看和管理。①、用“Ctrl”+“A1t”+“Delete”(或 “Ctrl”+“Shift”+“Esc”)组合键打开任务管理器。观察任务管理器下方的状态栏,察看当前运行的进程总数、CPU的占有率以及提交更改的信息。
②、选择“应用程序”选项卡,观察当前正在运行的应用程序以及它们的状态。在“应用程序”选项卡中可以看到当前用户正在前台运行的应用程序,以及这些应用程序的状态,其状态一般为“正在运行”或“无反应”。通过“结束任务”按钮可以结束一个正在运行的应用程序,所以若某个应用程序在运行时出现“无反应”,可用此方法强行关闭该应用程序。“切换至”按钮可转向被选中的应用程序,而“新任务”按钮则可以打开一个新的程序。
③、选择“进程”选项卡,观察用户进程和系统进程以及它们所属的用户、CPU的占用率、内存的使用情况等。值得注意的是,在该选项卡右下角有一个“结束进程”按钮,可以结束被选中的进程,但一些系统的关键进程是不可以结束的。实际应用中,可以发现并关闭一些恶意的程序(如病毒等),它们大量地占有CPU和内存,影响机器正常运行。
实验一Windows 2000XP操作系统
④、选择“性能”选项卡,观察系统资源的占用情况。“性能”选项卡上部图形表示CPU和页面文件的使用状况,下面部分有句柄、进程和线程的总数,物理内存、核心内存的使用情况,以及认可用量等信息。从这些数据可以清楚地看出系统资源的当前使用情况和历史记录,从而可以更好地管理系统。
实验一Windows 2000XP操作系统
3、使用Windows 2000/XP系统性能监视器,跟踪内存、硬盘、CPU、缓存、文件系统、网络等方面的性能。
①、在Windows XP 的“控制面板”中双击“管理工具”,再双击“性能”快捷方式,打开系统性能监视器窗口。在这个窗口中,红线表示当前时刻,绿线表示CPU的性能变化,蓝线反映物理硬盘的运行情况,黄线反映内存运行情况。单击窗口右下方的选项,查看所选项目的详细运行情况,包括最后(当前)、最大、最小、平均值的详细情况。
②、选择工具栏上的“添加(Ctrl+I)”按钮,弹出 “添加计数器”窗口。在该窗口的“性能对象”中选择“Processor”,“从列表选择计数器”中选中“Interrupt Time”选项,单击“添加”按钮,从系统监视器中可以看出最下面多了一个监视的任务。
③、在系统性能监视器中,打开“添加计数器”窗口,在“添加计数器”窗口的“性能对象”中选择“Memory”,在“从列表选择计数器”中分别选中“pages
实验一Windows 2000XP操作系统
input/sec”、“pages 0utput/sec”和“page Faults/sec”选项,单击“添加”按钮,从系统监视器中可以看出最下面多了3个监视内存的任务。
六、参考文献:
1、《操作系统教程》,第3版,孙钟秀主编,高等教育出版社。
2、《计算机操作系统教程习题解答与实验指导书》,第2版,张尧学编著,清华大学出版社。
3、《操作系统实验与课程设计》,庞丽萍编,华中科技大学出版社。
第二篇:网络操作系统实验教案
网络操作系统实验指导书
2006.3
网络操作系统实验教案
孙梅
一、实验名称: 实验
一、网络操作系统的安装(2学时)
二、仪器、设备: 计算机、网络互联设备路由器或交换机
三、参考资料:《计算机网络操作系统——Windows Server 2003管理与配置》张浩军编著,中国水利水电出版社。
四、实验目的
1、通过对Windows Server 2003、Windows Server 2003 workstation安装的实际操作,了解网络操作系统应用环境建立的初步过程,在对Windows Server 2003、Windows Server 2003 workstation系列产品具体认识的基础上,明确域、主域服务器、额外域服务器、独立服务器、工作组等概念,对组网和规划建立初步的认识。
2、了解网络系统的文件系统FAT16、FAT32、NTFS等概念。
五、实验重点、难点
重点:域控制器的安装
六、实验内容
(1)进行安装前的硬、软件准备,制作资源调查表,规划网络拓扑图(2)安装Windows Server 2003操作系统、主域控制器、额外域控制器
(3)安装Windows Server 2003 workstation,将不同子网的客户机添加到域
七、实验原理
(1)根据实验室具体情况作安装前准备,制作资源调查表、根据实验室的具体情况规划网络拓扑图。
(2)了解安装命令参数及应用场合。
(3)了解网络系统的文件系统FAT16、FAT32、NTFS等概念。(4)选择系统分区、引导分区和合适的文件系统。
(5)按步骤实际安装Windows Server 2003主域控制器、额外域控制器和Windows Server 2003 workstation,将不同子网的客户机添加到域。
(6)若有异常情况,参照常见故障表进行分析并寻求解决方案。
八、注意事项
网络互联设备的工作状态。
一、实验名称: 实验
二、网络操作系统中的用户、组和域的管理(4学时)
二、仪器、设备:在互连网络机房上机,并具有Windows Server 2003 环境
三、参考资料:《计算机网络操作系统——Windows Server 2003管理与配置》张浩军编著,中国水利水电出版社。
四、实验目的
通过对Windows Server 2003 环境下对用户、组和域实施管理的各种实际操作,了解网络操作系统资源管理的基本概念,认识创建组和域的目的、作用以及用户、组、域互相间的关系。进一步,通过对用户、组权限设置、建立域间委托关系的实验,透彻地理解用户及组权限与用户真正拥有的网络资源访问权限之间的关系,培养对网络资源整体规划及具体实施的能力。
五、实验重点、难点
重点:用户、组权限设置
六、实验内容
(1)使用系统管理员身份登录Windows Server2003操作系统。(2)进行增加、删除、编辑用户帐号和用户组的操作。
(3)设置用户组和用户的不同访问权限,注销后重新用新增的用户进行登录访问网络资源。
(4)在网络范围内建立Windows Server2003域之间的信任关系,并进行登录。
七、实验原理
1、域用户管理器和用户管理器 域用户管理器具有以下功能: 创建、修改、删除域中的用户帐户 管理域中的组和组中帐户间的成员关系 管理域的安全策略
2、用户帐户的创建与管理
3、创建新用户帐户
4、复制用户帐户
5、删除用户帐户
6、创建新的全局组
7、创建新的本地组 要求:
a)创建一个名为Domain TestGroup的全局组,加入上一节新建的一些测试帐户。b)创建一个名为Local TestGroup的本地域,加入Domain TestGroup全局组及其他一些用户。
c)删除局部组和全局组,注意构成组的帐户操作前后是否变化。
8、设置用户权限
要求: 为本地组Local TestGroup授予在本机登录的权限。
9、建立双向信任关系
设置两个域“wlgc1”和“wlgcX”,要求使域“wlgc”的用户可以访问域“wlgcX”的资源,域“wlgcX”的用户可以访问域“wlgc1”的资源。
10、撤销信任关系
八、注意事项
网络互联设备的工作状态。
一、实验名称: 实验
三、基于TCP/IP的网络服务配置(3学时)
二、仪器、设备:在互连网络机房上机,并具有Windows Server 2003 环境
三、参考资料:《计算机网络操作系统——Windows Server 2003管理与配置》张浩军编著,中国水利水电出版社。
四、实验目的
通过对TCP/IP协议的安装和参数配置的实际操作,掌握利用TCP/IP协议建立LAN和WAN及其网间的互联和路由。通过对基于TCP/IP协议的各种网络服务的创建和配置了解DNS服务器、DHCP服务器、www.xiexiebang.compter ……… Staff Aaron Ann Baker ……… ……… ……… ……… Maggie ……… Grade Document Course
假设:上述结构是某系文件服务器的一部分。
目录Users下为所有注册用户的对应主目录,由管理员建立。
用户对自己对应的主目录有完全控制权限,可创建子文件夹、文件、改变属性、赋予别的用户相应的存取权限;对其他用户的主目录没有存取权限(除非其他用户愿意赋予一定的权限)。
Message目录存放本系学生与教工的信息,教工信息存于Staff目录中,学生以班级为单位组织,图中仅显示计算机班对应目录Compter,这些文件夹由系统管理员建立。 Compter目录中的文件Document包括学生的固定信息,如年龄、性别、身份证号等,由系档案管理员创建和维护,系领导小组成员及该班班主任有读的权限。
Compter目录中的Grade为学生成绩文件,由系教学秘书创建和维护,所有学生有读的权限,教师有读和写的权限。
Staff目录中的文件Document包括教师的固定信息,如年龄、性别、身份证号等,由系档案管理员创建和维护,所有教工有读的权限。
Staff目录中的Course为教师—课程列表,由系教学秘书创建和维护,所有教师和学生有读的权限。
生成共享文件夹
1.2.3.4.5.1.2.3.4.选择开始 → 程序 → 资源管理器,打开资源管理器。
单击D:盘符前的加号或双击D:盘符,展开D盘目录树。
右键单击message目录,选择共享,打开“message属性”对话框。选择共享选项卡,选中“共享为”单选项,使用缺省共享名,用户个数设定为“无限制”。单击“确定”,返回资源管理器,message目录图标下方多了表示共享的手形标志。
设置共享文件夹权限
右键单击message目录,选择共享,打开“message 属性”对话框。单击“权限”按钮,打开“通过共享访问的权限”对话框。单击“添加”按钮,打开“添加用户及组”对话框。
在名称列表中列出了所有本地组和全局组,单击“显示用户”可在名称表中列出所有用户。在名称列表中选中要授予共享权限的组或用户,单击“添加”按钮,则被添加的组或用户列于添加名称列表中,并具有选定的访问类型。重复此过程,可赋予多个组或用户共享访问权限。5.单击“确定”,返回共享权限设置窗口,名称列表中列出了所有对该目录拥有共享访问权限的组和用户。6.单击“确定”,返回目录属性对话框。7.单击“确定”,返回资源管理器。
为共享区设定别名
一个共享区可设置一个或多个别名,以满足不同用户的使用习惯。
1.右键单击共享目录,选择共享,打开“message属性”对话框。与生成共享区时相比,多了一个“新共享”按钮。
2.单击“新共享”按钮,打开如图新共享对话框。输入共享区别名,如果需要针对该共享区别名设置权限,单击“权限”按钮。3.单击“确定”,加入新共享名,单击“确定”返回资源管理器。
设置目录权限
1.选择开始 → 程序 → 资源管理器,打开资源管理器。
2.单击D:盘符前的加号或双击D:盘符,展开D盘目录树。
3.右键单击要设置权限的目录,选择属性,打开目录属性对话框。4.安全性选项卡。
5.单击“权限”按钮,打开目录权限设置对话框。初始,Everyone组有完全控制的权限。6.选中Everyone组,单击“删除”按钮,取消Everyone组的控制权限。单击“添加”按钮,打开“添加用户及组”对话框,在名称列表中选中要授予共享权限的组或用户,单击“添加”按钮,则被添加的组或用户列于添加名称列表中,并具有选定的访问类型。重复此过程,可赋予多个组或用户共享访问权限。7.单击“确定”,返回目录权限设置窗口,名称列表中列出了所有对该目录拥有访问权限的组和用户。8.单击“确定”,返回目录属性对话框。9.单击“确定”,返回资源管理器。
设置文件权限
设置文件权限与设置目录权限的过程基本相同。但文件的访问类型与目录的访问类型有些不同。
1.在资源管理器中,右键单击要设置权限的文件,选择“属性”菜单项,打开文件属性对话框。
2.选择“安全性”选项卡,单击“权限”按钮,打开文件的权限对话框,由图中可知,文件的访问权限继承了包含该文件的目录的访问权限。单击“添加”,打开添加用户和组对话框,根据需要授予相关用户和组不同的访问权限后,单击“确定”返回文件的权限对话框。3.单击“确定”,返回文件属性对话框。4.单击“确定”,返回资源管理器。
创建镜像集
1.选择开始 → 程序 → 管理工具(公用)→ 磁盘管理器,打开磁盘管理器。
2.单击要建立镜象的分区,然后,按下Ctrl的同时单击位于另一硬盘上的一个可用分区,该区域不能小于要镜象的分区大小。
3.选择容错→ 创建镜象,开始数据传送,建立镜象盘。经过一段时间,完成操作,返回磁盘管理器主菜单,新建的镜象分区与原分区具有相同的颜色标志条和驱动器号。
断开镜像集
1.选择开始 → 程序 → 管理工具(公用)→ 磁盘管理器,打开磁盘管理器。
2.单击镜象集中的任一磁盘,即可选中镜象集,选择容错→ 中断镜象,出现确认框。3.单击“是”,出现确认框要求再次确认。4.单击“是”,关闭磁盘管理器,重启计算机后,即解除了镜象关系。
带区集 创建带区集
1.选择开始 → 程序 → 管理工具(公用)→ 磁盘管理器,打开磁盘管理器。
2.单击一个可用空间区域,按下Ctrl的同时单击位于不同硬盘上的可用分区,以同时选择至少2个的可用空间区域。
3.选择磁盘分区 → 创建带区集,出现创建带区集对话框。
4.显示带区集允许的最大容量和最小容量,输入要创建的带区集容量,单击“确定”创建带区集,并返回磁盘管理器主菜单,新建的带区集盘符G和容量值用灰色显示。5.选择磁盘分区 → 立即更改,出现确认窗口。6.单击“是”,出现紧急修复配置信息提示窗口,单击“确定”,返回主界面,且新建的带区集盘符G和容量值改为黑色显示。7.单击新建带区集,选择工具 → 格式化,打开格式化对话框,选择文件系统后,单击“开始”按钮。格式化完成后,单击“关闭”按钮,返回磁盘管理器。
删除带区集
1.打开磁盘管理器后,单击要删除的带区集。2.选择磁盘分区 → 删除,出现确认窗口。3.单击“是”返回磁盘管理器,完成删除操作。
提示:创建带校验带区集与带区集的创建过程基本相似,但至少需要三个物理硬盘,同一物理硬盘上不能选择多于一个的可用区域。
卷集
创建卷集
1.选择开始 → 程序 → 管理工具(公用)→ 磁盘管理器,打开磁盘管理器。
2.单击一个可用空间区域,按下Ctrl的同时单击位于不同硬盘上的可用分区,以同时选择一个或多个可用空间区域。
3.选择磁盘分区 → 创建卷集,出现创建卷集对话框。4.输入卷集容量,单击“确定”,返回主界面。新建的卷集盘符和容量值用灰色显示。5.选择磁盘分区 → 立即更改,出现确认窗口,单击“是”,出现紧急修复配置信息提示窗口,单击“确定”,返回主界面,且新建的卷集盘符和容量值改为黑色显示。
6.单击新建卷集,选择工具 → 格式化,打开格式化对话框,单击“开始”按钮。格式化完成后,单击“关闭”按钮,返回磁盘管理器。
扩展卷集
1.打开磁盘管理器后,单击要扩展的一个NTFS分区或卷集。
2.按下Ctrl的同时单击可用分区,可同时选择一个或多个可用空间区域。这些可用空间区域可分布于同一硬盘或不同硬盘上。
3.选择磁盘分区 → 扩展卷集,显示对话框。4.输入卷集容量,单击“确定”进行扩展操作。
5.卷集扩展后,不必再做格式化操作,重启计算机后,扩展部分即可生效。
删除卷集
1.打开磁盘管理器后,单击要删除的卷集。2.选择磁盘分区 → 删除,出现确认窗口。3.单击“是”返回磁盘管理器,完成删除操作。
使用性能监视器 使用网络监视器
安装、启用网络监视器
网络监视器实际上是由网络监视器工具和网络监视器代理两部分组成,要启用网络监视器,必须首先安装网络监视器工具和网络监视器代理服务。1.选择开始 → 设置 → 控制面板。
2.双击网络图标,打开网络对话框,单击服务选项卡。
3.单击“添加”按钮,打开“选定网络服务”对话框,选中安装的网络服务“网络监视工具和代理”,单击“确定”,开始安装。4.安装完成后,显示提示窗口,单击“是”,重启计算机后,打开开始 → 程序 → 管理工具(公用),网络监视器已被包含在内,鼠标单击即可启动网络监视器。
捕获网络数据包
打开网络监视器后,只有启动捕获,才能接收、统计网络传输的数据包,采集的数据可存于内存或文件中。如果保存于捕获文件中,以后可打开进行分析。启、停捕获过程
在网络监视器中,要启动捕获操作有三种方式:(1)选择捕获 → 开始(2)按下F10键
(3)单击工具栏上的开始捕获图标(朝右的箭头)
捕获过程一旦启动,将继续直到手动停止为止。停止捕获过程有三种方式:(1)选择捕获 → 停止(2)按下F11键
(3)单击工具栏上的停止捕获图标(小方块)
通过设置捕获过滤程序,可以有选择地捕获所需的数据包,过滤条件有:
只捕获(或不捕获)使用特定协议的数据包
只捕获(或不捕获)发往或送出特定计算机或网络设备的数据包 只捕获包含特定字节格式的数据包 以上条件的组合
设置捕获过滤程序
1.在网络监视器中,选择捕获 → 过滤程序,打开“捕获过滤程序”对话框。
2.要设置按协议捕获数据包,双击图中第一项SAP/ETYPE=Any SAP or Any ETYPE,或选中该项,单击“线”按钮。打开“捕获过滤程序SAP和ETYPE”对话框。在启用的协议列表中,选择要禁用协议,单击“禁用”按钮后,这些协议插入被禁止的协议列表中。反之,“启用”按钮把被禁止的协议列表中选中的协议插入到启用的协议列表中。单击“确定”关闭窗口。
3.要设置按与数据包有关的计算机名或网络地址捕获数据包,双击图中第二项Address Pairs,或选中该项,单击“地址”按钮,打开“地址表达式”对话框。设置时,首先选择窗口上部单选项“包含”和“排除”,在机器
1、机器2列表中分别选中一个计算机名或网络地址,在方向列表中选择数据包传送方向,单击“确定”关闭该窗口。
4.要设置按数据包中包含特定字节格式捕获数据包,双击图中第三项Pattern Matches,或选中该项,单击“模式”按钮,打开“模式匹配”对话框。设置偏移值和图案后,单击“确定”关闭该窗口。5.返回后,单击“确定”完成过滤条件的配置,网络监视器将按配置的过滤条件捕获网络数据包。
保存捕获数据
1.在网络监视器中,停止捕获过程。
2.选择文件 → 另存为,在打开的对话框中,输入捕获文件名及存放路径。3.单击“确定”按钮,完成操作。
使用任务监视器
任务管理器可以方便地监督和控制目前正在执行的程序和进程。主要具有如下功能: 列表显示正在运行的程序和进程 允许终止任何正在运行的程序和进程 监视CPU和内存的使用情况 允许调整运行进程的优先级 启动程序进入运行状态
启用任务管理器
任务管理器不在管理工具(公用)菜单中,要启用任务管理器,同时按下Ctrl-Alt-Del,弹出任务对话框,选择任务管理器,出现任务管理器窗口。
八、注意事项
掌握共享许可和文件许可的设置操作,理解二者关系和相互作用。磁盘管理(包括镜像磁盘、磁盘带区集和卷集)、磁盘实用程序(错误检查、磁盘碎片整理等)的使用。
远程计算机进程调度。计算机任务的管理及计算机系统资源的使用监视。
结合实验二,分析用户权限、组权限、共享许可权限、文件许可权限与用户最终的资源访问权限之间的关系。
比较磁盘镜像、带区集、卷集之间的区别。分析进程调度计划的参数。监视工具的作用。
一、实验名称: 实验
五、异种网络操作系统之间的资源共享
二、仪器、设备:在互连网络机房上机,并具有Windows Server 2003 环境
三、参考资料:《计算机网络操作系统——Windows Server 2003管理与配置》张浩军编著,中国水利水电出版社。
四、实验目的
在各种网络操作系统之间进行资源的共享。建立linux与Windows之间的文件共享。
五、实验重点、难点
重点linux中各种网络服务器的架设
六、实验内容
(1)架设DHCP服务器(2)架设DNS服务器(3)架设FTP服务器
七、实验原理 1.dhcp服务器的配置
在Red Hat Linux 9中,DHCP服务器的配置文件是: /etc/dhcpd.conf,但Red Hat Linux9安装后的默认情况下,此 文件是不存在的。用户必须手工建立该文件,系统有一个该文件的 模板,所在位置是:
/usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample,可以把这
个文件拷贝到“/etc”目录,并把文件名的后缀改成“.conf”。使用下 面的命令:
#cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample
/etc/dhcpd.conf /etc/dhcpd.conf通常包括三部分:parameters、declarations、option。 DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。 DHCP配置文件中的declarations(声明):用来描述网络布局、提供客户的IP地址等。
DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始。
下面我们通过一个具体的例子来说明怎么利用文本文件来配置DHCP服务器,首先利用Linux操作系统的文本编辑软件Vi,生成如下的文件:
[root@rh9 test]# vi /etc/dhcpd.conf <回车>
ddns-update-style interim;
ignore client-updates;
subnet 192.168.137.0 netmask 255.255.255.0 {
//subnet定义了网络的地址
option routers 192.168.137.1;//option routers定义了网关地址
option subnet-mask 255.255.255.0;//subnet-mask定义子网掩码
option broadcast-address 192.168.0.255;//broadcast-address定义广播地址
option domain-name-servers 202.96.199.133, 202.96.133.134;//DNS(域名服务)的地址
range dynamic-bootp 192.168.0.1 192.168.0.255;
//dynamic-bootp是给客户端分配的地址,定义的范围是192.168.0.1~192.168.0.255整个网、//段地址
default-lease-time 21600;
max-lease-time 43200;}
2.FTP服务器的配置
Redhat Linux 9中vsftpd的默认配置文件是/etc/vsftpd/vsftpd.conf。
修改vsftpd默认配置 关于匿名上传下载的实现
anonymous_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES write_enable=YES anon_umask=022 如果要开放匿名用户的浏览权限(即登陆后允许使用ls、dir等命令浏览目录内容),添加
anon_word_readable_only=NO 如果允许匿名用户对服务器上的文件或文件夹有更名或删除操作的权限,添加 anon_other_write_enable=YES 其次,在ftp用户家目录的下建一个文件夹,并修改其权限为完全开放;ftp用户的家目录在哪?我们可以通过/etc/passwd来查看;也可以通过finger 命令来查看: # finger ftp Login: ftp Name: FTP User Directory: /var/ftp Shell: /sbin/nologin 这说明ftp用户的家目录在/var/ftp,我们要在这个目录下建一个目录,然后把他的权限设置为任何用户可读可写可执行就行了;一般的情况下,在发行版中,有一个/var/ftp/pub的目录,如果没有,也可以自己建一个 # mkdir /var/ftp/pub # chmod 777 /var/ftp/pub
第三篇:操作系统实验
操作系统实验
实验一
Linux常用命令实验
一.目的和要求
本实验的目的是熟悉Linux操作系统的命令接口、图形接口和程序接口;了解Linux操作系统的启动过程;了解Linux操作系统的目录结构;用vi编辑器编写简单的C语言程序,并用gcc编译器编译、运行。
二.实验内容
1、实现开机、登录、退出与关机:
(1)如果以root用户登录,则命令窗口的提示符为#;如果以普通用户登录,则命令窗口的提示符为$;登陆用户名:user 密码:123456(2)修改口令(修改口令操作不做):成功进入系统后,在命令提示符后输入“passwd”并键入回车键
(3)退出帐号:命令方式下:logout(4)关机或重启:
命令方式下:halt或reboot 窗口方式下:“桌面”->“注销”
2、掌握的基本常用命令列表
(1)关于目录的操作命令:cd、ls、mkdir、rmdir、pwd等;
(2)关于文件的操作命令:cat、find、man/help、vi/vim、cp、rm、mv、dd、du、df、chmod、ln等;
(3)关于进程管理的操作命令:ps、kill、top、free 等;
(4)关于系统管理的操作命令:whoami、passwd、adduser/useradd、addgroup、userdel、groupdel、su、who、Ctrl+Alt+Fn(n=1、2、3、4、5、6)(在X-Window界面下切换到字符界面,重新登录,Ctrl+Alt+F7返回图形界面)、Alt+Fn(n=1、2、3、4、5、6)(在6个虚拟终端之间切换)等;
(5)安装和卸载文件系统:mount、umount等;
(6)显示有关计算机系统信息的命令:uname(显示操作系统的名称)、uname –n(显示系统域名)、uname –p(显示系统的CPU名称)
(7)其它命令:time、date、cal 等。
3、阅读/etc/inittab 文本文件,思考问题:如果要求启动Linux系统之后进入字符 1
操作系统实验
界面,应如何修改/etc/inittab文件?用户应具有什么权限?
4、切换到不同的虚拟终端,登录到Linux系统
5、vi 编辑器的使用(1)进入和退出vi(2)利用文本插入方式建立一个文件(3)在新建的文本文件上移动光标。
(4)对文本文件执行删除、复原、修改、替换操作。
6、熟悉gcc编译环境:编写一个C语言程序myfile1.c,求1~100中偶数的和,编译并运行。
(1)编译 gcc myfile1.c 运行./a.out(2)编译 gcc –o myfile1 myfile1.c
运行./myfile1
7、编写一个C语言程序myfile2.c,显示字符串“Hello, Linux!”,并将其反向输出。
8、熟悉Linux系统的目录结构,使用命令或者编写C语言程序报告Linux内核的行为。
报告以下内容: CPU类型和型号 内核版本
从系统最后一次启动以来经历了多长时间?形式为dd:hh:mm:ss 当前配置的内存数量 当前可用内存数量
自系统启动以来,发生的所有的中断的次数 从系统启动开始创建的进程数 内核执行的上下文转换的次数
三.实验提示
1、Linux安装
(1)安装前的准备工作 <1>.基本的硬件配置
由于安装涉及到各种硬件的设置,所以在安装前必须了解机器各种硬件的型号,硬盘的使用情况,内存的大小,鼠标的类型及接口,声卡,网卡,显卡,显示器的型号。
操作系统实验
<2>.有关网络的信息
IP地址,掩码,网关IP地址,域名服务器IP地址,域名,宿主机名。<3>.安装方式的选择
•从CD-ROM安装 •从FTP站点安装 •从NFS服务器安装 •从硬盘安装 硬盘分区
硬盘空间必须和计算机上安装的其他操作系统所使用的硬盘空间分开。特别要注意,如果硬盘空间很大,切忌不能将Linux装在8G以后。安装Red Hat Linux至少需要两个硬盘分区:一个或多个“Linux native”类型的分区,一个“Linux swap”类型的分区
分区命名设计Linux 通过字母和数字的组合来表示硬盘分区。
前两个字母-----分区名的前两个字母表明分区所在设备的类型。hd指IDE硬盘,sd指SCSI硬盘。
下一个字母-----分区在哪个设备。例如,/dev/hda(第一个IDE硬盘),/dev/sdb(第二个SCSI硬盘)。
数字-----代表分区。前四个分区(主分区或扩展分区)用数字1到4表示。逻辑分区从5开始。例如, 若IDE硬盘在安装Linux前安装了Windows系统并划分了C盘和逻辑分区D盘,那么D盘就是/dev/hda5, /dev/hda5表示第一个硬盘的第一个逻辑分区。
对于Linux初学者来说,为Linux分两个区(根分区和交换分区)是比较简单方便的。
一个交换分区:用来支持虚拟内存。一个根分区:根分区是/(根目录)的所在地,其中包含启动系统所需的文件和系统配置文件。这个分区要足够大。
一个/usr分区: /usr是Linux系统许多软件所在的地方。一个/home分区:这是用户的主目录所在地。(2)开始安装
注意点:我们一般选择的是图形化的安装方式。它的主要部分是相同的。
可能会在安装完成后第一次启动时才进行网卡的检测。
操作系统实验
在选择图形化界面时,有两种方式gnome和kde;它们各有优缺点。 系统会让你选择启动时是图形化方式,还是字符方式。请大家选择字符方式。
在选择防火墙的时候,在安装时请先不用防火墙。
图形化安装方式下,不能选择启动时的开启服务。可在系统安装完成后用setup命令进行修改。
2、进入Linux(1)登录
第一次登录系统,必须作为“root”登录。这个帐号对系统的一切都有完全的访问权限。
在login:提示符处输入root。按[Enter](或[Return]键).会出现Password提示。输入口令,应该看到类似以下的信息:
[root@localhost /root] #(2)退出
输入[Ctrl]-[D](3)帐号和口令 <1>.帐号
创建新的帐号有几种方法,最基本的方法:useradd命令.[root @ localhost / root] # useradd
Tom
[root @ localhost / root] # <2>.口令
passwd 命令可以用来: 为新创建的用户分配口令。 修改已存在的用户的口令。 修改登录的用户的口令。此时必须以root登录。如:
[root @ localhost / root]# passwd Tom
New UNIX password:
Retype new UNIX password:
passwd:all authentication tokens updated successfully 4
操作系统实验
[root @ localhost / root]#
用新帐户登录:
Red Hat Linux release 7.1(Manhattan)
Kernel 2.0.34 on an i586
login: Tom
Password:
[Tom@ localhost Tom] $ <3>.su 命令
用su,当前的登录段能变成root(或其他用户)的登录段。如:
[Tom@ localhost Tom] $ su
Password:
[root@ localhost Tom] # 也可以用su变成其他用户。这时,必须作为root运行su,给出用户名。<4>.关闭系统
关闭系统时,必须告诉所有的进程结束运行,使用shutdown命令。且只能由root 运行,格式是:
shutdown
-h-------在关闭完成后(Halt)停止系统。
-r--------在关闭完成后重启动(Reboot)系统。
3、vi 编辑器的使用(1)进入和退出vi <1>进入vi 在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。
<2>退出vi 在命令方式下可有几种方法退出vi编辑器:
:wq 把编辑缓冲区的内容写到正在编辑的文件中,退出编辑器,回到Linux shell下。
:ZZ 仅当作过修改时才将缓冲区内容写到文件上。
操作系统实验
:x 与 :ZZ 相同。
:q!强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的修改或输入都被抛弃。(2)新建文件
<1>在Linux提示符$之后,输入命令 :vi myfile,然后按〈Enter〉键。<2>输入插入命令i(屏幕上看不到字符i)。<3>然后,输入以下文本行: To the only book tht I, For mang year you have been my favourite book <4>发现这两行有错,进行改正: 按〈Esc〉键,从插入方式回到命令方式。按光标上移键,使光标移到第一行。
按光标左移键,使光标移到“tht”的第二个“t”处。
输入i(这是插入命令),然后输入a。该行变成如下形式: To the only book that I, 按光标右移键,使光标移到“I”上。
我们想在“I”之后输入一个空格和单词“like”。为此,输入附加命令“a”。结果屏幕显示为:
To the only book that a I,没有出现预期的效果......原来是:我们先前使用了插入命令i,至今并未用〈Esc〉键返回命令方式。所以,输入的所有字符都作为输入文本予以显示。<5>按〈Esc〉键,返回命令方式。
利用x命令删除错误字符。然后,进入插入方式,输入正确字符。<6>最后输入如下所示的文本: To the only book that I like, For many year you have been my favourite book I liveeyou all the time and could not have picked much better.<7>将编辑的文本文件存盘。(利用“:wq”命令,或者“:x”命令)<8>重新进入vi编辑程序,编辑上面的文件。(如:$ vi myfile)
操作系统实验
<9>在屏幕上见到myfile文件的内容。在屏幕底边一行显示出该文件的名称、行数和字符个数:“myfile”4 lines,130 characters 它仍然有错,需进一步修改。
<10>将光标移到第二行的year的r处。输入a命令,添加字符s。
<11>按〈Esc〉,回到命令方式。输入命令10〈Space〉,光标移至何处?---光标右移10个字符位置。
<12>利用取代命令r将liveeyou改为live you。
<13>将光标移至第三行。输入新行命令O(大写字母),屏幕上有什么变化?---光标移至上一行(新加空行)的开头。<14>输入新行的内容: We've been through much together 此时,vi处于哪种工作方式? <15>按〈Esc〉,回到命令方式。将光标移到第四行的live的v字母处。利用替换命令s将v改为k。
<16>在第四行的you之后添加单词very much。<17>修改后的文本是以下内容: To the only book that I like, For many years you have been my favourite book We've been through much together I like you very much all the the time and could not have picked much better.将该文件存盘,退出vi。
<18>重新编辑该文件。并将光标移到最后一行的have的v字母处,使用d$命令将v至行尾的字符都删除。
<19>现在想恢复17步的原状,怎么办?(使用复原命令u)
<20>使用dd命令删除第一行;将光标移至through的u字母处,使用C(大写字母)命令进行修改,随便输入一串字符。将光标移到下一行的开头,执行5x命令;然后执行重复命令(.)。
<21>屏幕内容乱了!现在想恢复17步的原状,怎么办?(不写盘,强行退出vi)
4、Linux内核
操作系统实验
Linux 内核源程序目录结构(/usr/src/redhat/SOURCES)如下: /document :保存帮助文档
/arch
:包含多个子目录,每个存放与特定体系结构相关的代码。如arch/i386(intel 386 体系结构),arch/sparc,arch/alpha等。每个子目录下至少又包含三个子目录:
kernel(存放支持该体系结构特有的诸如信号处理和SMP之类特征的实现);
lib(存放该体系结构特有的诸如Strlen和memcpy之类的高效率函数); mm(存放该体系结构特有的诸如内存管理程序的实现)
/drivers :该目录占内核代码一半以上,包括显卡、网卡、SCSI适配器、软驱、PCI设备和其他外设的软件驱动程序。/fs:包含linux支持的文件系统。
/include :包含源程序中大部分包含(.h)文件。/init: 包含main.c,保存大部分协调内核初始化的代码。/ipc:实现了SYSTEM V的进程间通讯IPC。
/kernel:包含了linux最重要的部分:实现平台独立的基本功能,包括Sched.c、fork.c、exit.c。
/lib :存放字符串和内存操作函数。
/mm:包含与体系结构无关的内存管理代码。/net:包含了linux应用的网络协议代码。/script :包含用来配置内核的脚本。
5、报告Linux状态(/proc 中的信息)
在终端窗口提示符下,可以使用cat命令显示相关文件的内容,如: cat /proc/cpuinfo 通过编写程序,显示相关文件内容:应用文件操作,将相关 /proc中的文件读入到缓冲区中,可用fgets()函数按行取文件中数据,通过strstr()检验包含所需数据字符串。如存在,用printf()函数输出。(1)CPU类型和型号
/proc/cpuinfo文件提供了有关CPU的多种信息,这些信息是从内核里对CPU的测试代码中得到的。文件列出了CPU个数:processor;CPU制造商:vendor_id;CPU架构:model;CPU名称:model name;CPU时钟频率:cpu MHz;CPU缓存大小: 8
操作系统实验
cache size;CPU包含的指令集:flags。文件还包含了以bogomips表示的处理机速度,而且如果检测到CPU的多种特性或bug,文件还会包含相应的标志。该文件的格式为:文件由多行构成,每行包括一个域名称、一个冒号和一个值。
通过fopen()函数打开包含CPU类型和型号的文件cpuinfo,把内容读入字符数组char_all,然后通过strstr()函数查找CPU类型和型号所在的位置,用strncpy()函数拷贝到字符数组中,通过printf()标准输出函数输出。(2)存储器信息
/proc/meminfo 文件给出了内存状态的信息。它显示出系统中物理内存的总量:MenTotal;未使用的物理内存的总量:MemFree;用做文件缓冲的物理内存的总量:buffers;用做缓冲的物理内存的总量:Cached;活跃的内存大小:Active;不活跃的内存大小:Inactive;交换分区的总量:SwapTotal;交换分区未使用的总量:SwapFree等信息。(3)内核版本
文件/proc/version显示了正在运行的内核版本、编译此内核的gcc版本以及该内核的编译时间。
(4)从系统最后一次启动以来的时间,形式为dd:hh:mm:ss uptime读出的时间是以秒计的,所以根据要求要转换为天:小时:分钟:秒。1天为86400秒,1小时为3600秒,1分钟为60秒。通过两个运算符就可以很好的转换:“/”做除法取整运算,“%”做除法取余运算。举例:86800秒,(86800/86400)=1(天),(86800%86400)=400(余400秒);400秒,(400/3600)=0小时,(400%3600)=400(余400秒);400秒,(400/60)=6分钟,(400%60)=40(余40秒)。所以最后结果为:1:0:6:40。(5)其他信息的读取 从/proc/stat中读取信息
CPU花费在用户态、系统态和空闲态的时间——cpu 自系统启动以来,发生的所有的中断的次数——intr 内核执行的上下文转换的次数----ctxt 系统最后启动的时间----btime 从系统启动开始创建的进程数----processes
6、Linux的目录结构
操作系统实验
对于Linux来讲它的树型结构与Windows不同,Windows可以有多个分区,每个分区都有根,但Linux 只有一个根,其他的所有文件、目录或硬盘分区、软盘、光盘、U 盘都必须mount(挂载)到Linux 根下的一个目录中才能被访问和使用。下面列出根目录下的常见系统目录及其用途。
/bin
bin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。
/boot
这里存放的是启动Linux时使用的一些核心文件。
/dev
dev是device(设备)的缩写。这个目录下是所有Linux的外部设备,其功能类似DOS下的.sys和Win下的.vxd。在Linux中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。
/etc
这个目录用来存放系统管理所需要的配置文件(例如配置文件inittab)和子目录。
/home
用户的主目录,比如说有个用户叫wang,那他的主目录就是/home/wang,也可以用~wang表示。
/lib
这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found
这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所,有点类似于DOS下的.chk文件。
/media
用来挂载光盘、U盘等文件系统的目录。/misc
用来挂载NFS 共享目录。
/mnt
用于挂载其他硬盘分区系统的目录(如挂载xp分区)。
/opt
某些第三方软件商软件的安装地点,如国产红旗office就存放于此。/proc
这个目录是一个虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。
/root
系统管理员(也叫超级用户)的主目录。作为系统的拥有者,总要有些特权,比如单独拥有一个目录。
/sbin
s就是Super User的意思,也就是说这里存放的是系统管理员使用的管理程序。
/tmp
这个目录是用来存放一些临时文件的地方。
/usr
这是最庞大的目录,要用到的应用程序和文件几乎都存放在这个目录 10
操作系统实验
下。其中包含以下子目录:
/usr/X11R6
存放X-Window的目录; /usr/bin
存放着许多应用程序;
/usr/sbin
给超级用户使用的一些管理程序就放在这里;
/usr/include
Linux下开发和编译应用程序需要的头文件,在这里查找; /usr/lib
存放一些常用的动态链接共享库和静态档案库;
/usr/local
这是提供给一般用户的/usr目录,在这里安装软件最适合; /usr/src
Linux开放的源代码就存在这个目录。
/var
这个目录中存放着那些不断在扩充着的东西,为了保持usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样做的。另外,系统的日志文件就在/var/log目录中。
我们一般日常能经常访问的目录有/home 目录、/mnt目录、/media 目录、/usr 目录。
第四篇:操作系统 实验一 进程调度
实验一
进程控制与处理机调度综合实验
一、实验目的
通过模拟进程控制方法及单处理机系统的进程调度,了解进程的结构,进程的创建与撤消,进程的组织及进程的状态及其转换,掌握进程调度策略。
二、实验环境
开发工具使用windows平台下的vc++6.0。
三、实验内容
本实验为单机模拟进程调度算法,在程序设计时不需真正地建立线程或者进程。实验模拟创建若干进程(人为输入或随机数产生),选择一种或几种单处理机的进程调度算法,如FCFS(先来先服务),SPF(短进程优先),RR(时间片轮转法),优先级算法等,模拟进行进程调度。每进行一次调度,都打印一次运行进程、就绪队列、以及各个进程的PCB,并能在进程完成后及时撤消该进程。
四、完成情况
1、进程及进程的运行状态
进程是现代计算机中的基本要素,是系统分配资源和调度的基本单位。进程与程序不同,进程是系统中动态的实体,有它的创建、运行和撤销的过程。PCB块是系统感知进程存在的唯一实体。进程的创建必须首先创建进程的PCB块,而进程的运行也伴随着PCB块的变化,进城撤销也要同时撤销它的PCB块。所以本实验的任务就是通过模拟调度进程的PCB块来调度进程。进程的PCB块包含以下四方面的内容: a)进程标示符 b)处理及状态信息 c)进程调度信息 d)进程控制信息
进程在运行中存在三种基本状态,分别是运行状态、就绪状态和阻塞状态。
2、进程调度
一个运行进程的时间片用完或发生阻塞时,系统就会选择一个就绪进程调度执行。进程的调度算法有很多如FCFS、SPF、优先级调度和时间片轮转方法。进程调度算法模拟试验就是通过调度进程的PCB块来模拟调度进程。在系统中PCB块就表现为一个结构体,PCB块之间的连接方式存在两种,一种是连接方式,一种是索引方式。本试验中可选择任意一种连接方式。
3、例程
设计一个有 N个进程共行的进程调度程序。进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)。
每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。
调度算法的流程图如下:
开始初始化进程PCB,输入进程信息各进程按优先数从高到低排列y就绪队列空?结束就绪队列首进程投入运行时间片到CPU占用时间+1运行已占用CPU时间已达到所需CPU时间y进程完成撤销该进程是运行进程的优先数减1把运行进程插入就绪队列 图1-1 流程图
源代码:#include “stdio.h” #include
int insert=0;if((ready==NULL)||((p->super)>(ready->super)))/*优先级最大者,插入队首 */ {
p->link=ready;ready=p;} else /* 进程比较优先级,插入适当的位置中*/ {
first=ready;second=first->link;
while(second!=NULL)
{
if((p->super)>(second->super))/*若插入进程比当前进程优先数
大,*/
{ /*插入到当前进程前面*/
p->link=second;
first->link=p;
second=NULL;
insert=1;}
else /* 插入进程优先数最低,则插入到队尾*/
{
first=first->link;second=second->link;
}
}
if(insert==0)
first->link=p;} } void input()/* 建立进程控制块函数*/ { int i,num;printf(“n请输入进程数量:”);scanf(“%d”,&num);for(i=0;i printf(“n 进程号No.%d:n”,i); p=getpch(PCB); printf(“n 输入进程名:”); scanf(“%s”,p->name); printf(“n 输入进程优先数:”); scanf(“%d”,&p->super); printf(“n 输入进程运行时间:”); scanf(“%d”,&p->ntime); printf(“n”); p->rtime=0;p->state='w'; p->link=NULL; sort();/* 调用sort函数*/ } } int space(){ int l=0;PCB* pr=ready;while(pr!=NULL){ l++; pr=pr->link;} return(l);} void show(){ printf(“nqnametstatetsupertndtimetruntimen”);} void disp(PCB * pr)/*建立进程显示函数,用于显示当前进程*/ { printf(“ %st”,pr->name);printf(“ %ct”,pr->state);printf(“ %dt”,pr->super);printf(“ %dt”,pr->ntime);printf(“ %dt”,pr->rtime);printf(“n”);} void check()/* 建立进程查看函数 */ { PCB* pr;printf(“n****当前正在运行的进程是:%s”,p->name);/*显示当前运行进程*/ show();disp(p);pr=ready;if(pr==NULL) printf(“n****当前就绪队列为空!”); else { printf(“n****当前就绪队列状态为:”);/*显示就绪队列状态*/ show(); while(pr!=NULL) { disp(pr); pr=pr->link; } } } void destroy()/*建立进程撤消函数(进程运行结束,撤消进程)*/ { printf(“n 进程[%s]已完成.n”,p->name);free(p);} void running()/* 建立进程就绪函数(进程运行时间到,置就绪状态*/ {(p->rtime)++;if(p->rtime==p->ntime)destroy();/* 调用destroy函数*/ else { (p->super)--; p->state='w'; sort();/*调用sort函数*/ } } void main()/*主函数*/ { int len,h=0;char ch;input();len=space();while((len!=0)&&(ready!=NULL)){ ch=getchar(); h++; printf(“n 当前运行次数为:%d n”,h); p=ready; ready=p->link; p->link=NULL; p->state='R'; check(); running(); printf(“n 按任一键继续......”); ch=getchar();} printf(“nn 进程已经完成.n”);ch=getchar();} 输入数据后运行结果如下图所示: 五、问题及解决办法 问题:当插入的进程优先级大于当前进程优先级的时候,插入的进程应该放在什么 位置? 方法:通过指针的指向变换,把插入的进程放置在当前进程前面。 六、实验心得 通过本次实验,了解了进程的结构,进程的创建、撤销,掌握了进程调度策略处理机调度的理解,我更加深刻的认识到调度进程的pcb块来调度进程的过程,以及按照优先权进行排序的算法实现。对操作系统有了进一步的认识,后面会更加努力学习,掌握这门学科。 void * my_malloc(unsigned int size){ // int i; // Linker *p=first; // for(i=size;i<=HEAP_SIZE&&p==NULL;i++) //p=p->next; // if(i>HEAP_SIZE)//空?间?不?足Á? //return NULL; // if(i==HEAP_SIZE){ ////p=(l.n+a)->first; //delete p;} // else // {//p=(l.n+i)->first; //int j; ////WORD *w; //int temp; //for(j=HEAP_SIZE;jtag=1;p->kval=a;return p; //return NULL; if(size>first->size) return NULL; else { static Linker* p=(struct Linker *)&heap[HEAP_SIZE-(first->size)];p->size=size; Linker* tem=first; while(tem!=NULL) tem=tem->next; tem=p; first->size=(first->size)-size; return tem; } } void my_free(void * addr){ Linker* p,*tem; p=first; while((Linker*)addr->size!=p->next->size) p=p->next; tem=p->next; p->next=tem->next; first->size=first->size+tem->size; delete tem; } l.insert(w,j);}第五篇:操作系统实验六