文档库 最新最全的文档下载
当前位置:文档库 › 实验二 MASM、LINK指令的使用实验

实验二 MASM、LINK指令的使用实验

实验二 MASM、LINK指令的使用实验
实验二 MASM、LINK指令的使用实验

实验二MASM、LINK指令的使用

一、实验目的

1.熟练掌握文本编辑器的基本用法。

2.熟悉汇编语言的编辑、汇编、连接、运行的全过程。

3.熟悉Debug调试程序的常用命令和用法。

二、实验要求

1.编辑一个扩展文件名为ASM的汇编语言源程序。

2. 用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。(扩展名为OBJ)

3.用连接程序LINK连接目标代码文件,形成可执行文件。(扩展名为EXE)

4.运行可执行文件。观察执行结果,以验证其正确性。

三、实验任务

1. 在文本编辑器(如:记事本程序)中先输入下列汇编语言源程序(注意:文件类型是.ASM文件),使用MASM程序和LINK程序对汇编语言源程序进行汇编和链接,用“debug 可执行文件名”命令,将生成的可执行文件装入内存,然后逐条执行指令,观察执行过程和结果。

练习程序段(实现ZZZ=XXX*16+YYY)如下:

DSEG SEGMENT

XXX DW 1234H

YYY DW 5678H

ZZZ DD ?

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG

START:MOV AX,DSEG

MOV DS,AX

MOV AX,XXX

XOR DX,DX

ADD AX,AX

ADC DX,DX

ADD AX,AX

ADC DX,DX

ADD AX,AX

ADC DX,DX

ADD AX,AX

ADC DX,DX

ADD AX,YYY

ADC DX,0

MOV WORD PTR ZZZ,AX

MOV WORD PTR ZZZ+2,DX

MOV AH,4CH

INT 21H

CSEG ENDS

END START

四、实验步骤

1.任选熟悉的编辑环境,输入示例程序,存盘取名为EX1.ASM

操作步骤如下:

在Windows环境下可以使用“EDIT”和“记事本”来对汇编语言源程序进行编辑。

①用EDIT编辑汇编语言源程序

用鼠标单击“开始”菜单,指向“运行”,在对话框中输入“COMMAND”或“CMD”,单击“确定”。将当前目录切换到D盘MASM目录下,在DOS提示符

后输入“EDIT 文件名”,回车,启动编辑程序。即:

D:\MASM>EDIT 文件名↙

在EDIT编辑状态下输入源程序,使用FILE菜单下的SA VE命令保存当前程序。

②用记事本编辑汇编语言源程序

用鼠标单击“开始”菜单,指向“程序”→“附件”→“记事本”,打开记事本窗口。在记事本窗口中输入源程序,并在D盘的MASM目录下将文件存入磁盘。

注意:在对汇编语言源程序文件进行保存时必须给它取一个名字,且该文件的扩展名必须为“.ASM”,否则MASM不对其进行宏汇编操作。

2.利用MASM进行汇编,过程如下:

③在DOS提示符下面输入命令:

D:\MASM>MASM EXAM1; ↙

屏幕显示:

源程序输入有语法性错误,MASM 在将源程序宏汇编后,会将出错的语句的

行号及错误类型显示出来。本例有两个错误,行号分别为16和18。

④ 这时应重新启动“EDIT ”或“记事本”返回到编辑状态,找出程序中有错误

的语句行,修改错误并存盘后重新对其进行宏汇编。本例中需要修改源程序中第

16行和第18行的错误,第16行本身没有问题,只是因为ok1是指令语句标号未

加“:”,将第19行语句中的标号ok1后加上“:”即可。

⑤ 再次对汇编语言源程序进行宏汇编,直至没有错误提示为止。

屏幕显示如:

汇编成功之后,用dir 命令可以看到当前目录下已经生成了EXAM1.OBJ 。

3.用连接程序对生成的EX.OBJ 文件进行连接,步骤如下:

操作如下:

D:\MASM>LINK EXAM1; ↙

屏幕显示如:

一般情况下,连接过程不会出现错误,如果程序中没有设置堆栈段,或设置堆栈段,但未写组合类型STACK ,LINK 会提示警告,可以忽略,不会影响程序的执行。本程序没有设置堆栈段,所以出现“无堆栈段”的错误。连接成功之后,用dir 命令可以看到当前目录下已经生成了EXAM1.EXE 。

4.在debug 下加载EX.EXE 文件

D:\MASM>DEBUG 文件名.EXE ↙

5. 在debug 下调试、执行文件

调试过程:

第16、18行有

错误

(1)用反汇编命令U查看汇编后的机器指令,同时查看程序的起始地址,了解每条指令汇编后的长度。

-U

(2)连续用T命令单步执行到指令“mov AH,4CH”,查看每步执行的中间结果。

-T

注意:用T命令逐条执行程序时,如遇上用户程序中的软中断指令INT(如INT 21H),这时,通常不要用单步工作方式执行INT指令,而是用P指令。

(3)在用单步工作方式运行程序后,可再用连续工作方式从头开始运行程序,查看运行结果。在用G命令时,注意指定运行程序的起始地址。若G命令中未指定起始地址,就隐含为从当前CS:IP指向的指令开始。

-G 起始地址

