西工大操作系统实验2(精选五篇)

时间:2019-05-12 06:49:07下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《西工大操作系统实验2》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《西工大操作系统实验2》。

第一篇:西工大操作系统实验2

实验二 FreeBSD的应用软件安装

问题:

目前实验室安装的是一个运行在Windows XP虚拟机上的FreeBSD操作系统,是可视化桌面环境的命令行界面,上边只有最基本的Unix操作系统,没有任何应用软件。

现在如果想安装一些常用软件,像编写java程序必须的JDK虚拟机,作为服务器常用的SMTP邮件服务器端软件,可以远程登录FreeBSD的SSH开启方式… 这次实验主要的问题就是:

请问如何使用FreeBSD安装应用软件?

要求:

1、请查阅资料,了解FreeBSD 安装软件的主要方式,每种方式的具体步骤、操作指南;

2、学习使用FreeBSD安装方法的一种进行安装简单的SSH。

3、详细记录探索学习的内容和实验的整个过程,包括资料的查询、资料的来源(资料名称、网址等)、所做的各种尝试、以及最终的结果(包含截屏);

4、对整个实验过程进行分析总结,给出详细步骤;

5、将记录和分析总结整理成实验报告以word文件格式提交到FTP上;

6、实验报告文件按“实验二_班级_学号_姓名”格式命名;

7、实验报告提交的最后期限为下周。

提示:

1、首先可以学习使用虚拟机VMware挂载U盘,读取U盘内容的方式,这样可以使用命令使虚拟机中的FreeBSD可以获得U盘的内容。

2、其次可以研究使用虚拟机挂载虚拟光驱并加载FreeBSD映像,这样可以使用命令读取光盘的内容。

第二篇:操作系统实验

操作系统实验

实验一

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 目录。

第三篇:西工大计算机网络实验一

实验一通过Console口配置交换机

一、实验目的

1.掌握交换机基本配置方法。2.掌握基本配置命令。

二、实验内容

实验环境:

计算机1台、交换机1台,Console 线1根,网线若干。

实验步骤:

1.连线

第一次安装使用交换机时,只能通过配置口(Console)进行配置。首先,关闭计算机和交换机的电源,将配置电缆的DB-9(或DB-25)孔式插头接到要对交换机进行配置的微机的串口上。然后,将配置电缆的RJ-45 一端连到交换机的配置口(Console)上。

2.设置超级终端参数

压制RJ-45 水晶头需使用专用卡线钳按下述步骤制作:(1)剥线。用卡线钳剪线刀口将线头剪齐,再将双绞线端头伸入剥线刀口,使线头触及前挡板,然后适度握紧卡线钳同时慢慢旋转双绞线,让刀口划开双绞线的保护胶皮,取出端头从而拨下保护胶皮。注意握钳力度不能过大,否则会剪断芯线。剥线的长度为大约25mm。

(2)理线。双绞线由8 根有色导线两两绞合而成,将其整理平行,按照568B 线序橙白、橙、绿白、兰、兰白、绿、棕白、棕色平行排列,整理完毕用剪线刀口将前端修齐。修齐后长度12mm--15mm,不宜太长或太短。

(3)插线。一只手捏往水晶头,将水晶头有塑料卡子的一侧向下,另一只手捏平双绞线,稍稍用力将排好的线平行插入水晶头内的线槽中,八条导线顶端应插入线槽顶端。第一只引脚内应该放橙白色的线,其余类推。

(4)压线。确认所有导线都到位后,将水晶头放入卡线钳夹槽中,用力捏几下卡线钳,压紧线头即可。重复上述方法制作双绞线的另一端,一条网线即制作完成。

(5)检测。使用电缆检测仪检测制作的网线是否正确连通。将制作好的网线的两端分别插入电缆测试仪的两个插口,打开电源,如果接头制作正确,LED 会按照序号逐对闪烁。如果有LED不亮或LED不是按序号逐对闪亮,表示此网线接头制作有问题,应重新制作。

思考题:

(1)如果两个接头的线序发生同样的错误,网线还能用吗?

答:网线还能使用,网线中有4对先,如果是成对的错误,例如蓝色对和绿色对交换了,一般没什么影响,如果不是成对出现错误,也可以用,但是在高速或者距离长时容易出现错误。

