操作系统实验参考材料.docx

上传人:b****4 文档编号:4265286 上传时间:2022-11-28 格式:DOCX 页数:36 大小:41.58KB
下载 相关 举报
操作系统实验参考材料.docx_第1页
第1页 / 共36页
操作系统实验参考材料.docx_第2页
第2页 / 共36页
操作系统实验参考材料.docx_第3页
第3页 / 共36页
操作系统实验参考材料.docx_第4页
第4页 / 共36页
操作系统实验参考材料.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

操作系统实验参考材料.docx

《操作系统实验参考材料.docx》由会员分享,可在线阅读,更多相关《操作系统实验参考材料.docx(36页珍藏版)》请在冰豆网上搜索。

操作系统实验参考材料.docx

操作系统实验参考材料

操作系统实验参考材料

一、Linux/UNIX操作系统基础

1.上网查阅资料.根据你所获得的信息,用十句话以内的文字简单描述以下几种操作系统,并作比较.

1)SOLARIS

2)SCOOPENUNIX

3)FREEBSD

4)LINUX

 

2.什么是LINUX?

列出五种常见的LINUX版本,并用三至五句话对每个版本作简单描述.

[解答提示]LINUX是一个可独立运作的POSIX兼容OS。

它也包含了SXSV和BSD的功能。

版本包括有Redhat,Suse,红旗,Slackware,Deban等。

 

3.简单描述REDHADLINUX的安装过程

[解答提示]步骤如下

1)用LINUX启动光盘启动计算机

2)选择安装语言、鼠标、键盘等

3)选择安装类型(服务器、工作站、自定、升级)

4)为磁盘划分LINUX分区与SWAP分区

5)选择引导装载程序与记录引导程序的位置

6)依次配置网络、防火墙、语言及时区

7)配置帐号与密码

8)选择合适的软件包

9)进行图形界面配置

10)安装软件包

11)创建引导盘

12)进行X窗口设置

13)安装完成。

(一)UNIX操作基础

1.新建立一个用户,用此用户名和口令登陆系统.注意屏幕上列出的提示信息.

[解答]1)useraddstudent

2)passwd12345

2.查看系统的命令提示符,确定系统使用的SHELL程序类型.列出unix系统常见的SHELL种类

[解答]1)echo$SHELL

2)shbashtcshcshpdkshzshashmc等

3.用who命令来查看当前登陆在系统中的用户列表

[解答]who

4.利用who命令的选项来查看系统中的用户总数和系统启动时间

[解答]1)who–q

2)who-b

5.查找系统中的帮助系统工具,比较learn,help,man三个命令的异同

[解答]1)learn无learn命令只有unix系统有

2)help–infobash

3)man是手册manual的缩写

6.用date命令查看当前的日期和时间

[解答]date

7.用cal命令查看2003年1月1日是星期几

[解答]cal–my12003

8.查看2000年的日历表

[解答]cal–y2003

9.新建立一个student用户,用passwd命令修改口令.

[解答]同题1

10.试图用一个不满足口令组成要求的字符串作为新口令.将系统显示的错误信息记录下来.

[解答]错误口令分两种一种是类字典的单词,另外一种是非法字符

 

(二)vi编辑器

1.列出Linux/UNIX系统支持的编辑器类型

[解答]Kwrite,vi,Emace,MozillaComposer,Edit,hexedit等

2.列出VI编辑器的两种工作模式并简述特点.

[解答]编辑模式(文本的输入与修改)与命令模式(输入各种命令)

3.用vi生成一个名为test文件,输入两到三行文字.

[解答]1)vitest

2)输入文字

3)wq

4.对上述的test文件进行增\删\改的操作.

[解答]

1)增加i命令

2)删除dd命令

3)修改x命令

5.在VI中,列出用户当前目录下的文件.

[解答]方法1vi.

方法2e.

6.创建一个用户名的缩写,并把它加到用户文件的头部

[解答]vifile

enteralineoffiles

i

sort

7.读入日期和时间,并将它们放到文件中用户名之后

[解答]在命令行输入Hdate

8.创建一个garden文件.并把test文件追加到它的尾部.

[解答]在命令行输入Lcattest

9.试改变VI编辑器的showmode选项

[解答]setshowmode

setnoshowmode

10.试在文档中搜索指定的字串.