(4)用Q命令退出DEBUG环境,返回DOS

-Q

五、实验报告要求

1、写明本次实验内容和实验步骤。

2、整理出运行结果。

3、小结汇编语言源程序的执行过程。

常用网络测试命令实验报告

西安郵電學院 计算机网络技术及应用实验 报告书 院部名称:管理工程学院 学生姓名:XXX 专业名称:信息管理与信息系统班级:10XX 学号:0210XXXX 时间:2012年 5 月 4 日

一、实验目的 1.掌握基本的网络知识。 2.掌握CMD一些基本命令,并学会运用这些命令排除一些基本问题。 二、具体实验内容及步骤 1.Ping命令的使用 点击―开始‖—〉―运行‖,在―运行‖对话框―打开‖后键入cmd,按―确定‖,到命令行方式下。 实验步骤: 1)回环测试。这个ping命令被送到本地计算机IP软件。这一命令可以用来检测TCP/IP的安装或运行存在的某些最基本的问题。 C:\>ping 127.0.0.1 2)Localhost是127.0.0.1的别名,我们也可以利用localhost来进行回环测试,每台计算机都能够将名称localhost转换成地址127.0.0.1。如果做不到这一点,则表示主机文件(host)中存在问题。 C:\>ping localhost

3)Ping本机IP。若无回复,说明本地计算机的TCP/IP安装或配置存在问题。 C:\>ping –t 192.168.2.37 在命令中加入参数-t,本地计算机应该始终对该ping命令做出应答,使用ctrl+C终止操作。 4)Ping局域网内其它主机IP。该命令对局域网内的其它主机发送回送请求信息。

如果能够收到对方主机的回送应答信息,表明本地网络中的网卡和传输媒体运行正常。 C:\>ping 192.168.2.55 5)Ping网关:如果能够收到应答信息,则表明网络中的网关路由器运行正常。 C:\>ping 192.168.2.1 6)Ping域名服务器:如果能够收到应答信息,则表明网络中的域名服务器运行正常。 C:\>ping 202.117.128.2

实验二--单处理器系统的进程调度

实验二单处理器系统的进程调度 (附实验报告) 1.实验目的 加深对进程概念的理解,明确进程和程序的区别; 深入了解系统如何组织进程、创建进程; 进一步认识如何实现处理器调度。 2.实验预备知识 进程的概念; 进程的组织方式; 进程的创建; 进程的调度。 3.实验内容

编写程序完成单处理机系统中的进程调度,要求采用时间片轮转调度算法。实验具体包括:首先确定进程控制块的内容,进程控制块的组成方式;然后完成进程创建原语和进程调度原语;最后编写主函数对所作工作进程测试。 4.提示与讲解 这个实验主要要考虑三个问题:如何组织进程、如何创建进程和如何实现处理器调度。 考虑如何组织进程,首先就要设定进程控制块的内容。进程控制块PCB 记录各个进程执行时的情况。不同的操作系统,进程控制块记录的信息内容不一样。操作系统功能越强,软件也越庞大,进程控制块记录的内容也就越多。这里的实验只使用了必不可少的信息。一般操作系统中,无论进程控制块中信息量多少,信息都可以大致分为以下四类: ①标识信息 每个进程都要有一个惟一的标识符,用来标识进程的存在和区别于其他进程。这个标识符是必不可少的,可以用符号或编号实现,它必须是操作系统分配的。在后面给出的参考程序中,采用编号方式,也就是为每个进程依次分配一个不相同的正整数。 ②说明信息

用于记录进程的基本情况,例如进程的状态、等待原因、进程程序存放位置、进程数据存放位置等等。实验中,因为进程没有数据和程序,仅使用进程控制块模拟进程,所以这部分内容仅包括进程状态。 ③现场信息 现场信息记录各个寄存器的内容。当进程由于某种原因让出处理器时,需要将现场信息记录在进程控制块中,当进行进程调度时,从选中进程的进程控制块中读取现场信息进行现场恢复。现场信息就是处理器的相关寄存器内容,包括通用寄存器、程序计数器和程序状态字寄存器等。在实验中,可选取几个寄存器作为代表。用大写的全局变量AX、BX、CX、DX模拟通用寄存器、大写的全局变量PC模拟程序计数器、大写的全局变量PSW模拟程序状态字寄存器。 ④管理信息 管理信息记录进程管理和调度的信息。例如进程优先数、进程队列指针等。实验中,仅包括队列指针。 因此可将进程控制块结构定义如下: struct pcb {int name; int status;

作业调度实验报告

作业调度实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

实验二作业调度 一.实验题目 1、编写并调试一个单道处理系统的作业等待模拟程序。 作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。 (1)先来先服务算法:按照作业提交给系统的先后顺序来挑选作业,先提交的先被挑选。 (2)最短作业优先算法:是以进入系统的作业所提出的“执行时间”为标准,总是优先选取执行时间最短的作业。 (3)响应比高者优先算法:是在每次调度前都要计算所有被选作业(在后备队列中)的响应比,然后选择响应比最高的作业执行。 2、编写并调度一个多道程序系统的作业调度模拟程序。 作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。 对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。 二.实验目的: 本实验要求用高级语言(C语言实验环境)编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解三 .实验过程 <一>单道处理系统作业调度 1)单道处理程序作业调度实验的源程序: 执行程序: 2)实验分析:

