本文章是一篇记录性文章,讲解我在做实验过程中碰到的问题和技巧,本人水平有限,如有影响读者学习、分数本人深表抱歉.
第1章序言
实验目的:通过学习相应查看计算机信息和在不同环境下用不同的形式运行和调试程序,了解计算机各项指标,为将来增强计算机性能linux伊甸园论坛,优化程序做铺垫。
测试型号:联想挽救者,win10系统,vmware软件-乌班图
第2章实验环境构建2.1Windows下hello程序的编辑与运行(5分)
截图:要求有Windows状态行,VisualStudio界面,源程序界面redflag linux,运行结果界面。
下边有一个powershell的终端选项cd找出所在exe的位置,之后./文件名学号姓名就可以了
2.2Linux下hello程序的编辑与运行(5分)
截图:要求有Ubuntu的OS窗口,Codeblocks界面,源程序界面,运行结果界面。
因为我没有在linux安装英文输入法所以只能输入中文了
Linux下的命令
第3章Windows软硬件系统观察剖析3.1查看计算机基本信息(2分)
运行Windows管理工具中的“系统信息”程序linux系统实验,查看CPU、物理显存、系统目录、启动设备、页面文件等信息,并截图方式:直接在对话框中搜索系统信息
此笔记本-右键属性
包括OS版本号、cpu类型与外频、内存、计算机名、OS的版本等
图3-1Windows下计算机基本信息
3.2设备管理器查看(2分)
按链接列举设备,找出所有的按键键盘设备。写出每一个设备的从根到叶节点的路径。
方式:搜索栏中搜说设备管理器
点击以后,再点击风波。
按键同理
按键:HIDVID_048D&PID_C101&Col027&3748edce&0&0001
键盘:HIDhid&Col031&4784345&0&0002
3.3隐藏分区与虚拟显存之分页文件查看(2分)
1.我们在笔记本桌面右击计算机,然后在列表中点击【管理】,如图。
2.选择c盘管理可以查看隐藏c盘分区
写出计算机主硬碟的各隐藏分区的大小(MB):系统分区300MB
此笔记本点击C盘,选择查看选项,再把隐藏的项目选项打勾。再点击最右边的选项
打开以后点查看
取消绿色笔的打勾。以后还会显示出pagefile.sys
右键文件-属性-查看显存大小整完以后不要忘掉恢复
写出pagefile.sys的文件大小(Byte):2.37GB(2,550,136,832字节)
还有一种方式是看中级系统设置
右键属性打开笔记本设置
中级系统设置-中级-设置
设置-中级可以直接看见分页大小甚至可以修改但要先把沟划掉
好多人不理解虚拟显存是哪些,虚拟显存在化学上是一个文件,在逻辑上相当于显存,也就是说当真实的显存不够用时linux系统实验,会向c盘借用一段空间来充当显存,Cpu和c盘进行交换必须借助CPU。所以,在出厂的时侯,开辟了100G的C盘储存空间,而且哪些也没有存的时侯显示c盘占用2G缘由是虚拟显存文件占用了2G的空间。
C盘根目录下其他隐藏的系统文件名子为:hiberfil.sys,swapfile.sys,DumpStack.log(我也不晓得为什么有这三种)
3.4任务管理与资源监视(2分)
查看方式:ctrl+shift+Esc打开任务管理器-详尽信息点击一下pid都会按降序/逆序排列好
写出你的计算机的PID为“-”、最小与最大的3个任务的PID、名称、描述。
1.“-”:系统中断
2.“0”:最小:系统空闲进程最小任务是0
3.19216:Taskmgr.exe
3.5CPUZ下的计算机硬件详尽信息(2分)
方式1打开cmd,输入命令wmicmemorychip(注意中间的空格)
方式2下载CPU-Z软件
看左下角Selection发觉不能选择其他的选项说明只有一个CPU
方式3win+r输入cmd再输入systeminfo
同时也可以听到虚拟显存等其他信息。
CPU个数:1化学核数:8逻辑处理器个数:16L3Cache大小:16MB
L3Cache代表五级Cache
图3-2CPUZ下CPU的基本信息
参考文章怎样查看cpu核数以及线程数_LuMaman的博客-CSDN博客
第4章Linux软硬件系统观察剖析(泰山服务器—个人笔记本)
1.联接
正题:虚拟机联接联通硬碟方式
发觉无论是中文还是汉文还是德语都采用UTF8编码
top指令相当于windows下的任务管理器CPU储存器,swap
然而疗效不如htop须要自己安装一下,命令行安装是管用的Linux下htop安装与使用_GYGY思密达的博客-CSDN博客_linuxhtop安装
然而这个安装完之后也不管用,于是采用他提示的方式安装
成功!!htop查看系统信息
各类查看各类复杂的控制
lscpu指令查看
linux系统把所有的硬件都按文件进行管理也可以用命令cat/proc/cpuinfo
也可以使用cat/proc/meminfo(注意空格一定要打对)
4.1计算机硬件详尽信息(3分)
CPU个数:2化学核数:逻辑处理器个数:4
MEMTotal:1921940kBUsed:976888kBSwap:1941176kB
图4-1Linux下计算机硬件详尽信息截图
连上泰山服务器以后的信息
扩充一下查看c盘信息的方式linux查看c盘信息_码农先锋A的博客-CSDN博客_linux查看c盘信息
查看CPU核数:
cat /proc/cpuinfo
4.2任务管理与资源监视(2分)
写出Linux下的PID最小的两个任务的PID、名称(Command)。
1.PID=1:/sbin/init
2.PID=1405:/lib/systemd/systemd-journald
下载和使用htop工具
4.3c盘任务管理与资源监视(3分)
1./dev/sda设备的大小_________1.9*1024___________GB,类型___SAS____(AL15SEB120120N)____
sda没找到wwwww
2.Units_____512bytes_______SectorSize_______512bytes/512bytes_____
units单元sectotsize磁道大小老铁们我只能在本地看了,泰山服务器没有权限啊wwww
4.4Linux下网路系统信息(2分)
写出机器正联网用的网卡IPv4地址:___192.168.250.1_____________
mac地址:______________02:42:d8:d2:43:5f_________________
查看IVP4我不理解为什么你们用的都是下边这个图
Linux下mac地址如何查询?-琴策网()
可能是这俩吧wwww
图4-2Linux下网路系统信息
第5章Linux下的showbyte程序(10分)5.1源程序递交(8分)
showbyte.c与实验报告置于一个压缩包里
#include
#include
int main()
{
FILE *fp =NULL;
fp= fopen("hello.c","r");
int size;
if( fp == NULL)
return 0;
else
{
fseek(fp,0,SEEK_END);
size = ftell(fp);
rewind(fp);
char *buf = malloc(size*sizeof(char));
fread(buf,size,1,fp);
fclose(fp);
int asc[size];
for (int i = 0; i < size; ++i) {
asc[i]=buf[i];
}
int count= 0;
int j=0;
for (int i = 0; i < size; ++i) {
if(asc[i] ==10)
{
printf("\nt");
}
else if(asc[i]==9)
{
printf("\tt");
}
else if(asc[i]==32)
{
printf(" t");
}
else
{
printf("%ct", asc[i]);
}
count++;
if(count ==0) {
int count1 = 0;
printf("n");
for(j;j<size;j++)
{
printf("%dt",asc[j]);
count1++;
if(count1 ==0)
{
printf("n");
break;
}
}
j++;
}
else if(count ==size)
{
printf("n");
for(j;j<size;j++) {
printf("%dt", asc[j]);
}
}
}
}
}
5.2运行结果比较(2分)
直接输入指令就行
运行od-Ax-tcx1hello.c以及showbyte.c,结果截图。
图5-1OD和借助hexdump的输出结果
想要在终端上运行showbyte.c须要有管理员权限,技巧
1.打开终端cd到所要运行文件的目录
2.命令行输入su获得管理员权限,好多人第一次打开的时侯明明输入了正确的密码,并且一直不能辨识,这就须要筹建一个密码,具体方式见这个博客,这篇博客告诉我们怎么设置密码和在管理员和用户身分进行切换
3.接着第一步cd到文件夹以后,su一下,之后输入chmod777showbyte.c(文件可能名子不一样以实际为准)我们尝试一下./showbyte.c发觉不能运行,会报错并且我们文件的句型似乎没有错误,我们来剖析一下诱因
chmod命令原理及用法解读_lyy14011305的博客-CSDN博客_g+rw
chmod命令详尽用法_IChen.的博客-CSDN博客_chmod
由于它把这个当bash脚本读了,先编译,不要要直接运行.c文件。仔细想想chmod是干哪些的。
正确的过程如右图所示:
1接着第一步cd到文件夹以后,su一下,之后输入chmod777showbyte.c(文件可能名子不一样以实际为准)
2.ls一下看原先的文件是啥
3.gccshowbyte.c进行编译再ls一下看多出的文件是啥
4.运行多下来那种文件./a.out才能显示如图的结果
图5-2showbyte的输出结果
第6章程序的生成Cpp、Gcc、As、ld6.1请递交每步生成的文件(10分)
hello.ihello.shello.ohello.out(附上hello.c)
cd操作的要点:
1.cd..(中间一定要加空格cd是命令..是上级目录)返回上一级目录
2.cd/(一定加空格)是返回根目录如何判定返回的是根目录:ls一下看文件是啥
按指导PPT的一下子找到出错了结果发觉中间的版本是11不是8,技巧一层层的cd之后再ls看下一个的文件夹是啥,通过这些方式我发觉是8而不是11
抵达了最后一站发觉不同的颜色红色代表是文件浅黄色代表动态库深红色不晓得是啥哈哈
记录下这个路径我的笔记本是
第7章计算机数据类型的本质7.1运行sizeof.c填表(5分)
Win/VS/x86
Win/VS/x64
Linux/M32
Linux/M64
char
1
1
1
1
short
2
2
2
2
int
4
4
4
4
long
4
4
4
8
longlong
8
8
8
8
float
4
4
4
4
double
8
8
8
8
longdouble
8
8
12
16
表针
4
8
4
8
7.2请递交源程序文件sizeof.c(5分)
#include
int main() {
printf("int %ldn", sizeof(int));
printf("float %ldn", sizeof(float));
printf("double %ldn", sizeof(double));
printf("short %ldn", sizeof(short));
printf("char %ldn", sizeof(char));
printf("long %ldn", sizeof(long));
printf("long long %ldn", sizeof(long long));
printf("long double %ldn", sizeof(long double));
printf("int* %ldn", sizeof(int *));
}
Linux32和64位运行方式
具体的细节见我前一篇讲解CSAPP学习笔记---第二章位数字及其表示开篇_无耻的我@v@的博客-CSDN博客
第8章程序运行剖析8.1sum的剖析(10分)
1.截图说明运行结果,并缘由剖析。
函数的第二个参数len的类型为无符号整数,前面的for循环中使用i