收藏 分享(赏)

实验五-存储管理实验解析.ppt

上传人:hwpkd79526 文档编号:7091079 上传时间:2019-05-05 格式:PPT 页数:16 大小:90.50KB
下载 相关 举报
实验五-存储管理实验解析.ppt_第1页
第1页 / 共16页
实验五-存储管理实验解析.ppt_第2页
第2页 / 共16页
实验五-存储管理实验解析.ppt_第3页
第3页 / 共16页
实验五-存储管理实验解析.ppt_第4页
第4页 / 共16页
实验五-存储管理实验解析.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、实 验 五,使用free、vmstat、size等命令观察LINUX系统内存和虚存的使用情况。2. 查看/proc/meminfo、/proc/$pid/statm、/proc/$pid/maps文件的内容。(其中pid为某一进程的内部标识号),#include #include #include #includemain()int fd,l;void *tp;struct stat ps;fd=open(“/home/usr1/try”,0);fstat(fd, ,3. 输入下列程序:观察程序的运行结果。,(Try可以是任一文本文件),文件Try的实际路径,4. 查阅资料,写出下列系统功能调

2、用或函数的功能及用法,fstat、malloc(l)、Calloc、free、realloc,5. 编制一个程序,实现COPY命令,命令的格式:copy 源文件名 目标文件名,例如: copy file1 file2, 产生文件file1的拷贝 file2,写实验报告,free 显示内存的使用情况,权限:所有用户 格式:free b|k|m o s delay t V 主要参数: b k m:分别以字节(KB、MB)为单位显示内存使用情况。s delay:显示每隔多少秒数来显示一次内存使用情况。t:显示内存总和列。o:不显示缓冲区调节列。,$ free -mtotal used free sh

3、ared buffers cached Mem: 1002 769 232 0 62 421 -/+ buffers/cache: 286 715 Swap: 1153 0 1153 第一部分Mem行: total 内存总数: 1002M used 已经使用的内存数: 769M free 空闲的内存数: 232M shared 当前已经废弃不用,总是0 buffers Buffer 缓存内存数: 62M(磁盘块的读写) cached Page 缓存内存数: 421M(Inode的读写),关系:total(1002M) = used(769M) + free(232M),第二部分(-/+ buf

4、fers/cache): (-buffers/cache) used内存数:286M (指的第一部分Mem行中的used - buffers - cached): 被程序实实在在吃掉的内存 (+buffers/cache) free内存数: 715M (指的第一部分Mem行中的free + buffers + cached):可以挪用的内存总数。 第三部分交换分区:进程换进换出,vmstat:虚拟内存统计,vmstat命令是显示linux性能指标的一种方法,输出类别有: 进程(procs) 内存(memory) 交换区(swap) I/O(io) 系统(system) CPU(cpu),例子1

5、:VMSTAT 2 , 每2秒输出一条结果字段说明:Procs(进程):r: 运行队列中进程数量b: 等待IO的进程数量Swap:si: 每秒从交换区写到内存的大小so: 每秒写入交换区的内存大小IO:(现在的Linux版本块的大小为1024bytes)bi: 每秒读取的块数bo: 每秒写入的块数系统:in: 每秒中断数,包括时钟中断。cs: 每秒上下文切换数。,Memory(内存):swpd: 使用虚拟内存大小free: 可用内存大小buff: 用作缓冲的内存大小cache: 用作缓存的内存大小,CPU(以百分比表示):us: 用户进程执行时间(user time)sy: 系统进程执行时间(

6、system time)id: 空闲时间(包括IO等待时间)wa: 等待IO时间,#include #include #include #includemain()int fd,l;void *tp;struct stat ps;fd=open(“/home/usr1/try”,0);fstat(fd, ,3. 输入下列程序:观察程序的运行结果。,(Try可以是任一文本文件),文件Try的实际路径,fstat() 函数:返回打开文件的状态信息,struct stat: st_ino 与该文件关联的inodest_dev 保存文件的设备st_uid 文件属主的UID号st_gid 文件属主的GI

7、D号st_atime 文件上一次被访问的时间st_ctime 文件的权限、属主、组或内容上一次被修改的时间st_mtime 文件的内容上一次被修改的时间。(和st_ctime的不同之处显而易见)st_nlink 该文件上硬连接的个数,不同的LINUX版本,stat的内容有所不同,st_size 文件的长度,#include #include #include #includemain()int fd,l;void *tp;struct stat ps;fd=open(“/home/usr1/try”,0);fstat(fd, ,3. 输入下列程序:观察程序的运行结果。,/设置共享内存区的指针,

8、/保存文件的状态,/把文件的状态保存到结构体变量PS中,/取文件的长度,/申请共享内存区,/读文件fd的内容,写入共享内存区,/把共享内存区的内容输出,/关闭文件,5. 编制一个程序,实现COPY命令,命令的格式:copy 源文件名 目标文件名,例如: copy file1 file2, 产生文件file1的拷贝 file2,例:,#include #include #include #includemain()int fd,l;void *tp;struct stat ps;fd=open(“/home/usr1/try”,0);fstat(fd, ,$ cp file1.c file2.c

9、,$ ls $ file1.c file2.c,$ copy file1.c file2.c,#include #include #include #include #include #includemain() int fd1,fd2,l;char str120;void *tp;char str2100;char str3100;struct stat ps;scanf(“%s“,str1);scanf(“%s“,str2);scanf(“%s“,str3);,fd1=open(str2,0); fd2=open(str3,O_WRONLY|O_CREAT); fstat(fd1, ,ma

10、in(int argc,char *argv ) agrc,argv,main函数的形参。 main函数是由系统调用,形参的值是由命令行参数给出 Argc:整型,命令行参数的个数 Argv: 是指针数组,每个元素指向命令行对应字符串表示的参数,其元素个数由argc确定。,main函数的参数,例:main(int argc,char *argv)int i;printf(“argcdn”,argc);for(i1;iargc;i+)printf(”sn”,argvi);,test.c,$ test IBMPC COMPUTER,argc3IBM-PCCOMPUTER,argv0?,test,#i

11、nclude #include #include #include #include #includemain() int fd1,fd2,l;char str120;void *tp;char str2100;char str3100;struct stat ps;scanf(“%s“,str1);scanf(“%s“,str2);scanf(“%s“,str3);,fd1=open(str2,0); fd2=open(str3, O_WRONLY|O_CREAT); fstat(fd1, ,main(int argc,char *argv),fd1=open(argv1,0);,fd2=open(argv2, O_WRONLY|O_CREAT);,$ copy file1.c file2.c,

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

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报