1、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU 时限等因素。 2、每个作业由一个作业控制块JCB 表示,JCB 可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W 。 3、对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间。 3)流程图: 二.最短作业优先算法 三.高响应比算法 图一.先来先服务流程图 4)源程序: #include <> #include <> #include <> #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 int n; float T1=0,T2=0; int times=0; struct jcb .\n",p->name); free(p); .wait...",time); if(times>1000) 代替 代替

实验二 Tutorial 2 Linux 基本命令操作2

Tutorial 2 Linux 基本命令操作2 1 实验简介 虽然目前linux 图像界面的使用已相当的方便,但是有些操作还是在字符界面下使用比较灵活。除此之外,使用字符界面登陆linux 系统,系统资源的消耗也比较少,从而可以提高系统性能。 本次实验内容主要包括:linxu 下文件和目录操作命令的使用方法。 2 实验目的 (1)掌握远程登录Linux 系统的软件putty 的基本用法。 (2)掌握文件和目录的区别 (3)熟悉文件和目录的相关操作:建立、复制、移动、删除、重命名、查找、统计等 (4)掌握输入、输出重定向的用法 (5)掌握find 的常见查找模式 (6)理解文件的类型及查看 3 实验准备 (1)了解远程登录的概念,以及远程登录软件putty。 (2)了解linux 命令行的基本概念,掌握通配符的使用方法。 (3)了解绝对路径和相对路径的概念及表达方法。 4 远程登录软件putty的基本用法实验步骤 基本做法同实验1. 5 Linux 文件和目录操作命令 说明:在下面的文档中的$为系统提示符。 (1) 使用cd 和pwd 命令,掌握相对路径和绝对路径。 对照右图,假如从目录user3 开始,键完以下命令后,你的位置会在哪里。 请将结果填在横线上。 $pwd /home/user3 $cd .. $pwd $cd.. $cd usr $pwd $cd /usr $pwd $cd.. /tmp $pwd $cd.

$pwd (2)检查当前的子目录pwd。 $ pwd (3) 在你的注册目录下创建(mkdir)子目录:dir1、dir2。 $ mkdir dir1 dir2 (4) 在你的主目录中创建一个叫junk 的目录。将这个目录变为工作目录,应当使用什么命令?这个新目录的绝对路径名是什么? (5) 在主目录创建以下目录,要求只能用一个命令行: junk/dira/dirl junk/dira junk/dira/dir2 junk/dira/dirl/dirc 你碰到什么问题了吗?如果碰到问题,在重试之前,将刚才创建的所有目录删除,这个删除应该使用哪一个命令?mkdir –p junk/dira/dir1/dirc junk/dira/dir2 (-p创建父目录) (6) 在主目录仅使用rmdir 命令,删除在junk 目录下的所有子目录。仅用一个rmdir 命令如何实现这一操作? rmdir {junk/dira/dir2,junk/dira/dir1/dirc,junk/dira/dir1,junk/dira} (7) 使用“touch 文件名”方法在你的注册目录下建立文件file1 和file2 $touch file1 file2 (8) 将file1 file2 复制到dir1 中,并察看注册目录与dir1 目录下有何变化? $ cp file1 file2 dir1 (9) 将文件file1,file2 从注册目录移动至dir2 中,再察看注册目录与dir2目录有何变化? $mv file1 file2 dir2 (10) 将dir2 中的文件file1 改名为myfile1 $ mv /dir2/file1 /dir2/myfile1 (11) 请使用绝对路径删除文件myfile1 $ rm /root/dir2/myfile1 (12)分屏显示/bin 目录下文件的详细信息。 $cd /bin $list –l | more (13)回到根目录,利用cp 命令复制系统文件/etc/profile 到当前目录下。 $ cd ~ $ cp /etc/profile . (14)复制文件profile 到一个新文件profile.bak,作为备份。 (15)用less 命令分屏查看文件profile 的内容,注意练习less 命令的各个子命令,如b、空格键、q 、/字符串(查找)等,并对then 关键字查找。 (16)用grep 命令在profile 文件中对关键字then 进行查询。 (17) 在家目录下创建目录test,并复制/etc 目录下的最后四个字符为.ini的文件到test 目录下。 (18)使用gzip 命令对test 下的文件进行压缩。 (19)使用tar 命令对test 下的文件打包。 (20)把用tar 命令打包的文件解包,并用gzip 命令对文件进行解压缩。 (21)利用tar 命令把test 中的文件压缩打包。 (22) 在/var/lib 目录下查找所有文件其所有者是games 用户的文件。

操作系统实验报告-作业调度

作业调度 一、实验目的 1、对作业调度的相关内容作进一步的理解。 2、明白作业调度的主要任务。 3、通过编程掌握作业调度的主要算法。 二、实验内容及要求 1、对于给定的一组作业, 给出其到达时间和运行时间,例如下表所示: 2、分别用先来先服务算法、短作业优先和响应比高者优先三种算法给出作业的调度顺序。 3、计算每一种算法的平均周转时间及平均带权周转时间并比较不同算法的优劣。

