操作系统实验_实验5

合集下载

高一信息技术必修1实验题汇总

高一信息技术必修1实验题汇总

高一信息技术必修1实验题汇总
本文档汇总了高一信息技术必修1课程的实验题,旨在帮助学生复和巩固相关知识。

实验1:计算机系统基本原理实验
这个实验主要涉及计算机系统的基本原理,包括计算机硬件组成和工作原理等方面的知识。

学生需要完成一些关于计算机系统结构和功能的问题。

实验2:操作系统实验
这个实验要求学生实际操作计算机上的操作系统,熟悉操作系统的基本功能和操作方法。

学生需要完成一些关于操作系统命令和功能的实际操作。

实验3:网络技术实验
这个实验主要涉及网络技术的基本原理和应用,包括网络拓扑结构、协议等方面的知识。

学生需要完成一些关于网络配置和故障排除的实际操作。

实验4:数据库技术实验
这个实验要求学生实际操作数据库软件,熟悉数据库的基本操作和查询语言。

学生需要完成一些关于数据库设计和查询的实际操作。

实验5:多媒体技术实验
这个实验主要涉及多媒体技术的基本原理和应用,包括图像处理、音频处理等方面的知识。

学生需要完成一些关于多媒体文件的处理和编辑的实际操作。

实验6:信息安全实验
这个实验要求学生实际操作信息安全相关软件,熟悉信息安全技术的基本原理和应用。

学生需要完成一些关于信息加密和解密的实际操作。

以上是高一信息技术必修1课程的实验题汇总,希望能够帮助到大家复习和巩固相关知识。

祝学习顺利!。

windows操作系统实验报告

windows操作系统实验报告

windows操作系统实验报告Windows操作系统实验报告引言:在计算机科学领域,操作系统是一种控制和管理计算机硬件和软件资源的软件。

它是计算机系统中最基本的软件之一,负责协调和管理计算机的各种活动。

Windows操作系统是由微软公司开发的一种广泛使用的操作系统,它具有用户友好的界面和丰富的功能。

本实验报告将介绍Windows操作系统的基本特征、安装过程和常见问题解决方法。

一、Windows操作系统的基本特征1. 多任务处理:Windows操作系统能够同时运行多个程序,使得用户可以在同一时间内进行多个任务。

这种特征大大提高了计算机的效率和使用便捷性。

2. 图形用户界面:Windows操作系统采用了直观的图形用户界面,使得用户可以通过鼠标和键盘进行操作。

用户可以通过点击图标、拖拽文件等方式来执行各种任务,这种界面设计大大降低了用户的学习成本。

3. 文件管理系统:Windows操作系统提供了强大的文件管理系统,用户可以创建、复制、移动和删除文件和文件夹。

此外,用户还可以通过搜索功能快速找到需要的文件。

4. 网络功能:Windows操作系统支持网络连接,用户可以通过网络传输文件、共享资源和访问远程计算机。

这种功能使得用户可以方便地进行远程办公和文件共享。

二、Windows操作系统的安装过程Windows操作系统的安装过程相对简单,以下是一般的安装步骤:1. 准备安装介质:首先,需要准备Windows操作系统的安装光盘或USB安装盘。

确保安装介质是正版和可靠的。

2. BIOS设置:进入计算机的BIOS设置界面,将启动顺序设置为从光盘或USB 设备启动。

保存设置并重启计算机。

3. 安装过程:计算机重新启动后,按照屏幕上的提示选择语言、时区和键盘布局等选项。

然后,选择安装类型和磁盘分区方式。

最后,等待安装过程完成。

4. 配置系统:安装完成后,系统会要求设置用户名和密码等信息。

此外,还可以选择安装必要的驱动程序和常用软件。

操作系统 实验报告

操作系统 实验报告

操作系统实验报告操作系统是计算机硬件和应用软件之间的一个重要桥梁,它提供了对硬件资源的管理和调度,为应用程序提供了一个运行环境。

在操作系统的发展历史中,经历了批处理系统、分时系统、网络操作系统等不同的阶段和发展方向。

本次实验主要涉及操作系统的进程管理、文件系统以及内存管理。

首先是进程管理,进程是计算机中最基本的执行单元,负责处理用户的请求并执行相应的操作。

在实验中,我们使用了进程调度算法来调度不同的进程。

进程调度算法的选择会直接影响到系统的性能和响应时间。

最常见的进程调度算法有FCFS(先到先服务)、SJF(短作业优先)、RR(时间片轮转)等。

本次实验中,我们实现了一个简单的RR调度算法,按照时间片的顺序轮流使用CPU资源。

实验结果显示,RR调度算法能够有效地保证多个进程同时运行且公平地使用CPU。

其次是文件系统,文件系统是操作系统中管理文件和文件夹的机制。

在实验中,我们使用了文件管理的一些基本操作如创建文件、打开文件、写入文件和关闭文件等。

在文件的操作过程中,通过文件指针来记录当前的读写位置以便于下一次读写。

实验结果显示,文件管理功能能够很好地实现对文件的读写和管理。

最后是内存管理,内存是计算机中存储数据和程序的地方,对于操作系统来说管理和分配内存是一个非常重要的任务。

在实验中,我们主要学习了内存的分区管理和分页管理。

内存的分区管理将内存划分为若干个大小不等的区域,每个程序占用相应的内存空间。

而内存的分页管理则将程序划分为固定大小的页,同时也将内存划分为页框,通过页表来进行地址映射。

实验结果显示,分页管理可以有效地利用内存资源,提高系统的性能和可用性。

通过本次操作系统实验,我对操作系统的原理和实践有了更深入的理解。

在实验中,我了解了进程管理、文件系统和内存管理的基本概念和功能,并通过实验来掌握相关的操作和原理。

通过实验的过程,我深刻地认识到操作系统对计算机的重要性,以及良好的操作系统设计对系统性能的影响。

linux实验五 用户管理

linux实验五 用户管理

集美大学Linux系统管理课程实验报告课程名称:Linux系统管理班级:软件1115实验成绩:指导教师:范明红姓名:许云云实验项目名称:实验五:用户管理学号:2011813035上机实践日期:1.实验目的:1)熟悉Linux操作系统中的用户和组的概念。

2)掌握Linux操作系统中用户管理。

3)理解用户管理涉及的系统配置文件。

2.实验要点:1.认真阅读课本相关的内容,掌握相关指令的使用。

2. 理解系统管理中的用户管理的概念,掌握如何在Linux系统中管理用户和组。

3.实验准备:1 熟悉useradd(adduser)和userdel指令的使用2 熟悉groupadd和groupdel指令的使用3 熟悉passwd指令的使用4了解who、id、,finger,chfn,groups、whoami、newgrp指令的用法5 学习使用用户管理器管理用户4.实验内容:设置系统以字符界面方式启动:4.1用户管理1:使用useradd(adduser)指令添加名称为user1、user2、user3、user4的用户,分别为其设定密码。

2:使用userdel指令删除user4用户3.使用chfn指令添加用户的详细信息,并使用finger指令察看相关信息。

4.锁定user1用户,使其无法登陆。

(有2种方法)5.在其他终端使用用户user1、user2等登陆验证。

