操作系统实验指导书(2)

2020-02-22 11:10

操作系统实验指导书

操作的个数进行汇总。

不足是:vmstat不能对某个进程进行深入分析,它仅是一对系统的整体情况进行分析。 例如:[angel@home /angel]# vmstat

procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 0 0 0 7180 1852 56092 48400 0 0 6 5 24 8 0 0 18

其中: Procs

r: 等待运行的进程数

b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。 Memory

swpd: 虚拟内存使用情况,单位:KB free: 空闲的内存,单位KB

buff: 被用来做为缓存的内存数,单位:KB Swap

si: 从磁盘交换到内存的交换页数量,单位:KB/秒 so: 从内存交换到磁盘的交换页数量,单位:KB/秒 bi: 发送到块设备的块数,单位:块/秒 bo: 从块设备接收到的块数,单位:块/秒 System

in: 每秒的中断数,包括时钟中断 cs: 每秒的环境(上下文)切换次数 CPU 按 CPU 的总使用百分比来显示 us: CPU 使用时间 sy: CPU 系统使用时间 id: 闲置时间

(9)分析共享内存、信号量和消息队列 ipcs(相关命令ipcrm:用于给有权限的用户清除这些量,注意不要乱清除,除非该量确实失效了) 例如:[angel@home /angel]# ipcs

------ Shared Memory Segments --------

key shmid owner perms bytes nattch status 0x00280267 0 root 644 1048576 1 0x61715f01 1 root 666 32000 33

0x00000000 2 nobody 600 92164 11 dest

------ Semaphore Arrays --------

key semid owner perms nsems status 0x00280269 0 root 666 14 0x61715f02 257 root 777 1

------ Message Queues --------

key msqid owner perms used-bytes messages

6

操作系统实验指导书

(10)监视用户空间程序发出的全部系统调用 strace

strace 还能显示调用的参数,以及用符号方式表示的返回值。

strace 从内核中接收信息,所以一个程序无论是否按调试方式编译(gcc -g)

或是否被去掉了调试信息,都可以被跟踪。

执行格式: strace [-tTeo] executable-program-name -t : 用来显示调用发生的时间 -T : 显示调用花费的时间 -e : 限定被跟踪的调用类型 -o : 将输出重定向到一个文件中

类似命令:ltrace [-fiS] executable-program-name

5、通信类

(1)本地工作站与UNIX服务器间的文件传输 ftp 执行格式: ftp 主机名

或 ftp 主机的IP地址

后续执行步骤: name: 输入帐号 password: 输入密码 ftp>help 显示ftp可使用的所有命令 ftp>lcd dir1 改变本地机当前目录为dir1 ftp>get file1 将UNIX服务器文件file1拷到本地机 ftp>put file2 将本地文件file2,拷到UNIX服务器 ftp>!ls 显示本地机当前目录下所有文件 ftp>!pwd 显示本地机当前所在目录下所有文件 ftp>ls 显示UNIX服务器当前目录下所有文件 ftp>dir 显示服务器当前目录下所有文件(略同于UNIX的 ls

-l指令)

ftp>pwd 显示UNIX服务器当前所有目录位置 ftp>cd dir1 更改UNIX服务器的目录至dir1下 ftp>mget *.c 将服务器中 .c 文件拷到本地机中 ftp>mput *.txt 将所有 .txt 文件拷贝到服务器 ftp>quit 结束ftp工作 ftp>bye 结束ftp工作

(2)检查与UNIX服务器连接是否正常 ping 执行格式: ping hostname

或 ping IP-Address

例: ping 127.1.1.1

(3)将文件当做E-mail的内容送出 mail

执行格式:mail -s “Subjict-string” username@address

功能:将file.c当做mail的内容,送至user,subject name为program (4)传送E-mail给本地UNIX服务器上的用户 mail 执行格式: mail username (5)读取信件 mail 执行格式: mail

(6)列出套接字使用情况 socklist (7)查看网络连接 netstat 6、I/O命令

(1)管道(pipe-line)的使用

执行格式: command1|command2

7

操作系统实验指导书

功能:将command1的执行结果送到command2 作为输入

例: ls -R1|more 以分页方式列出当前目录文件及子目录名称 cat file1|more 以分页方式,列出file1的内容

(2)标准输入控制

执行格式: command-line

功能:将文件file1当作信件的内容,subject 名称为mail test 送给收信人 (3)标准输出控制

执行格式一: command>filename

功能:将command的执行结果送至指定的filename中

例: ls -l >list 将执行”ls -l” 的结果写入文件list中 执行格式二: command>!filename

功能:同上,若filename文件已存在,则强迫重写 执行格式三: command>&filename

功能:将command执行所产生的任何信息写入filename 执行格式四:command>>filename

功能:将command 的执行结果,附加(append)到filename 执行格式五:command>>&filename