测试数据 workA={'作业名':'A','到达时间':0,'服务时间':6} workB={'作业名':'B','到达时间':2,'服务时间':50} workC={'作业名':'C','到达时间':5,'服务时间':20} workD={'作业名':'D','到达时间':5,'服务时间':10} workE={'作业名':'E','到达时间':12,'服务时间':40} workF={'作业名':'F','到达时间':15,'服务时间':8} 运行结果 先来先服务算法 调度顺序:['A', 'B', 'C', 'D', 'E', 'F'] 周转时间: 带权周转时间:

短作业优先算法 调度顺序:['A', 'D', 'F', 'C', 'E', 'B'] 周转时间: 带权周转时间:1. 响应比高者优先算法 调度顺序:['A', 'D', 'F', 'E', 'C', 'B'] 周转时间: 带权周转时间: 五、代码 #encoding=gbk workA={'作业名':'A','到达时间':0,'服务时间':6,'结束时间':0,'周转时间':0,'带权周转时间':0} workB={'作业名':'B','到达时间':2,'服务时间':50} workC={'作业名':'C','到达时间':5,'服务时间':20} workD={'作业名':'D','到达时间':5,'服务时间':10} workE={'作业名':'E','到达时间':12,'服务时间':40} workF={'作业名':'F','到达时间':15,'服务时间':8} list1=[workB,workA,workC,workD,workE,workF] list2=[workB,workA,workC,workD,workE,workF] list3=[workB,workA,workC,workD,workE,workF] #先来先服务算法 def fcfs(list): resultlist = sorted(list, key=lambda s: s['到达时间']) return resultlist #短作业优先算法 def sjf(list): time=0 resultlist=[] for work1 in list: time+=work1['服务时间'] listdd=[] ctime=0 for i in range(time): for work2 in list: if work2['到达时间']<=ctime: (work2) if len(listdd)!=0: li = sorted(listdd, key=lambda s: s['服务时间']) (li[0]) (li[0]) ctime+=li[0]['服务时间'] listdd=[]

实验报告2 常用网络命令的使用

计算机网络实验报告 班级信工(2)班日期 2016-5-12 学号 20130702047 姓名李格 实验名称常用网络命令的使用 一、实验目的 1. 掌握几种常用的网络命令,通过使用这些命令能检测常见网络故障。 2. 理解各命令的含义,并能解释其显示内容的意义。 二、实验步骤 (一)ping 命令的使用 1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。 2、输入ping/? 回车,了解ping命令的基本用法。结果如下: 最常用的ping命令是在ping后面直接跟域名或IP地址。测试内网或外网的联通情况。 3、依次输入以下命令并查看分析结果。 (1)输入ping https://www.wendangku.net/doc/f715902273.html,并回车查看分析结果。 结果如下:

分析: (2)输入ping 218.197.176.10并回车查看分析结果。结果如下: 分析: (3)输入ping https://www.wendangku.net/doc/f715902273.html, 并回车查看分析结果。结果如下: 分析: (3)输入pi ng 121.14.1.189 并回车查看分析结果。

结果如下: 分析: 4、使用不同的参数测试ping命令。 结果如下: 分析: (二)ipconfig 命令的使用 1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。 2、输入ipconfig/? 回车,了解ipconfig 命令的基本用法。结果如下:

3、依次输入以下命令并查看分析结果。 (1)输入ipconfig 并回车查看并分析结果。结果如下:

分析: (2)输入ipconfig/all 并回车查看分析结果。结果:

实验二 Linux常用命令的使用(一)

实验二 Linux 常用命令的使用(一) 一、实验目的 1. 掌握Linux 系统开机启动和退出的方法 2. 掌握Linux 系统中获取命令帮助的方法 3. 掌握Linux 系统命令格式 4. 掌握Linux 系统中常用命令的作用和命令中各选项的作用 二、实验环境 安装了Red Hat Linux9.0/Fedora 系统的计算机一台 三、实验内容及步骤 (一)Linux 操作系统的登录和退出 【操作任务1】登录Linux 操作系统 【操作步骤】 (1)在开始---程序---Vmware 菜单中启动虚拟机,在打开的虚拟机界面中选择要启动的操作系统选项卡,点击启动图标。如下图所示。 (2)等待一段时间后,将出现登陆对话框,选择其中一个用户,输入用户名和密码后,即可登陆Linux 操作系统。如下图所示。(如果要登陆root 用户,请选择‖其他…‖,然后输入用户名:root 和相应的密码,点击“登陆”按钮)

输入用户名 root

(3)点击登陆按钮后,即可成功登陆。如下图。(注意,如果以root 超级管理员用户身份登陆,系统会弹出对话框询问,如上图所示,点击“继续”按钮即可) 【操作任务2】退出Linux 操作系统 【操作步骤】 (1)在顶部面板上依次单击―系统→关机‖命令,如下图 (2)在打开的对话框,选择―关机‖或―重新启动‖选项,然后点击―确定‖按钮,即可完成关机或重新启动操作。 如果使用超级管理员root 用户身份登陆,操作系统 会询问“是否真的要以特权用户身份登陆”,这里点击继续按钮,即可以root 身份登陆

