Linux实验

Linux实验,第1张

实验报告

实验名称: Linux观察行为

实验时间:年 月 日

实验人员: (姓名) (学号) (年级)

实验目的: 掌握监视系统的几个Linux基本命令以及其他常用命令,学习linux内核,进程,存储和其他资源的一些重要特征,熟悉/proc虚拟文件系统

实验环境: linux

实验步骤:

1. 用帐户root,密码123456登陆linux系统

2. 运行ps、man ps、cal、date、clear、who、which命令,观察输出结果

3. 运行/proc文件系统的相关命令(参见以下实验陈述3),观察输出结果

实验陈述:

1、基础知识:

为什么说/proc是一个虚拟文件系统:

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。

该文件的作用:

它以文件系统的方式为访问系统内核数据的 *** 作提供接口。用户和应用程序可以通过 proc得到系统的信息,并可以改变内核的某些参数。

2、写出下列运行指令的结果(在终端里原样输入命令即可得到结果)

cal: 返回当前年月日历

who am I:返回当前用户信息

find /usr -name "clear":

返回 一直到/clear的路径 如:/use/bin/clear

which ls: alias ls='ls --color=tty'

/bin/ls

3、完成下列liunx机器问题(/proc文件系统)

² CPU的类型和型号

Ø指令:cat /proc/cpuinfo

Ø结果:(原样输入指令即可得到结果)

² 使用的Linux内核版本、编译器版本

Ø指令:cat /proc/version

Ø结果:(原样输入指令即可得到结果)

² 配置了多少内存

Ø指令:cat /proc/meminfo

Ø结果:

MemTotal项就是总的内存.

² 当前有多少可用内存

Ø指令:cat /proc/meminfo

Ø结果:

MemFree项就是可用内存.

² 有多少磁盘读写请求

Ø指令:cat /proc/stat

Ø结果:

disk_io项

² 从系统启动以来已经创建了多少进程

Ø指令:cat /proc/stat

Ø结果:

processes项即为总的线程数

实验总结:...

1-

for dir in "a_sub b_sub"

do

cd $dir

ls -1 *.c

ls -1 *.o

cd ..

done

2-

str=`df /home |grep home|cut -c 51-`

for used in $str

do

per_use=$used

break

done

num=`echo $per_use|cut -d'%' -f1`

if [ $num -lt 50 ]

then

echo "用户文件系统磁盘使用负荷量小"

else

if [ $num -lt 90 ]

then

echo "用户文件系统磁盘使用负荷量正常"

else

echo "用户文件系统磁盘使用负荷量偏大"

fi

fi

3-假设文件内容如下:

class 1

100

98

80

class 2

99

96

90

class 3

100

60

50

cnt=0

sum=0

while read a

do

if echo $a|grep class >/dev/null

then

if [ $cnt -ne 0 ]

then

avg=`expr $sum / $cnt`

echo "$old_class's average: $avg"

fi

cnt=0

sum=0

old_class=$a

else

cnt=`expr $cnt + 1`

sum=`expr $sum + $a`

fi

done <score.txt

if [ $cnt -ne 0 ]

then

avg=`expr $sum / $cnt`

echo "$old_class's average: $avg"

fi

一、实验目的:

进一步认识并发(并行)执行的概念,区别顺序执行和并发(并行)执行。

分析进程争用临界资源的现象,学习解决进程排斥的方法。

二、实验环境:

一台至少具有256MB内存的计算机,并安装Red Hat Linux 9的Linux *** 作系统。

三、实验内容:

1. 预备知识

fork函数调用:创建一个新进程。

getpid函数调用:获得一个进程的pid。

lockf系统的调用:在进程同步控制中为进程加锁。

2. 编写一段程序(程序名为fork1.c),使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。

(1)进入Linux *** 作系统。

(2)打开终端。进入vi编译器。

(3)输入源程序代码。

(4)按Esc键,进入命令模式后,输入“: wq文件名”就可以运行该程序了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7247299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存