操作系统课程实验报告-实验二 观察Linux的行为Word下载.docx
《操作系统课程实验报告-实验二 观察Linux的行为Word下载.docx》由会员分享,可在线阅读,更多相关《操作系统课程实验报告-实验二 观察Linux的行为Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
![操作系统课程实验报告-实验二 观察Linux的行为Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/4/1ff9a604-c87d-4250-adf1-b103441b245c/1ff9a604-c87d-4250-adf1-b103441b245c1.gif)
Linux系统上的/proc目录是一种文件系统,即proc文件系统。
与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系
统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。
它以文件系统的方式为访问系统内核数据的操作提供接口。
用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。
由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。
2. 以表格形式简单说明proc目录下所有目录和文件的内容
/proc下的目录/文件
目录/文件内容详解
以数字命名的子目录
这些数字表示系统当前正在运行进程的进程号,里面包含对应进程相关的多个信息文件。
apm
高级电源管理版本信息及电池相关状态信息,通常由apm命令使用
buddyinfo
用于诊断内存碎片问题的相关信息文件
bus
系统总线(Bus)信息,例如pci/usb等
cmdline
在启动时传递至内核的相关参数信息,这些信息通常由lilo或grub等启动管理工具进行传递
cpuinfo
系统上已安装的内核使用的密码算法及每个算法的详细的详细信息列表
crypto
内核使用的所有已安装的加密密码及细节
cwd
指向当前进程运行目录的一个符号链接
devices
系统已经加载的所有块设备和字符设备的信息,包含主设备号和设备组名
diskstats
每块磁盘设备的磁盘i/o统计信息列表
dma
这个文件列出由驱动程序保留的DMA
通道和保留它们的驱动程序名称。
casade项供用于把次DMA控制器从主控制器分出的DMA行所使用;
这一行不能用于其它用途。
driver
驱动信息
execdomains
内核当前支持的执行域信息列表
fb
帧缓冲设备列表,包括数量和控制它的驱动
fd
包含当前进程打开的每一个文件的文件描述符(filedescriptor),这些文件描述符是指向实际文件的一个符号链接
filesystems
当前被内核支持的文件系统类型列表文件被标示为nodev的文件系统表示不需要块设备的支持;
通常mount一个设备时,如果没有指定文件系统类型将通过此文件来决定其所需文件系统类型
fs
文件系统信息
interrupts
中断号列表
iomem
每个物理设备上的记忆体在系统内存中的映射信息
ioports
这个文件列出了诸如磁盘驱动器,以太网卡和声卡设备等多种设备驱动程序登记的许多I/O端口范围。
irq
中断请求设备信息
kallsyms
模块管理工具用来动态链接或绑定可装载模块的符号定义,由内核输出;
通常这个文件中的信息量相当大
kcore
系统使用的物理内存,以ELF核心文件格式存储,其文件大小为已使用的物理内存加上4kb;
这个文件用来检查内核数据结构的当前状态,因此,通常由GBD通常调试工具使用,但不能使用文件查看命令打开此文件
kmsg
此文件用来保存由内核输出的信息,通常由/sbin/klogd或/bin/dmsg等程序使用,不要试图使用查看命令打开此文件
loadavg
这个文件给出以几个不同的时间间隔计算的系统平均负载,这就如同
uptime命令显示的结果那样。
前三个数字是平均负载。
这是通过计算过去
1分钟,5分钟,15分钟里运行队列中的平均任务数得到的。
随后是正在运行的任务数和总任务数。
最后是上次使用的进程号。
locks
保存当前由内核锁定的文件的相关信息包含内核内部的调试数据;
每个锁定占据一行,且具有一个唯一的编号
mdstat
这个文件包含了由md设备驱动程序控制的raid设备信息
meminfo
系统中关于内存的利用状况等的信息,常由free命令使用,可以使用文件查看命令直接读取此文件,其内容显示为两列,前者为统计属性,后者为对应的值
misc
这个文件报告用内核函数misc_register
登记的设备驱动程序。
modules
当前装入内核的所有模块名称列表,可以由lsmod查看,也可以直接查看,第一列表示模块名,大二列表示此模块占用内存空间的大小,第三列表示此模块有多少实例被装入,第四列表示此模块依赖于其他那些模块,第五列表示此模块的装载状态,第六块表示此模块在内核内存中的偏移量
mounts
此文件的内容为系统当前挂载的所有文件系统,每个进程使用独立的挂载名称空间的方式,此文件则随之变成了指向文件的符号链接
mtrr
系统使用的MemoryTypeRangeRegisters(MTRRs)
net
此目录下的文件描述或者修改了联网代码的行为可以通过使用
arp,netstat,route和ipfwadm命令设置或查询这些特殊字符中的许多文件
partitions
块设备每个分区的主设备和次设备号等信息,同时包括每个分区所包含的块数目
pci
这个文件给出PCI设备的信息。
用它可以方便地诊断PCI问题。
你可以从这个文件中检索到的信息包括诸如
IDE接口或USB控制器这样的设备,总线,设备和功能编号,设备延迟以及IRQ编号。
scsi
此目录包含了一个列出了所有检测到的scsi设备的文件,并且为每种控制器驱动程序提供一个目录,在这个目录下又为已安装的每个实例提供子目
录
self
链接到当前正在运行的进程
slabinfo
在内核中频繁使用的对象都有自己的cache,即slabpool,而/prop/slabinfo文件列出了这些对象相关slap的信息
stat
当前进程的状态信息,包含一系列格式化后的数据列,可读性差,通常由
ps命令使用
swaps
当前系统上的交换分区及其空间利用率,如果有多个交换分区的话,则会每个交换分区的信息分别存储于
/proc/swap目录中的单独文件中,而其优先级数字越低,被使用到的可能性越大
sys
管理员可对sys子目录中的许多文件内容进行修改以更改内核的运行特性,事先可用“ls-l”命令查看某文件是否可写入。
写入操作通常类似于echo
DATA>
/path/to/your/filename的格式进行,注意,即使文件可写,也尽量不要用编辑器进行编辑
sysrq-trigger
使用echo命令来写这个文件的时候,远程root用户可以执行大多数的系统请求关键命令,就好像在本地终端执行一样。
要写入这个文件,需要把
/proc/sys/kernel/sysrq不能设置为0。
这个文件对root也是不可读的
tty
tty设备信息
uptime
系统上次启动以来的运行时间,第一个数字表示系统运行时间,第二个数字表示系统空闲时间,单位是秒
version
当前系统运行的内核版本号
vmcore
内核panic时的内存映像
vmstat
当前系统虚拟内存的多种统计数据,信息量可能会比较大,可读性好
zoneinfo
内存区域的详细信息列表,信息量较大
【实验环境】硬件环境:
宏碁笔记本电脑,i5系列,型号为AspireE1-471G
软件环境:
Ubuntu14.04麒麟版操作系统
实验内容
【实验过程】
(实验步骤、记录、数据、分析)
1.说明如何查看CPU的类型和型号、当前Linux版本、从启动到当前时刻所经过的时间、当前内存状态。
2.提供查看上述内容的终端截图或文本输出
以root权限登录ubuntu系统,并进入/proc目录,键入ls命令,查看
/proc下的内容,同时查看每个文件的读写权限。
(1)查看CPU类型和型号
方法一:
root权限下,/proc目录下使用命令
catcpuinfo
方法二:
dmesg|grepCPU
(2)查看Linux版本
cat/proc/version
uname-a
(3)从启动到当前时刻所经过的时间
cat/proc/uptime
(4)当前内存状态
cat/proc/meminfo
【实验结果】
分析Linux环境中以文件管理设备的好处?
以文件管理设备的好处有:
便于统一管理,可以动态加载和卸载;
可以像文件一样操作,提供统一接口给用户;
并且,设备不用在内核中实现,精简了内核的大小。
增加了内核的通用性。
小结
【实验总结】
实验心得,建议,意见:
通过这次实验,我深入了解了linuxproc文件系统,以及/proc下的目录和文件,以及其内容,也对linux系统的使用有了更加深入的了解。
通过实验,并实操,在真实的linux系统下输入命令,得到结果,使得我对linux系统的使用更加熟练。
命令行虽然不比图像界面用得习惯,但是相比之下proc文件系统也能很好地管理linux系统下的文件。
指导教师评语及成绩
评语:
批阅日期:
指导教师签名:
成绩:
95
报告格式不符合规范