E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
深入理解计算机系统(CSAPP
深入理解计算机系统
(3)——处理器体系结构
1、CPU的组成传统上,CPU由控制器和运算器这两个主要部件组成。随着集成电路技术的不断发展和进步,新型CPU纷纷集成了一些原先置于CPU之外的分立功能部件,如浮点处理器、高速缓存(Cache)等,在大大提高CPU性能指标的同时,也使得CPU的内部组成日益复杂化。CPU主要组成部分的逻辑结构如图3-2所示:image1.1、控制器控制器是整个计算机系统的指挥中心。在控制器的指挥控制下,运算器、存储
先弓
·
2023-12-15 21:19
csapp
第五章读书笔记 分析程序指标工具
csapp
第五章读书笔记part2ProgramProfilinggprof是一种性能分析工具,用于分析程序的运行时间和函数调用关系。它可以帮助开发人员找出程序中的瓶颈和性能问题,从而进行优化。
Nahida_nora
·
2023-12-14 21:40
面试题
笔试
C++
汇编
性能优化
c++
《
深入理解计算机系统
》学习笔记 - 第四课 - 机器级别的程序
Lecture05MachineLevelProgrammingIBasics机器级别的程序文章目录Lecture05MachineLevelProgrammingIBasics机器级别的程序intel处理器的历史和体系结构芯片的构成AMD公司(AdvancedMicroDevices,先进的微型设备)C,汇编,机器代码定义汇编/机器代码C程序转换为目标代码编译为汇编代码汇编的特性:数据类型汇编的
北海拾贝
·
2023-12-14 15:09
计算机系统原理
计算机系统原理
CSAPP
练习题 2.25
#includefloatsum_elements(floata[],unsignedlength){inti;floatresult=0;for(i=0;ifloatsum_elements(floata[],unsignedlength){inti;floatresult=0;//Issueishereduetousageoflength-1whichleadsto"underflow"tot
Shen5755
·
2023-12-06 19:34
#
CSAPP
1024程序员节
CSAPP
bomb_lab:phase_5
phase_5的汇编代码0x0000000000401062:push%rbx0x0000000000401063:sub$0x20,%rsp0x0000000000401067:mov%rdi,%rbx0x000000000040106a:mov%fs:0x28,%rax0x0000000000401073:mov%rax,0x18(%rsp)0x0000000000401078:xor%eax
暮色_年华
·
2023-12-03 17:35
服务器
linux
前端
CSAPP
第11章:共享文件
内核用三种相关的数据结构来表示打开的文件。描述符表:每个进程都有它独立的描述符表,表项是由进程打开的文件描述符来索引。每个打开的描述符表项指向文件表的一个表项。文件表:打开文件的集合是由一张文件表表示,所有的进程共享这张表。每个文件表的表象组成有当前文件位置、引用计数(当前指向该表项的描述符表项数),一个指向V-node表中对应表项的指针。关闭一个描述符会减少相应的文件表项中的引用计数。内核不会删
暮色_年华
·
2023-12-03 16:55
服务器
linux
数据库
速通
CSAPP
(二)信息的表示和处理
CSAPP
主要讲解CC++的数据表示方法,java有些不同。内存空间计算机寻址并不是按一个个二进制位来找的,通常是8位二进制位组成的一个字节是最小的寻址单元。内存可以被视作一个字节数组,虚拟内存。
灰海宽松
·
2023-12-03 14:12
#
CSAPP
c语言
数据结构
经典书籍
《算法导论》ThomasH.Cormen、CharlesE.Leiserson《
深入理解计算机系统
》RandalE.Bryant《人月神话》FrederickP.Brooks《编程珠玑》JonBentley
辉lazy
·
2023-12-03 12:28
csapp
-
深入理解计算机系统
学习记录
文章目录
csapp
学习记录一第1章:计算机系统漫游信息就是位+上下文从一个c文件,到可执行目标文件整个翻译过程分为4个阶段程序执行的过程:摩尔定律:HELLOWORLD可执行程序的产生理解编译过程及原理的意义何在可执行程序
mackilo
·
2023-12-03 03:10
学习
万字深剖虚拟内存
虚拟内存前言本文完全根据
CSAPP
第九章的结构,总结了虚拟内存的知识点。虚拟内存是一种对内存的抽象,可以自动的完成内存管理的相关工作,并不需要应用程序员来干预。
Tmylyh
·
2023-12-03 02:42
csapp
csapp
C语言结构体详解(一)(能看懂文字就能明白系列)
个人主页:古德猫宁-专栏:
深入理解计算机系统
C语言基础习题C语言笔记目录结构的声明结构体变量的创建和初始化结构体变量的创建结构体的初始化结构的特殊声明访问结构成员结构体的自引用引子:假如我们要设计一个程序来打印一份图书目录
古德猫宁-
·
2023-12-02 20:04
c语言
开发语言
学习
C语言结构体
笔记
经验分享
深入理解计算机系统
之 第一章 计算机系统漫游
1、只有ASCII构成的文件称为文本文件,所有其他文件称为二进制文件2、在Unix系统中,从源文件到目标文件的转化是由编译器驱动程序完成的image链接是将调用的函数通过某种方式结合到可执行文件中。3、系统的硬件组成image总线,贯穿整个系统的一组电子管道称为总线。它携带信息并负责在各个部件中传递。I/O设备,通过适配器或者控制器连接到I/O总线。主存,在处理程序时,用来存储程序和程序处理的数据
serpmelon
·
2023-12-02 18:10
速通
CSAPP
(一)计算机系统漫游入门
CSAPP
学习前言一门经典的计组课程,我却到了大四才学。anyway,何时都不会晚。博主参考的教程:本电子书信息-
深入理解计算机系统
(
CSAPP
)(gitbook.io),非常感谢作者的整理。
灰海宽松
·
2023-12-02 01:01
#
CSAPP
学习
笔记
csapp
-linklab之第3阶段“输出学号”实验报告(强弱符号)
题目新建一个phase3_patch.o,使其与main.o和phase3.o链接后,运行输出自己的学号:$gcc-olinkbombmain.ophase3.ophase3_patch.o$./linkbomb$学号提示利用符号解析中的强弱符号规则。(COOKIE字符串未初始化,可以利用强弱符号,在phase3_patch.c中定义一个初始化的COOKIE字符串。)解决先链接main.o与pha
冰糖雪梨里的梨
·
2023-12-01 20:09
csapp
linux
链接
link
lab
重定位
强弱符号
Ubuntu
csapp
-linklab之第二阶段“输出学号”实验报告
本阶段主题是链接中的“重定位”。两次重定位,一次是绝对地址重定位,一次是PC相对地址重定位。本题目标依旧是输出学号,反汇编phase2.o,看到学号“0000000000”已经存放在只读数据区了。现在任务就是改do_pheas的指令和重定位表(.rel.test)的内容。step1仿照phase1的代码,先写出指令的框架00000030:30:55push%ebp31:89e5mov%esp,%e
冰糖雪梨里的梨
·
2023-12-01 20:08
linux
csapp
链接
重定位
csapp
-linklab之第4阶段“输出学号”实验报告(switch跳转表)
实验内容修改phase4.o相应节中的内容,使其与main.o链接后运行能够输出自己的学号:$gcc-olinkbombmain.ophase4.o$./linkbomb$学号实验提示掌握switch语句的机器语言表示及其跳转表的实现。找出跳转表反汇编phase4.o,看看里面干了些什么内容。粗略一看,那么长;看到中间,猜到是switch;看看头尾,和phase3一模一样。头尾我还是一字一句的看了
冰糖雪梨里的梨
·
2023-12-01 20:35
csapp
linux
链接
重定位
csapp
深入理解计算机系统
bomb lab(1)phase_4
使用disasphase_4查看phase_4的汇编代码按照惯例,查看一下0x4025cf内存单元存放的字符串的值是什么所以phase_4的输入应该是两个整数。下面使用先猜想后验证的方法尝试找出两个整数的值,猜想两个整数为1,2,在ans.txt写入1,2(前面3行是前面3个phase的答案。)vimans.txtBorderrelationswithCanadahaveneverbeenbett
暮色_年华
·
2023-11-30 09:40
汇编
CSAPP
第四章读书笔记 part2
GeneralPrinciplesofPipeliningComputationalPipelinescircuitdelaysinunitsofpicoseconds(abbreviated“ps”),or10−12seconds.throughputinunitsofgiga-instructionspersecond(abbreviatedGIPS),orbillionsofinstruct
Nahida_nora
·
2023-11-29 22:30
面试题
笔试
C++
汇编
csapp
archlab part 1
partA[root@edb3963640a6misc]#./yassum.ys[root@edb3963640a6misc]#./yissum.yo./yas和./yis是汇编语言编译器和模拟器的命令行工具。./yas是一个汇编语言编译器,它将汇编语言代码转换为可执行的二进制文件。./yassum.ys将sum.ys文件编译成了sum.yo可执行文件。./yis是一个模拟器,它用于执行和模拟已编
Nahida_nora
·
2023-11-29 22:30
面试题
笔试
C++
汇编
在读书籍勘误
文章目录普林斯顿微积分读本线性代数及其应用matlab相关数据错误
CSAPP
C程序设计语言(K&R)中文版C陷阱与指针SICP数据结构与算法分析--C语言描述计算机组成与设计硬件/软件接口RISC-V版操作系统导论计算机网络
Hoper.J
·
2023-11-29 12:57
经验及避坑分享
书籍勘误
CSAPP
大作业——程序人生
我们将结合《
深入理解计算机系统
》中的内容,通过研究分析hello.c经过预处理、编译、汇编、链接生成可执行文件的过程,以及计算机系统对hello可执行目标程序的进程、存储以及I/O管理,让读者对计算机系统的主要结构和基本原理有一个更加清晰的认识
Zz434696
·
2023-11-28 11:19
c语言
CSAPP
第十二章:并发编程
如果逻辑控制流在时间上重叠,那么它们就是并发的。现代操作系统提供了三种基本的构造并发程序的方法:进程,每个逻辑控制流都是一个进程,由内核调度和维护,进程有独立的虚拟地址空间,要想共享数据,必须显示的IPC机制I/O多路复用,应用程序在一个进程的上下文中显示地调度它们自己的逻辑流,因为程序是一个单独的进程,所有的流共享同一个地址空间线程,由内核进行调度,可以看做是以上两种方式的混合体线程安全当一个函
Leooeloel
·
2023-11-28 02:15
Computer Systems A Programmers Perspective 日记1-system’s hardware organization and operation
这本
深入理解计算机系统
的书一直想看,但
半步江南
·
2023-11-28 02:51
csapp
-
深入理解计算机系统
学习记录
文章目录
csapp
学习记录一第1章:计算机系统漫游信息就是位+上下文从一个c文件,到可执行目标文件整个翻译过程分为4个阶段程序执行的过程:摩尔定律:HELLOWORLD可执行程序的产生理解编译过程及原理的意义何在可执行程序
mackilo
·
2023-11-27 22:45
学习
计统的big homework
计算机系统大作业题目程序人生-Hello’sP2P专业计算机学号1190300107班级1903006学生王钲皓指导教师史先俊计算机科学与技术学院2021年5月摘要本论文将
CSAPP
课程所学内容通过hello
种子种子种子
·
2023-11-26 20:24
CSAPP
-LinkLab实验
目录一、实验内容1.实验数据2.实验工具3.实验提示实验阶段1实验阶段2实验阶段3实验阶段4实验阶段5二、实验过程与结果Phase1:Phase2:Phase3:Phase4:Phase5:一、实验内容每个实验阶段(共5个)考察ELF文件组成与程序链接过程的不同方面知识阶段1:全局变量-数据节阶段2:强符号与弱符号-数据节阶段3:代码节修改阶段4:代码与重定位位置阶段5:代码与重定位类型在实验中的
林北发量惊人
·
2023-11-26 17:50
CSAPP
汇编
ubuntu
超详细
csapp
-linklab之第一阶段“输出学号”实验报告
该实验的主题是“链接”。准备工具虚拟机,Ubuntu32位,hexedit,main.o,phase1.o,该实验的C代码框架如下//main.cvoid(*phase)();/*初始化为0*/intmain(intargc,constchar*argv[]){if(phase)(*phase)();elseprintf("Torunlab,pleaselinktherelevantobjectm
冰糖雪梨里的梨
·
2023-11-26 17:19
数据结构
HIT
CSAPP
LAB5
LinkLab链接目录第1章实验基本信息-3-1.1实验目的-3-1.2实验环境与工具-3-1.2.1硬件环境-3-1.2.2软件环境-3-1.2.3开发工具-3-1.3实验预习-3-第2章实验预习-5-2.1ELF文件格式解读-5-2.2程序的内存映像结构-5-2.3程序中符号的位置分析-6-2.4程序运行过程分析-12-第3章各阶段的原理与方法-15-3.1阶段1的分析-15-3.2阶段2的分
fastaway
·
2023-11-26 17:48
HIT
CSAPP
Lab
哈尔滨工业大学
CSAPP
LAB2二进制炸弹详解
哈尔滨工业大学计算机系统LAB2**2022年,CSDN使用typora上传md文件图片还是加载不了建议直接跳转博主本人博客网站二进制炸弹|那我就让时光倒流=我不休息我还能学⊂(‘ω’⊂)))Σ≡=─༄༅༄༅༄༅༄(yuxiazhengye.co)一,实验基本信息1.实验目的拆炸弹,了解汇编andfun2.实验环境与工具2.1硬件环境Inteli7-i0875H64位处理器RTX20702.2软件
那我就让时光倒流
·
2023-11-26 17:37
计算机系统
linux
哈工大
csapp
lab5
实验报告实验(五)题目LinkLab链接专业计算机科学与技术学号190110812班级7学生刘新晨指导教师吴锐实验地点G707实验日期2021/5/16计算机科学与技术学院目录第1章实验基本信息-3-1.1实验目的-3-1.2实验环境与工具-3-1.2.1硬件环境-3-1.2.2软件环境-3-1.2.3开发工具-3-1.3实验预习-3-第2章实验预习-4-2.1ELF文件格式解读-4-2.2程序的
liu_xinchen
·
2023-11-26 17:34
CSAPP
Link总结;HIT linkbomb实验记录
目录结构:一、链接总结(1)符号解析:1、符号定义分类2、静态链接解析过程3、符号表条目(2)重定位(3)动态链接1、静态库的缺点2、位置无关代码3、数据和代码调用二、HITlinkbomb实验记录链接总结链接的作用是合并多个可重定位目标文件与静态/动态库,分为两个步骤,符号解析and重定位。符号解析后获得(1)要合并的.o文件的集合(2)需要确定地址的符号集合重定位分三部分(1)同节合并(2)确
努力成长的tory
·
2023-11-26 17:32
操作系统
CSAPP
Lab2: 反汇编 二进制炸弹
逆向工程【二进制炸弹】任务描述“二进制炸弹包含若干个阶段,每个阶段需要输入特定的字符串,所有输入正确则炸弹被排除,否则……”拆弹的任务也就是找出这些字符串将字符串记录到solution.txt文件中,用换行区别不同阶段的字符串,Linux环境下可按下列方式验证拆弹结果:$./bombsolution.txt主要方法objdump反汇编与gdb调试。分析流程已知数据有编译好的二进制可执行文件bomb
ustca
·
2023-11-25 18:39
逆向工程
CSAPP
csapp
第四章 读书笔记 part1
Programmer-VisibleStateY86-64是一个教学用的指令集架构,用于教授计算机体系结构和汇编语言的课程。它是为了简化教学和理解而设计的,因此它的指令集和功能相对较少。而x86-64是一种常见的处理器架构,用于商业计算机系统和服务器。它是由英特尔和AMD等公司开发的,具有复杂的指令集和丰富的功能,可以执行各种复杂的任务和应用程序。因此,Y86-64和x86-64的主要区别在于它们
Nahida_nora
·
2023-11-24 21:00
面试题
笔试
C++
汇编
《
深入理解计算机系统
》实验一 —Data Lab
本文是
CSAPP
第二章的配套实验,通过使用有限的运算符来实现正数,负数,浮点数的位级表示。通过完成这13个函数,可以使我们更好的理解计算机中数据的编码方式。
3561cc5dc1b0
·
2023-11-24 11:36
深入理解计算机系统
——第六章 The Memory Hierarchy
深入理解计算机系统
——第六章TheMemoryHierarchy6.1StorageTechnologies6.1.1RandomAccessMemoryNonvolatileMemoryAccessingMainMemoryDiskGeometryConnectingI
cd-qz
·
2023-11-24 10:42
计算机基础
#
深入理解计算机系统
深入理解计算机系统
csapp
深入理解计算机系统
bomb lab(2)phase_2
bomblab及phase_1同phase_1可以查看phase_2的汇编代call40145c可以看出phase_2调用了read_six_numbers,然后把1和(%rsp)比较,如果不是1,就会调用函数。%rsp存放地址,(%rsp)从内存中取出地址的对应的值。%rsp存放第一个整数的地址%rsp+4存放第二个整数的地址%rsp+8存放第三个整数的地址%rsp+12存放第四个整数的地址%r
暮色_年华
·
2023-11-24 00:46
前端
服务器
linux
深入理解计算机系统
:存储器层次结构
存储技术随机访问存储器SRAM用作高速缓存存储器DRAM作为主存以及图形系统的帧缓冲区对比SRAM具有多个晶体管,访问快,不敏感,造价高,应用于高速缓存存储器。磁盘磁盘构造磁盘磁盘是由盘片构成,每个盘片有两面称为表面,表面覆盖着磁性记录材料。盘片中央有一个可以旋转的主轴,它使得盘片以固定的旋转速率旋转(单位:RPM)。磁盘通常包含一个或多个这样的盘片,并封装在一个密封的容器内。扇区每个表面由一组称
weixin_40286148
·
2023-11-23 07:06
读书
计算机系统
存储器层次结构
CSAPP
:第六章——存储器层次结构
文章目录一、存储技术1.1随机访问存储器1.2磁盘存储1.3固态硬盘二、局部性2.1对程序数据引用的局部性2.2取指令的局部性2.3局部性小结三、存储器层次结构3.1存储器层次结构中的缓存3.2存储器层次结构概念小结四、高速缓存存储器4.1通用的高速缓存存储器组织结构4.2Cache块的索引方式4.3有关写的问题4.4真实的高速缓存层次结构解剖五、存储器小结一、存储技术1.1随机访问存储器随机访问
七妹要奈斯
·
2023-11-23 07:32
计算机系统原理
计算机体系结构
体系结构
存储器
深入理解计算机系统
chapter2.7-----二进制小数和IEEE浮点标准
整数的表示和运算我们已经讲完了,在实际应用中,整数能够解决我们大部分问题。但是某些需要精确表示的数,比如某件商品的价格,某两地之间的距离等等,我们如果用整数表示将会有很大的出入,这时候浮点数就产生了。在20世纪80年代以前,每个计算机厂商都设计了自己表示浮点数的规则,以及对浮点数执行运算的细节,这对于应用程序在不同机器上的移植造成了巨大的困难。而在这之后,也就是1985年左右,IEEE标准产生了,
JQ210245253
·
2023-11-23 03:35
深入理解计算机系统
深入理解计算机系统
(序章)------谈程序员为什么要懂底层计算机结构
万丈高楼平地起,计算机系统就像程序员金字塔的地基。理解了计算机系统的构造原理,在写程序的道路上才能越走越远。道理LZ很早就懂了,可是一直没下定决心好好钻研,或许是觉得日常工作中根本用不到这些,又或许是每次拿起书看到那些复杂的底层架构,看到存储器,寄存器,CPU,总线等等这些概念就头大。总之,由于各种各样的原因,对这块的知识一直没有认真花时间去钻研。那么你可能会问,那你写这篇博客的题目不就是准备学习
薛延祥
·
2023-11-22 12:38
【
csapp
lab】lab2_bomblab
文章目录前言实验内容phase_1phase_2phase_3phase_4phase_5phase_6secret_phase前言刚做了
csapp
lab2,记录一下。
LeePlace
·
2023-11-21 20:48
随想随写
c语言
汇编
linux
csapp
lab2
计算机专业具体细分,中国人民大学计算机考研专业具体有什么细分
凯程老师从每年的试题来看,风格都完全不一样,不
深入理解计算机系统
是很难考出好成绩的。所以凯程老师建议大家需要尽早复习计算机的专业课。每年的真题都非常灵活,所以要抓住课
小湧
·
2023-11-21 19:56
计算机专业具体细分
中国人民大学计算机考研经验,中国人民大学计算机考研复习经验参考
凯程老师从每年的试题来看,风格都完全不一样,不
深入理解计算机系统
是很难考出好成绩的。所以凯程老师建议大家需要尽早复习计算机的专业课。每年的真题都非常灵活,所以要抓住课
kylaCpp
·
2023-11-21 19:56
中国人民大学计算机考研经验
深入理解计算机系统
csapp
datalab 详解
实验链接:教材网站educoder在线测评平台:educoder题解bitXor//1/**bitXor-x^yusingonly~and&*Example:bitXor(4,5)=1*Legalops:~&*Maxops:14*Rating:1*/intbitXor(intx,inty){return~((~(~x&y))&(~(x&~y)));}/*使用离散数学的方法,列出真值表,得到xor=
宪章文武
·
2023-11-21 06:13
csapp
深入理解计算机系统
bomb lab(1)phase_1
实验环境:C、linux实验获取:进入
csapp
官网,点击linux/x86-64binarybomb下载实验压缩包。实验说明:一共有6个关卡,每个关卡可以输入一串字符,只有输入正确才能拆出炸弹。
暮色_年华
·
2023-11-20 00:51
linux
运维
服务器
csapp
attack lab phase3
csapp
attacklabphase3(gdb)b*0x401971Breakpoint1at0x401971:filevisible.c,line92.
Nahida_nora
·
2023-11-19 15:51
C++
面试题
笔试
汇编
CSAPP
第四章:Y86 SEQ(指令顺序执行)的硬件结构
SEQ硬件结构的抽象表示。程序计数器放在寄存器中(左下角,起点)。先向上,再向右取指:将程序计数器寄存器作为地址,指令存储器读取一个指令的字节,PC增加器计算valP(程序计数器增加后的值)。解码:寄存器文件有两个读端口A和B,从两个端口同时读寄存器值valA和valB。执行:根据指令的类型,算术/逻辑单元(ALU)进行不同的操作。对于整数操作,执行指令指定的运算。对其他指令,作为一个加法器来计算
暮色_年华
·
2023-11-16 22:45
java
开发语言
CSAPP
————第三章
引入:本章主要介绍了计算机中的机器代码——汇编语言。当我们使用高级语言(C、Java等)编程时,代码会屏蔽机器级的细节,我们无法了解到机器级的代码实现。那么,既然有了高级语言,我们为什么还需要学习汇编语言呢?学习程序的机器级实现,可以帮助我们理解编译器的优化能力,可以让我们了解一个程序是如何运行的,哪些部分是可以优化的;当程序受到攻击(漏洞)时,都会涉及到程序运行时控制信息的细节,并且很多程序都会
SchneeDuan
·
2023-11-16 05:03
csapp
linux
c语言
CSAPP
dataLab实验笔记
因为实验环境是unix,所以要搭环境我用的是docker非常方便这边建议参考学姐的博客总结的非常详细https://blog.csdn.net/weixin_52259822/article/details/123610165不过就是遇到了make:commandnotfound的问题当使用yum-yinstallgccautomakeautoconflibtoolmake解决时候显示mirror
SchneeDuan
·
2023-11-16 05:33
csapp
笔记
《
深入理解计算机系统
》怎样学?个人看法和资源分享
前言我与《
深入理解计算机系统
》有三次接触吧,真有缘。。第一次:在我读专科大二的时候,自己就看过一遍《
深入理解计算机系统
》,想想就是放寒假前看完的,和现在的时间也差不了多少。
Addyz
·
2023-11-15 10:31
#
《深入理解计算机操作系统》
深入理解计算机系统
操作系统
实验
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他