[解答]在命令行输入/string

11.用什么命令设置与取消行号功能?

[解答]在命令行内输入setnu!

显示与取消行号

(三)UNIX文件系统

(一)

1.显示当前目录

[解答]echo$PWD

2.改变到用户主目录

[解答]cd

3.列出当前目录的内容

[解答]ls

4.确认用户主目录

[解答]echo$HOME

5.当前目录下,创建名为ABC的新目录

[解答]mkdirABC

6.在ABC目录创建名为ABC的新文件,输入若干文字

[解答]viabc

7.显示当前目录内容

1)按照字母逆序ls-r

2)按照长格式ls-l

3)按照水平格式ls--format=horizontal

4)显示不可见的文件ls–d.*

8.在屏幕上显示文件ABC的内容

[解答]catABC

9.删除ABC目录下的ABC文件.删除ABC文件前,要求确认

[解答]rm-iABC/ABC

10.删除当前目录中的ABC目录

[解答]rmABC

11.显示当前默认打印机的状态

[解答]lpcstatus

12.列出所有文件,包括不可见的文件

[解答]ls–a或者ls-al

13.打印文档的多份副本的命令是什么?

[解答]lp–n

(四)UNIX文件系统

(二)

1.在用户主目录下创建名为memos的目录

[解答]1)cd//返回用户主目录

2)mkdirmemos//建立memos目录

2.用vi编辑器,在用户主目录中创建名为myfile的文件

[解答]1)vimyfile//建立myfile文件

2)ESC-:

wq//存盘退出

 

3.用cat命令,把myfile多次附加到新创建的名为large的文件中.

[解答]一个三次附加的例子

Catmyfile>>large

X3

 

4.用pr命令及其选项,格式化large文件并打印

[解答]prlarge>large.print

 

6.用cp命令把用户主目录下的所有文件复制到目录memos下

[解答]cp*./memos

 

7.用ln命令创建large的另一个文件名

[解答]lnlargelarge.old

 

8.用mv命令,把large更名为large.old

[解答]mvlargelarge.old

9.用mv命令,把large移到memos下

[解答]mvlargememos

10.显示一个文件的后五行

[解答]tail–n5large

11.显示一个文件的前五行

[解答]head–n5large

12.把一个文件的最后30个字符存到另一个文件中

[解答]tail–c30large>>myfile

13.保存用户主目录中所有7天前创建的文件列表

[解答]1)cd..

2)find./-ctime7–name“*”>7days

14.查找名为passwd的文件

[解答]find./-name“passwd”

15.查找名为profile的文件

[解答]find./name

16.从用户主目录开始,查找所有7天前创建的文件

[解答]find$home–atime7

 

17.查找所有多于10天的文件,保存到另一个目录中

[解答]find./-ctime+10–name“*”–execcp{}.\/backup\/\

 

18.用paste命令,将两个文件连在一起

[解答]pastelarge1myfile>myfile

 

19.用more命令读大文件.

[解答]morefile

 

(五)通信

1.把下列的消息发给自己

solittletimeandsomuchtodo

[解答]echosolittletimeandsomuchtodo|writeroot

 

2.读取当前的日期和时间,追加到消息的结尾

[解答](echosolittletimeandsomuchtodo:

date-R)|writeroot

 

3.在发送消息之前,把消息保存到一个文件中

[解答](echosolittletimeandsomuchtodo:

date-R)>files

catfiles|writeroot

 

4.读取自己的邮件

[解答]1)mail列出所有邮件

2)t1读取第一封邮件

3)q或x退出

5.比较x命令和q命令退出mailx的不同处

[解答]

q退出时,会返回信息,该用户所有邮件会保存到相应的缓冲池上,例如root的信会保存到/var/spool/mail/root

x则保持资料在邮件服务系统上,不删除,马上退出。

 

二、Linux的进程和作业控制

(一)要点概述:

通过虚拟终端,我们可以感受Linux的多用户特性,而Linux的进程和作业控制,

则体现了Linux的多任务的特性。

1.进程和作业

每当运行一个程序,Linux系统就启动了一个进程,Linux把正在运行的程序称为进程。

而我们称一个正在运行的进程为作业。

进程和作业有时是可互换的。

如果我们要了解进程

和作业的信息,可以分别使用ps命令和jobs命令来查看。

下面我们先介绍这两个命令的使

