《深入理解计算机系统》读书笔记1.1-1.5

news2024/11/28 10:36:25

1.1信息就是位+上下文

        只由ASCLL字符构成的文件称为文本文件,所有其他文件都称为二进制文件。

        系统中的所有的信息都由一串比特表示。区分不同数据对象的唯一方法是读到这些数据对象时的上下文。


1.2程序被其他程序翻译成不同的格式

预编译,编译,汇编,链接。

hello.c源程序---预处理--->

hello.i修改后的源程序---编译器--->

hello.s汇编程序---汇编器---->

hello.o可重定位目标程序(二进制)---链接器--->

hello可执行程序(二进制)。

详细过程:

【Linux】编译的四个步骤_编译linux_曦樂~的博客-CSDN博客


1.3了解编译系统如何工作是大有益处的

        了解编译系统的好处:1.优化程序性能2.理解链接时出现的错误3.避免安全漏洞。


1.4处理器读并解释储存在内存中的指令

        shell命令解释器:输出提示符,等待输入命令行并执行。若命令行第一个单词不是内置的shell命令,shell会假设它是一个可执行文件的名字,加载并执行这个文件

1.4.1系统的硬件组成

 1.总线

        贯穿整个系统,携带信息字节并传递。传递定长,字中的字节数为字长。字长:4个字节(32位),8个字节(64位)。

2.I/O设备

        系统与外部世界联系的通道。它们通过控制器或适配器与I/O总线相连。

如:输入设备:键盘、鼠标,输出设备:显示器,存储设备:磁盘。

3.主存

        临时存储设备,存放执行的程序和程序处理的数据。由一组动态随机存取存储器(DRAM)芯片组成。是一个线性的字节数组,每个字节都有其唯一的地址。

4.处理器

        中央处理单元(CPU)的简称,用于执行(解释)主存中的指令。核心是一个一个字大小的寄存器,PC(程序计数器), PC指向主存中该执行的指令,执行完后PC+1指向下一条该执行的指令。

1.4.2运行hello程序

        shell等待输入命令,./hello后将字符读入寄存器->内存;

        输入完命令后shell执行指令加载hello文件,文件中的代码和数据:磁盘->主存;

        处理器执行main:"hello,world\n"主存->复制到寄存器文件->复制到显示设备;


1.5高速缓存至关重要

        高速缓存存储器(高速缓存,cache),存放处理器近期可能会需要的信息。解决处理器快而磁盘->主存->处理器内容多复制速度慢的问题,提升程序的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/572894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EasyCVR视频融合平台设备分组共享功能的使用介绍

EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议、多类型的设备接入,并能对设备进行分级、分组管理,并支持权限、角色分配,属于功能全…

PFC落石模拟

Landslide/Rockfall simulation 山体滑坡/落石模拟 https://www.youtube.com/watch?vWSa3909qYmI 模拟的目的在于通过导入团块的对象文件产生团块的二进制输出。 具体措施: (i) 使用导入的几何体形成团块模板 (ii) 使用Taghavi(2011)定义的BubblePack算法来生成卵石…

算法|4.归并排序及应用

算法|4.归并排序及应用 1.归并排序算法 题意:归并排序的递归和非递归实现 解题思路: ​ 递归实现: 预处理:数组为空或者长度小于2的直接返回调用子过程子过程终止条件LR分解成[L,mid],[mid1,R] ,子数组…

九章云极DataCanvas公司诚邀您共享AI基础软件前沿技术盛宴

“杭州通用人工智能论坛暨AIIA人工智能产业发展大会”将于2023年5月30日-31日在杭州举办。本次人工智能产业发展大会由中国信息通信研究院、中国人工智能产业发展联盟主办,杭州城西科创大走廊管委会、杭州市经济和信息化局、杭州未来科技城管理委员会、人工智能关键…

企业级信息系统开发——初探JdbcTemplate操作

文章目录 一、创建数据库与表1、创建数据库2、创建用户表3、用户表添加记录 二、打开Spring项目三、添加数据库相关依赖四、创建用户实体类五、创建用户数据访问接口六、创建用户数据访问接口实现类七、创建用户服务类八、创建数据库配置属性文件九、创建Spring配置文件十、创建…

Springboot +spring security,解决跨域问题

一.简介 这篇文章主要是解释什么是跨域,在Spring中如何解决跨域,引入Spring Security后Spring解决跨域的方式失效,Spring Security 如何解决跨域的问题。 二.什么是跨域 跨域的概率: 浏览器不能执行其他网站的脚本&#xff0c…

jsp页面调试

