《计算机操作系统》实验指导书doc.docx

上传人:b****8 文档编号:10043943 上传时间:2023-05-23 格式:DOCX 页数:58 大小:151.31KB
下载 相关 举报
《计算机操作系统》实验指导书doc.docx_第1页
第1页 / 共58页
《计算机操作系统》实验指导书doc.docx_第2页
第2页 / 共58页
《计算机操作系统》实验指导书doc.docx_第3页
第3页 / 共58页
《计算机操作系统》实验指导书doc.docx_第4页
第4页 / 共58页
《计算机操作系统》实验指导书doc.docx_第5页
第5页 / 共58页
《计算机操作系统》实验指导书doc.docx_第6页
第6页 / 共58页
《计算机操作系统》实验指导书doc.docx_第7页
第7页 / 共58页
《计算机操作系统》实验指导书doc.docx_第8页
第8页 / 共58页
《计算机操作系统》实验指导书doc.docx_第9页
第9页 / 共58页
《计算机操作系统》实验指导书doc.docx_第10页
第10页 / 共58页
《计算机操作系统》实验指导书doc.docx_第11页
第11页 / 共58页
《计算机操作系统》实验指导书doc.docx_第12页
第12页 / 共58页
《计算机操作系统》实验指导书doc.docx_第13页
第13页 / 共58页
《计算机操作系统》实验指导书doc.docx_第14页
第14页 / 共58页
《计算机操作系统》实验指导书doc.docx_第15页
第15页 / 共58页
《计算机操作系统》实验指导书doc.docx_第16页
第16页 / 共58页
《计算机操作系统》实验指导书doc.docx_第17页
第17页 / 共58页
《计算机操作系统》实验指导书doc.docx_第18页
第18页 / 共58页
《计算机操作系统》实验指导书doc.docx_第19页
第19页 / 共58页
《计算机操作系统》实验指导书doc.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《计算机操作系统》实验指导书doc.docx

《《计算机操作系统》实验指导书doc.docx》由会员分享,可在线阅读,更多相关《《计算机操作系统》实验指导书doc.docx(58页珍藏版)》请在冰点文库上搜索。

《计算机操作系统》实验指导书doc.docx

《计算机操作系统》实验指导书doc

计算机操作系统实验指导书

 

 

适用专业:

计算机科学与技术

制定人:

吴暾华

教研室:

计算机教研室

 

信息与工程学院

2009年9月

前言

1.实验课程简介

《计算机操作系统》是计算机科学与技术专业的骨干必修课。

本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。

操作系统实验是操作系统课程的重要组成部分。

操作系统实验的作用是:

理解操作系统的设计和实现思路,掌握典型算法。

基本要求是:

理解进程的概念,理解死锁;掌握请求页式存储管理的实现原理及页面置换算法。

学生应具有高级语言编程能力、具有数据结构等基础知识。

2.实验进度安排

次序

实验内容

学时

1

Linux系统安装与配置

3

2

Linux用户接口与编程环境

3

3

进程管理

3

4

处理机调度

3

5

存储器管理

3

3.实验环境

(1)操作系统:

UbuntuLinux9.04

(2)编程语言:

C/C++或Java

(3)集成开发工具:

Eclipse-CDT

4.

实验要求

为了顺利完成操作系统课程实验,学生应做到:

(1)实验前,认真学习教材以及实验指导书的相关内容,提前做好实验准备。

(2)实验结束一周后提交实验报告。

实验报告内容应包括:

实验目的、实验内容、设计思路和流程框图,源程序(含注释)清单、测试结果以及实验总结。

(3)遵守机房纪律,服从辅导教师指挥,爱护实验设备。

实验的验收将分为两个部分。

第一部分是上机操作,随机抽查程序运行和即时提问;第二部分是提交书面的实验报告。

此外杜绝抄袭现象,一经发现雷同,双方成绩均以0分计算。

目录

一.Linux系统安装与配置……………………………………………1