6.为user1解锁,使其能正常登陆。

方法一:使用usermod锁定:解锁:方法二:使用passwd锁定:解锁:4.2组管理。

1:使用groupadd指令添加user和group两个组2:使用groupdel指令删除group组3: 将用户user1、user2、user3添加到user组中。

4:指定user1为组管理员。

5.使用user1账户登陆,删除组内成员user3.6.更改user1账户的主组为user并验证。

4.3其他指令使用who、id、whoami、groups等指令1:使用who指令查看当前登陆系统的用户2:使用id指令查看当前用户的UID与GID3:使用whoami指令查看当前使用shell的用户名称4.4 打开用户管理配置文件/etc/passwd,/etc/shadow,/etc/group察看内容:查看/etc/passwd文件部分内容:查看/etc/ shadow文件部分内容:查看/etc/group文件部分内容:4.5 打开图形界面,使用用户管理器管理用户和组。

Windows操作系统实验

Windows操作系统实验

第2章Windows操作系统实验实验一Windows基本操作作业要求(1)将打开的窗口层叠,在各窗口中进行切换,并改变窗口的大小,这里要分清窗口右上角的三个按钮的作用。

注意:窗口在最小化时,程序仍在运行,单击“任务栏”窗口中的相关按钮,窗口即恢复。

(2)对菜单栏菜单、快捷菜单进行操作,注意菜单命令的各种不同形式。

(3)打开一个对话框,熟悉其中的各个操作元素。

实验二文件管理操作作业要求在Windows实验素材库建立了如图2-6所示的文件夹结构。

从相应网站下载该实验素材文件夹中的EXERCISE文件夹到D盘根目录下,完成以下操作:(1)在D盘根目录下建立如图2-7所示的文件夹结构。

(2)将EXERCISE文件夹下除TOOL以外的文件夹复制到STUDENT文件夹下。

(3)将STUDENT文件夹下的DOCUMENT文件夹下的文件移动到STUDENT1\WORD文件夹下。

(4)将ELSE文件夹重命名为WIN。

(5)删除VOICE和USER文件夹。

(6)恢复被删除的VOICE文件夹,彻底删除USER文件夹。

实验三运行程序和打开文档操作作业要求(1)选择“开始”菜单的“运行”命令运行计算器程序(Calc.exe)。

(2)选择“开始”菜单的“程序”命令运行画图程序。

(3)在“开始”菜单的“文档”中,找到一个近期使用过的文档,打开并编辑它。

(4)搜索“mspaint.exe”程序文件,并运行之。

实验四定制工作环境与计算机管理操作作业要求(1)在屏幕上找到“任务栏”窗口,将“任务栏”窗口隐藏或取消隐藏,并且改变“任务栏”窗口的大小。

(2)将自己喜爱的程序设置为屏幕保护程序。

(3)将自己喜爱的图片设置为桌面背景,并使图片平铺于桌面上。

(4)将桌面上的“我的电脑”图标拖动到任务栏的快速启动区。

(5)在桌面上创建“画图程序”的快捷方式。

实验五 Windows 2000综合练习作业要求从相应网站下载Windows实验素材文件夹中的EXERCISE文件夹到D盘根目录下,然后在EXERCISE文件夹下完成以下操作:(1)在USER文件夹下建立如下所示的文件夹结构。

操作系统4个实验

操作系统4个实验

实验三
• 软中断通信
• 编制一段程序,使用系统调用 fork()创建两个子进程, 再用系统调用 signal()让父进程捕捉键盘上来的中断信 号(即按 ctrl+c 键),当捕捉到中断信号后,父进程 用系统调用kill()向两个子进程发出信号,子进程捕捉 到信号后,分别输出下列信息后终止: child process1 is killed by parent! • child process2 is killed by parent!
如果在程序中使用系统调用lockf()来 给每一个进程加锁,可以实现进程 之间的互斥,观察并分析出现的现 象。
实验二
• 通过Linux提供的系统调用signal(),来说明如何执行 一个预先安排好的信号处理函数。signal()的返回值 是指向一个函数的指针,该函数的参数为一个整数。
• • பைடு நூலகம் • • • /*对 SIGINT 信号的处理程序*/ void ctrl_c(int signum) { (void) signal(SIGINT,ctrl_c); ++ctrl_c_count; //ctrl_c_count设置为全局变量 }
实验一
编写一段程序,利用系统调用 (如linux的fork( ))创建两个进程 (或在windows下多线程编程)。
当此程序运行时,在系统中有 一个父进程和两个子进程活动。
让每一个进程在屏幕上显示一个 字符:父进程显示字符“a”; 子进程分别显示字符“b”和字符 “c”。
(选做) 修改已经编号的程序(使用fork()创建 进程),将每个进程输出一个字符改 为每个进程用for循环重复输出一句 话,再观察程序执行时屏幕上出现 的现象,并分析原因。

《操作系统》课程实验内容和实验要求

《操作系统》课程实验内容和实验要求

实验内容和实验要求实验1:安装Linux系统(4学时)目的:1.学会在操作系统安装之前,根据硬件配置情况,制订安装计划。

2.学会在安装多操作系统前,利用硬盘分区工具(如PQMagic)为Linux准备分区。

3.学会Linux操作系统的安装步骤和简单配置方法。

4.学会Linux系统的启动、关闭步骤,初步熟悉Linux系统的用户界面。

内容:1.安装并使用硬盘分区工具(如PQMagic),为Linux准备好分区。

2.安装Linux系统(如红旗Linux桌面版)。

3.配置Linux系统运行环境。

4.正确地启动、关闭系统。

5.对图形界面进行一般操作。

要求:1.制订安装计划。

2.如果在机器上已安装了Windows系统,而且没有给Linux预备硬盘分区,则安装硬盘分区工具(如PQMagic),运行它,为Linux划分出一块“未分配”分区。

3.在光驱中放入Linux系统安装盘,启动系统。

按照屏幕提示,选择/输入相关参数,启动安装过程。

4.安装成功后,退出系统,取出安装盘。

重新开机,登录Linux系统。

5.对Linux系统进行配置,如显示设备、打印机等。

6.利用鼠标对图形界面进行操作。

说明:1.本实验应在教师的授权和指导下进行,不可擅自操作,否则可能造成原有系统被破坏。

2.如条件不允许每个学生亲自安装,可采用分组进行安装或课堂演示安装的方式。

实验2:Linux 应用及shell编程(4学时)目的:1.掌握Linux一般命令格式和常用命令。

2.学会使用vi编辑器建立、编辑文本文件。

3.了解shell的作用和主要分类。

4.学会bash脚本的建立和执行方式。

5.理解bash的基本语法。

6.学会编写简单的shell脚本。

内容:1.正确地登录和退出系统。

2.熟悉使用date,cal等常用命令。

3.进入和退出vi。

利用文本插入方式建立一个文件。

4.学会用gcc编译器编译C程序。

5.建立shell脚本并执行它。

6.学会使用shell变量和位置参数、环境变量。

操作系统实验

操作系统实验

实验一:系统调用目的:深入理解操作系统是虚拟机实验方法:利用UNIX/LINUX所提供的系统调用来编写C语言程序,程序中要体现出一些典型的系统调用(函数)。

任务:编写一个C语言程序,该程序将一个存放了一系列整数的文本文件进行排序,每个整数占据文件的一行,排序的结果存放到一个新的文件之中。

源文件和目标文件的文件名字由命令行输入。

例如:假设可执行文件的文件名是sort,源文件与目标文件的名字分别是data 和newdata,那么命令行的情形为如下所示内容:./sort data newdata1、命令行参数的传递。

根据C语言编程规范的要求,传递命令行参数通过main函数进行。

main函数的原型是:main(int argc, char **args),其中argc是一个整数,表示命令行中参数的个数,第二个参数是字符串指针数组,这个数组中的第0个元素存放可执行文件名称,其余为参数,用args[1], args[2]... ...访问。

以上述命令行为例,argc为3,args[0]为“./sort”,args[1]为“data”,args[2]为“newdata”2、系统调用的使用(1)打开文件系统调用open在读写一个文件之前,必须打开这个文件,打开文件的过程主要是将文件的控制结构(LINUX中是i节点)调入内存。

本实验中用如下语句打开文件:fd = open(args[1], O_RDONL Y);第一个参数是打开的文件名,第二个参数O_RDONL Y表示只读,O_WRONL Y表示只写,O_RDWR表示读写,O_CREAT表示创建文件。

open系统调用返回一个整数作为文件描述符,以后用这个文件描述符来访问文件,如果因为某种原因(文件不存在,不符合访问权限,存储空间不足等)致使文件无法打开,则open返回-1。

(2)文件信息读取系统调用read本实验使用如下语句读取文件信息read(fd, &ch, 1)fd是open返回的文件描述符,ch为字符变量,1表示从文件中读取一个字节。

操作系统实验5线程的创建与撤销

操作系统实验5线程的创建与撤销

《操作系统》实验报告实验序号:05 实验项目名称:线程的创建与撤销学号姓名专业、班实验地点指导教师李远敏实验时间一、实验目的及要求(1)(1)熟悉Windows系统提供的线程创建与撤销系统调用。

(2)掌握Windows系统环境下线程的创建与撤销方法。

二、实验设备(环境)及要求(1)一台WindowsXP操作系统的计算机。

(2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。

(3)能正确使用CreatThread()、ExitThread()及Sleep()等系统调用,进一步理解进程与线程理论。

三、实验内容与步骤内容:使用系统调用CreatThread()创建一个子线程,并在子线程序中显示:Thread is Runing!。

为了能让用户清楚地看到线程的运行情况,使用Sleep()使线程挂起5s,之后使用ExitThread(0)撤销线程。

本实验在WindowsXP、Microsoft Visual C++ 6.0环境下实现,利用Windows SDK(System Development Kit)提供的API(Application Program Interface,应用程序接口)完成程序的功能。

实验在WindowsXP环境下安装Microsoft Visual C++ 6.0后进行,由于Microsoft Visual C++ 6.0是一个集成开发环境,其中包含了Windows SDK所有工具和定义,所以安装了Microsoft Visual C++ 6.0后不用特意安装SDK。

实验中所有的API是操作系统提供的用来进行应用程序开发的系统功能接口。

步骤:(1)首先启动安装好的Microsoft Visual C++ 6.0。

(2)在Microsoft Visual C++ 6.0环境下选择File→New命令,然后在Project 选项卡中选择Win32 Console Application建立一个控制台工程文件。

操作系统实验指导书3rd

操作系统实验指导书3rd

版本号:3.0撰写人:孙自广合作者:陈波(博士)欧阳浩日期:2011-09-08操作系统实验指导书(第3版)广西工学院计算机工程系2011年09月前言操作系统是计算机科学与技术专业(软件工程方向)的一门非常重要的专业课程,操作系统是应用软件与底层硬件的桥梁。

通俗的说“只有搞懂了操作系统,才能真正理解计算机”。

学好操作系统课程可以提升学生应用计算机解决问题的能力,并获得开发大型复杂软件的经验。

操作系统至关重要,但学好它并不容易。

虽然Windows界面友好,方便使用,但是底层运行机制被有效的隐藏,在很多人眼里计算机还是一个黑匣子。

在选择教学用操作系统上颇费苦心,目前可用于教学的操作系统有Minix, Nochos, Geekos, JOS,FreeBSD等,而Linux不仅是开源的,而且资料丰富并拥有大量的应用软件,所有我们选择了Linux作为实验的平台。

本实验指导书参阅了很多网上的优秀资源,在此对提供这些资源的作者,表示感谢。

目录前言 (1)实验1 Linux的安装与使用 (3)实验2 Linux的键盘命令 (4)实验3-1 Linux进程的创建与父子进程同步 (8)实验3-2 Linux子进程映像的重新加载 (10)实验4-1 Linux软中断通信 (11)实验4-2 Linux管道通信 (13)实验4-3 Linux信息缓冲通信 (14)实验4-4 Linux共享存储通信 (16)实验5 Linux 信号量与P、V操作函数的定义 (18)实验6 在Linux中增加一个新的系统调用函数 (20)实验7 动态申请内存 (21)实验8 Linux字符设备驱动 (22)实验9 Linux 文件系统调用 (23)1.实验目的在做本课程系列实验之前需要先安装Linux系统。

如果你的计算机上已经安装了Linux,则本实验可以不做。

熟悉Linux提供的图形用户界面。

2. 实验预备知识Linux系统的安装方法和图形界面基本操作请参考相关资料。

安装操作系统实验报告

安装操作系统实验报告

安装操作系统实验报告安装操作系统实验报告一、实验目的本实验旨在熟悉和掌握计算机操作系统的安装过程,通过实际操作来深入了解操作系统在计算机系统中的重要性和必要性。

二、实验设备与软件1、实验设备:PC机2、实验软件:Windows 10操作系统安装光盘/U盘,备份工具三、实验步骤与操作过程1、准备安装光盘/U盘:将Windows 10操作系统安装光盘/U盘插入计算机的光驱/USB接口。

2、启动计算机:按下电源键,启动计算机,观察BIOS自检过程。

3、进入BIOS设置:在第一个屏幕上按下Del键进入BIOS设置界面,根据计算机的型号可能会有所不同。

4、设置启动顺序:在BIOS设置界面中,找到启动顺序设置,将首选启动设备设置为光驱(CD-ROM)或U盘。

5、安装操作系统: a. 从光盘/U盘启动计算机,出现Windows 10的安装界面。

b. 选择安装语言和输入法,点击“下一步”。

c. 勾选“我接受许可条款”,点击“下一步”。

d. 选择安装类型(典型、自定义),本实验选择“自定义”。

e. 选择磁盘分区(需提前为硬盘分区),点击“下一步”。

f. 等待安装过程完成,期间可能需要重启计算机。

6、配置操作系统: a. 首次使用PC时,会出现个性化设置界面,包括输入用户名、计算机名称等。

b. 根据实际情况选择时间和日期设置,点击“是”。

c. 选择计算机的当前位置(家庭、工作等),点击“下一步”。

d. 选择网络设置(需要连接互联网时选择“是的,我将连接Internet”,反之选择“不,我将使用本地计算机”)。

e. 点击“下一步”,等待系统配置完成。

7、完成安装:操作系统安装完成后,点击“立即体验”进入Windows 10桌面。

8、备份系统:使用备份工具将新安装的操作系统备份到移动存储设备,以备将来需要恢复。

四、实验结果与分析通过本次实验,我们成功地安装了Windows 10操作系统,并进行了基本的配置。

操作系统实验报告5——目录与文件管理

操作系统实验报告5——目录与文件管理
《linux下文件管理》实验报告
实验序号: 05 实验项目名称: linux下文件管理
学 号
2009406012
姓 名
吴松娇
Hale Waihona Puke 专业、班09计本(1)实验地点
32404
指导教师
汤敏丽
时间
2012.6.6
一、实验目的
1.加深对操作系统文件管理功能的理解。
2.熟练掌握linux下文件管理命令。
二、实验环境
装有linux系统的计算机。
(4)再次输入命令“ls -1”,确认两个目录和一个文件是否成功创建。
(5)输入命令“mv–f dir2 dir1”,将dir2目录移动到dirl目录;输入命令“mv–f cs.txt dir1”,将cs.txt目录移动到dirl目录。
(6)输入命令“cd dirl”,切换到dirl目录,再输入“ls”命令,查看到dir2目录。
13、分屏显示文件内容:more例子:ls | more /说明:每次分屏地查看由ls命令显示的/下子目录清单。
14、磁盘操作工具:du例子:du -sh .说明:列出当前目录下的所有子目录和文件占用的空间。
15、查找文件所在目录命令:which例子:which rm说明:查找rm命令保存在哪个目录。
(7)删除dir2目录,输入命令“rmdir dir2。”
2.文件操作
1.创建命令: touch例子: touch skxiao.xml说明:创建文件skxiao.xml
2.删除命令: rm例子: rm -r /home/shenkxiao/说明:删除/home/shenkxiao/下的所有文件
3.复制命令: cp例子: cp skxiao.xml /home/shenkxiao说明:将当前目录下的skxiao.xml文件拷贝到/home/shenkxiao目录下

计算机操作系统实验报告答案

计算机操作系统实验报告答案

《操作系统》实验报告专业年级:姓名:学号:提交日期:实验一:操作系统环境1.1 Windows 2000 系统管理(实验估计时间:60分钟)实验内容与步骤1、计算机管理2、事件查看器3、性能监视4、服务5、数据库(ODBC)为了帮助用户管理和监视系统,Windows 2000提供了多种系统管理工具,其中最主要的有计算机管理、事件查看器和性能监视等。

步骤1:登录进入Windows 2000 Professional。

步骤2:在“开始”菜单中单击“设置”-“控制面板”命令,双击“管理工具”图标。

在本地计算机“管理工具”组中,有哪些系统管理工具,基本功能是什么:1) 本地安全策略:查看和修改本地安全策略,如用户权限和审核策略。

2) 服务:启动和停止服务。

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

