深入理解计算机系统——计算机系统漫游

手把手搭建摄像头驱动(一):I2C设备树插件与OV5640实战 本文手把手指导如何搭建OV5640摄像头驱动,重点讲解I2C设备树插件的编写与实战应用。通过硬件连接验证、I2C驱动框架搭建、设备树插件编译及动态加载调试,系统介绍Linux驱动开发全流程,并提供常见问题解决方案,帮助开发者快速掌握摄像头驱动开发技术。 阅读详情

本系列文章是本人在学习《深入理解计算机系统》这本书的时候的自我总结,在我本身知识的基础上(机械专业转码的研究室,没有很系统的学习过计算机相关知识)对本人认为的书本的重点知识进行一个总结。敦促自己在看书的过程中做总结分析。
(标题号是原书的标题号,有部分内容被合并所以有标题号缺失的情况)

第一章-计算机系统漫游

1.1信息就是位+上下文

计算机中所有信息都是由‘0’、‘1’这样的 比特位(bit) 组成的,8bit组成一个字节。
如何区分不同数据的唯一方法就是与之对应的 上下文:即一串字节序列表示的到底是int还是char还是别的什么,是由上下文确定的。

ASCII标准是目前广泛使用的文本字符表示标准,用一个字节来代表每个字符。

1.2程序的编译

hello.c->hello.i->hello.s(汇编文本)->hello.o(可重定位目标程序)->hello(可执行程序)

  • 预处理阶段:处理#开头的命令,如include,define等
  • 编译阶段:将程序翻译成汇编语言
  • 汇编阶段:将汇编语言翻译成机器语言
  • 链接阶段:将程序文件与库函数包含的程序文件等合并,得到可执行文件

1.4系统硬件组成简介

在这里插入图片描述

名称功能
总线:负责连接各个部件进行通信,一次只能被一个数据传递任务给占用
I/O设备:系统与外界(显示器、鼠键、硬盘等)联系的通道
主存:数据的零时存储区,读写速度快
处理器:CPU,读取并执行指令,数据运算等操作
高速缓存:在CPU中,保存一些近期可能要用到的数据,提高数据处理效率

1.7操作系统管理硬件

操作系统也可以看作是一个软件,它处于应用程序和硬件设备之间,向应用程序提供操作硬件的接口。

1.7.1进程线程

  • 进程:操作系统对正在运行的程序的抽象。
  • 线程:进程中的执行单元,它们共享进程的资源。
  • 并发:宏观上是多个进程一起执行,微观上是轮流执行。
  • 并行:宏观微观上都是在一起执行。
  • 上下文:操作系统保持跟踪进程运行所需的状态信息的状态。
  • 内核:操作系统代码常驻主存的部分,它是系统管理全部进程所用代码和数据结构的集合。

1.7.3虚拟内存

虚拟内存让每个进程都觉得自己在单独占用着全部的主存,实际上只是为它维护着一个索引表,只有部分的数据在主存中,部分数据在硬盘中,需要用到硬盘中的数据时才将其拿到主存中并替换掉主存中的数据。

小结

本章主要是对一些重点知识点的概述,部分内容都十分的简要甚至没有提及。
后续部分我会慢慢看并阶段性的总结,希望写博客可以敦促我持续学习(ง •_•)ง

【WILEY】从Revision到Online:一次投稿的完整状态演进与关键节点实战解析 本文详细解析了从Revision到Online发表的完整投稿流程,包括修改稿准备、回复信撰写、状态跟踪等关键节点。特别针对Wiley期刊,提供了实用的操作技巧和常见问题解决方案,帮助作者高效完成论文修改与发表。 阅读详情

相关推荐

使用Python下载ECMWF的ERA-5数据