二.Linux用户接口与编程环境……………………………………..6

三.进程管理…………………………………………………………15

四.处理机调度………………………………………………………32

五.存储器管理………………………………………………………35

 

实验一Linux系统安装与配置

1.实验目的

(1)熟悉Linux概念,比如Linux发行版、宏内核、微内核等。

(2)掌握UbuntuLinux系统的安装方法,特别是如何在vmware虚拟机上安装、配置该操作系统。

了解在多操作系统环境下如何本地安装(光盘安装)UbuntuLinux。

(3)熟悉Linux系统的文件系统结构。

2.实验预备内容

(1)参阅相关Linux操作系统的安装手册,熟悉Linux的基本安装和配置。

3.实验内容

(1)安装并配置vmware虚拟机,制定运行环境,特别要启动nat和usb支持。

(2)在vmware上安装UbuntuLinux,指定最大空间为20G以上(具体视硬盘剩余空间而定)。

当对虚拟磁盘空间分区时,需至少指定10G给“/”(主目录),分区格式为ext3,还需指定与内存容量相同的swap(交换)区。

(3)安装完UbuntuLinux系统后需配置硬件(如网卡、显卡等)和软件(如编程开发软件等)。

4.思考

(1)Linux系统和Windows系统的区别和共同点有哪些?

5.Linux文件系统结构简介

无论哪个版本的Linux系统,都有以下这些目录,它们是标准的。

(1)/,Linux的文件系统入口,是处于最高一级的目录(根目录)。

(2)/bin,基础系统所需要的那些命令位于此目录,也是最小系统所需要的命令;比如ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令。

作为基础系统所需要的最基础的命令就是放在这里。

(3)/boot,Linux的内核及引导系统程序所需要的文件,比如vmlinuz,initrd.img文件都位于这个目录中。

在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。

(4)/dev,设备文件存储目录,比如声卡、磁盘。

(5)/etc,系统配置文件的所在地,一些服务器的配置文件也在这里,比如用户帐号及密码配置文件。

(6)/home,普通用户家目录默认存放目录,用户可自由存取数据的地方。

(7)/lib,库文件存放目录。

(8)/lost+found,在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。

当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。

有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

(9)/media,即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,类似cdrom的目录。

(10)/mnt,这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。

可以参看/etc/fstab的定义。

有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。

主要看/etc/fstab中怎么定义,比如光驱可以挂载到/mnt/cdrom。

(11)/opt,表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在FedoraCore5.0中,OpenOffice就是安装在这里。

有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过./configure--prefix=/opt/目录。

(12)/proc,操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。

/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见/etc/fstab。

(13)/root,Linux超级权限用户root的主目录。

(14)/sbin,大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。

(15)/tmp,临时文件目录,有时用户运行程序的时候,会产生临时文件。

/tmp就用来存放临时文件的。

/var/tmp目录和这个目录相似。

(16)/usr,这个是系统存放程序的目录,比如命令、帮助文件等。

这个目录下有很多的文件和目录。

当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。

如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。

/usr目录下包括涉及字体目录/usr/share/fonts,帮助目录/usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin或/usr/local/bin或/usr/X11R6/bin,超级权限用户root的可执行命令存放目录,比如/usr/sbin或/usr/X11R6/sbin或/usr/local/sbin等;还有程序的头文件存放目录/usr/include。

(17)/var,这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log这是用来存放系统日志的目录。

/var/www目录是定义Apache服务器站点存放目录;/var/lib用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。

(18)/etc/init.d,这个目录是用来存放系统或服务器以SystemV模式启动的脚本,这在以SystemV模式启动或初始化的系统中常见。

(19)/etc/xinit.d,如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。

有些系统没有这个目录,比如Slackware,有些老的版本也没有。

在Rehat/Fedora中比较新的版本中存在。

(20)/etc/rc.d,这是Slackware发行版有的一个目录,是BSD方式启动脚本的存放地;比如定义网卡,服务器开启脚本等。