4) 事件查看器:显示来自于 Windows 和其他程序的监视与排错消息。

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

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

7) 组件服务:配置和管理 COM+ 应用程序。

1. 计算机管理使用“计算机管理”可通过一个合并的桌面工具来管理本地或远程计算机,它将几个Windows 2000管理实用程序合并到一个控制台目录树中,使管理员可以轻松地访问特定计算机的管理属性和工具。

步骤3:在“管理工具”窗口中,双击“计算机管理”图标。

“计算机管理”使用的窗口与“Windows资源管理器”相似。

在用于导航和工具选择的控制台目录树中有“系统工具”、“存储”及“服务和应用程序”等节点,窗口右侧“名称”窗格中显示了工具的名称、类型或可用的子工具等。

它们是:1)系统工具,填入表2-3中。

表2-3 实验记录2) 存储,填入表2-4中。

3) 服务和应用程序,填入表2-5中。

2. 事件查看器事件查看器不但可以记录各种应用程序错误、损坏的文件、丢失的数据以及其他问题,而且还可以把系统和网络的问题作为事件记录下来。

操作系统实验

操作系统实验

操作系统实验报告(一)Linux基本操作与编程(验证性 2学时)1、实验目(de):1)熟悉Linux操作系统(de)环境和使用.2)了解LINUX系统(de)安装过程.(注:表示可选择)3)掌握Linux环境下(de)命令操作.2、实验内容:(1)完成LINUX系统(de)登录,启动终端.进行下列操作并记录结果(要求:结果以屏幕截图表示).1)运行pwd命令,确定你当前(de)工作目录.2)利用以下命令显示当前工作目录(de)内容: ls –l3)运行以下命令: ls –al4)使用mkdir命令建立一个子目录subdir.5)使用cd命令,将工作目录改到根目录(/)上.6)使用ls-l命令列出/dev(de)内容.7)使用不带参数(de)命令cd改变目录,然后用pwd命令确定你当前(de)工作目录是哪里8)使用命令cd ../..,你将工作目录移到什么地方(2)在LINUX下查看你(de)文件.1)利用cd命令,将工作目录改到你(de)主目录上.2)将工作目录改到你(de)子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中.3)使用cat命令查看file1文件(de)内容.4)利用man命令显示date命令(de)用法: man date5)将date命令(de)用法附加到文件file1(de)后面:man date >> file16)利用cat命令显示文件file1(de)内容.7)利用ls -l file1命令列出文件file1(de)较详细(de)信息.运行ls -l/bin 命令显示目录(de)内容.8)利用ls -l/bin|more命令行分屏显示/bin目录(de)内容.9)利用cp file1 fa命令生成文件file1(de)副本.然后利用ls -l命令查看工作目录(de)内容.10)用cd命令返回你(de)主目录,输入命令ls –l后,解释屏幕显示(de)第一列内容(de)含义.(3)编写能输出“Hello world”问候语(de)C程序,并在终端中编译、执行.要求记录所使用(de)命令及结果.操作步骤:1)在文本编辑器中,编写C程序如下:include ""main(){ printf("hello"); }2) 在终端中,用gcc命令进行编译,生成可执行文件a.gcc –o a3) 在终端中执行a (de)命令如下:./a(4)编写一个程序:显示信息“Time for Play”,并能在后台运行一段时间(自定义)后,弹出信息提醒用户.要求记录所使用(de)命令及结果.(提示:使用sleep(s)函数)3、实验结果分析:(对上述实验内容中(de)各题结果,进行分析讨论.并回答下列问题)(1)进程包括哪些特征间断性, 失去封闭性, 不可再现性, 动态性, 并发性, 独立性(2)在Linux中,如何设置前、后台命令和程序(de)执行命令后直接加 & ,这个命令就在后台执行;正在运行(de)命令,使用Ctrl+z ,就挂起; jobs命令,可以现实后台,包括挂起(de)命令;使用 bg %作业号就可以把挂起(de)命令在后台执行;使用 fg %作业号就可以把后台命令调到前台(3)你所使用(de)Linux系统(de)内核版本是多少用什么命令查看内核版本目前你所了解(de)各发行版本(de)情况如何Linux version (gcc version (Red Hat (GCC) ) 1 SMP Tue Jan 2911:48:01 EST 2013(4)你对Linux系统有什么认识linux是一款开放性(de)操作系统,也可以说成是开放(de)源代码系统,这些代码可以完全自由(de)修改可以再任何(de)计算机上去运行它,也就是“可移植性”,其次大家都知道,linux是由UNIX(de)概念所开发出来(de),所以它也继承了UNIX(de)稳定和效率(de)特点4、总结:你对本次实验有什么体会或看法.操作系统实验报告(二)文件访问权限设置与输入输出重定向(2学时)一、实验目(de)1、掌握linux(de)文件访问权限设置.2、熟悉输入输出重定向和管道操作.二、实验内容1、启动进入红帽linux系统2、设置文件权限:在用户主目录下创建目录test,进入test目录,用vi 创建文件file1,并输入任意(de)文字内容.用ls -l显示文件信息,注意文件(de)权限和所属用户和组.对文件file1设置权限,使其他用户可以对此文件进行写操作:chmod o+w file1.用ls -l查看设置结果.取消同组用户对此文件(de)读取权限:chmod g-r file1.查看设置结果.用数字形式来为文件file1设置权限,所有者可读、可写、可执行;其他用户和所属组用户只有读和执行(de)权限:chmod 755 file1.设置完成后查看设置结果.3、输入、输出重定向和管道(1) 输出重定向用ls命令显示当前目录中(de)文件列表:ls –l.使用输出重定向,把ls命令在终端上显示(de)当前目录中(de)文件列表重定向到文件list中:ls –l > list.查看文件list中(de)内容,注意在列表中会多出一个文件list,其长度为0. 这说明shell是首先创建了一个空文件,然后再运行ls命令:cat list.再次使用输出重定向,把ls命令在终端上显示(de)当前目录中(de)文件列表重定向到文件list中.这次使用追加符号>>进行重定向:ls –l >> list.查看文件list(de)内容,可以看到用>>进行重定向是把新(de)输出内容附加在文件(de)末尾,注意其中两行list文件(de)信息中文件大小(de)区别:cat list.重复命令ls –l > list.再次查看文件list中(de)内容,和前两次(de)结果相比较,注意list文件大小和创建时间(de)区别.(2) 管道who |grep root命令(de)结果是命令ls –l |wc –l结果是4、退出linux系统操作步骤:在主菜单上选择“注销” ->关闭计算机.三、实验结果与讨论(根据实验结果回答下列问题)1. 文件(de)权限如下:-rw-r—r-- 1 root root 19274 Jul 14 11:00回答:-rw-r—r-- (de)含义是什么答:是LINUX/FTP(de)简易权限表示法:对应于本用户-所在组-其他人(de)权限,每一个用执行(x)-读取(r)-写入(w)如本题若是说自己可以读取写入不可以执行,所在组和其他人只能读取.2、文件(de)所有者添加执行权限(de)命令是答:chmod u+x 、赋予所有用户读和写文件权限(de)命令是四、答:chmod a+w,a+r 个人体会(你对本次实验有什么体会或看法)操作系统实验报告(三)文件和目录管理一、实验目(de)1) 掌握在Linux系统下(de)文件和文件系统(de)概念及命令;2) 掌握Linux系统下(de)目录操作.二、实验内容1. 进入linux终端后,用命令(de)操作结果回答下列问题:1)vi(de)三种工作模式是其中不能进行直接转换(de)是什么模式到什么模式命令模式、文本输入模式、末行模式命令模式不能直接到末行模式2)在vi中退出时,保存并退出(de)操作步骤是Ese:wq3)用vi 创建myfile1文件,并在其中输入任意文字一行,创建myfile2文件,任意输入文字3行.请问执行命令:cat <myfile1 >myfile2 后,myfile2中还有几行内容该命令(de)作用是用命令操作验证你(de)回答.myfile2中还有1行内容该命令(de)作用是替换myfile(de)内容4)请用至少两种不同(de)命令创建一个文本文件(),在其中写入“我是2014级学生,我正在使用Linux系统.”,记录命令及执行结果.1、Vi创建2、5)用___pwd________命令可查看所创建文件(de)绝对路径,写出它(de)绝对路径__/root_________;用___ls -l________命令查看该文件(de)类型及访问权限,其访问权限(数字和字母)分别是多少__-rw- r- - r- - 6 4 4______________.6)若将该文件(de)访问权限修改为:所有者有读写权限;其他用户只读;同组用户可读写,请写出命令,并记录结果.7)查找my开头(de)所有文件,可___find my_________命令,写出命令并记录结果8)在/home下创建子目录user,并在其中创建2个文件,名为file1和file2,file1(de)内容是/root目录(de)详细信息;file2(de)内容任意,最后将这两个文件合并为file3文件,请先写出命令序列,并在终端中验证,记录结果.2. 文件及目录操作,写出操作所使用(de)命令,并记录结果.在终端中完成下列命令操作,并记录结果在root用户主目录下创建一个mydir子目录和一个myfile文件,再在mydir下建立d1和d2两个子目录.查看mydir和myfile(de)默认权限查看当前myfile和mydir(de)权限值是多少将myfile文件分别复制到root 和dd1(de)主目录中将root主目录中(de)myfile改为yourfile通过从键盘产生一个新文件并输入I am a student查找文件是否包含student字符串三、实验结果与分析,回答下列问题:1、能够创建文件(de)命令有哪些vi 和cat>name2、能够查看当前目录(de)绝对路径(de)命令是pwd3、Linux中按用户属性将用户分成哪些类型根据文件(de)访问权限,用户又被分成哪些类型能够查看文件访问权限(de)命令是用户同组其他可读可写可执行 cat f1四、小结(本次实验(de)体会或小结)操作系统实验报告(四)作业调度算法模拟(验证性2学时)1、实验目(de):1)掌握作业调度(de)主要功能及算法.2)通过模拟作业调度算法(de)设计加深对作业管理基本原理(de)理解.3)熟悉Linux环境下应用程序(de)编程方法.2、实验内容:(1)作业调度算法(FCFS)编程模拟:编制一段程序,对所输入(de)若干作业,输入、输出数据样例如下表所示.按FCFS算法模拟调度,观察、记录并分析调度(de)输出结果情况.输入输出样例1:FCFS算法include <>include <>define SIZE 5struct Job_type{char no[2]; o,&job[i].tb,&job[i].tr);printf("输入作业顺序:\n");for(i=0;i<SIZE;i++)printf("\t%s\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr);}void fcfs(){ int i,j,t=0,tw=0,tt=0;for(i=0;i<SIZE-1;i++)for(j=i+1;j<SIZE;j++)if(job[i].tb>job[j].tb){x=job[i];job[i]=job[j];job[j]=x;}printf("FCFS调度结果:\n");printf("开始时间作业号到达时间运行时间完成时间等待时间周转时间\n");for(i=0;i<SIZE;i++){printf(" %d",t);t=t+job[i].tr;tw=t-job[i].tb-job[i].tr; b; o,job[i].tb,job[i].tr,t,tw,tt);}}void main(){load();fcfs();}(2)作业调度算法(SJF)编程模拟:编程实现由短作业优先算法,分别用下面两组输入、输出数据样例进行模拟,观察分析运行结果.输入输出样例2:SJF算法输入输出A 0 4B 0 3C 0 5D 0 2E 0 1A 0 6 10 10B 0 3 6 6C 0 10 15 15D 0 1 3 3E 0 0 1 1include <>include <>define SIZE 5struct Job_type{char no[2]; o,&job[i].tb,&job[i].tr);printf("输入作业顺序:\n");for(i=0;i<SIZE;i++)printf("\t%s\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr);}void sjf()n=i; pl[i].pfn=ERR;}for(i=1;i<total;i++){ pfc[i-1].next=&pfc[i];pfc[i-1].pfn=i-1;}pfc[total-1].next=NULL;pfc[total-1].pfn=total-1;freepf_head=&pfc[0];}void FIFO(int total){ int i,j;pfc_type p,t;initialize(total);busypf_head=busypf_tail=NULL;for(i=0;i<page_len;i++){if(pl[page[i]].pfn==ERR){ diseffect+=1;if(freepf_head==NULL){p=busypf_head->next;pl[busypf_head->pn].pfn=ERR; freepf_head=busypf_head;freepf_head->next=NULL;busypf_head=p;}p=freepf_head->next;freepf_head->next=NULL;freepf_head->pn=page[i];pl[page[i]].pfn=freepf_head->pfn;if(busypf_tail==NULL)busypf_head=busypf_tail=freepf_head; else{ busypf_tail->next=freepf_head;busypf_tail=freepf_head;}freepf_head=p;}}printf("FIFO:%d",diseffect);}main(){ int i; int k;printf(“请输入页(de)引用序列:\n”); for(k=0;k<page_len;k++)scanf("%d",&page[k]);for(i=4;i<=7;i++){printf("%2d page frames ",i);FIFO(i);}参考程序LRU算法,略三、实验结果分析:(对上述实验各题所使用(de)原始数据、调试数据与状态(包括出错)及最终结果进行记录并分析.)随着块数(de)增加,缺页数目也减少,4个实验中3个实验(de)块数增加到了5以后,即使块数再增加,缺页数目也是保持不变.只有实验4,块数增加到7以后,缺页数目又再次减少了四、总结:你对本次实验有什么体会或看法.。

LINUX操作系统实验报告..

LINUX操作系统实验报告..

实验一 LINUX操作基础实验目的:1、掌握字符界面下关机及重启的命令。

2、掌握LINUX下获取帮助信息的命令:man、help。

3、掌握LINUX中常用的简单命令:pwd、date、who、cal、uname、wc、clear等实验内容:1、使用shutdown命令设定在30分钟之后关闭计算机。

2、使用init命令实现图形界面到字符界面及字符界面到图形界面的切换。

3、分别使用命令man和help查看ls命令的帮助文档。

4、使用命令将当前计算机的主机名显示为IT。

5、使用命令显示公元2008年8月的月历。

6、显示当前计算机上的日期和时间。

7、统计文件/etc/passwd的行数、字符数和单词数。

实验步骤及结果:1、2、3、4、5、6、7、实验二 LINUX系统的文件操作命令实验目的:1、掌握LINUX下文件和目录操作命令:cd、ls、mkdir、rmdir、rm。

2、掌握LINUX下文件信息显示命令:cat、more。

3、掌握LINUX下文件复制、删除及移动命令:cp、mv。

4、掌握LINUX的文件检索、排序命令:grep、sort。

实验内容:1、使用命令切换到/etc目录,并显示当前工作目录路径。

2、使用命令显示/root目录下所有文件目录的详细信息,包括隐藏文件。

3、使用命令创建目录/root/linux,然后删除该目录。

4、使用命令cat用输出重定向在/root目录下创建文件abc,文件内容为“Hello,Linux!”,并查看该文件的内容。

5、使用命令创建具有默认权限为744的目录/root/ak,然后将/root/abc文件复制到该目录中,最后将该目录及其目录下的文件一起删除。

6、查看文件/etc/passwd的前3行内容。

7、创建文件file1,文件内容有3行,分别为a、c、b,排序该文件数据,显示在屏幕上。

8、使用命令显示/etc/passwd文件的文件类型。

9、在文件/etc/passwd中搜索匹配字符“root”。

实验windows系统的操作实验报告

实验windows系统的操作实验报告

实验windows系统的操作实验报告
《实验报告:Windows系统的操作实验》
实验目的:通过操作Windows系统,熟悉系统界面和常用功能,掌握基本操作技能。

实验步骤:
1. 开机启动Windows系统,进入桌面界面。

2. 熟悉桌面上的各个图标和任务栏的功能,包括开始菜单、文件资源管理器、控制面板等。

3. 打开文件资源管理器,浏览系统中的文件和文件夹,了解文件的存储路径和属性。

4. 进入控制面板,了解系统设置和管理工具,如网络和Internet设置、用户账户管理等。

5. 打开浏览器,访问网页并了解浏览器的基本操作,如打开新标签页、书签管理、下载文件等。

6. 进行文件操作实验,包括新建文件夹、复制、剪切、粘贴文件等操作。

7. 学习系统设置实验,如更改桌面背景、调整分辨率、设置屏幕保护程序等。

8. 了解系统更新和安全设置,如Windows更新、防病毒软件的安装和更新等。

实验总结:
通过本次实验,我对Windows系统的操作有了更深入的了解,掌握了系统的基本操作技能。

我熟悉了系统界面和常用功能,能够自如地进行文件操作、系统设置和网络浏览等操作。

同时,我也意识到系统的安全设置和更新是非常重要的,需要及时更新系统和安装防病毒软件,以保护系统和个人信息的安全。

在今后的学习和工作中,我将继续加强对Windows系统的操作和管理,不断提升自己的技能水平,为更高效地使用计算机系统做好准备。

同时,我也会关注
系统的安全和稳定性,保护好自己的计算机和数据,避免不必要的风险和损失。

操作系统实验报告

操作系统实验报告

技术资料常州大学操作系统课程实验报告姓名 xxx专业班级计算机科学与技术学号 xxxxxx指导老师 xxx成绩实验时间2012年4月23日——2012年5月7日实验一 Windows XP 系统管理一实验目的1) 了解和学习Windows系统管理工具及其使用;2) 熟悉Windows系统工具的内容和应用;3)熟悉Windows操作系统的应用环境。

二实验环境需要准备一台运行Windows XP操作系统的计算机。

三背景知识Windows XP的“管理工具”中集成了许多系统管理工具,利用这些工具,管理员可以方便地实现各种系统维护和管理功能。

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

在默认情况下,只有一些常用工具——如服务、计算机管理、事件查看器、数据源 (ODBC) 、性能和组件服务等——随Windows XP 系统的安装而安装。

四实验内容与步骤为了帮助用户管理和监视系统,Windows XP提供了多种系统管理工具,其中最主要的有计算机管理、事件查看器和性能监视等。

步骤1:登录进入Windows XP。

步骤2:在“开始”菜单中单击“设置”-“控制面板”命令,双击“管理工具”图标。

在本地计算机“管理工具”组中,有哪些系统管理工具,基本功能是什么:1) 本地安全策略:查看和修改本地安全策略,如用户权限和审核策略2) Internet信息服务:管理 IIS,Internet 和 Intranet 站点的 WEB服务器3) 服务:启动和停止服务4)计算机管理:管理磁盘以及使用其他系统工具来管理本地或远程的计算机5)事件查看器:显示来自于 Windows 和其他程序的监视与排错消息6)数据源ODBC:添加、删除、以及配置 ODBC 数据源和驱动程序7)性能:显示系统性能图表以及配置数据日志和警报8)组件服务:配置和管理 COM+ 应用程序1. 计算机管理使用“计算机管理”可通过一个合并的桌面工具来管理本地或远程计算机,它将几个Windows XP管理实用程序合并到一个控制台目录树中,使管理员可以轻松地访问特定计算机的管理属性和工具。

