计算机组成原理与操作系统实验指导书.docx
- 文档编号:12390438
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:73
- 大小:527.54KB
计算机组成原理与操作系统实验指导书.docx
《计算机组成原理与操作系统实验指导书.docx》由会员分享,可在线阅读,更多相关《计算机组成原理与操作系统实验指导书.docx(73页珍藏版)》请在冰豆网上搜索。
计算机组成原理与操作系统实验指导书
计算机组成原理与操作系统
实验指导书
杨承玉
2009-6-24
目录
实验一linux操作系统仿真安装1
实验二Linux环境实验
(一):
linux使用环境1
实验二Linux环境实验
(二):
Linux下C编程环境1
实验三进程观察实验
(一):
多进程环境4
实验三进程观察实验
(二):
进程的控制10
实验四设备管理实验15
附录一:
Linux简介19
附录二:
Linux命令速查22
前言
该实验指导书是为计算机组成原理与操作系统的实验课程准备的。
实验一是利用Vmware仿真安装Linux,目的在于让学生了解真实安装与运行操作系统与仿真的区别。
之后的实验都是基于linux操作系统的,目的在于帮助学生直观地理解课程中涉及到一些重要的概念。
如下图所示,通过应用程序来观察linux操作系统内核的工作原理。
实验内容涉及进程管理、设备管理等。
实验类型如下:
1、使用命令观察;
2、编写用户级程序,使用系统调用或库函数观察;
可根据具体的课程内容和学时安排选择完成其中的部分实验。
实验一linux操作系统仿真安装
实验目的
了解虚拟机工作原理,了解如何安装操作系统。
实验内容
(1)VMware的安装及配置
(2)VMware下Linux的安装
(3)VMwaretools的安装
实验基础
正常情况下,一台计算机只能同时运行一个操作系统,操作系统通过设备驱动来使用计算机的硬件。
计算机的硬件一般包含鼠标、键盘、CPU、内存、磁盘控制器、磁盘驱动器、显卡、网卡等。
虚拟计算机技术用软件真实地模拟计算机硬件环境,使得操作系统分辨不出是运行在真实的计算机环境中还是虚拟计算机环境中。
虚拟计算机软件可以模拟所有常见的硬件设备,如CPU、BIOS、内存、显卡、IDE硬盘、光驱、鼠标、键盘、声卡、串口、并口、USB接口、网卡等。
运行在真实的硬件上的操作系统称为主机,在虚拟机软件上运行的虚拟计算机可称为客户机。
客户机可以直接使用主机的硬件设备完成与外部环境的交互和通讯。
虚拟机软件可以在一台电脑上模拟出来若干台PC,每台PC可以运行单独的不同操作系统而互不干扰,可以实现一台电脑“同时”运行几个操作系统,在每个操作系统上可以运行各自的应用程序。
Vmware软件(VMwareWorkstation)是VMware公司出品的一个多系统安装软件。
和在一台机器上安装多个操作系统不同,VMware以主机操作系统为平台运行虚拟机,可以在主机、虚拟机之间以及各虚拟机之间方便的切换。
虚拟的客户机只是以一个文件的形式存储于主机上,因此用户可以随意地对客户机进行分区、格式化、安装操作系统等操作而不会对主机系统产生任何影响。
虚拟的客户机所使用的内存大小、硬盘容量大小等都可以根据用户的需要进行调整。
Vmware可虚拟出若干台客户机,每台机器可以运行单独的操作系统而互不干扰,这些“虚拟”机器各自拥有自己独立的CMOS、硬盘和操作系统。
用户可以象使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作。
VMware还有个极大的优点就是复用性强,对于不同的单机系统,在初次使用时不必每次都进行虚拟OS的安装过程,省却很多麻烦。
只需在一台机器上安装成功,保存安装文件,在其他单机系统只需安装VMware软件,然后把保存下的虚拟系统文件复制、粘贴到要使用虚拟机单机的硬盘上,即可复用。
实验指导
一、VMware的安装及配置
1.VMware的下载及安装
你可以从许多软件下载网站得到VMware的安装程序。
在此推荐以下两个网址:
⑴VMware的大本营www.VM
⑵中国虚拟机论坛
注意:
安装程序有forWindows和forLinux之分,请下载正确的版本。
2.VMware的配置
VMware安装完毕后,利用它可以建立多个虚拟机,每新建一个虚拟机,就会要求你建立一个配置文件。
这个配置文件实际上相当于虚拟的客户机的“硬件配置”,你可以在配置文件中决定虚拟机的硬盘如何配置,内存多大,准备运行哪种操作系统,是否有网络等。
配置Linux虚拟机的步骤如下。
(1)选择File菜单下的“NewVirtualMachine”出现新虚拟机向导后单击“下一步”,选择“Typical”典型安装。
(2)再单击“下一步”,在选择操作系统界面的“GuestOperationSystem”中选择“Linux”,然后单击Version对应的下拉菜单选择具体的Linux版本,此处我们选择“RedHatLinux”。
(3)单击“下一步”进入安装目录选择界面。
该界面上面的文本框是系统的名字,保持默认值即可,下面的文本框需要选择虚拟机操作系统的安装位置。
(4)根据需要选择好后,单击“下一步”按钮,出现设置虚拟机内存大小的界面。
Linux9.0对内存的要求是:
文本模式至少需要64MB;图形化模式至少需要128MB,推荐使用192MB。
此处我们选择192MB。
(5)单击“下一步”按钮进入网络连接方式选择界面。
VMware有四种网络设置方式,一般来说,Bridged方式使虚拟机就像网络内一台独立的计算机一样,最为方便好用(四种连网方式的区别大家可参考VMware的有关资料)。
在此,我们选择Bridged方式。
(6)单击“下一步”按钮进入虚拟磁盘的设置界面。
这里有三种方式(Createanewvirtualdisk、Useanexistingvirtualdisk、Useaphysicaldisk)可供选择,建议初学者选择“Createanewvirtualdisk”,其含义是新建一个虚拟磁盘,该虚拟磁盘只是主机上的一个独立文件。
(7)在“下一步”中设置磁盘大小。
在此,我们采用默认的4GB。
(8)单击“下一步”进入文件存放路径选择界面。
在此界面可单击Browse按钮进行设置。
此处我们使用默认值,单击“完成”按钮。
至此,完成一个虚拟机的配置。
二、VMware下Linux的安装
以上相当于组装了一台新的计算机,接下来的工作便是安装操作系统了。
安装前需做好准备工作:
购买一套RedHatLinux9.0的安装盘,共三张。
或下载RedHatLinux9.0安装所需要的三个ISO文件。
下面,我们以使用ISO镜像文件安装为例讲述。
1.安装虚拟光盘
(如果直接用光盘安装,可省去此步及后述的第5步,直接将光盘插入物理光驱即可)
选择VM菜单下的Settings选项,单击Hardware选项卡下的CD-ROM,在右边的“connection”单选按钮组中选择“UseISOimage”,按“Browse”选择3个光盘文件中的第一个,然后按“OK”。
按“advanced”,在Virtualdevicemode(虚拟设备模式)选择虚拟设备的接口方式,选择IDE0:
0项,然后点击OK返回到虚拟机界面下,点击PowerON就可以直接从硬盘安装操作系统了。
2.启动虚拟机
点击工具栏上的绿色启动按钮或屏幕显示区的Startthisvirtualmachine命令,然后按“OK”。
REDHAT会自动进入安装程序的界面。
首先询问是以图形界面还是以文本界面安装,依据提示按回车选择图形界面安装,接下来询问是否要测试光驱,这里选择不要即可。
注意:
光标从Windows切换到VMware只需在VMware窗口上单击鼠标左键,而从VMware回到Windows,则要按Ctrl+Alt。
提醒大家的是,在对虚拟机进行操作前一定要确保光标在VMware中。
3.设置分区
依提示选择完安装语言、键盘、鼠标、安装类型(与Windows类似,此处不再详述)后进入磁盘分区界面,出现如下图1所示警告“你想初始化这个驱动器吗?
”,既然是在虚拟机上进行的操作,此处大胆地选“是”就可以。
若选择“自动分区”则之后出现的分区情况如图3所示。
按“下一步”后,如图2所示,弹出“你已选择了要在下列驱动器内删除所有linux分区”的警告,选择“是”。
4.设置根口令
在引导程序装载界面连按“下一步”,设置完系统语言和时区后进入根口令的设置界面,这里的根口令相当于Windows2000的系统管理员密码。
设置好口令后连按“下一步”,等待安装软件包,直到出现更换光盘的提示。
5.安装第二和第三张ISO光盘
当出现“请插入第二张光盘后再继续”,设置方法同1,只不过是分别选择3个光盘文件中的第二、三个。
之后系统问是否做启动盘,这个根据自己需要选择,然后就是显卡等的设置,一路默认。
最后选一个“退出”,VMware内系统重启。
6.创建个人用户账号和密码
重启后,系统提示你创建一个个人账号和密码,和Windows中创建一个新用户相当。
7.其他设置
选择日期和试听声卡后问你是否注册,选择“否,我不想注册我的系统”,接下来问有无附加安装,在此我们先不安装,直接按“前进”。
VMware内系统再次重启。
8.登录系统
启动后,系统询问用户名和密码。
输入在步骤6中设置的户名和密码或输入用户名“root”和第4步中你所设置的根口令即可。
至此,出现RedHat的界面,Linux的安装完成了。
图1
图2
图3
三、VMwaretools的安装
安装完Linux之后,还需要对此VM安装VM-waretools,这相当于给Linux安装各种驱动程序。
当以root身份进入Linux后,按CTRL+ALT组合键,进入主操作系统,点击VM菜单下的VMwareToolsInstall子菜单。
如下图所示。
弹出如下对话框,点击“安装”。
出现如下图所示,VmwareTools安装文件已经在虚拟光盘中。
如下图所示,打开终端。
在终端命令行后面输入如下命令(注意大小写和空格,同时每行命令后记住回车)。
其中,因为vmware版本的区别,vmware-linux-tools.tar.gz的实际名字可能为如VMwareTools-6.0.2-59824.tar.gz。
mount-tiso9660/dev/cdrom/mnt(加载CDROM设备,并且CDROM为只读属性。
)
cp/mnt/vmware-linux-tools.tar.gz/tmp(将该软件包持拷贝到LINUX的TMP目录下)
umount/dev/cdrom(卸载CDROM)
cd/tmp(进入TMP目录)
tarzxfvmware-linux-tools.tar.gz(解压该软件包)
cdvmware-tools-distrib(进入解压后的目录)
./vmware-install.pl(运行安装命令,系统开始安装vmwaretools)
在屏幕的提示下,连续回车七次后,系统安装完VMWARETOOLS。
屏幕继续提示配置过程。
三次回车后,一个分辨率的列表出来。
VMWARE下安装完了linux后,default的分辨率是:
800x600,要调整为1024x768,在列表中选3即可,因为在分辨率列表中3对应的是1024x768.
重启Linux,状态栏提示“成功安装vmwaretools”。
可以发现,现在vmware能根据鼠标在虚拟机窗口内外来自动切换其功能。
实验二Linux环境实验
(一):
linux使用环境
实验目的
能使用常用的linux命令,熟悉linux使用环境
实验内容
(1)登录后创建一个用户帐号,帐号名是:
”os”+你的学号,如os104
(2)重新以这个新的帐号登录,在你的当前用户主目录下,新建目录lab1
(3)设置文件访问权限
(4)结合帮助及附录二,练习使用其它常用命令
实验基础
预习附录1:
Linux简介;附录2:
linux命令速查
实验指导
(一)linux的登录与退出
1、本地登录linux
根据系统配置的不同,有文本和图形两种登录模式。
(1)如果是文本登录模式,则步骤如下:
login:
(输入username)
password:
(输入密码,注意密码不会回显)
登录成功则出现提示符。
如果要进入图形界面环境则输入:
startx
(2)如果是图形登录模式,则输入用户名和密码之后即可直接进入图形界面环境。
2、远程登录linux服务器
在DOS环境下用MS提供的telnet程序(也可使用WINDOWS自带的telnet图形界面程序或多功能的S-Term终端程序),可使PC成为linux主机的一台仿真终端。
多个终端或仿真终端可以同时登录同一台Linux系统,分时使用Linux操作系统。
(1)连接
telnet主机名(或主机的IP地址)
例:
telnet或telnet140.122.77.120
(2)登录
连接成功之后,输入用户名和密码,即可以终端模式分时使用linux操作系统。
(3)退出
在linux系统提示符$下,输入logout、exit或shutdown,例:
$logout
(二)学会使用帮助
(1)man:
命令在线帮助
在使用其它命令之前,先认识一下Linux的在线帮助man。
在Linux下,当你要查找一个命令的用法的,你可以通过man命令名来源得命令的详细说明。
因为每个Linux都有一份man文档,所以介绍命令的时候我们只是简直介绍一下命令的学用选项。
如果想查看命令的详细说明,请自己看man。
执行格式:
mancommand
例:
manls查询ls这个指令的用法
(2)info:
显示说明
执行格式:
infocommand-name
例:
infogcc功能:
查看gcc的说明,按上下箭头选定菜单,回车进入,"u"键返回上级菜单,info不加参数则进入最上一级菜单.
(三)用户帐号管理
创建一个用户帐号,并以此用户帐号重新登录。
(1)以命令方式创建一个用户帐号os001,该用户属于root组,并设定用户的注册目录为/home/os001
[root@localhostroot]#useradd-groot-d/home/os001-c'mymine'-mos001
为了确定添加的用户是否成功,可以查看文件/etc/passwd
[root@localhostroot]#more/etc/passwd
root:
x:
0:
0:
root:
/root:
/bin/bash
bin:
x:
1:
1:
bin:
/bin:
/sbin/nologin
daemon:
x:
2:
2:
daemon:
/sbin:
/sbin/nologin
.........................
os001:
x:
502:
0:
mymine:
/home/os001:
/bin/bash
(2)为用户设置口令
[root@localhostroot]#passwdos001
Changingpasswordforuseros001.
Newpassword:
Retypenewpassword:
passwd:
allauthenticationtokensupdatedsuccessfully.
(四)目录及文件管理
(1)在用户主目录下为每个实验创建一个目录。
[os001@localhostos001]#pwd
[os001@localhostos001]#mkdirlab1
[os001@localhostos001]#cdlab1
[os001@localhostlab1]#
(2)编辑程序,设置文件访问权限。
[os001@localhostlab1]#vitest.c
:
wq
[os001@localhostlab1]#ls-l
-rw-r--r--1rootroot662915:
30test.c
[os001@localhostlab1]#chmodu+x,g+x,o-rtest.sh
[os001@localhostlab1]#ls-l
-rwxr-x---1rootroot662915:
30test.c
Linux将用户分成三类:
文件用户属主,同组用户,其他用户,分别用u,g,o表示。
基本权限包括读、写、执行,分别用r,w,x表示。
(3)结合帮助及附录二,练习使用其它常用命令,如下。
1)目录操作:
ls,mkdir,rmdir,cd,pwd
2)文件操作:
morefile1,cp,mv
3)系统询问与权限口令:
su,chmod
4)I/O命令:
com1|com2,com>file1
5)用户帐号管理
实验二Linux环境实验
(二):
Linux下C编程环境
实验目的
能够在linux环境下编写C程序。
学会利用vi编辑器来编辑、gcc编译C程序。
实验内容
在/home/当前用户名/lab1下,编写你的第一个C程序:
1、用vi编写C程序,输出"Hello,World!
";
2、用gcc编译并观察编译后的结果
3、运行生成的可执行文件。
实验基础
一、C语言简介
LINUX中包含了很多软件开发工具。
它们中的很多是用于C和C++应用程序开发的。
C是一种能在LINUX的早期就被广泛使用的通用编程语言。
它最早是由Bell实验室的DennisRitchie为了LINUX的辅助开发而写的,从此C就成为世界上使用最广泛的计算机语言。
C能在编程领域里得到如此广泛支持的原因有:
(1)它是一种非常通用的语言,并且它的语法和函数库在不同的平台上都是统一的,对开发者非常有吸引力;
(2)用C写的程序执行速度很快;
(3)C是所有版本LINUX上的系统语言;
二、文件编辑器vi
vi是在LINUX上被广泛使用的中英文编辑软件。
vi是visualeditor的缩写,是LINUX提供给用户的一个窗口化编辑环境。
进入vi,直接执行vi编辑程序即可。
例:
$vitest.c
显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。
vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。
编辑完成后,使用者可决定是否要取代原来旧有的文件。
1、vi的工作模式
vi提供二种工作模式:
输入模式(insertmode)和命令模式(commandmode)。
使用者进入vi后,即处在命令模式下,此刻键入的任何字符皆被视为命令,可进行删除、修改、存盘等操作。
要输入信息,应转换到输入模式。
(1)命令模式
在输入模式下,按ESC可切换到命令模式。
命令模式下,可选用下列指令离开vi:
:
q!
离开vi,并放弃刚在缓冲区内编辑的内容
:
wq
将缓冲区内的资料写入磁盘中,并离开vi
:
ZZ
同wq
:
x
同wq
:
w
将缓冲区内的资料写入磁盘中,但并不离开vi
:
q
离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,此指令可与:
w配合使用
(2)输入模式
输入以下命令即可进入vi输入模式:
a(append)
在光标之后加入资料
A
在该行之末加入资料
i(insert)
在光标之前加入资料
I
在该行之首加入资料
o(open)
新增一行于该行之下,供输入资料用
O
新增一行于该行之上,供输入资料用
Dd
删除当前光标所在行
X
删除当前光标字符
X
删除当前光标之前字符
U
撤消
·
重做
F
查找
s
替换,例如:
将文件中的所有"FOX"换成"duck",用":
%s/FOX/duck/g"
ESC
离开输入模式
更多用法见infovi
三、GNUC编译器
LINUX上可用的C编译器是GNUC编译器,它建立在自由软件基金会编程许可证的基础上,因此可以自由发布。
LINUX上的GNUC编译器(GCC)是一个全功能的ANCIC兼容编译器,而一般LINUX(如SCOLINUX)用的编译器是CC。
下面介绍GCC和一些GCC编译器最常用的选项。
1、使用GCC
通常后跟一些选项和文件名来使用GCC编译器。
GCC命令的基本用法如下:
gcc[options][filenames]
命令行选项指定的编译过程中的具体操作
2、GCC常用选项
GCC有超过100个的编译选项可用,这些选项中的许多可能永远都不会用到,但一些主要的选项将会频繁使用。
很多的GCC选项包括一个以上的字符,因此必须为每个选项指定各自的连字符,并且就像大多数LINUX命令一样不能在一个单独的连字符后跟一组选项。
例如,下面的命令是不同的:
gcc-p-gtest.c
gcc-pgtest.c
第一条命令告诉GCC编译test.c时为prof命令建立剖析(profile)信息并且把调试信息加入到可执行文件里。
第二条命令告诉GCC只为gprof命令建立剖析信息。
当不用任何选项编译一个程序时,GCC将建立(假定编译成功)一个名为a.out的可执行文件。
例如,
gcctest.c
编译成功后,当前目录下就产生了一个a.out文件。
也可用-o选项来为即将产生的可执行文件指定一个文件名来代替a.out。
例如:
gcc–ocountcount.c
此时得到的可执行文件就不再是a.out,而是count。
GCC也可以指定编译器处理步骤多少。
-c选项告诉GCC仅把源代码编译为目标代码而跳过汇编和连接步骤。
这个选项使用得非常频繁因为它编译多个C程序时速度更快且更易于管理。
默认时GCC建立的目标代码文件有一个.o的扩展名。
3、执行文件
格式:
./可执行文件名
例:
./a.out
./count
实验指导
1、将当前目录转到”/home/当前用户帐号/lab1”,例如当前用户为os001
[os001@localhostlab1]#cd/home/os001/lab1
2、参照参考程序在当前目录下使用Vi编写一个简单的C程序hello.c。
由于open没有参数,因此程序会报错。
通过编写该程序,了解程序错误处理的一般方法。
[os001@localhostlab1]#vihello.c
3、编译该C程序。
#gcchello.c–ohelloworld
如果出现错误提示,则再次进入Vi,进行修改。
#vihello.c
如果不显示任何信息,则说明编译成功,进入第4步。
4、运行该程序
#./helloworld
参考程序
#include
intfatal(constchar*info)
{
perror(info);
exit
(1);
}
intmain()
{
printf("Hello,world!
\n");
if(open("")<0)
fatal("testerror");
return0;
}
程序说明
以上参考程序中有错,通过调用以下函数发现错误:
voidperror(constchar*string);
当程序中有函数执行错误时,会将错误原因以字符串形式写入系统全局变量errno。
此时用户程序中调用perror函数,pe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 操作系统 实验 指导书