用。

(1)PS命令

格式:

ps[Options][pids]

功能:

将显示正在执行的进程的信息。

常用选项说明:

-l:

以长列表的形式列出。

-u:

用户格式,给出用户名和开始时间。

-j:

作业格式,给出pgid,sid。

-s:

信号格式。

-v:

虚拟存储器格式。

-m:

显示内存信信息。

-f:

给出树状格式。

-a:

显示其他用户的进程。

-X:

显示没有控制台的进程。

-c:

从task_struct中给出进程名。

-e:

显示环境。

-w:

宽行输出。

-h:

无标题。

-r:

只显示正在运行的程序。

-n:

用数字来输出USER和WCHAN.

txx:

只显示受ttyxx控制的进程。

pids:

只显示特定的进程。

-help:

在标准输出上输出帮助信息并退出。

-version:

在标准输出上输出版本信息并退出。

例如,要查看当前进程的信息,可在shell提示符下,输入命令“ps-l”,屏幕显示栏目表。

下面对主要的栏目作简要说明:

UID:

用户的标识号。

PID:

进程的标识号,是系统赋予每个正在执行进程的唯一编号。

PPID:

父进程的标识号。

PRI:

进程优先级。

SIZE:

虚拟内存的大小。

RSS:

驻留空间的大小。

STAT:

进程状态,如:

“R”表示进程正在运行:

“s”表示睡眠;“D”表示

不可打断的睡眠;“T”表示停止或跟踪;“Z”表示僵尸进程;

“W”表示进程没有驻留页。

TTY:

是进程所在的虚拟终端号。

TIME:

是该进程已运行的时间。

COMMAND:

是该进程的名称。

可以观察到,用户root当前正在运行的进程是hash和ps命令自身,即hash与ps命令同时运行。

当root输入ps命令后,hash执行该命令,ps完成运行后,控制返回hash进程,hash显示提示符,等待下一个命令。

(2)jobs

格式:

jobs

功能:

命令列出当前正在运行的作业信息,该命令没有选项和参数。

2.进程控制

在这里,我们介绍的进程控制主要是指运用Linux系统提供的命令,如何运行和撤消

进程、改变进程的优先级以及将进程切换到后台运行的方法。

(l)运行和撤消进程

运行进程的方法在前面已经叙述,我们这里主要介绍撤消进程的方法,有两种方法可

以撤消进程,一种是使用kill命令来撤消一个进程,另一种是使用"Ctrl+C"组合键来撤消,

下面我们先介绍kill命令的使用。

格式:

kill[options]pid

其中,Pid是进程标识。

功能:

终止(或撤消)一个进程。

常用选项说明:

-s<信号名>:

指出欲发送的信号,信号是以信号名或数字给出的。

-p:

指kill只输出已命名的pid,而且不送信号给它。

-l:

输出一个信号名列表。

如我们要撤消一个进程,只需在命令kill后键入欲撤消进程的进程标识(pid)即可,

kill命令除可用于撤消进程外,还可撤消作业,其使用方法将在作业控制中介绍。

使用

"Ctrl+C"组合键往往撤消一个当前正在前台运行的进程。

(2)指定进程的优先级

Linux提供的nice命令可以指定进程的优先级,也即我们可以通过它来改变一个进程

的优先级,下面我们就来介绍该命令的使用方法。

格式:

nice[options][COMAMND[arg...]]

功能:

通过修改调度优先级来运行一个程序。

常用选项说明:

-s

加上由指定的优先级而不是默认值10。

-help:

输出帮助信息。

-version:

输出版本信息。

(3)将进程切换到后台运行

将一个进程放到后台运行有两种方法,第一种方法很简单,我们只需在要运行的程序

命令的最后加上"&"字符;第二种方法是:

首先正常地在前台启动一个作业,然后暂时

中止它,最后再在后台重新启动它。

让我们来看一个例子:

例如,要将进程yes>/dev/null放到后台运行,我们先用第一种方法,则在shell提示符

下,键入命令"yes>/dev/null&",此时屏幕显示:

[root@localhost/root]#yes>/dev/null&

[1]164

[root@localhost/root]#

其中,命令yes是向标准输出发送无穷尽的一串y,/dev/null就象一个黑洞,任何被送

入这个黑洞的数据都会消失。