操作系统 实验

操作系统  实验

实验一Windows进程观测一、实验目的通过对Windows编程,进一步熟悉操作系统的基本概念,较好地理解Windows的结构。

1-1运行结果(如果运行不成功,则可能的原因是什么?) :_________________1-2运行结果:____:__________在网络百度到解决方法:Windows项目要使用Windows子系统, 而不是Console, 可以这样设置:[Project] --> [Settings] --> 选择"Link"属性页,在Project Options中将/subsystem:console改成/subsystem:windows1-3运行结果:__________________1-4运行结果:__二实验心得:(1)通过实验我知道了操作系统是用来控制及指挥电脑系统运作的软件程序。

操作系统管理和控制系统资源。

计算机的硬件、软件、数据等都需要操作系统的管理。

操作系统通过许多的数据结构,对系统的信息进行记录,根据不同的系统要求,对系统数据进行修改,达到对资源进行控制的目的。

(2)windows进程的组成:a一个私有的虚拟地址空间b一个可执行程序c一个已经打开句柄的列表d一个被称为访问令牌的安全区e一个被称为进程id的唯一标识实验二 Windows进程控制一、实验目的1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows进程的“一生”。

2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。

请回答:Windows所创建的每个进程都是以调用_____ CreateProcess()_____API函数开始和以调用_____ ExitProcess()______ 或___ TerminateProcess()___API函数终止。