(2)请用便于记忆的形式总结出568A 和568B 的线序。答:

568A绿蓝橙棕,三五互换; 568B橙蓝绿棕,三五互换。

三、实验中遇到的问题

一开始不知道如何使用制作网线的工具,经同学帮助才学会基本使用;在制作接头时不知道接线的顺序,在老师的指导下初步完成了网线的制作;在检测时,由于制作时的问题,导致制作失败,然后重新制作才得以成功。

四、心得体会

通过本次实验,我初步了解网线制作和测试的方法,了解了不同标准RJ-45连接器的线序,掌握了直通线和交叉线的制作方法,理解了直通线和交叉线的不同应用范围和原理。

在做实验之前,应该事先预习实验内容,才能顺利的进行实验。实验二网络连通性测试与网络命令验证

一、实验目的

1.掌握使用网线连接设备的方法。2.掌握常用网络命令。

二、实验内容

实验环境:

8口交换机1台,计算机4台,网线4根。

实验步骤:

1.连接设备

步骤:关闭计算机电源→按照图示连接设备→打开计算机电源。2.网络属性设置

步骤:控制面板→网络和拨号连接→本地连接→属性→Internet 协议(TCP/IP)→属性→将3台计算机的IP 地址分别设置为:192.168.0.123、192.168.0.124、192.168.0.125;子网掩码全部为:255.255.255.0。

3.测试网络连通性

使用Ping 命令测试网络连通性步骤:在IP 地址为192.168.0.1 的计算机上打开“开始”→“运行”→输入“cmd”→确定→在DOS 提示符下键入命令

“Ping 192.168.0.123” 和“Ping 192.168.0.125”→如果出现类似于“Reply from 192.168.0.2„„”的回应,说明TCP/IP 协议工作正常;如果显示类似于“Request timed out”的信息,说明双方的TCP/IP 协议的设置可能有错,或网络的其它连接有问题。重新设置后再次测试。

4.查看网络设置

(1)使用Ipconfig命令查看网络设置,下面的命令测试全部在DOS 提示符下完成键入Ipconfig显示所有适配器的基本TCP/IP 配置。

键入Ipconfig/all 显示所有适配器的完整TCP/IP 配置。

5.测试其它网络命令

(1)键入net view Computer Name 查看由Computer Name 计算机共享的资源列表。如果显示“There are no entries in the list”消息则在指定的计算机上没有文件或打印共享。如果“System error 53 has occurred”消息,可能是计算机名称不正确或网关(路由器)没有运行。

(2)键入arp-a 显示所有接口的ARP 缓存表。

(3)键入arp-a-n 192.168.0.2 显示IP 地址为192.168.0.2 接口的ARP 缓存表。

(4)键入netstat-e-s 显示以太网统计信息和所有协议的统计信息。

(5)键入netstat-s-p tcp显示TCP 协议的统计信息。

(6)键入route print 显示IP 路由表的完整内容。

(7)键入net config显示可配置服务的列表。

(8)键入net config workstation 显示本地计算机的当前配置。

(9)键入net time 显示另一台计算机或域的时间

(10)键入net help 提供网络命令列表及帮助主题

思考题:

命令“PING 127.0.0.1”的作用是什么?

答:目的是检测本机的回路是否正常,如果正常,则说明本机的TCP/IP协议安装正常,否则就说明TCP/IP协议不正常。

三、实验中遇到的问题

本次实验中,由于一开始网络IP以及默认网关的设置不太了解,导致耗费了很多时间,在助教和同学们的帮助下,成功的建立了一个小型的局域网;由于我不熟悉DOS命令,导致很多的命令行运行错误,得不到正确的结果,在老师的帮助下我成功解决了问题,并且掌握了一部分ARP命令的用法及帮助指令。

四、心得体会

通过本次实验,我初步了解网络设备连接方法,掌握了如何设置IP以及默认网关来建立一个小型的局域网,同时,我还初步掌握了一些DOS命令,比如IP的查询以及路由的打印等,对ARP命令有了更多的了解,掌握了部分网络命令的用法和用途。

第四篇:操作系统实验总结

操作系统实验总结

学号:

姓名:

班级:

在本学期的计算机操作系统这门课学习当中,为了更好的了解操作系统相关知识,我们通过OS Lab平台做了几个实验。在实验室的过程中,我对课堂上学到的操作系统的一些知识有了新的认识,同时还接触到了操作系统的相关源代码,而且通过实验的运行效果了解了平时我们看不到的操作系统的一些状况,收获还是很大的。下面先简要归纳在实验课上我做的几个实验的主要实验内容和实验步骤:

实验一:实验环境的使用

实验步骤:

1.1启动OS Lab

OS Lab每次启动后都会首先弹出一个用于注册用户信息的对话框(可以选择对话框标题栏上的“帮助”按钮获得关于此对话框的帮助信息)。在此对话框中填入学号和姓名后,点击“确定”按钮完成本次注册。观察OS Lab主窗口的布局。OS Lab主要由下面的若干元素组成:菜单栏、工具栏以及停靠在左侧和底部的各种工具窗口,余下的区域用来放置编辑器窗口。

1.2 学习OS Lab的基本使用方法

练习使用OS Lab编写一个Windows控制台应用程序,熟悉OS Lab的基本使用方法(主要包括新建项目、生成项目、调试项目等)。

实验二:操作系统的启动

实验步骤:

2.1 准备实验

启动OS Lab,新建一个EOS Kernel项目,在“项目管理器”窗口中打开boot文件夹中的boot.asm和loader.asm两个汇编文件,按F7生成项目,生成完成后,使用Windows资源管理器打开项目文件夹中的Debug文件夹。找到由boot.asm生成的软盘引导扇区程序boot.bin文件,找到由loader.asm生成的loader程序loader.bin文件,记录下此文件的大小1566字节。

2.2 调试EOS操作系统的启动过程

2.2.1 使用Bochs做为远程目标机

将调试时使用的远程目标机修改为Bochs

2.2.2 调试BIOS程序

按F5启动调试,Bochs在CPU要执行的第一条指令(即BIOS的第一条指令)处中断,从Console窗口显示的内容中,我们可以获得关于BIOS第一条指令的相关信息,然后查看CPU在没有执行任何指令之前主要寄存器中的数据,以及内存中的数据。

2.2.3 调试软盘引导扇区程序

练习从0x7c00处调试软盘引导扇区程序;查看boot.lst文件;调试过程——软盘引导扇区程序的主要任务就是将软盘中的loader.bin文件加载到物理内存的0x1000处,然后跳转到loader程序的第一条指令(物理地址0x1000处的指令)继续执行loader程序;

2.2.4 调试加载程序

调试过程——Loader程序的主要任务是将操作系统内核(kernel.dll文件)加载到内存中,然后让CPU进入保护模式并且启用分页机制,最后进入操作系统内核开始执行(跳转到kernel.dll的入口点执行);

2.2.5 调试内核

2.2.6 EOS启动后的状态和行为

查看EOS的版本号;查看EOS启动后的进程和线程的信息;查看有应用程序运行时进程和线程的信息

实验三:进程的创建

实验步骤:

3.1 准备实验

启动OS Lab;新建一个EOS Kernel项目;分别使用Debug配置和Release配置生成此项目,从而在该项目文件夹中生成完全版本的EOS SDK文件夹;新建一个EOS应用程序项目;使用在第3步生成的SDK文件夹覆盖EOS应用程序项目文件夹中的SDK文件夹

3.2 练习使用控制台命令创建EOS应用程序的进程

3.3 练习通过编程的方式让应用程序创建另一个应用程序的进程

使用OS Lab打开本实验文件夹中的NewProc.c文件;查看应用程序创建另一个应用程序的进程的执行结果。

3.4 调试CreateProcess函数

调试CreateProcess函数创建进程的过程;分别验证应用程序和操作系统内核在进程的4G虚拟地址空间中所处的位置;

3.5 调试PsCreateProcess函数

调试PspCreateProcessEnvironment函数;调试进程控制块的创建过程;调试初始化进程控制块中各个成员变量的过程。

3.6 练习通过编程的方式创建应用程序的多个进程

使用OS Lab打开本实验文件夹中的参考源代码文件NewTwoProc.c,仔细阅读此文件中的源代码。使用NewTwoProc.c文件中的源代码替换EOS应用程序项目中EOSApp.c文件内的源代码,生成后启动调试,查看多个进程并发执行的结果。