一、注册账号 [官网]https://www.ecmwf.int/ 二、登录后获取下载key https://cds.climate.copernicus.eu/api-how-to 如图右侧红色框中的内容复制保存为TXT文件,并重命名为“.cdsapirc”,注意前面有点,保存在 C:\Users\username\.cdsapirc,(WINDOWS系统),username指当前电脑登录账户。 三、安装cdsapi库 以pycharm为例: 在pycharm中依次打开:File>setting

wise_sun的博客 7705

《深入理解计算机系统》计算机系统漫游

计算机系统漫游” 旨在提供一个鸟瞰图,解释了构成计算机系统的基本硬件组件(处理器、存储器、I/O)、信息在系统内部如何表示(位+上下文)、以及操作系统如何通过在硬件之上构建关键的抽象(进程、虚拟内存、文件)来管理这些资源,以实现并行和并发执行。它也预告了贯穿全书的关键主题:存储器层次结构、链接、进程与线程、虚拟内存、系统级 I/O、网络等。《深入理解计算机系统》(简称 CSAPP)书中 “计算机系统漫游” 部分的核心内容。这部分通常作为全书的引言或第一章,旨在宏观地描绘计算机系统的构成和运作方式。

1099

Cortex-M TrustZone实战:从硬件隔离到安全交互的嵌入式开发指南

在嵌入式系统开发中,硬件安全隔离是构建可信执行环境(TEE)的核心技术。其原理是通过处理器硬件机制,将系统资源划分为安全与非安全域,实现内存、外设和代码的强制访问控制。这项技术的核心价值在于,它能在单一芯片上为资源受限的物联网(IoT)设备、智能传感器等提供芯片级的安全基础,无需依赖外置安全元件,从而降低BOM成本并简化设计。典型的应用场景包括保护设备密钥、实现安全启动、构建安全服务(如加密、密钥管理)以供应用程序调用。本文聚焦于Arm Cortex-M系列微控制器上的TrustZone技术实现,针对开发中

weixin_42639246的博客 300

深入理解计算机系统 - 第一章 计算机系统漫游

原文链接:http://sourceshare.cn/article/9

qq_33822735的博客 169

R语言WGCNA实战:从基因表达矩阵到模块可视化全流程(附避坑指南)

本文详细介绍了使用R语言进行WGCNA(加权基因共表达网络分析)的完整实战流程,涵盖从基因表达矩阵预处理、软阈值选择、网络构建与模块识别,到模块与表型关联分析及结果可视化的关键步骤。文章重点解析了代码实现,并提供了针对数据质量检查、参数调整等常见问题的避坑指南,帮助生物信息学研究者高效挖掘基因共表达模块的生物学意义。

weixin_29062823的博客 580

PCL 法线定向【2025最新版】

几种法线定向方法的PCL代码实现。

点云侠的博客 2804

深入理解计算机系统01——计算机系统漫游

本篇博客主要介绍深入计算机系统全书的核心内容,以及书目第一章计算机系统漫游的相关知识。

转载请标明出处,完整项目/代码详见github:https://github.com/yiru1225 1411

PyTorch生成式人工智能(25)——基于Transformer实现机器翻译

不同于循环神经网络 (RNN) 按顺序处理数据,Transformer 以并行的方式处理输入数据(例如句子)。这种并行处理提高了效率,但并未使其能够识别输入的顺序。为了解决这个问题,Transformer 向输入的词嵌入中添加了位置编码。这些位置编码是分配给输入序列中每个位置的独特向量,其维度与输入词嵌入对齐。本节将以英语到法语的翻译为例,通过介绍如何训练 Transformer 模型将英语句子转换为法语,深入理解 Transformer 的架构及自注意力机制的运作方式。

盼小辉丶的博客 2729

《深入理解计算机系统》漫游指南

导读:如果你也读CS专业,如果你也不知道怎么回答“学计算机不就是学修电脑”这个CS系的宿命之问,推荐一定读一读《深入理解计算机系统》。《深入理解计算机系统》是一本什么样的书呢?两个字,经典...

华章IT官方博客 681

SAP BTP ABAP RAP 开发对象命名规范与落地实践

摘要:SAP BTP ABAP开发中的命名规范实践 在企业级ABAP开发中,命名规范是提升交付效率的工程化手段。SAP推荐采用[/<namespace>/][<prefix>]_<object_name>_[<suffix>]的结构化命名框架,解决多对象、多团队的协同问题。关键实践包括:使用组织专属命名空间避免冲突;通过prefix区分同类型对象的不同语义(如UI_/API_);object_name体现业务语义而非技术细节;suffix表达次级差异。在具体对

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1433

SAP ABAP 实用小技巧合集 (一)

本合集包含了笔者从事 ABAP 开发 17 年以来积累的小技巧。持续更新。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3218

乱侃《深入理解计算机系统》——计算机系统漫游Day3

高速缓存、虚拟内存、进程、线程、文件、网络通信

YuKiChyan的博客 1114

解决pd.read_json报错ValueError: Trailing data问题

首先,我们使用open函数打开JSON文件,然后使用json.load函数将JSON文件数据解码为Python对象。在使用Python进行数据处理中,我们经常需要将JSON格式的数据读入到DataFrame中进行处理。而使用pandas库的read_json函数,就可以方便地将JSON数据读入到DataFrame中。但是有时候在读取JSON数据时,会遇到一个非常常见的错误:ValueError: Trailing data。这个错误的解决方案并不难,只需要在read_json中添加一个参数即可。

学习使你进步。 2234

《深入理解计算机系统》——计算机系统漫游