屏幕显示的[1]代表yes进程的作业号。

"164"是进程标识符,

也称"PID",它是系统赋予这个进程的标号。

现在,yes进程正在后台运行,并不断地把

一连串的y字符送给/dev/null。

下面我们用另一种方法,先在前台启动该进程,然后我们

使用组合键"Ctrl+Z"暂时中止它,最后再键入命令"bg"在后台重新启动它。

其操作过程屏幕显示:

[root@localhost/root]#yes>/dev/null

[1]+stoppedyes>/dev/null

[root@localhost/root]#

[root@localhost/root]#bg

[1]+yes>/dev/null&

[root@localhost/root]#

3.作业控制

Linux系统提供了许多命令使用户可以方便地运行和撤消作业、在指定时间运行作业以

及将作业在前后台之间切换等。

在这里,我们就对这些作业控制的方法作一介绍。

(1)前台作业和后台作业以及前后台作业之间的切换

作业可以在前台运行,也可以在后台运行,但在同一时刻只能有一个作业在前台运行。

所谓前台作业是指正在对它进行交互操作的作业,如它从键盘接收输入,并将输出送到屏

幕。

而我们称不接收终端的输入,不需要进行交互操作,而只是默默运行的作业为后台作

业。

有了前台和后台,我们不仅能够实现真正意义的多任务,而且我们还可方便地对前后

台作业进行切换。

将一个作业放到后台运行的一种方法是先用"Ctrl+Z"组合键中止该作

业,然后在shell提示符下键入命令"bg",而我们要将该作业再次切换回前台运行,只需

在Shell提示符下键入命令"fg"即可。

如果系统上运行着多个作业,我们也可使用命令"fg"

和"bg"方便地对作业进行前后台切换,但必须在命令后跟上"%"符和作业号。

例如有

三个作业,3号作业在前台运行,1、2号作业在后台运行,我们现在要将2号作业放到前

台运行而把3号作业放到后台运行,则只需分别键入命令"fg%2"和命令"bg%3"即可。

(2)挂起作业和撤消作业

作业可以被挂起,挂起作业只是暂时中止该作业的运行,用户可在需要时在前台或后

台恢复它的运行,恢复被挂起的作业将不会改变作业的状态,该作业将从被中断的地方继

续运行。

挂起作业的方法是使用挂起键,挂起键通常是"Ctrl+Z"组合键。

与挂起不同,

撤消作业是指终止该作业的运行,我们可以用kill命令来撤消一个作业,但在命令kill后

必须先键入"%"符号,再键入作业号。

我们来看个例子:

例如,要求用两种方法之一撤消上例中的1号作业,并查看撤消结果。

一种方法是用命令kill直接撤消1号作业,然后用命令jobs来查看结果,其操作过程

屏幕显示:

[root@localhost/root]#kill%1

[root@localhost/root]#jobs

[1]+Terminatedyes>/dev/null

[root@localhost/root]#

注意,如果再次使用加命令,屏幕上将不会显示任何信息。

在这个例子中,由于只

有一个进程,所以作业和进程的概念是一致的,所以我们使用的另一种方法就是用进程标

识号(PID)作为命令kill的参数来撤消该进程即等于撤消该作业。

该进程的PID为164。

我们只需在shell提示符下键入命令"kill164"即可。

(3)指定时间运行作业

如果用户想在一个特定的时间执行作业或删除队列中的文件,可以使用at命令。

格式:

at[-v][-q队列][-f文件名][-mldbv]时间

功能:

在一个特定的时间执行作业或删除队列中的文件

常用选项说明:

-v:

显示版本号。

-q<队列名指定可选队列名称,队列的字母顺序越高,则队列的优先级越低。

>:

-f<文件名>:

从指定文件名的文件中读取作业。

-l:

列出用户排在队列中的作业。

-d:

删除队列中的作业。

-b:

用低优先级运行作业。

时间:

用户设定的作业开始时间,可接受的时间形式是HHMM或HH:

MM。

也可以

指定在哪一天运行,给出的日期格式为MMDDYY,MM/DD/YY或MM.DD.YY。

例如,work是一个作业文件,我们分别用两种方式使作业work在15:

00运行,然后删

除作业队列中的1号作业。

我们先用命令"cat"来看看它的内容。

屏幕显示:

[root@localhost/root]#catwork

ls-l

我们可以观察到在文件work中,用户已经存入要执行的命令ls-l。

现在如果用户

要在15:

00执行work中的作业,应在shell提示符下,键入命令"at-fwork15:

00",系统

将在15:

00执行文件work中的命令,并且将执行的结果将送入你的maill中。

你可以通过

maill命令查看作业运行的结果。

我们也可用另一种方式得到相同的结果,其操作过程屏幕显示:

[root@localhost/root]#at15:

00

at>ls-l

at>

需要注意的是,在at命令中如果不指定-f选项,则at从标准输入(键盘)读入所有的

命令,并以<EOT>(Ctrl+D组合键)结束输入。

现在已有两个作业在队列中,我们可以用命令"at-l"来查看,屏幕显示:

[root@localhost/root]#at-l

12002-6-615:

00a

22002-6-615:

00a

输出信息的第一列为作业号,第二列为作业启动的时间,第三列为作业的队列

名称。

为删除在队列中的二号作业,我们在#提示符下键入命令"at-d",屏幕显示:

[root@localhost/root]#at-d1

[root@localhost/root]#at-l

22002-6-615:

00a

(4)作业的顺序执行

用户可以在一个命令行输入多个命令来使作业顺序执行。

这时,作业之间要用分号(;)

或与号(&)分开,Linux系统将按照命令行的顺序来执行这些作业,并将所有的输出在屏

幕上显示出来。

例如,要顺序执行以下三个命令:

①s-l>file1(输出/root目录下的文件的详细格式到file1中)

②catfile1(将file1中的内容输出至屏幕)

③cpfile1file2(将file1中的内容复制到file2中)。

可以在shell提示符下键入命令"ls-l>filel;catfile1;cpflle1file2"。

4.观察系统动态的进程控制和进程调度的好工具-top

格式:

top[options]

功能:

主要是显示系统动态的进程控制和进程调度,除此之外,还可查看内存动态使

用的实时信息。

由它提供的内存动态使用信息包括:

总的可用内存,未占用的内存,已使

用的内存,共享的内存和用于缓存的内存。

常用选项说明:

d:

指出屏幕更新的延迟,可以通过交互命令S来完成改变。

q:

使top不延迟地刷新,如果调用者拥有超级用户的特权,top就以最

高可能的优先级来运行它。

S:

特指累积模式,每一进程都以cpu时间列出。

s:

top将在安全模式下运行以避免交互命令的潜在危险。

i:

不理会任何空闲或僵尸进程就开始运行top。

c:

显示命令行而不只是命令名。

在键入"top"命令后,top命令将以全屏方式显示出了处理器状态的各种动态信息,默

认5秒更新一次显示,其中有很多字段,我们对这些字段作一说明:

top命令的字段说明:

uptime:

显示系统已运行时间和系统的三个加载均值,加载均值是指那些准备在

1分、5分、15分内运行的进程的平均数。

process:

显示在最近一次更新时运行的进程总数并作分类,可通过交互命令t来

切换进程和状态显示。

CPUstates:

显示在用户模式下的CPU利用的百分比、系统方式、优先级任务(优先

级任务仅指那些优先级值为负的)和空闲任务。

花费在优先级任务上的

时间将以系统和用户时间进行计数,所以总数会超过100%,可通过交

互命令t来切换进程和状态显示。

Mem:

显示内存使用的统计,包含总的可用内存、空闲内存、已用内存、共享

内存和用于缓存的内存,可通过交互命令m来切换内存信息显示。

swap:

显示对交换空间的统计,包含总的交换空间,可用交换空间和已用交换

空间。

PID:

显示每个任务的进程标识号。

PPID:

显示每个任务的父进程标识号。

UID:

显示任务所有者的用户号。

USER:

显示任务所有者的用户名。

PRI:

显示任务的优先级。

NI:

显示任务的NICE值。

SIZE:

显示任务代码加上数据及堆栈空间的大小(以KB为单位)。

TSIZE:

显示任务的代码大小。

DSIZE:

显示数据加上堆栈的大小但对ELF进程不显示。

TRS:

显示文本驻留空间的大小。

SWAP:

显示此任务使用的交换空间的大小。

D:

显示页的大小。

LIB:

显示使用库页的大小,对ELF进程也无效。

RSS:

显示被任务占用的物理内

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1