十二天深入理解计算机系统(一)

计算机系统漫游

1 信息就是位+上下文

系统中所有的信息都是由一串位表示的,在不同的上下文中,一个同样的字节序列可能表示一个整数、浮点数、字符串或者机器指令。

2 文本文件和二进制文件

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

3 源程序到可执行目标文件的过程

1)预处理 根据以字符#开头的命令,修改原始的hello.c程序,生成hello.i文件。

2)编译阶段 把hello.i文件翻译为汇编语言的hello.s文本文件。

3)汇编阶段 把hello.s翻译为可重定位目标文件hello.o

4)连接阶段 合并hello.o、printf.o生成可执行目标文件

wps_clip_image-7349

4 字

与总线相关的概念,总线每次可以转送一个字,字中的字节数是一个基本的系统参数,一般为四个字节。

5 进程

是对处理器、主存、I/O设备的抽象,比如我们运行一个程序,看上去只有这个程序在使用处理器、主存和I/O设备。

6 虚拟存储器

是主存和I/O设备的抽象(参考文章内存就是RAM?更能体会),每个进程看到的是一致的存储器。详细介绍请参考我前面的文章内存管理之程序内存分布

7 文件

是I/O设备的抽象,为应用程序提供了一个统一的视角,来看待系统中可能含有的所有各式各样的I/O设备。

8 多处理器 多核以及超线程

这几个概念可以参考我前面的文章超线程 多核 多处理器区别

9 超标量

指在一个时钟周期执行比一条指令更快的速率。

10 总结

本章主要介绍一些基本概念。但是我们除了了解这些基本概念外,我们要学到一种基本思想--抽象,比如抽象出进程、虚拟存储器、文件以及我们在编程中对代码抽象出了函数,对函数抽象出了类等等。

posted @   TheBug  阅读(2524)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
点击右上角即可分享
微信分享提示