2-1步骤5:编译完成后,单击“Build”菜单中的“Build 2-1.exe”命令,建立2-1.exe可执行文件。

操作系统上机实验报告

操作系统上机实验报告
4.输入top敲回车键来监视系统性能。
5.在主菜单里选择系统工具选择系统监视器来监视系统性能。
评语:
日期:年月日
实验五:vi的基本操作
实验目的:
1.熟悉并掌握vi命令模式、文本编辑模式和最后行模式三种工作模式之间的转换方法。
2.掌握利用vi新建和保存文件;熟悉光标的移动,文本的插入与删除等操作。
3.掌握字符串替换;行的复制、移动、撤消和删除等操作。
2.打开f2文件并显示行号。
3.在f2文件的第一行后插入如下一行内容:“With the development of
4.将文本中所有的“eyeballs”用“eye-balls”替换。
5.把第二行移动到文件的最后,删除第一和第二行并恢复删除,并不保存
6.复制第二行,并添加到文件的最后,删除第二行,保存修改后退出vi。
实验内容:
1.利用vi新建文件f2,内容为:
How to Read Faster
When I was a schoolboy I must have read every comic book ever published. But as I got older, my eyeballs must have slowed down or something I mean, comic books started to pile up faster then I could read them!
14.重复上一步操作。
15.查看刚执行过的5个命令。
实验步骤:
1.先安装VMwareWorkstation。安装后,双击图标弹出界面,在界面上单击新建虚拟机,新建一个Linux的虚拟机,按界面提示一步一步完成操作。注意:(安装过程ISO镜像操作的使用)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室 2015年 12月 15日实验课操作系统实验成绩程名称实验项磁盘管理实验指导老师目名称(***报告只能为文字和图片,老师评语将添加到此处,学生请勿作答***)一、实验目的本实验的目的是通过设计一个磁盘调度模拟系统,以加深对FCFS、最短寻道时间以及电梯等磁盘调度算法的理解。

让我们更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强动手能力。

二、实验内容1、模拟一个磁盘调度算法;Visual C++ 6.0平台2、输入为一组作业的磁道请求;作业的寻到请求可以用一个数组模拟3、要求能够模拟FCFS、最短寻道时间、电梯算法三个磁盘调度算法;FCFS (First Come First Served )先来先服务,在计算机并行任务处理中,被视为最简单的任务排序策略,即是无论任务大小和所需完成时间,对先到的任务先处理,后到的任务后处理。

按照此算法,数组顺序输出即可。

最短寻道时间优先(ShortestSeekTimeFirst,SSTF)要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,确定当前磁道,选择距离当前最近的。

电梯算法,磁臂仅移动到请求的最外道就回转。

反方向查找服务。

确定当前磁道以及运动方向,排序后的数组当前磁道以后的磁道顺序序输出,在将剩余反向输出。

4、输出为按选择的算法执行时的磁头移动轨迹和移动的总道数。

三、实验设备安装了Linux系统的电脑四、实验概要设计系统流程图:五、实验详细设计(1)先来先服务算法(FCFS)先来先服务(FCFS)调度:按先来后到次序服务,未作优化。

最简单的移臂调度算法是“先来先服务”调度算法,这个算法不必考虑当前移臂所在的位置,而只是考虑访问者提出访问请求的先后次序。

先来先服务算法流程图:(2)最短寻道时间优先算法(SSTF)最短寻找时间优先调度算法总是从等待访问者中挑选寻找时间最短(距离当前移臂最近)的那个请求先执行的,而不管访问者到来的先后次序。

现在仍利用同一个例子来讨论,现在当100号柱面的操作结束后,应该先处理99号柱面的请求,然后到达108号柱面执行操作,随后处理129号柱面请求,后继操作的次序应该是142,156,53,31最短寻道时间优先算法流程图:(3)电梯算法(SCAN)SCAN 算法又称电梯调度算法。

SCAN算法是磁头前进方向上的最短查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动,SCAN算法在很大程度上消除了SSTF算法的不公平性,但仍有利于对中间磁道的请求。

“电梯调度”算法在实现时,不仅要记住读写磁头的当前位置,还必须记住移动臂的当前前进方向。

电梯算法流程图:六、实验程序#include<iostream>#include<fstream>#include<iomanip>#include<stdio.h>using namespace std;const int MaxNumber=100;int TrackOrder[MaxNumber]; int MoveDistance[MaxNumber]; double AverageDistance;bool direction;int M;int N;void inputData(){cout<<"请输入磁道个数N: ";cin>>N;cout<<"\n请输入磁盘访问顺序(此部分由文件读入)。