【操作任务3】图形界面和字符界面的切换 【操作步骤】 (1)开机使用root用户进入图形界面,请打根目录下的etc文件夹,找到inittab文件, (文件路径:/etc/inittab),双击打开之。 (2)找到该文件中的“id:5:initdefault:”这一行,将该行中的“id:5:initdefault:”行的“5” 修改为“3”,然后按Ctrl+S保存。

实验一 熟悉常用的网络命令实验报告

实验一熟悉常用的网络命令 序号:姓名:李哲旭学号:20141120117成绩指导教师: 1.实验目的: 学会使用常用ping ,ipconfig, nslookup, arp ,tracert等常用网络测试命令检测网络连通、了解网络的配置状态,跟踪路由诊断域名系统等相关网络问题。 2实验环境: (1)运行windows 8.1操作系统的PC一台 (2)每台PC机具有一块网卡,通过双绞线与局域网网相连。 (3)局域网能连接Internet 3.实验步骤: 参见实验指导手册内容。 4.实验分析,回答下列问题 (1)查看本机TCP/IP协议配置,看你的计算机是通过自动获取IP还是通过手动方式设置IP地址的?写出你判断的理由。 自动获取IP地址 (2)如果是通过手动方式获取IP地址,可以直接读出IP地址,子网掩码,默认网关,首选DNS服务器地址,备用DNS服务器地址。填写下表。 如果是采用动态获取IP地址,如何获取完整的TCP/IP配置信息,请写出解决步骤。并填写下表。 点击运行,输入cmd,使用ipconfig/all命令 IP地址113.55.91.78

子网络掩码255.255.255.255 默认网关fe80::21e:73ff:fe9a:c820%1450. 0.0.0 首选DNS服务器地址202.203.208.33 备用DNS服务器地址222.203.208.33 (3)显示完整的TCP/IP的配置信息。 (4)在获取本机IP地址之后,在MS-DOS方式下运行下列Ping命令,填写实验运行结果(可附截图)。 (a)ping本机IP地址 (b)ping 本机IP地址–t

Linux常用命令实验报告

实验二 姓名:陈辉龙学号:201407010201 班级:14计科(1)一.实验目的: ?掌握Linux常见命令,为今后的实验打下良好的基础。 二.实验内容 1.新建用户为chenhuilong,配置密码为passwd: 2.切换到chenhuilong用户,并在/home/chenhuilong目录下新建文件夹dir: 3.在文件夹dir下新建文件hello(内容为"printf hello world!"),并将其拷贝至/home/user目录: 4.统计/home/user目录下文件的个数,包括子目录里的首字符为-的普通文件:

5.统计/home下目录的个数,包括子目录里的目录: 6.显示/home/user目录下名为hello的文件的行数、字数以及字符数(使用输入重定向): 7.将上步的结果输出重定向到名为cnt_hello的文件: 8.删除/home/user目录下的hello文件: 9.进入/home/user/dir文件夹,将hello文件属性变为-rwxrw-r--(使用符号标记方式),并为hello文件在/home/user目录下建立软链接,链接文件名为link_hello:

10.查看/home/user/dir/hello文件的详细信息: 11.切换至根目录下查找hello文件: 12.打包home/user/dir/hello文件,并进行压缩,然后再进行解压缩解包: 13.退出user用户,删除/home/user文件夹:

14.将文件夹/home的所有者改为user用户,并删除user用户: 三.实验总结: 本实验旨在熟悉Unix的常用命令,实验较简单,操作起来还算顺利,做了一遍感觉还不是很熟悉,因此做了两遍,第二遍就很得心顺手。通过这次实验,熟悉了一些常用的命令操作,为以后的学习打下坚实的基础,提高自己的动手能力。

实验21 进程调度

实验2、1 进程调度 一、 实验目的 多道程序设计中,经常就是若干个进程同时处于就绪状态,必须依照某种策略来决定那个进程优先占有处理机。因而引起进程调度。本实验模拟在单处理机情况下的处理机调度问题,加深对进程调度的理解。 二、 实验要求 1. 设计进程调度算法,进程数不定 2. 包含几种调度算法,并加以实现 3. 输出进程的调度过程——进程的状态、链表等。 三、 参考例 1.题目——优先权法、轮转法 简化假设 1) 进程为计算型的(无I/O) 2) 进程状态:ready 、running 、finish 3) 进程需要的CPU 时间以时间片为单位确定 2.算法描述 1) 优先权法——动态优先权 当前运行进程用完时间片后,其优先权减去一个常数。 2) 轮转法 四、 实验流程图 开始 键盘输入进程数n,与调度方法的选择 优先权法? 轮转法 产生n 个进程,对每个进程产生一个PCB,并用随机数产生进程的优先权及进程所需的CPU 时间 按优先权大小,把n 个进程拉成一个就绪队列 撤销进程就绪队列为空? 结束 N Y Y