现象: 访问jsp页面, 页面为空, 网络请求显示失败, 控制台打印错误net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 分析: 错误描述:编码模块不完整,返回浏览器的流不完整 可能得原因: 1、网络是否稳定 2、服务器端是否有对响应数据做限制,比如…

【App自动化测试】(十七)遍历测试工具——Android Maxim

目录 1. Android Maxim介绍2. Android Maxim使用方法3.Android Maxim运行命令4.Android Maxim的策略5.实例演示——Windows系统,使用AVD模拟器,系统 Android6.0 1. Android Maxim介绍 Android Maxim是基于遍历规则的高性能Android Monkey,适…

基于SpringBoot+Vue的毕业生信息招聘平台设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…

Elasticsearch常用接口使用说明以及postman调用调试

查看集群状态 接口url:http://xxxx:9200/_cat 查看所有索引 http://xxxx:9200/_cat/indices?v 创建索引 http://xxxx:9200/test-20230526?pretty 返回值 { "acknowledged": true, "shards_acknowledged": true, "index": &quo…

Opencv-C++笔记 (2) : opencv的矩阵操作

文章目录 创建与初始化1.1 数据类型1.2 基本方法1.3 初始化方法 矩阵加减法矩阵乘法矩阵转置矩阵求逆矩阵非零元素个数矩阵均值与标准差矩阵全局极值及位置GEMM 通用矩阵乘法Transform 对数组每一个元素执行矩阵变换MulTransposed 计算数组和数组的转置的乘积Trace 返回矩阵的迹…

WIN10:Cognos10.2_x32安装

一、Cognos BI Server 10.2 32Bit 二、Cognos Transformer 10.2 三、Cognos Framework Manager 10.2 四、环境 1、如果使用Cognos自带的Tomcat web容器,将E:\common\Cognos\c10\webcontent下的所有文件拷贝到E:\common\Cognos\c10\webapps\p2pd 下面.(一般我们就使…

redis高级篇 缓存双写一致性之更新策略

闲聊 缓存通用查询3部曲 redis 中数据,返回redis 中的数据redis 中没有,查询数据库并返回完成第二部的同时,将数据库查询结果写到redis,redis和数据库数据一致. 谈谈双写一致性的理解 1.如果redis 中有数据:需要和数据库中的相…

什么是可视化开发平台?拥有什么优势?

随着科技的进步和发展,可视化开发平台拥有广阔的市场前景,在提升企业办公企业效率、做好数据管理等方面具有自身的特色和优势。在办公自动化发展的年代,低代码开发平台是助力企业实现提质增效办公效率的得力助手,其可视化、易操作…

Windows操作系统存储管理——实存管理和虚存管理

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows操作系统存储管理——实存管理和虚存管理。 存储器管理的对象是主存(内存)。重点是要知道实存和虚存的管理,而虚存管理重点是逻辑地址和物理地址间的转…

桥梁结构健康监测解决方案

城市桥梁担负着城市的交通和运输网络的重要角色,是城市生命线的重要组成部分。然而,随着时间的推移和日益增长的负荷,桥梁可能会受到各种因素的损害,如自然灾害、疲劳、腐蚀等。因此,桥梁结构健康监测变得至关重要&…

osg给osg::Geometry(自己绘制的几何体)添加纹理(二)

目录 1. 前言 2. 自会集合体贴纹理 2.1. 一张图贴到整个几何体 2.2. 几何体每个面贴不同的图片纹理 3. 说明 1. 前言 前文讲述了如何给osg自带的几何体,如:BOX等,添加纹理,文章参考链接如下: osg给osg::Geometry&…

6步带你弄懂敏捷软件开发管理

敏捷开发是一种项目管理和软件开发的迭代方法,可帮助团队较快地为客户创造价值,同时减少问题。为了获得好处,软件项目团队需要知道如何正确使用敏捷管理方法。 了解敏捷宣言 敏捷宣言阐述了基本的价值观,还详细说明了敏捷团队应…

【云计算与虚拟化】第五章—— vCenter Server 5.5 的高级功能(三)

第五章—— vCenter Server 5.5 的高级功能(三) 1.使用vsphere client 登陆vcenter服务器,创建一个群集,名称为自己的学号,(截图) 2.针对该群集打开HA功能(截图) 3.接入控制策略选择…

【Linux安装】从无到有!在VM虚拟机上安装Linux

系列文章目录 文章目录 系列文章目录准备工作1、Linux阿里云iso镜像: [Centos7.9.2009](http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spma2c6h.25603864.0.0.5ec0f5adDd8whz) 一、在虚拟机上开辟空间 这里使用VM15做安装例子,16也同样适用1、打开VM 点…