实验报告

验(一)

题     目 LinuxC工具应用

      

专       业 计算机科学与技术

计算机科学与技术学院

目  录

第1章 实验基本信息... - 4 -

1.1 实验目的... - 4 -

1.2 实验环境与工具... - 4 -

1.2.1 硬件环境... - 4 -

1.2.2 软件环境... - 4 -

1.2.3 开发工具... - 4 -

1.3 实验预习... - 4 -

第2章 实验环境建立... - 6 -

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

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

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

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

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

3 隐藏分区与虚拟内存之分页文件查看(2分)... - 9 -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第9章 程序运行分析... - 17 -

9.1 sum的分析(20分)... - 17 -

9.2 float的分析(20分)... - 17 -

第10章 总结... - 19 -

10.1 请总结本次实验的收获... - 19 -

10.2 请给出对本次实验内容的建议... - 19 -

参考文献... - 20 -

第1章 实验基本信息

1.1 实验目的

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

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

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

1.2 实验环境与工具

1.2.1 硬件环境

X64CPU;

2GHz;

2G RAM;

256GHD Disk 以上

1.2.2 软件环境

Windows7 64位以上;VirtualBox/Vmware 11以上;Ubuntu 16.04LTS 64位/优麒麟64位

1.2.3 开发工具

Gcc ,Codeblocks

1.3 实验预习

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

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

在Windows下编写 hellowin.c,显示“Hello 1160300199学霸”(可用记事本、VS、CB等,换成学生自己信息)

在Linux下编写 hellolinux.c,显示“Hello 1160300199学霸”(可用VI、VIM、EMACS、GEDIT等,换成学生自己信息)

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

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

第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共享目录截图

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

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

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

  1. (b)

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

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

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

键盘:DESKTOP-410QH77 / 基于ACPI x64的电脑 / PCI Express根复合体/

Mobile 7th Generation Inter(R) Processor Family I/O LPC Controller (U Premium)-9D58 / PS/2兼容键盘

鼠标1:DESKTOP-410QH77 / 基于ACPI x64的电脑 / PCI Express根复合体/

Mobile 7th Generation Inter(R) Processor Family I/O LPC Controller (U Premium)-9D58 / PS/2兼容鼠标

鼠标2(若有):DESKTOP-410QH77 / 基于ACPI x64的电脑 / PCI Express根复合体 / Intel(R) USB3.0 可扩展主机控制器 -1.0(Microsoft) / USB根集线器(USB3.0)/ USB输出设备 / HID-compliant mouse

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

写出计算机主硬盘的各隐藏分区的大小(MB):(磁盘1 磁盘分区1)500MB;

DELLSUPPORT 1208MB ;Image 12114MB;WINRETOOLS 825MB

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

C盘根目录下其他隐藏的系统文件名字为:pagefile.sys / hiberfil.sys / swapfile.sys / JYTIHRCQA.DLL / $360section / $GetCurrent / Recycle.Bin / $SysReset / 360SANDBOX / Documents and Settings / ProgramData / Recovery /System Volume Information

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

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

1.系统空闲进程     处理器空闲时间百分比

2.System           NT Kernel & system

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

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

L1 Cache大小:128KB  L2 Cache大小:512KB   L3 Cache大小:3MB

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

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

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

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

MEM   Total: 919136KB Used: 831676KB Swap: 998396KB

图4-1  Linux下计算机硬件详细信息

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

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

1.  1      systemd

2.  2      kthreadd

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

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

名称:vmhgfs-fuse 容量:_157G_挂载点:/mnt/hgfs_

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

写出本虚拟机的IPv4地址:192.168.142.129_

mac地址:_00:0c:29:22:23:b3_

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

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

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

HelloWin.c采用iso-8859-1__编码,HelloLinux.c 采用utf-8编码,你的姓名__强文杰__分别编码为:c7bfcec4bddc__与__e5bcbae69687e69db0__。

HelloWin.c在Linux下用gcc缺省模式编译后运行结果为:_____________

Hello 1171000410 ǿ�Ľ�__。

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

Windows下的回车编码为:0d0a_,Linux下的回车编码为:0a_。

交叉打开文件的效果是__windows下打开HelloLinux.c无换行 _,

___Linux下打开HelloWin.c姓名为乱码___。

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

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

hello.i  hello.s   hello.o  hello.out

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

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

isLittleEndian.c

cpuWordSize.c

答:源程序文件见压缩包。

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

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

要求有main函数进行测试。

答:源程序文件见压缩包。

第9章 程序运行分析

9.1 sum的分析(20分)

结果:程序停止工作,运行结果超时。

原因:当len=0时,由于len被定义为无符号数,故len-1溢出,当i与len-1在进行比较时,len-1会由-1被解释为Umax,16进制编码为0xffffffff,故程序中数组可能会产生访问越界并陷入死循环。

改进:定义len为int数据类型。

9.2 float的分析(20分)

运行结果如下:

原因如下:

第一组数据:输入与输出不一致是IEEE的规定导致的。第一组数据表示为无限循环的二进制数,但由于float数据类型只能存储23位小数,存在精度限制,二进制尾数会被截断且向偶数舍入后得到上图运行结果,存在一些数据发生偏差。

第二组数据:第二组数据尾数被截断且向偶数舍入后的值恰能表示其自身,故数据未发生偏差。

使用浮点数时的注意事项:由于float单精度浮点数在计算机中二进制的储存方式,其无法精确表示每个数值,因此若要追求更高精度可以使用double数据类型,或者用数组按位表示。

第10章 总结

10.1 请总结本次实验的收获

1.本次实验是我对计算机的硬件有了更深刻的了解,尤其是对cpu的整体认识更加深刻了!

2.接触到虚拟机,许多操作都是通过term上命令语句来实现,对这方面内容有了更深的理解与认识。

3.在接触到很多陌生内容的情况下,学会自己去搜索有关计算机的资料,拓展了视野。掌握了数据结构和数据类型的存储方式!

10.2 请给出对本次实验内容的建议

个人认为完成实验所需的预备知识不充分,导致实验进展效率不高。

注:本章为酌情加分项。

参考文献

为完成本次实验你翻阅的书籍与网站等

[1]  林来兴. 空间控制技术[M]. 北京:中国宇航出版社,1992:25-42.

[2]  辛希孟. 信息技术与信息服务国际研讨会论文集:A集[C]. 北京:中国科学出版社,1999.

[3]  赵耀东. 新时代的工业工程师[M/OL]. 台北:天下文化出版社,1998 [1998-09-26]. http://www.ie.nthu.edu.tw/info/ie.newie.htm(Big5).

[4]  谌颖. 空间交会控制理论与方法研究[D]. 哈尔滨:哈尔滨工业大学,1992:8-13.

[5]  KANAMORI H. Shaking Without Quaking[J]. Science,1998,279(5359):2063-2064.

[6]  CHRISTINE M. Plant Physiology: Plant Biology in the Genome Era[J/OL]. Science,1998,281:331-332[1998-09-23]. http://www.sciencemag.org/cgi/ collection/anatmorp.

实验 Linux下C工具应用相关推荐

  1. 详解linux下auto工具制作Makefile源码包(制作篇)

    2019独角兽企业重金招聘Python工程师标准>>> 详解linux下auto工具制作Makefile源码包(制作篇) 水木杨 一.     概述 为了更好的制作configure ...

  2. 万得终端 linux安装,Linux下常用工具

    Linux下常用工具: yuv rgba playerubuntu 18.04 wps1 2sudo dpkg -i wps-office_10.1.0.5672~a21_amd64.deb sudo ...

  3. 模仿实现Linux下readelf工具部分功能

    模仿实现Linux下 readelfreadelfreadelf 工具部分功能 完整实现: https://github.com/JiaZhengJingXianSheng/ReadELF ELF 目 ...

  4. Linux下抓图工具shutter

    Linux下抓图工具shutter 转载于:https://www.cnblogs.com/zhangze/archive/2013/06/07/3123558.html

  5. 利用Linux下DDOS工具tfn2k进行DDOS攻击试验

    "Tribe Flood Network 2000 (TFN2K)是一款分布式拒绝服务(DDOS)的攻击工具.TFN2K是由德国著名黑客Mixter编写的同类攻击工具TFN的后续版本.本文将 ...

  6. Linux下同步工具inotify+rsync使用详解

    1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的"Rsync演算法"来使本地和远程两个主机之 ...

  7. linux如何ARP嗅探 Linux下嗅探工具Dsniff安装记录

    先来下载依赖包 和一些必须要用到的工具 我这里用的是 dsniff-2.3 的版本 wget http://www.monkey.org/~dugsong/dsniff/dsniff-2.3.tar. ...

  8. linux 卸载ninja,Linux下数据库管理工具:DbNinja

    以前一直在Windows下进行开发,转而使用Linux反而有许多不适应,以前使用Navicate数据库管理工具,但是这个只能在Windows下使用,一直没有找到使用顺手的Linux下可以使用的数据库管 ...

  9. 实验linux下的编程,实验四 Linux下的C语言编程;

    <实验四 Linux下的C语言编程;>由会员分享,可在线阅读,更多相关<实验四 Linux下的C语言编程;(5页珍藏版)>请在人人文库网上搜索. 1.实验四Linux 下的 C ...

最新文章

  1. python需要的数学基础训练答案_新编基础训练数学答案
  2. 图片日志:泛型的作用/hashset的内部实现/常见运行期异常
  3. 【软考-软件设计师】计算机指令系统
  4. C++实现顺序查找(附完整源码)
  5. 方立勋_30天掌握JavaWeb_JSTL标签库
  6. C/C++中rand()函数产生随机数的用法
  7. Git使用命令行回退版本git reset --hard
  8. lanmp之二 (奇葩问题)
  9. PyTorch 深度学习模型压缩开源库(含量化、剪枝、轻量化结构、BN融合)
  10. abp mysql .net core_ABP .Net Core Entity Framework迁移使用MySql数据库
  11. win10如何截屏_win10系统电脑截屏的多种操作方法
  12. Unity基础学习笔记(一)
  13. 如果不交社保,每月都存500元,存15年够自己养老用吗?
  14. java工厂模式的学习
  15. 植保飞行器(G 题)--2021 年全国大学生电子设计竞赛
  16. pip下载opencv报错
  17. 鼠鼠百科——普适计算
  18. N-Tiers开发方式(如何使用VB.NET撰写COM+组件)
  19. java 微信自动回复功能开发
  20. SpringBoot入门到精通 idea教学 (余胜军通俗易懂版本)

热门文章

  1. html实现放大镜效果,利用jquery实现放大镜特效
  2. CSDN什么时候倒闭啊
  3. 《古月ROS探索总结》学习笔记2
  4. 基于Java毕业设计阳光社区新冠瘦苗接种系统源码+系统+mysql+lw文档+部署软件
  5. flowable exception during resetting expired jobs: Could not open JDBC Connection for transaction
  6. 如何统计项目的代码行数
  7. centos7和win7双系统安装
  8. 使用Win7 PE安装Win 7原版系统图解
  9. 从表征到行动---意向性的自然主义进路(续八)
  10. 如何查看计算机在广域网的地址,如何知道本机当前局域网IP地址和广域网IP地址...