注意: 1.产生的各种随机数的取值范围加以限制,如所需的CPU 时间限制在1~20之间。 2.进程数n 不要太大通常取4~8个 3.使用动态数据结构 4.独立编程 5.至少三种调度算法 6.若有可能请在图形方式下,将PCB 的调度用图形成动画显示。 五.实验过程: (1)输入:进程流文件(1、txt),其中存储的就是一系列要执行的进程, 每个作业包括四个数据项: 进程名 进程状态(1就绪 2等待 3运行) 所需时间 优先数(0级最高) 进程0 1 50 2 进程1 2 10 4 进程2 1 15 0 进程3 3 28 5 进程4 2 19 1 进程5 3 8 7 输出: 进程执行流等待时间,平均等待时间 本程序包括:FIFO 算法,优先数调度算法,时间片轮转调度算法 产生n 个进程, 的时间片数,已占用CPU 的时间片数置为0 按进程产生的先后次序拉成就绪队列链 =0? 撤销该进程 就绪队列为空不? =轮转时间片数? N Y Y Y 结束 N

实验一 常用网络命令的使用 实验报告

实验一、常用网络命令的使用 课程计算机网络班级2013167 姓名郑棋元 完成日期15年4月2 日课(内、外)总计本实验用时间四个小时【实验目的】 1.掌握常用网络命令的使用方法; 2.熟悉和掌握网络管理、网络维护的基本内容和方法 【实验内容】 1.阅读实验指导书提供的资料,结合本地环境对WINDOWS 常用网络命 令进行测试和练习。 2.分析总结实验场地的网络环境、拓扑结构、上网方式等。 【实验步骤和结果】 ⑴ARP:

⑵ftp

⑶Ipconfig ⑷Nbtstat

⑸net: ⑹Netstat ⑺Ping

⑻Route ⑼Telnet 没能调试出来⑽Tracert

【实验思考题】 1.说明如何了解本机及其所处网络的网络配置信息? 输入Ipconfig/all(该诊断命令显示所有当前的 TCP/IP 网络配置值) 2.若网络出现故障,说明使用网络命令进行故障检测的常用步骤? 运用Ping(验证与远程计算机的连接) ping 任一IP地址,如果能ping通,说明你的电脑的TCP/IP没有错误。 ping 自己的IP地址,如果能ping通,说明你的网卡都正常。 ping 路由。如果能通,说明你的主机到路由的物理连接还都正常。 ping 网址。如果能通却还是打不开网页,说明dns有错误。 【实验总结】 常用的网络命令虽然看起来简单,可能觉得没什么用处,但是对于网络问题的诊断却非常有用。用windows系统自带的命令行中的常用网络命令来诊断网络故障,不仅快捷,而且信息反映直观。 【实验心得与体会】 掌握了很多常用却不知道或知道却不熟悉的网络命令的使用方法,知道了两台PC机之间传输文件的多种方式。

Linux常用命令实验报告

实验二 姓名:陈辉龙学号:201407010201 班级:14计科(1)一.实验目的: 掌握Linux常见命令,为今后的实验打下良好的基础。 二.实验内容 1.新建用户为chenhuilong,配置密码为passwd: 2.切换到chenhuilong用户,并在/home/chenhuilong目录下新建文件夹dir: 3.在文件夹dir下新建文件hello(内容为"printf hello world!"),并将其拷贝至/home/user目录: 4.统计/home/user目录下文件的个数,包括子目录里的首字符为-的普通文件:

5.统计/home下目录的个数,包括子目录里的目录: 6.显示/home/user目录下名为hello的文件的行数、字数以及字符数(使用输入重定向): 7.将上步的结果输出重定向到名为cnt_hello的文件: 8.删除/home/user目录下的hello文件: 9.进入/home/user/dir文件夹,将hello文件属性变为-rwxrw-r--(使用符号标记方式),并为hello文件在/home/user目录下建立软链接,链接文件名为link_hello:

10.查看/home/user/dir/hello文件的详细信息: 11.切换至根目录下查找hello文件: 12.打包home/user/dir/hello文件,并进行压缩,然后再进行解压缩解包: 13.退出user用户,删除/home/user文件夹:

14.将文件夹/home的所有者改为user用户,并删除user用户: 三.实验总结: 本实验旨在熟悉Unix的常用命令,实验较简单,操作起来还算顺利,做了一遍感觉还不是很熟悉,因此做了两遍,第二遍就很得心顺手。通过这次实验,熟悉了一些常用的命令操作,为以后的学习打下坚实的基础,提高自己的动手能力。

操作系统实验报告-作业调度实验

作业调度实验 一.实验目的及要求: 用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。 二. 实验环境: 操作系统:Windows XP 编译环境:Visual C++ 6.0 三.算法描述 由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU时限等因素。 作业调度算法:采用先来先服务(FCFS)调度算法,即按作业提交的先后次序进行调度。总是首先调度在系统中等待时间最长的作业。 每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。 作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W。 各个等待的作业按照提交时刻的先后次序排队,总是首先调度等待队列中队首的作业。 每个作业完成后要打印该作业的开始运行时刻、完成时刻、周转时间和带权周转时间,这一组作业完成后要计算并打印这组作业的平均周转时间、带权平均周转时间。 四. 实验步骤: 1.、作业等待算法:分别采用先来先服务(FCFS),最短作业优先(SJF)调度算法。 对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间。 2.程序流程图

3、程序源码结构: void main() { void fcfs(); void sjf(); ... while(1){ printf("\n\t\t/* 1、fcfs */"); printf("\n\t\t/* 2、sjf */"); printf("\n\t\t/* 0、Exit */\n"); printf("\n\n\t请选择:\t"); scanf("%d",&a); printf("\n"); switch(a){ case 1: fcfs();break; case 2: sjf();break; default: break; } if(a!=1&&a!=2) break; } }

