【HIT-计算机系统】ICS-Lab1 计算机系统漫游

第1章 实验基本信息

1.1 实验目的

运用现代工具进行计算机软硬件系统的观察与分析;

运用现代工具进行Linux下C语言的编程调试;

初步掌握计算机系统的基本知识与各种类型的数据表示。

1.2 实验环境与工具

1.2.1 硬件环境

x64 CPU;1.60GHz;8G RAM;256GHD Disk。

1.2.2 软件环境

Windows10 64位。

1.2.3 开发工具

VM VirtualBox 6.1;Ubuntu 20.04 LTS 64位;

Visual Studio 2019 64位;CodeBlocks 17.12 64位;vi/vim/gedit+gcc。

1.3 实验预习

上实验课前,必须认真预习实验指导书。

了解实验的目的、实验环境与软硬件工具、实验操作步骤,复习与实验有关的理论知识。

在Windows下编写 hellowin.c,显示“Hello 1160300199学霸”。

在Linux下编写 hellolinux.c,显示“Hello 1160300199学霸”。

编写 showbyte.c 以16进制显示文件hello.c等的内容:每行16个字符,上一行为字符,下一行为其对应的16进制形式。

编写 datatype.c,定义C所有类型的全局变量,并赋初值。如整数可以是学号(数字部分),字符串可以是你的姓名,浮点数可以是身份证号的数字部分。主程序打印每个变量的变量名、变量值、变量地址、变量对应16进制的内存各字节。

showbyte.c详见附件 “preview”,其他文件见6、7、8章。

第2章 实验环境建立

2.1 Vmware下中文Ubuntu安装(5分)

安装Ubuntu,安装中文输入法(搜狗输入法),用户名为学号!

打开终端term,输入 Hello 1160300199学霸(用真实学号姓名代替)。

截图:要求有Windows状态行,Vmware窗口,Ubuntu窗口,终端term窗口,输入的“Hello 1160300199学霸”信息

图2-1  Vmware下中文Ubuntu安装效果截图

2.2 Ubuntu与Windows目录共享(5分)

    在Windows下建立一目录,将hellowin.c拷贝到此目录。在vmware下设置Ubuntu共享hitics。

    在Ubuntu下Home/用户名中 建立一快捷链接hitics指向此共享目录,并在此目录建立hellolinux.c。

打开终端term,进入此目录,输入 “ls –la” 指令。

   截图:要求有Ubuntu的“文件”应用打开“Home/用户名”,能看到hitics。term窗口。

图2-2  Ubuntu与Windows共享目录截图(a)

图2-2  Ubuntu与Windows共享目录截图(b)

第3章 Windows 软硬件系统观察分析

3.1 查看计算机基本信息(2分)

截图: 控制面板->系统    命令行systeminfo执行结果(至少包含启动设备行)

   

图3-1  Windows下计算机基本信息(a)

图3-1  Windows下计算机基本信息(b)

3.2 设备管理器查看(2分)

按链接列出设备,找出所有的键盘鼠标设备。写出每一个设备的从根到叶节点的路径。

键盘:DESKTOP-MLE6VNT/基于ACPIx64的电脑/Microsoft ACPI-Compliant System/PCI Express根复合体/I/O LPC Controller-9D84 for mobile 8th Gen Intel(R) Core(TM)  processor family/PS/2标准键盘

鼠标:DESKTOP-MLE6VNT/基于ACPIx64的电脑/Microsoft ACPI-Compliant System/PCI Express根复合体/Intel(R) Serial IO I2C Host Controller -9DE8/I2C HID 设备/HID-compliant mouse

3.3 隐藏分区与虚拟内存之分页文件查看(2分)

写出计算机主硬盘的各隐藏分区的大小(MB):100,512

写出pagefile.sys的文件大小(Byte):4718592

C盘根目录下其他隐藏的系统文件名字为:hiberfil.sys、swapfile.sys

3.4 任务管理与资源监视(2分)

写出你的计算机的PID最小的两个任务的名称、描述。

1.系统中断   延迟过程调用和中断服务例程

2.System     NT Kermel&SysTem

3.5 计算机硬件详细信息(2分)

 CPU个数:    1      物理核数:  4    逻辑处理器个数:  8   

L1 Cache大小: 256KB  L2 Cache大小:  1MB   L3 Cache大小: 6MB   

图3-2  Windows下计算机硬件详细信息


第4章 Linux软硬件系统观察分析

4.1 计算机硬件详细信息(3分)

 CPU个数:    2    物理核数: 1     逻辑处理器个数:   2   

MEM   Total:   4977MB   Used:    812MB      Swap: 448MB   

图4-1  Linux下计算机硬件详细信息截图(上)
图4-1  Linux下计算机硬件详细信息截图(下)

4.2 任务管理与资源监视(2分)

写出Linux下的PID最小的两个任务的PID、名称(Command)。

  1. 1    /sbin/init splash
  2. 235  /lib/systemd/systemd-journald

4.3 共享目录的文件系统信息(3分)

写出Linux下的hitics共享目录对应的文件系统的基本信息:

名称: sf_hitisc  容量: 411.6GB 挂载点: /media/sf_hitics

4.4 Linux下网络系统信息(2分)

写出本虚拟机的IPv4地址:           10.0.2.15            

mac地址:             08:00:27:f1:b1:04                  

图4-1  Linux下网络系统信息

第5章 以16进制形式查看程序Hello.c

5.1 请查看HelloWin.c与HelloLinux.c的编码(3分)

HelloWin.c采用UTF-8编码,HelloLinux.c 采用UTF-8编码,你的姓名 XXX 分别编码为: F9 99 88 E4 B9 9C E9 91  f9 99 88 e4 b9 9c e9 91

HelloWin.c在Linux下用gcc缺省模式编译后运行结果为:  Hello 1190201308 陈东鑫  

5.2 请查看HelloWin.c与HelloLinux.c的回车(3分)

Windows下的回车编码为:  0D 0A  ,Linux下的回车编码为:  0a  

交叉打开文件的效果是   Windows打开Linux文件回车编码前没有0d换行 ,  Linux打开Windows文件汉字显示为乱码     

第6章 程序的生成 Cpp、Gcc、As、ld

6.1 请提交每步生成的文件(4分)

hello.i  hello.s   hello.o  hello.out  (附上hellolinux.c)

详见附件 “6.1”

第7章 计算机系统的基本信息获取编程

7.1 请提交源程序文件(10分)

isLittleEndian.c

cpuWordSize.c

见附件 “7.1”

第8章 计算机数据类型的本质

8.1 请提交源程序文件Datatype.c(10分)

     要求有main函数进行测试。

详见附件 “8.1”

第9章 程序运行分析

9.1 sum的分析(20分)

结果:程序异常,数组下标越界异常。

原因:len为无符号整数0,减1后变为-1,编码为各位全1,表示二进制无符号整数的最大值,i是有符号整数,与len比较时转换为无符号,i一直比len小,直到数组下标越界出现异常。

改进:将len改为int型。

9.2 float的分析(20分)

第一组输入在表示为二进制时转化为循环小数,由于float尾数只有23位,则需要进行阶段并进行舍入,在向偶数舍入的作用下,第一组输入的最后一位被舍为偶数;而第二组输入可以直接被有限二进制表示不需要进行舍入或刚好进行非中间值的舍入结果为原值。

注意:浮点数为近似值,使用浮点数应注意精度要求,不要用浮点数比较,最好使用差值并加以精度代替浮点数的比较。

代码、附件github地址

https://github.com/ChenDolph7in/HITICS-LABS-in-21-Spring/tree/master/Lab1​​​​​​​

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值