操作系统实验_操作系统实验指导1

2020-02-29 其他范文 下载本文

操作系统实验由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“操作系统实验指导1”。

操作系统实验

实验一

Linux常用命令实验

一.目的和要求

本实验的目的是熟悉Linux操作系统的命令接口、图形接口和程序接口;了解Linux操作系统的启动过程;了解Linux操作系统的目录结构;用vi编辑器编写简单的C语言程序,并用gcc编译器编译、运行。

二.实验内容

1、实现开机、登录、退出与关机:

(1)如果以root用户登录,则命令窗口的提示符为#;如果以普通用户登录,则命令窗口的提示符为$;登陆用户名:user 密码:123456(2)修改口令(修改口令操作不做):成功进入系统后,在命令提示符后输入“pawd”并键入回车键

(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、pawd、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

运行./myfile17、编写一个C语言程序myfile2.c,显示字符串“Hello, Linux!”,并将其反向输出。

8、熟悉Linux系统的目录结构,使用命令或者编写C语言程序报告Linux内核的行为。

报告以下内容:   CPU类型和型号   内核版本

  从系统最后一次启动以来经历了多长时间?形式为dd:hh:mm:   当前配置的内存数量   当前可用内存数量

  自系统启动以来,发生的所有的中断的次数   从系统启动开始创建的进程数   内核执行的上下文转换的次数

三.实验提示

1、Linux安装

(1)安装前的准备工作.基本的硬件配置

由于安装涉及到各种硬件的设置,所以在安装前必须了解机器各种硬件的型号,硬盘的使用情况,内存的大小,鼠标的类型及接口,声卡,网卡,显卡,显示器的型号。

操作系统实验

.有关网络的信息

IP地址,掩码,网关IP地址,域名服务器IP地址,域名,宿主机名。.安装方式的选择

•从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]键).会出现Paword提示。输入口令,应该看到类似以下的信息:

[root@localhost /root] #(2)退出

输入[Ctrl]-[D](3)帐号和口令.帐号

创建新的帐号有几种方法,最基本的方法:useradd命令.[root @ localhost / root] # useradd

Tom

[root @ localhost / root] #.口令

pawd 命令可以用来:  为新创建的用户分配口令。 修改已存在的用户的口令。 修改登录的用户的口令。此时必须以root登录。如:

[root @ localhost / root]# pawd Tom

New UNIX paword:

Retype new UNIX paword:

pawd:all authentication tokens updated succefully 4

操作系统实验

[root @ localhost / root]#

用新帐户登录:

Red Hat Linux release 7.1(Manhattan)

Kernel 2.0.34 on an i586

login: Tom

Paword:

[Tom@ localhost Tom] $.su 命令

用su,当前的登录段能变成root(或其他用户)的登录段。如:

[Tom@ localhost Tom] $ su

Paword:

[root@ localhost Tom] # 也可以用su变成其他用户。这时,必须作为root运行su,给出用户名。.关闭系统

关闭系统时,必须告诉所有的进程结束运行,使用shutdown命令。且只能由root 运行,格式是:

shutdown

多数情况下,必须包含下列选项之一:

-h-------在关闭完成后(Halt)停止系统。

-r--------在关闭完成后重启动(Reboot)系统。

3、vi 编辑器的使用(1)进入和退出vi 进入vi 在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。

退出vi 在命令方式下可有几种方法退出vi编辑器:

:wq 把编辑缓冲区的内容写到正在编辑的文件中,退出编辑器,回到Linux shell下。

:ZZ 仅当作过修改时才将缓冲区内容写到文件上。

操作系统实验

:x 与 :ZZ 相同。

:q!强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的修改或输入都被抛弃。(2)新建文件

在Linux提示符$之后,输入命令 :vi myfile,然后按〈Enter〉键。输入插入命令i(屏幕上看不到字符i)。然后,输入以下文本行: To the only book tht I, For mang year you have been my favourite book 发现这两行有错,进行改正: 按〈Esc〉键,从插入方式回到命令方式。按光标上移键,使光标移到第一行。

按光标左移键,使光标移到“tht”的第二个“t”处。

输入i(这是插入命令),然后输入a。该行变成如下形式: To the only book that I, 按光标右移键,使光标移到“I”上。

我们想在“I”之后输入一个空格和单词“like”。为此,输入附加命令“a”。结果屏幕显示为:

To the only book that a I,没有出现预期的效果......原来是:我们先前使用了插入命令i,至今并未用〈Esc〉键返回命令方式。所以,输入的所有字符都作为输入文本予以显示。按〈Esc〉键,返回命令方式。

利用x命令删除错误字符。然后,进入插入方式,输入正确字符。最后输入如下所示的文本: 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.将编辑的文本文件存盘。(利用“:wq”命令,或者“:x”命令)重新进入vi编辑程序,编辑上面的文件。(如:$ vi myfile)

操作系统实验

在屏幕上见到myfile文件的内容。在屏幕底边一行显示出该文件的名称、行数和字符个数:“myfile”4 lines,130 characters 它仍然有错,需进一步修改。

将光标移到第二行的year的r处。输入a命令,添加字符s。

按〈Esc〉,回到命令方式。输入命令10〈Space〉,光标移至何处?---光标右移10个字符位置。

利用取代命令r将liveeyou改为live you。

将光标移至第三行。输入新行命令O(大写字母),屏幕上有什么变化?---光标移至上一行(新加空行)的开头。输入新行的内容: We've been through much together 此时,vi处于哪种工作方式? 按〈Esc〉,回到命令方式。将光标移到第四行的live的v字母处。利用替换命令s将v改为k。

在第四行的you之后添加单词very much。修改后的文本是以下内容: 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。

重新编辑该文件。并将光标移到最后一行的have的v字母处,使用d$命令将v至行尾的字符都删除。

现在想恢复17步的原状,怎么办?(使用复原命令u)

使用dd命令删除第一行;将光标移至through的u字母处,使用C(大写字母)命令进行修改,随便输入一串字符。将光标移到下一行的开头,执行5x命令;然后执行重复命令(.)。

屏幕内容乱了!现在想恢复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个数:proceor;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: 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  从系统启动开始创建的进程数----procees6、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 目录。

《操作系统实验.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
操作系统实验
点击下载文档
相关专题 操作系统实验指导1 操作系统 操作系统实验指导1 操作系统
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文