常用网络命令实验教案

课题:常用网络命令 教学目标:熟悉Ping、Netstat等命令 教学重点:熟悉Ping、Netstat等命令 教学难点:Netstat命令 教具、教学素材准备:网络环境 教学方法:讲授,演示,实作 教学时数:2 教学过程:(教师授课思路、设问及讲解要点) Windows网络命令行程序 这部分包括: 使用 ipconfig /all 查看配置 使用 ipconfig /renew 刷新配置 使用 ipconfig 管理 DNS 和 DHCP 类别 ID 使用 Ping 测试连接 使用 Arp 解决硬件地址问题 使用 nbtstat 解决 NetBIOS 名称问题 使用 netstat 显示连接统计 使用 tracert 跟踪网络连接 使用 pathping 测试路由器 使用 ipconfig /all 查看配置 发现和解决 TCP/IP 网络问题时,先检查出现问题的计算机上的 TCP/IP 配置。可以使用 ipconfig 命令获得主机配置信息,包括 IP 地址、子网掩码和默认网关。 注意 : 对于 Windows 95 和 Windows 98 的客户机,请使用 winipcfg 命令而不是ipconfig 命令。 使用带 /all 选项的 ipconfig 命令时,将给出所有接口的详细配置报告,包括任何已配置的串行端口。使用 ipconfig /all,可以将命令输出重定向到某个文件,并将输出粘贴到其他文档中。也可以用该输出确认网络上每台计算机的 TCP/IP 配置,或者进一步调查TCP/IP 网络问题。 例如,如果计算机配置的 IP 地址与现有的 IP 地址重复,则子网掩码显示为 0.0.0.0。

实验一 Linux常用命令

淮海工学院计算工程学院实验报告书 课程名:《Linux程序设计》 题目:实验一Linux常用命令 班级:D软件091、092 学号: 姓名:

实验一Linux常用命令 一、实验目的 1、熟悉VMware Workstation 虚拟机的使用; 2、熟悉Ubuntu操作系统; 3、掌握常用的Linux 命令。 二、实验设备 1、硬件:PC; 2、软件:VMware Workstation 虚拟机和Ubuntu操作系统。 三、实验预习要求 1、关于Ubuntu操作系统的安装和使用; 2、Linux 常用操作命令。 四、实验内容 1、基于虚拟机的Ubuntu操作系统的使用; 2、文件与目录相关命令的使用; 3、压缩备份命令的使用; 4、磁盘管理与维护命令的使用; 5、系统管理与设置命令的使用; 6、网络相关命令的使用。 五、实验步骤 1、基于虚拟机的Linux操作系统的使用 (1)启动Windows以后,选择“开始”—“程序”—“VMware”—“VMware Workstation”,启动VMware Workstation应用程序; (2)选择File—Open选择安装好的Linux虚拟机文件启动Linux操作系统; (3)启动系统后输入用户名和密码,进入X window界面; (4)选择“应用程序”—“附件”—“终端”,进入终端界面; (5)在终端中执行Linux 常用命令。 2、文件与目录相关命令的使用(要求在每一个操作命令后写出命令显示效果) (1)查询/bin目录,看一看有哪些常用的命令文件在该目录下: ll /bin

(2)进入/tmp目录下,新建目录myshare:cd /tmp mkdir myshare ls –ld myshare/

进程调度算法实验报告

操作系统实验报告(二) 实验题目:进程调度算法 实验环境:C++ 实验目的:编程模拟实现几种常见的进程调度算法,通过对几组进程分别使用不同的调度算法,计算进程的平均周转时间和平均带权周转时间,比较 各种算法的性能优劣。 实验内容:编程实现如下算法: 1.先来先服务算法; 2.短进程优先算法; 3.时间片轮转调度算法。 设计分析: 程序流程图: 1.先来先服务算法 开始 初始化PCB,输入进程信息 各进程按先来先到的顺序进入就绪队列 结束 就绪队列? 运行 运行进程所需CPU时间 取消该进程 2.短进程优先算法

3.时间片轮转调度算法 实验代码: 1.先来先服务算法 #include #define n 20 typedef struct { int id; //进程名

int atime; //进程到达时间 int runtime; //进程运行时间 }fcs; void main() { int amount,i,j,diao,huan; fcs f[n]; cout<<"请输入进程个数:"<>amount; for(i=0;i>f[i].id; cin>>f[i].atime; cin>>f[i].runtime; } for(i=0;if[j+1].atime) {diao=f[j].atime; f[j].atime=f[j+1].atime; f[j+1].atime=diao; huan=f[j].id; f[j].id=f[j+1].id; f[j+1].id=huan; } } } for(i=0;i #define n 5 #define num 5 #define max 65535 typedef struct pro { int PRO_ID; int arrive_time;

操作系统作业调度实验报告