实验四:线程的状态和转换

实验步骤:

4.1 准备实验

启动OS Lab,新建一个EOS Kernel项目

4.2 调试线程状态的转换过程

查看一下loop命令执行的效果;调试线程状态转换的过程;对断点进行一些调整。

4.2.1 线程由阻塞状态进入就绪状态:

将线程从等待队列中移除;将线程的状态由Waiting修改为Zero;将线程插入其优先级对应的就绪队列的队尾;将线程的状态由Zero修改为Ready。

4.2.2 线程由运行状态进入就绪状态:

线程中断运行,将线程中断运行时的上下文保存到线程控制块中;如果处于运行状态的线程被更高优先级的线程抢先,就需要将该线程插入其优先级对应的就绪队列的队首。(注意,如果处于运行状态的线程主动让出处理器,例如时间片用完,就需要将程插入其优先级对应的就绪队列的队尾);将线程的状态由Running修改为Ready

4.2.3 线程由就绪状态进入运行状态:

将线程从其优先级对应的就绪队列中移除;将线程的状态由Ready修改为Zero;将线程的状态由Zero修改为Running;将线程的上下文从线程控制块(TCB)复制到处理器的各个寄存器中,让线程从上次停止运行的位置继续运行。

4.2.4 线程由运行状态进入阻塞状态:

将线程插入等待队列的队尾;将线程的状态由Running修改为Waiting;将线程中断执行,并将处理器上下文保存到该线程的线程控制块中。

4.3 为线程增加挂起状态

观察loop线程被挂起的情况:删除之前添加的所有断点;按F5启动调试;待EOS启动完

毕,在EOS控制台中输入命令“loop”后按回车。此时可以看到loop线程的执行计数在不停增长,说明loop线程正在执行,记录下loop线程的ID;按Ctrl+F2切换到控制台2,输入命令“suspend 31”(如果loop线程的ID是31)后按回车;按Ctrl+1切换回控制台1,可以看到由于loop线程已经成功被挂起,其执行计数已经停止增长了。

在PsResumThread函数第119行需要添加的代码的流程可以是:首先调用List Remove Entry函数将线程从挂起线程队列中移除,然后调用PspReadyThread函数将线程恢复为就绪状态,最后调用PspThreadSchedule宏函数执行线程调度,让刚刚恢复的线程有机会执行。

实验过程:

做实验时,最开始并不是很了解OS Lab平台的使用,即使对着老师给的实验教程做还是不怎么会,于是请教会做的同学,通过同学的讲解我知道了怎样在OS Lab平台上建立项目,怎样更改路径并找到项目的源文件等等基本操作。

掌握对平台的简单应用后,做后面的实验我是按照实验教程上的步骤一步步的实施,并且每次都认真观察相应的运行结果,每个实验都会建议我们学习实验教程前面的理论部分,我想如果对他的理论不熟悉,就算试验成功了我也不知道为什么,所以我一般在做实验前会对前面的理论部分进行简要的学习和熟悉。做实验的过程中,有时候按照实验教程上的步骤做平台还是会出现一些错误,比如做实验三到调试CreateProcess函数时,出现的调试异常对话框中,本来是要点击“是”的,但做到这里电脑总是会出现像死机一样的状况,关掉平台重做到这里老是出现同样的问题,最后换电脑也是这样,然后我尝试不按照实验步骤点击“是”也不行,最后还是又还了电脑才做成功,问其他同学也有出现同样的问题,我想可能是平台和电脑上有什么地方有冲突吧。

之后做试验是遇到问题我还是选择多问同学,毕竟每个人擅长的是不同的,有些问题这个同学会解决,有些问题则是那个同学才懂解决,通过互相交流和学习,我们通过实验不仅巩固了课堂上学到的相关知识,也对操作系统有了更深的了解。

体会:

其实做完实验我还是不能保证我对OS Lab这个平台有很好的全面的了解,但是对一些基本操作及其快捷键我算是大致掌握了,通过这个平台我也是认识到了“没有做不到的,只有想不到的”,我觉得创建这个平台的人们真的是很了不起,这个平台让我们便动手便了解了平时我们看不到的操作系统的相关知识。要做好实验,得按照实验教程上面的内容一步步落实,要边做变领悟相关原理及运行结果的出现的原因,这样我们才能在试验中学到更多、掌握更多。其次,也遇到问题我们自然是要先自己思考,通过不同的尝试来解决,之后不能解决的我们要多向老师同学请教,通过互相交流得来的知识也是会让我们难忘的。

第五篇:《操作系统》实验指导书

《操作系统》实验指导书

(适用于计科、网络工程、软件工程、信计专业)

计算机科学与技术学院

2010-5

目录

前言..................................................................................................................................................3 实验

一、进程管理与进程同步.......................................................................................................4 实验

二、存储器管理.......................................................................................................................6 实验

三、磁盘调度算法的设计.......................................................................................................7 实验

四、文件系统原理与模拟实现...............................................................................................8

前言

本课程将系统学习操作系统的基本概念和常用算法以及其发展情况和应用情况。通过本课程的学习,学生应达到如下要求:

1、加深理解操作系统原理。

2、熟悉操作系统的常用算法并完成算法的程序设计。

3、理解当前操作系统的应用前景和新的进展。

本课程主要讲解操作系统的实现原理,如进程管理、进程同步、存储器管理、设备管理和文件系统等。要求学生理解操作系统的基本原理并完成其中多种典型的操作系统的算法的模拟序设计。

学生可以采用任何一种自己熟悉的编程语言完成算法的程序设计,如C/C++、Delphi、VB、VC、C#等。

实验

一、进程管理

实验目的:

理解和掌握进程管理中死锁处理和进程同步的方法。

实验内容:

实现银行家算法、进程调度过程的模拟、读者-写者问题的写者优先算法。

实验步骤:

 理解安全性算法和银行家算法的核心机制:

针对3类资源、5个进程的情况,设计相应的数据结构,分别表示每个进程占用各类资源的情况;

编程实现安全性算法函数,编制主函数,动态输入资源的占用情况,进程的资源申请,调用安全性函数,实现银行家算法;

测试:输入可分配和不可分配的请求,测试系统的正确性。

 理解进程的三状态调度过程,及各状态间的转换关系;

模拟若干个进程的运行过程,将其存入进程文件中。如:进程1:运行5秒后有3秒的I/O操作,之后有10秒的运行,结束。可以写成:”p1:r5,io3,r3 e;” ;

编程实现调度算法函数,定义时间片大小和并发进程个数,不断从进程文件中读出进程信息,模拟进程的运行及调度过程;

测试:针对进程文件里面的数据为正常、缺项、格式不正确等各种情况,检测程序的执行结果。

 设计读者--写者问题的写者优先算法;

学习Windows平台下信号量的API函数的使用;编制读写进程的模拟信息文件,里面包含多个读写进程的运行描述:编制读者--写者问题的写者优先算法,从进程模拟信息文件中取出进程信息,按要求启动对应的进程模拟程序,决定出读者/写者进程的运行次序。

实验结果:

银行家算法程序提供一个用户界面,可以在上边发出资源申请命令,系统应能给出是否可以接受申请,并且有结论输出;

进程调度模拟程序根据一个进程调度文件,模拟进程的各种调度过程,用适合的表达方式表示出来。

写者优先同步控制程序根据一个读写进程模拟信息文件,按照写者优先同步控制过程,用适合的表达方式表示出各读写进程的执行次序。

实验

二、存储器管理

实验目的:

理解各类置换算法的原理和虚拟存储器管理的方法。

实验内容:

编程实现LRU算法或CLOCK/改进算法等置换算法(二选一),模拟实现虚拟存储器的地址变换过程。

实验步骤:

 理解LRU或CLOCK改进算法等置换算法;

设计与算法相关的数据结构,如:LRU的堆栈或CLOCK改进算法中的循环结构;

按照最多5块的内存分配情况,编程实现所选算法,动态输入访问内存的块号序列,输出置换结果;

测试:输入合法、非法的访问序列数据,检查程序的正确性和健壮性。

 理解虚拟存储器的地址变换过程;

设计用于模拟快表、页表、地址变换所用的寄存器的数据结构; 编制页表的初始信息文件,举例说明文件中具有的信息:共有5块,每块的状态、在内存和外存的起始地址等。