"<<endl;fstream fin("F://磁盘调度文件.txt");for(int i=0;i<N;i++)fin>>TrackOrder[i];cout<<"\n请输入开始磁盘号M: ";cin>>M;}void showData(){cout<<"\n===============================显示配置信息=============================\n";cout<<"\n输入磁道个数N为:"<<N<<",开始磁盘号M:"<<M<<endl;cout<<"\n磁盘访问序列为: ";for(int i=0;i<N;i++)cout<<TrackOrder[i]<<" ";cout<<endl;}void FCFS(){int i,j;int sum=0;float avg;int Fcfs[MaxNumber];int sumArray[MaxNumber];for(i=0;i<N;i++)Fcfs[i]=TrackOrder[i];sumArray[0]=abs(M-Fcfs[0]);cout<<"\n从"<<M<<"号磁道开始"<<endl;cout<<"被访问的下一个磁道号: ";for(i=0;i<N;i++)cout<<Fcfs[i]<<" ";cout<<endl;cout<<"对应移动距离(磁道数): "<<sumArray[0]<<" ";for(i=0,j=1;j<N;i++,j++){sumArray[j]=abs(Fcfs[j]-Fcfs[i]);cout<<sumArray[j]<<" ";}for(i=0;i<N;i++)sum=sum+sumArray[i];avg=(float)sum/N;cout<<"\n总寻道长度:"<<sum;cout<<"\n平均寻道长度:"<<setprecision(3)<<avg<<endl<<endl;}void SSTF(){int i,j;int k=1;int s=0;int temp;int l,r;int sum=0;float avg=0;int Sstf[MaxNumber];int sumArray[MaxNumber];int Mnow;Mnow=M;for(i=0;i<N;i++)Sstf[i]=TrackOrder[i];for(i=0;i<N;i++){for(j=i+1;j<N;j++){if(Sstf[i]>Sstf[j]){temp=Sstf[i];Sstf[i]=Sstf[j];Sstf[j]=temp;}}}cout<<"\n从"<<Mnow<<"号磁道开始"<<endl; cout<<"被访问的下一个磁道号: ";if(Sstf[N-1]<=Mnow){for(i=N-1,s=0;i>=0;i--,s++){cout<<Sstf[i]<<" ";sumArray[s]=Mnow-Sstf[i];sum+=Mnow-Sstf[i];Mnow=Sstf[i];}}else{if(Sstf[0]>=Mnow){for(i=0,s=0;i<N;i++,s++){cout<<Sstf[i]<<" ";sumArray[s]=Sstf[i]-Mnow;sum+=Sstf[i]-Mnow;Mnow=Sstf[i];}}else{while(Sstf[k]<Mnow){k++;}l=k-1;r=k;if(Mnow-Sstf[l]<=(Sstf[r]-Mnow)) {while(l>=0){cout<<Sstf[l]<<" ";sumArray[s]=Mnow-Sstf[l];s=s+1;sum=sum+Mnow-Sstf[l];Mnow=Sstf[l];l=l-1;}Mnow=Sstf[0];for(j=r;j<N;j++){cout<<Sstf[j]<<" ";sumArray[s]=Sstf[j]-Mnow;s=s+1;sum+=Sstf[j]-Mnow;Mnow=Sstf[j];}}else{while(r<N){cout<<Sstf[r]<<" ";sumArray[s]=Sstf[r]-Mnow;s=s+1;sum+=Sstf[r]-Mnow;Mnow=Sstf[r];r=r+1;}Mnow=Sstf[N-1];for(j=1;j>=0;j--){cout<<Sstf[j]<<" ";sumArray[s]=Mnow-Sstf[j];s=s+1;sum+=Mnow-Sstf[j];Mnow=Sstf[j];}}}}cout<<endl;cout<<"对应移动距离(磁道数): ";for(i=0;i<N;i++){cout<<sumArray[i]<<" ";}avg=(float)sum/N;cout<<"\n总寻道长度:"<<sum;cout<<"\n平均寻道长度:"<<setprecision(3)<<avg<<endl<<endl; }void SCAN(){int i,j;int k=1;int s=0;int temp;int c,l,r;int sum=0;float avg=0;int Scan[MaxNumber];int sumArray[MaxNumber];int Mnow;Mnow=M;for(i=0;i<N;i++)Scan[i]=TrackOrder[i];for(i=0;i<N;i++){for(j=i+1;j<N;j++){if(Scan[i]>Scan[j]){temp=Scan[i];Scan[i]=Scan[j];Scan[j]=temp;}}}cout<<"请选择磁头移动方向[1-增加方向、0-减小方向]: "; cin>>c;cout<<"\n从"<<M<<"号磁道开始"<<endl;cout<<"被访问的下一个磁道号: ";if(Scan[N-1]<=Mnow){for(i=N-1,s=0;i>=0;i--,s++){cout<<Scan[i]<<" ";sumArray[s]=Mnow-Scan[i];sum+=Mnow-Scan[i];Mnow=Scan[i];}}else{if(Scan[0]>=Mnow){for(i=0,s=0;i<N;i++,s++){cout<<Scan[i]<<" ";sumArray[s]=Scan[i]-Mnow;sum+=Scan[i]-Mnow;Mnow=Scan[i];}}else{while(Scan[k]<Mnow){k++;}l=k-1;r=k;switch(c){case 0:{while(l>=0){cout<<Scan[l]<<" "; sumArray[s]=Mnow-Scan[l]; s=s+1;sum=sum+Mnow-Scan[l]; Mnow=Scan[l];l=l-1;}Mnow=Scan[0];for(j=r;j<N;j++){cout<<Scan[j]<<" "; sumArray[s]=Scan[j]-Mnow; s=s+1;sum+=Scan[j]-Mnow; Mnow=Scan[j];}break;}case 1:{while(r<N){cout<<Scan[r]<<" "; sumArray[s]=Scan[r]-Mnow; s=s+1;sum+=Scan[r]-Mnow; Mnow=Scan[r];r=r+1;}Mnow=Scan[N-1];for(j=l;j>=0;j--){cout<<Scan[j]<<" "; sumArray[s]=Mnow-Scan[j]; s=s+1;sum+=Mnow-Scan[j]; Mnow=Scan[j];}break;}cout<<"输入有误,请重新输入. ";}}}cout<<endl;cout<<"对应移动距离(磁道数): ";for(i=0;i<N;i++){cout<<sumArray[i]<<" ";}avg=(float)sum/N;cout<<"\n总寻道长度:"<<sum;cout<<"\n平均寻道长度:"<<setprecision(3)<<avg<<endl<<endl;}int main(){char choice;cout<<"\n===========================虚拟内存页面配置算法=======================\n\n";inputData();showData();cout<<endl;while(1){cout<<"====1-FCFS 磁盘调度算法====\n";cout<<"====2-SSTF 磁盘调度算法====\n";cout<<"====3-SCAN 磁盘调度算法====\n";cout<<"======其他任意键退出=======\n\n";cout<<"请输入功能键:";cin>>choice;switch(choice){case '1':cout<<"\nFCFS磁盘调度算法==>";FCFS();break;case '2':cout<<"\nSSTF磁盘调度算法==>";SSTF();break;case '3':cout<<"\nSCAN磁盘调度算法==>";SCAN();default: return 1;}}cin>>choice; getchar(); return 1;}七、实验结果截图1:截图2:截图3:如截图1~3所示,创建一个c文件,使用g++编译器编译并执行程序后,成功运行程序并且按照提示输入功能,即可以计算不同的磁盘调度算法的输出结果。

相关文档
最新文档