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项即为总的线程数

实验总结:...

#include <unistd.h>

#include <stdio.h>

//警告: 该程序未做错误验证, 未关闭管道(由系统自动关闭)

int main()

{

int p2c[2] // 该管道父进程写,子进程读

int c2p[2] // 该管道子进程写,父进程读

    

        // 创建2条管道

pipe(p2c)

pipe(c2p)

int pid = fork()

int fd_read, fd_write // 这两个描述符用于保存某进程读端和写端

int pid_my // 保存某进程自身的pid

int pid_other // 另一进程的pid,通过

if ( pid == 0 ) { // 子进程

fd_read = p2c[0]

fd_write= c2p[1]

// 通过getpid取得自身pid,写到管道里

pid_my = getpid()

write(fd_write, &pid_my, sizeof(int))

// 从另一管道读取另一进程的pid

read(fd_read, &pid_other, sizeof(int))

                // 打印读取到的pid

printf("Recive pid : %d\n", pid_other)

} else { // p

fd_read = c2p[0]

fd_write= p2c[1]

pid_my = getpid()

                // 由于子进程是先写自身pid,父进程最好先读取子进程的pid

read(fd_read, &pid_other, sizeof(int))

write(fd_write, &pid_my, sizeof(int))

printf("Recive pid : %d\n", pid_other)

}

return 0

}


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

原文地址:https://54852.com/yw/7409684.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存