????????????功能:将command执行所产生的任何信息附加于filename中 7、其它常用命令

(1)命令在线帮助 man 执行格式: man command

例: man ls 查询ls这个指令的用法 (2)设定命令记录表长度 history 执行格式一: set history=n 例: set history=40

功能:设定命令记录表长度为40(可记载执行过的前面40个命令) 执行格式二: history 查看命令记录表的内容 (3)显示说明 info

执行格式: info command-name 例: info gcc

功能: 查看gcc的说明,按上下箭头选定菜单,回车进入,\键返回上级菜单. info不加参数则进入最上一级菜单.

四、用cat 命令查看 /proc 动态文件系统目录下的文件,辨识其中的系统信息. 例如: cat interrupts 列出当前中断占用情况 cat ioports 列出设备的硬件IO占用情况 cat pci 列出pci设备的情况

8

操作系统实验指导书

实验一 UNIX/LINUX及其使用环境 (二)LINUX 下C语言使用、编译与调试实验

实验目的

1、复习C语言程序基本知识

2、练习并掌握UNIX提供的vi编辑器来编译C程序

3、学会利用gcc、gdb编译、调试C程序

实验内容

1、用vi编写一个简单的、显示\的C程序,用gcc编译并观察编译后的结果

2、利用gdb调试该程序 3、运行生成的可执行文件。

实验指导

一、C语言使用简介

LINUX中包含了很多软件开发工具。它们中的很多是用于C和C++应用程序开发的。 C是一种能在UNIX的早期就被广泛使用的通用编程语言。它最早是由Bell实验室的Dennis Ritchie为了UNIX的辅助开发而写的,从此C就成为世界上使用最广泛的计算机语言。

C能在编程领域里得到如此广泛支持的原因有:

(1)它是一种非常通用的语言,并且它的语法和函数库在不同的平台上都是统一的,对开发者非常有吸引力;

(2)用C写的程序执行速度很快;

(3)C是所有版本UNIX上的系统语言;

二、文件编辑器vi

vi是在UNIX 上被广泛使用的中英文编辑软件。vi是visual editor的缩写,是UNIX提供给用户的一个窗口化编辑环境。

进入vi,直接执行vi编辑程序即可。 例:$vi test.c

显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。编辑完成后,使用者可决定是否要取代原来旧有的文件。

1、vi的工作模式

vi提供二种工作模式:输入模式(insert mode)和命令模式(command mode)。使用者进入vi后,即处在命令模式下,此刻键入的任何字符皆被视为命令,可进行删除、修改、存盘等操作。要输入信息,应转换到输入模式。

(1)命令模式

在输入模式下,按ESC可切换到命令模式。命令模式下,可选用下列指令离开vi: :q! 离开vi,并放弃刚在缓冲区内编辑的内容 :wq 将缓冲区内的资料写入磁盘中,并离开vi :ZZ 同wq :x 同wq :w 将缓冲区内的资料写入磁盘中,但并不离开vi

9

操作系统实验指导书

离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,此指令可与:w配合使用

(2)命令模式下光标的移动

H 左移一个字符 J 下移一个字符 K 上移一个字符 L 右移一个字符 0 移至该行的首 $ 移至该行的末 ^ 移至该行的第一个字符处 H 移至窗口的第一列 M 移至窗口中间那一列 L 移至窗口的最后一列 G 移至该文件的最后一列 W, W 下一个单词 (W 忽略标点) B, B 上一个单词 (B 忽略标点) + 移至下一列的第一个字符处 - 移至上一列的第一个字符处 ( 移至该句首 ) 移至该句末 { 移至该段首 } 移至该段末 NG 移至该文件的第n列 N+ 移至光标所在位置之后第n列 n- 移至光标所在位置之前第n列

(3)输入模式

输入以下命令即可进入vi输入模式:

a(append) 在光标之后加入资料 A 在该行之末加入资料 i(insert) 在光标之前加入资料 I 在该行之首加入资料 o(open) 新增一行于该行之下,供输入资料用 O 新增一行于该行之上,供输入资料用 Dd 删除当前光标所在行 X 删除当前光标字符 X 删除当前光标之前字符 U 撤消 · 重做 F 查找 s 替换,例如:将文件中的所有\换成\

用\

ESC 离开输入模式

更多用法见 info vi

三、GNU C编译器

LINUX上可用的C编译器是GNU C编译器,它建立在自由软件基金会编程许可证的基础上,因此可以自由发布。

LINUX 上的GNU C编译器(GCC)是一个全功能的ANCI C兼容编译器,而一般UNIX(如SCO UNIX)用的编译器是CC。下面介绍GCC和一些GCC编译器最常用的选项。

1、使用GCC

通常后跟一些选项和文件名来使用GCC编译器。GCC命令的基本用法如下:

10

:q


操作系统实验指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:童玲丽 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: