HIT csapp LAB1报告

2023-10-23 17:51
文章标签 报告 hit lab1 csapp

本文主要是介绍HIT csapp LAB1报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实验报告

实 验(一)

目  录

第1章 实验基本信息

1.1 实验目的

1.2 实验环境与工具

1.2.1 硬件环境

1.2.2 软件环境

1.2.3 开发工具

1.3 实验预习

第2章 实验环境建立

2.1 Windows下 hello程序的编辑与运行(5分)

2.2 Linux下 hello程序的编辑与运行(5分)

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

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

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

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

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

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

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

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

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

4.3 磁盘任务管理与资源监视(3分)

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

第5章 Linux下的showbyte程序

5.1 源程序提交(8分)

5.2 运行结果比较(2分)

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

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

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

7.1 运行sizeof.c填表(5分)

7.2 请提交源程序文件sizeof.c(5分)

第8章 程序运行分析

8.1 sum的分析(10分)

8.2 float的分析(10分)

8.3程序优化(20分)

第9章 总结

9.1 请总结本次实验的收获

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

参考文献

第1章 实验基本信息

1.1 实验目的

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

2、运用现代工具进行Linux下C语言的编程调试,掌握程序的生成步骤

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

1.2 实验环境与工具

1.2.1 硬件环境

X64 CPU;2GHz;2G RAM;256GHD Disk 以上

1.2.2 软件环境

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

1.2.3 开发工具

Visual Studio 2010 64位以上;CodeBlocks 64位; vi/vim/gedit+gcc

1.3 实验预习

1、上实验课前,必须认真预习实验指导PPT

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

3、初步使用计算机管理、设备管理器、磁盘管理器、任务管理器、资源监视器、性能监视器、系统信息、系统配置、组件服务查看计算机的软硬件信息。

4、在Windows、Linux下分别编写 hello.c,显示“Hello 1200300101-学霸”(可换成学生自己信息)

5、试着编写 showbyte.c 显示hello.c的内容:如书P2页,每行16个字符,上一行为字符,下一行为其对应的10进制形式。

6、试着编写sizeof.c打印输出C语言每一个数据类型(含指针)占用空间,并在Windows、Linux的32/64模式分别运行,并比较运行结果。

第2章 实验环境建立

2.1 Windows下 hello程序的编辑与运行(5分)

截图:要求有Windows状态行,Visual Studio界面,源程序界面,运行结果界面。

Ubuntu窗口,终端term窗口,输入的“Hello 1160300199学霸”信息


图2-1  Windows下hello运行截图

2.2 Linux下 hello程序的编辑与运行(5分)

截图:要求有Ubuntu的OS窗口,Codeblocks界面,源程序界面,运行结果界面。

图2-2  Linux下hello运行截图

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

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

运行Windows管理工具中的“系统信息”程序,查看CPU、物理内存、系统目录、启动设备、页面文件等信息,并截图

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

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

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

键盘:LAPTOP-7A6BV84V>>基于ACPI x64的电脑>>Microsoft ACPI-Compliant System>>PCI Express根复合体>>Intel(R) USB 3.1可扩展主机控制器-1.10 (Microsoft)>>USB根集线器(USB 3.0)>>USB Composite Device>>USB输入设备>>HID Keyboard Device

鼠标:LAPTOP-7A6BV84V>>基于ACPI x64的电脑>>Microsoft ACPI-Compliant System>>PCI Express根复合体>>Intel(R) USB 3.1可扩展主机控制器-1.10 (Microsoft)>>USB根集线器(USB 3.0)>>USB Composite Device>>USB输入设备>>HID-compliant mouse

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

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

写出pagefile.sys的文件大小(Byte):5.25GB=5,637,144,576 Byte

C盘根目录下其他隐藏的系统文件名字为:$GetCurrent  $Recycle.Bin  $Windows.~WS  $WinREAgent  DiskGenius_WinPE  Documents and Settings  Intel  Recovery  System Volume Information

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

写出你的计算机的PID为“-”、最小与最大的3个任务的PID、名称、描述。

1.名称:系统中断 PID:-  描述:延迟过程调用和中断服务例程

2.名称:系统空闲进程 PID:0  描述:处理器空闲时间百分比

3.名称:svchost.exe PID:46940  描述:Windows 服务主进程

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

 CPU个数: 1   物理核数:  4  逻辑处理器个数: 8  L3 Cache大小: 8MB     

图3-2  CPUZ下CPU的基本信息


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

(泰山服务器)

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

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

MEM   Total: 3.8Gi       Used:     873Mi     Swap:     1.8Gi   

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

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

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

1.Command:systemd   PID:1

2.Command:kthreadd   PID:2

4.3 磁盘任务管理与资源监视3分)

1.  /dev/sda 设备的大小______128______GB,类型__VBOX HARDDISK____

2.  Units____512bytes_____Sector Size_____512bytes_______

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

写出机器正联网用的网卡IPv4地址:________10.0.2.15________

mac地址:___08:00:27:f6:c3:6a___________

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

第5章 Linux下的showbyte程序

(10分)

5.1 源程序提交(8分)

showbyte.c与实验报告放在一个压缩包里

5.2 运行结果比较(2分)

运行od -Ax -tcx1 hello.c  以及showbyte.c,结果截图。

     

图5-1  OD的输出结果

图5-2  showbyte的输出结果

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

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

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

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

long long

8

8

8

8

float

4

4

4

4

double

8

8

8

8

long double

8

8

12

16

指针

4

8

4

8

7.2 请提交源程序文件sizeof.c(5分)

    

8章 程序运行分析

8.1 sum的分析10分)

1.截图说明运行结果,并原因分析。

分析:由于传入的len=0,len-1=-1,而len是unsigned型变量,len又会变成无符号数的最大值,一直在循环中,无法跳出。程序错误。

2.论述改进方法

将传入的len又unsigned改为int型,将len变成一个有符号数,当len=0时,减一就等于-1,就可以直接跳出循环。

8.2 float的分析10分)

1.运行结果截图,分析产生原因。

2. 论述编程中浮点数比较、汇总统计等应如何正确编程。

分析:从61.419997到61.420002这几组数据来看,输入与输出的浮点数的值有偏差,可能是因为float只能存放23位小数,在存储的时候,数据过长而被截断向偶数舍入,导致值有偏差;而从10.186810到10.186815这几组数据,转为二进制时精度足够,所以未发生舍入。

解决:用存放位数更长的double来存放数据

8.3程序优化(20分)

1. 截图说明运行结果,分析问题产生原因。

  

 

注:以上图分别为递归g1.c在f/g

为long/float和long long/double下的运行结果

 

注:以上图分别为循环g2.c在f/g

为long/float和long long/double下的运行结果

  

分析:g1.c为递归算法,当递归100次时递归层数过多,难以计算。

  g2.c为循环算法,当n=100时,long long也无法完全存储f的值,导致n=100的值被截断,从而计算g的时候产生较大偏差。

而在g1.c和g2.c中,n=40时,f/g为long/float和long long/double的两种情况下,存储g的精度不同,导致最后打印出的结果也有微小偏差。

n=100时,g=0.61803399

2. 提交初始的long/double版本的g1.c与g2.c。

3. 提交最后优化后的程序 g.c

9章 总结

9.1 请总结本次实验的收获

对自己的电脑的硬件信息有了一个初步的了解,对Linux下的terminal命令有了一些了解,对一个简单的hello.c文件的编译过程有了基本的概念,用各种命令对.c文件进行预处理、编译、汇编、链接得到最终的程序,也同时懂得不同的数据类型在不同系统上的大小等。

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

希望ppt的内容说明能够详细一些。

注:本章为酌情加分项。


这篇关于HIT csapp LAB1报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/269472

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

【中国国际航空-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 所以大部分网站及App 都采取图形验证码或滑动验证码等交互解决方案, 但在机器学习能力提高的当下,连百度这样的大厂都遭受攻击导致点名批评, 图形验证及交互验证方式的安全性到底如

hdu1879(解题报告)

继续畅通工程                                   Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

hdu2033(解题报告)

人见人爱A+B                                   Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

HDU3791(解题报告)

二叉搜索树                      Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)                                          Total Subm

HDU2028(解题报告)

Lowest Common Multiple Plus                             Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)