编程实现虚拟存储器地址变换算法程序,动态输入所要访问的逻辑地址,变换过程文字描述以及变换后的物理地址;

测试:输入有效、无效地址,测试程序的正确性和错误处理能力。

实验结果:

置换算法程序提供内存访问序列的输入界面,输出正确的置换过程描述和置换结果;

虚拟地址变换程序提供逻辑地址输入界面,形象地表示出变换成物理地址的过程与最后变换成的物理地址。

实验

三、磁盘调度算法的设计

实验目的:

通过对磁盘调度算法的设计,深入理解提高磁盘访问速度的原理。

实验内容:

模拟实现磁盘调度算法:最短寻道时间优先(SSTF)和扫描(SCAN)算法。

要求:

可以对给出的任意的磁盘请求序列、计算平均寻道长度; 要求可定制磁盘请求序列长度、磁头起始位置、磁头移动方向。

测试:假设磁盘访问序列:98,183,37,122,14,124,65,67;读写头起始位置:53,方向:磁道增加的方向。

实验

四、文件系统原理与模拟实现

实验目的:

了解操作系统中文件系统的结构和管理过程,掌握经典的算法:混合索引与成组链接法等方法。

实验内容:

编程模拟实现混合索引和成组链接法算法;

实验步骤:

 模拟混合索引的原理;

假设每个盘块16字节大小,每个盘块号占2字节:

设计支持混合索引算法的索引节点的数据结构;编程模拟实现混合索引算法。

测试:输入一个文件的长度,给出模拟分配占用的磁盘块的情况;输入一个需要访问的地址,计算该地址所在的盘块号。

 模拟成组链接法的原理;

设系统具有7个可用磁盘块,每组3块。

编程模拟实现成组链接法。输入请求的磁盘块数,模拟成组链接分配;输入回收的磁盘块号,模拟成组链接回收。

测试:输入请求的磁盘块数,给出分配后的链接情况。输入回收的磁盘块号,给出回收后的链接情况。

下载西工大操作系统实验2(精选五篇)word格式文档
下载西工大操作系统实验2(精选五篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    操作系统实验体会

    操作系统实验体会 操作系统 2010-04-04 14:38:15 阅读814 评论0 字号:大中小 订阅 每一次课程设计度让我学到了在平时课堂不可能学到的东西。所以我对每一次课程设计的机会......

    操作系统实验六

    void * my_malloc(unsigned int size){ // int i; // Linker *p=first; // for(i=size;inext; // if(i>HEAP_SIZE)//空?间?不?足Á? //return NULL; // if(i==HEAP_SIZE){ /......

    操作系统实验十

    试验十文件系统设计 数计学院教师实验教案 (实验十) 实验项目名称:文件系统设计 教师评分: 一、实验项目名称: 文件系统设计 二、实验目的和要求: 目的:通过一个简单多用户文件系统......

    操作系统本科实验任务

    实验一 一、实验名称 进程调度的设计与实现 二、实验目的 1、 综合应用下列知识点设计并实现操作系统的进程调度:邻接表,布尔 数组,非阻塞输入,图形用户界面GUI,进程控制块,进程状......

    山大操作系统实验35篇

    进程调度算法实验 张咪 软件四班 一、实验要求 设有两个并发执行的父子进程,不断循环输出各自进程号、优先数和调度策略。进程初始调度策略均为系统默认策略和默认优先级。当......

    操作系统实验教学大纲(新)

    《操作系统》课程实验教学大纲 英文名称:Operating System 课程编号:0007021046-1 学时数:48+S16 课程性质:必修 先修课程:C语言程序设计、数据结构、计算机组成原理、汇编语言程......

    网络操作系统实验教案

    网络操作系统实验指导书 2006.3 网络操作系统实验教案 孙梅 一、实验名称: 实验一、网络操作系统的安装(2学时) 二、仪器、设备: 计算机、网络互联设备路由器或交换机 三、参考......

    北邮操作系统第二次实验[模版]

    北京邮电大学操作系统实验实验报告 班号:2011211314姓名:oneseven学号: 实验日期: 2013.12.16 实验名称: 操作系统实验 一、实验目的 通过模拟实现内存分配的伙伴算法和请求页式......