实验二作业调度 一.实验题目 1、编写并调试一个单道处理系统的作业等待模拟程序。 作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)的调度算法。 (1)先来先服务算法:按照作业提交给系统的先后顺序来挑选作业,先提交的先被挑选。 (2)最短作业优先算法:是以进入系统的作业所提出的“执行时间”为标准,总是优先选取执行时间最短的作业。 二.实验目的: 本实验要求用高级语言(C语言实验环境)编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解 三.实验过程 <一>单道处理系统作业调度 1)单道处理程序作业调度实验的源程序: zuoye.c 执行程序: zuoye.exe 2)实验分析: 1、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业 完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU 时限等因素。 2、每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、 所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待 W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W。 3、对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周 转时间,以及这组作业的平均周转时间及带权平均周转时间。 3)流程图:

代替 二.最短作业优先算法 代替 三.高响应比算法 图一.先来先服务流程图 4)源程序: #include #include #include #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 int n; float T1=0,T2=0; int times=0; struct jcb //作业控制块 { char name[10]; //作业名 int reachtime; //作业到达时间

计科13-2 第五组 实验2 网络常用命令使用(学习类别)

宁波工程学院电子与信息工程学院 计算机网络实验实验报告 实验名称实验2 网络常用命令使用 班级计科13-2 组别 5 实验地点逸夫楼511 日期 3.24 一、实验目的: ●使用ipconfig命令查看本机地址、网关地址、DNS服务器地址 ●使用ping命令测试网络(如网关)的连通性 ●使用arp命令查看、修改ARP高速缓存内容 ●使用route命令查看路由表,并解释路由表的主要内容 二、实验内容、要求和环境: (1)任务1:使用ping 命令验证简单TCP/IP 网络的连通性。 ping命令用于验证本地主机计算机或其它网络设备上的TCP/IP 网络层连通性。 使用该命令时,可以用目的IP 地址或限定域名(如https://www.wendangku.net/doc/f715902273.html,)来测试域名服务(DNS) 功能。本实验只使用IP 地址。 ping操作很简单。源计算机向目的设备发送ICMP 回应请求。目的设备用应答消息做出响应。如果源设备和目的设备之间连接断开,路由器可能会用ICMP 消息做出响应,表示主机未知或目的网络未知。 步骤1:验证本地主机计算机上的TCP/IP 网络层连通性。 C:\> ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address : 172.16.1.2 Subnet Mask : 255.255.0.0 Default Gateway : 172.16.255.254 C:\> 1. 打开Windows 终端,用ipconfig命令确定该主机计算机的IP 地址。 除IP 地址外,输出的其它内容应该与图示相同。如果缺少信息或显示其它子网掩码和默认网关,请重新配置与此主机计算机设置相符的TCP/IP 设置。 2. 记录本地TCP/IP 网络信息的相关信息。

实验一 单处理器系统进程调度(正确)

实验一单处理器系统进程调度 一、实验目的 1.加深对进程概念的理解,明确进程和程序的区别。 2.深入了解系统如何组织进程、创建进程。 3.进一步认识如何实现处理器调度。 二、实验预备知识 1.进程的概念。 2.进程的组织方式。 3.进程的创建。 4.进程的调度。 三、实验内容 编写程序完成单处理机系统中的进程调度,要求采取用时间片轮转调度算法。试验具体包括:首先确定进程控制块的内容,进程控制块的组成方式;然后完成进程创建、调度原语;最后编写主函数对所做工作进行测试。 四、提示 这个实验主要要考虑三个问题:如何组织进程、如何创建进程和如何实现处理器调度。 考虑如何组织进程,首先就要设定进程控制块的内容。进程控制块PCB,记录各个进程执时的情况。不同的操作系统,进程控制块记录的信息内容不_样。操作系统功能越强,软件也越庞大,进程控制块记录的内容也就越多。这里的实验只使用了必不可少~信息。一般操作系统中,无论进程控制块中信息量多少,信息都可以大致分为以下四类: (1)标识信息 每个进程都要有一个惟一的标识符,用来标识进程的存在和区别于其他进程。这个标识符是必不可少的,可以用符号或编号实现,它必须是操作系统分配的。在后面给出的参考程序中,采用编号方式,也就是为每个进程依次分配一个不相同的正整数。 (2)说明信息 用于记录进程的基本情况,例如进程的状态、等待原因、进程程序存放位置、进程数据存放位置等等。实验中,因为进程没有数据和程序,仅使用进程控制块模拟进程,。所以这部分内容仅包括进程状态。 {int head; int tail; }ready;//定义指向就绪队列的头指针head和尾指针tail int pfree;//定义指向空闲进程控制块队列的指针 进程创建是一个原语,因此在实验中应该用一个函数实现,进程创建的过程应该包括: (1)申请进程控制块:进程控制块的数量是有限的,如果没有空闲进程控制块,则进程 不能创建,如果申请成功才可以执行第二步; (2)申请资源:除了进程控制块外,还需要有必要的资源才能创建进程,如果申请资 源不成功,则不能创建进程,并且归还已申请的进程控制块:如果申请成功,则执行第三步,实验无法申请资源,所以模拟进程忽略了申请资源这一步 (3)填写进程控制块:将该进程信息写入进程控制块内,实验中只有进程标识符、进 程状态可以填写,每个进程现场信息中的寄存器内容由于没有具体数据而使用进程(模拟进程创建时,需输入进程标识符字,进程标识符本应系统建立,并且是惟一一的,输入时注

相关文档