感觉自己对计算机系统的整体把握不够,所以找来这本书学习一下,读书要做笔记,第一章,开始。 书名:Commputer Systems (A Programmer's Perspective Second Edition)  深入理解计算机系统 站在程序员的视角讲计算机系统的本质概念 小知识: 1.x86-64是IA32的一种扩展,允许程序操作更多的数据,引用更广范围的内存地址,x

runhwguo的专栏 1510

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

《深入理解计算机系统》-第1章 计算机系统漫游

文章目录序1. 信息就是位+上下文2. 程序的不同格式3. 处理器读并解释存储在内存中的指令3.1 系统的硬件组成4. 运行hello程序4.1. 从磁盘读取hello命令4.2. 从磁盘加载可执行文件到主存4.3. 将输出字符串从存储器写到显示器 序 最近重启了写博客,都说念念不忘必有回响。自从上一遍博客,到现在已经过去了快两年的时间。在这期间一直在想着什么时候写个博客呀,什么时候再摸着键盘一点...

wwx0848的专栏 3172

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

《深入理解计算机系统》阅读笔记之第一章 计算机系统漫游

并发运行,则是说一个进程的指令和另一个进程的指令是交错执行的。文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、主存和I/O设备的抽象表示。hello.c的表示方法说明了一个基本思想:系统中所有的信息一一包括磁盘文件、 内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。每个进程看到的内存都是一致的,称为虚拟地址空间。在现代系统中,一个进程实际上可以由多个称为线程的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。

夏季版 940

乱侃《深入理解计算机系统》——计算机系统漫游

上下文(context)、预处理器(cpp)、编译器(ccl)、汇编器(as)、链接器(ld)

YuKiChyan的博客 1122

深入理解计算机系统(一):计算机系统漫游,再学hello world

2020年毕业到今2024年,恰好进入行业第四个年头,随着入行越久,对技术本身越发觉得空虚,空是肚子里没有真墨水,虚是虚度一天有一天,一年又一年的时间。4年时间,我把自己从研发干到版本经理,再干到项目负责人,现在干到售后的岗位。干的活确实也不算少,但是自身的知识体系是一点都没建立起来。本人从事GPU行业,做的既有上层应用适配,又有底层驱动逻辑。尤其是做售后以来,干的越久,越觉得应该把自身的知识体系建立起来,公司是内网办公,一些工作的经验记录没办法记到优快云笔记上。

weixin_42265881的博客 801

[十二天学完《深入理解计算机系统》系列] 第一章 计算机系统漫游

一 章节概述 可能很多读者有疑惑,什么是计算机系统?它和操作系统有何不同?我们为什么要深入理解计算机系统,会敲代码是否就足够了? 概括的讲计算机系统是由硬件和系统软件共同组成的,它们通过共同的协作来运行应用程序。而我们在日常编写程序时使用的文件、内存、进程等概念都是为了程序编写的方便,由实际的计算机系统高度抽象而来。这一章中我们使用C语言编写简单的hello程序,试图通过跟踪hello程序的生命周...

qq_41948200的博客 8158

《深入理解计算机系统》第一章 计算机系统漫游

第一章 计算机系统漫游 0 日志 2016年10月09日 2016年10月10日 2016年10月11 2016年10月19日081427 1 信息就是位 上下文 2 程序被其他程序翻译成不同的格式 3 了解编译系统如何工作是大有益处的 4 处理器读并解释存储在存储器中的指令 41 硬件的组成 42 运行hello程序 5 高速缓存至关重要 6 存储设备形成层次结构 7 操作系统管理硬件 71 进

wojiao555555的专栏 977

《深入理解计算机系统》(CSAPP)读书笔记 —— 第一章 计算机系统漫游

本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习。一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止。我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念、专业术语和组成部分。

嵌入式与Linux那些事的博客 2万+

深入理解计算机系统——第一章 计算机系统漫游

计算机小白,正在学习《深入理解计算机系统》,文中为知识点总结加上一些个人理解,如有错还请各位大佬指出。

qq_49627044的博客 2364

深入理解计算机系统——第1章 计算机系统漫游

深入理解计算机系统——第1章 计算机系统漫游 参考资料 《深入理解计算机系统》学习笔记整理(CSAPP 学习笔记) 计算机系统漫游 通过跟踪hello程序的生命周期来开始对系统的学习。 #include<stdio.h> int main() { printf("hello world\n"); return 0; } 信息就是位 + 上下文 hello程序的生命周期从源程序(源文件)开始,即程序员通过编辑器创建并保存的文本文件,文件名为hello.c。源程序实际上就是由 0 和 1

baidu_15952103的博客 583

深入理解计算机系统1——计算机系统漫游

计算机系统漫游 计算机系统=硬件+系统软件构成的。 它们共同工作来运行应用程序。系统的具体实现方式随时间变化,但是系统的内在概念却没有改变。 深入了解计算机系统的组件如何影响程序的正确性和性能。 ==================================================== 信息就是位+上下文 源程序实际上是由0和1组成的位序列。8个位被组织成一组,称为字节。...

weixin_34081595的博客 153

深入理解计算机系统(第1章 计算机系统漫游)

深入理解计算机系统(第1章 计算机系统漫游)

kirin-dev的博客 1004

CSAPP-深入理解计算机系统-task01计算机系统漫游

计算机系统漫游(上) 1.hello world程序的创建-运行-退出的流程 hello world程序从编写到最终执行结束需要经过下面这4个步骤: -创建/create -编译/compile -运行/run -退出/exit 创建的代码如下,保存为hello.c的文件: #include<stdio.h> int main(void) { printf("hello, world"); return 0; } 编译部分:通过gcc -o hello hello.c命令完成

jhb1021821368的博客 1794

深入理解计算机系统_第1章 计算机系统漫游

计算机系统是由硬件和软件组成的,他们共同工作来运行应用程序。现在就要开始一次有趣的漫游历程了。完全理解计算机底层计算机系统以及他对应用程序的影响,将会使你步上成为为数不多的“大牛”的道路。

心有多大,世界就有多大。 697
上一篇: pyinstaller 打包心酸历程
下一篇: 深入理解计算机系统——信息的表示与处理(1.信息的储存)
LostCatDragon
博客等级 码龄8年 5粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值