(21)/etc/X11,是X-Windows相关的配置文件存放地。

比如下面的例子:

[root@localhost~]#/etc/init.d/sshdstart注:

启动sshd服务器

[root@localhost~]#/etc/init.d/sshdstop注:

停止sshd服务器

这就是典型的sshd服务器SystemV模式启动脚本,通过这运行这个脚本可以启动sshd服务器了。

(22)/usr/bin,这个目录是可执行程序的目录,普通用户就有权限执行;当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。

比如安装gaim软件包时。

相似的目录是/usr/local/bin;有时/usr/bin中的文件是/usr/local/bin的链接文件。

(23)/usr/sbin,这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。

只有root权限才能执行;相似目录是/sbin或/usr/local/sbin或/usr/X11R6/sbin等。

(24)/usr/local,这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。

这个目录下面有子目录。

(25)/usr/lib,和/lib目录相似,是库文件的存储目录。

(26)/usr/share,系统共用的东西存放地,比如/usr/share/fonts是字体目录,是所有用户都共用的。

(27)/usr/share/doc和/usr/share/man帮助文件,也是所有用户都共用的。

(28)/usr/src,是内核源码存放的目录,比如下面有内核源码目录,比如linux、linux-2.xxx.xx目录等。

有的系统也会把源码软件包安装在这里。

比如Fedora/Redhat,当我们安装file.src.rpm的时候,这些软件包会安装在/usr/src/redhat相应的目录中。

(29)/var/adm,比如软件包安装信息、日志、管理信息等。

(30)/var/log,系统日志存放、分析日志要看这个目录的内容。

(31)/var/spool,打印机、邮件、代理服务器等假脱机目录。

实验二Linux用户接口与编程环境

1.实验目的

(1)熟悉Linux下的基本操作,学会使用各种Shell命令去操作Linux,对Linux有一个初步认识。

(2)学会使用vi编辑器编辑简单的C语言程序,并能对其编译和调试。

(3)掌握C/C++/Java跨平台集成开发环境Eclipse的安装和使用。

2.实验预备内容

(1)参阅相关Linux的命令参考手册,熟悉Linux下的操作命令。

3.实验内容

(1)使用Shell命令(如ls、cp、rm等)实现基本的文件操作并观察Linux文件系统的特点。

(2)使用vi编辑器编写一C程序,并用gcc命令进行编译和链接,并用a.out来进行输出结果;如果是C++程序,改用g++命令进行编译和链接。

(3)运行命令:

sudoapt-getinstalleclipseeclipse-cdt以安装集成开发环境Eclipse及cdt(C/C++支持包)。

(4)运用Eclipse新建C/C++程序项目,掌握编译、调试方法。

4.思考

(1)Linux系统的用户接口有哪几种?

(2)试比较Eclipse和微软的VisualStudio或BorlandC++Builder,指出优缺点。

5.Linux常用的Shell命令

Linux的文件与文件类型,和DOS/Windows有点相似,在此不做介绍。

注意Linux文件名区分大小写!

Linux命令格式:

命令[选项][处理对象]

(1)文件操作命令

(A)文件查看和连接命令

语法:

cat [参数]filelist

将文件连接到一起,用“>”操作将几个文件组合成一个新的文件,或者是用“>>”把文件追加到已存文件的后面。

-n或--number:

由1开始对所有输出的行数进行编号

-b或--number-nonblank:

和n相似,但对空行不编号

-s:

遇到两行空白,替换为一行空白

-v:

显示不可打印的字符

filelist:

用于结合文件的可选列表。

(B)分屏显示命令

语法:

more[选项]...

类似于cat,但它是每次显示一页,按空格显示下一页,按键退出,按

该命令还有搜索字符的功能。

-num:

指定每屏显示的行数

-d:

在屏幕下面提示信息

-l:

more默认遇到送纸符^L会暂停,使用该选项可以取消该功能

-f:

计算实际行数

-p:

不是以卷动的方式显示每页,而是先清屏再显示

-s:

遇到两行空白,替换为一行空白

-u:

不显示下划线

+/:

在文件中搜索字符串string,并显示字符串所在页的内容

+/:

从第num行开始显示

file用于显示的文件

(C)按页显示文件。

类似于more,但允许在文件中前后移动。

语法:

less [参数]文件名

-i:

查询时忽略大小写。

-num:

指定每页显示的行数

-p:

在文件中搜索字符串string,并从第一个符合条件的地方开始显示

-S:

当某列的内容超过显示画面的宽度时,直接将超出的部分截断舍弃,默认情况下会把超出的部分折回来显示

(D)拷贝文件

语法:

cp[选项]

cp[选项]....

-r:

递归拷贝目录

-f:

删除已存在的目标文件再复制

-a:

在备份中尽可能的保留源文件的结构和属性。

(E)删除

语法:

rm[选项]....

该命令用于逐个删除指定的文件或目录。

默认清苦下,为文件名,rm命令不删除目录,只有指定-d选项时候,才能删除目录

语法:

-f:

强制删除,包括只读文件,并且不给用户任何提示

-i:

在删除每个文件时提示用户

-r:

递归删除目录下的内容

(F)移动或更名文件和目录

语法:

mv[参数]源文件目标文件

-f:

强制复盖已有文件。

-i:

在复盖已有文件前提示用户。

-u:

在目标文件的时间比原文件新时不复盖目标文件。

-v:

在移动文件时输出相关信息。

(2)目录操作命令

(A)创建目录命令

语法:

mkdir  [参数]目录名

-p:

如果父目录不存在,创建所有的父目录。

(B)删除空目录

语法:

rmdir  [参数]目录列表

-p:

表示删除指定目录后,如果该目录的父目录为空,则将一并删除。

(C)改变当前工作目录

语法:

cd目录名

如果后面不加目录名,则返回用户的根目录,此外用户必须拥有进入该目录的权限。

另外cd~指切换到自己的主目录,cd../..可以切换到单前目录的上上目录

(D)显示正在工作或当前的目录名

语法:

pwd [参数]

(E)列出目录中的内容

语法:

ls [参数][目录]

-A:

显示所有文件,包括隐藏文件(以“.”开头的文件,但不列出当前目录“.”和上级目录“..”

-a:

显示所有文件,包括“.”和“..”目录。

-d:

只列出目录名;不列出它的内容。

-l:

给出文件的长列表。

包括权限、所有权、大小、文件名、最后修改时间等等。

-t:

按时间顺序显示

-F:

在列出的文件名后以符号表示文件类型,一般文件不加符号,可执行文件“*”,目录加“/”

-R:

若目录下有文件,则递归地列出目录下的文件

(3)查找与定位命令

(A)查找文件或目录命令

语法:

find[path....][expression]

该命令在目录树层次中从path开始向下查找文件,将符合expression要求的文件列出来。

输入命令中第一个以-或(或)或,或!

开始的参数作为expression的部分,在这些符号之前的参数都被认为是要搜索的路径,在这些符号之后的才被认为是expression的部分,如果不给出path,则使用当前工作的目录,如果不给出expression,则使用-print作为预设expression。

expression的参数有二三十个之多,这里只提几个常用的:

-amin在过去n分钟内被访问过的文件

-anewer比文件file更晚被访问过的文件

-atime在过去n天被访问过的文件

-cmin在过去n分钟内修改过的文件

-cnewer比文件file更新的文件

-ctime在过去n天内修改过的文件

-empty内容为空的文件

-gid或-groupgid是n或是group名是name的文件

-ipath

-path

路径名称符合p的文件,ipath表示忽略大小写

-name,-iname文件名称符合name的文件,iname表示忽略大小写

-size文件大小是n个单位

-type<文件类型〉文件类型的含义与名利ls的选型一样

-pid进程id是n的文件

exp1exp2或者exp1-aexp2或者exp1-andexp2含义相同,表示同时满足这两个条件!

expr或者-notexpr表示expr的否定,exp1-oexp2或者exp1-orexp2表示满足其中一个条件就可以。

(B)文件定位命令

语法:

locate[选项]

locate让使用者可以很快速的搜寻档案系统内是否有指定的档案。

其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。

在一般的distribution之中,资料库的建立都被放在contab中自动执行。

-u:

建立资料库,-u会由根目录开始

-U:

建立资料库,-U则可以指定开始的位置。

-e:

将排除在寻找的范围之外。

-l:

如果是1.则启动安全模式。

在安全模式下,使用者不会看到权限无法看到的档案。

这会始速度减慢,因为locate必须至实际的档案系统中取得档案的权限资料。

-f:

将特定的档案系统排除在外,例如我们没有到理要把proc档案系统中的档案放在资料库中。

-q:

安静模式,不会显示任何错误讯息。

-n:

至多显示个输出。

-r:

使用正规运算式做寻找的条件。

-o:

指定资料库存的名称。

-d:

指定资料库的路径

-h:

显示辅助讯息

-v:

显示更多的讯息

-V:

显示程式的版本讯息

(4)连接命令

语法:

ln[选项]

Linux/Unix档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种:

硬连结(hardlink)与软连结(symboliclink),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。

硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。

lnsourcedist是产生一个连结(dist)到source,至于使用硬连结或软链结则由参数决定。

不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

-f:

链结时先将与dist同档名的档案删除

-d:

允许系统管理者硬链结自己的目录

-i:

在删除与dist同档名的档案时先进行询问

-n:

在进行软连结时,将dist视为一般的档案

-s:

进行软链结(symboliclink)

-v:

在连结之前显示其档名

-b:

将在链结时会被覆写或删除的档案进行备份

(5)改变文件或目录的时间命令

语法:

touch[选项][....]

-a:

改变档案的读取时间记录。

-m:

改变档案的修改时间记录。

-c:

假如目的档案不存在,不会建立新的档案。

与--no-create的效果一样。

-f:

不使用,是为了与其他unix系统的相容性而保留。

-r:

使用参考档的时间记录,与--file的效果一样。

-d:

设定时间与日期,可以使用各种不同的格式。

-t:

设定档案的时间记录,格式与date指令相同。

--no-create:

不会建立新档案。

(6)备份命令

语法:

tar<主选项>[辅选项]<文件或目录>

tar可以为文件和目录创建档案。

利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。

tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。

利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

Linux上的tar是GNU版本的。

(A)主选项

-c:

创建新的档案文件。

如果用户想备份一个目录或是一些文件,就要选择这个选项。

-r:

把要存档的文件追加到档案文件的未尾。

例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘

记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。

-t:

列出档案文件的内容,查看已经备份了哪些文件。

-u:

更新文件。

就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

-x:

从档案文件中释放文件。

(B)辅选项

-b:

该选项是为磁带机设定的。

其后跟一数字,用来说明区块的大小,系统预设值为20(20*512bytes)。

-f:

使用档案文件或设备,这个选项通常是必选的。

-k:

保存已经存在的文件。

例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。

-m:

在还原文件时,把所有文件的修改时间设定为现在。

-M:

创建多卷的档案文件,以便在几个磁盘中存放。

-v:

详细报告tar处理的文件信息。

如无此选项,tar不报告文件信息。

-w:

每一步都要求确认。

-z:

用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

(C)tar的最基本的用法举例

  tar-cfall.tar*.jpg

  这条命令是将所有.jpg的文件打成一个名为all.tar的包。

-c是表示产生新的包,-f指定包的文件名。

 tar-rfall.tar*.gif

  这条命令是将所有.gif的文件增加到all.tar的包里面去。

-r是表示增加文件的意思。

tar-ufall.tarlogo.gif

  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

  t

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2