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

本文介绍了计算机系统的组成,包括硬件部分如主存、CPU及其内部结构,并解释了高速缓存的重要性;同时概述了软件方面,如操作系统的角色及程序运行的基本流程。此外还探讨了虚拟内存、虚拟机的概念以及并发与并行的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)计算机系统是由硬件和软件组成的。至于软件和硬件之间是如何有效配合,让我们期待后续。
(2)我们的程序(C程序,其他的我也不知道)经过编译链接后变成了可执行的目标文件
【见下图
文本文件是以ASCII码表示的。至于文本文件在程序中如何处理,后续会介绍
(3)硬件中比较重要的概念:
**主存:冯诺依曼结构中的内存储区那一块,可以理解为运存。主要方便CPU读取和存入指令。外存储区就是磁盘之类的。
在这里插入图片描述

处理器/CPU:由【控制器】和【运算器】组成。简单理解来说。
——(一)控制器:控制指令读取流程。【更细分有
————①PC,程序计数器。取指令时规定存在寄存器哪里 的。
——(二)运算器(ALU):就是算。其中有很多寄存器,自行了解。

在这里插入图片描述

结合起来一个hello.c 的程序运行过程是这样的
【shell取出指令,分析指令,执行指令,又回到取出指令
在这里插入图片描述
在这里插入图片描述

【很多时间都花在数据的拷贝上,所以呢,我们需要提高存储器的效率

存储设备所形成的层次结构

在这里插入图片描述图中的L1和L2是有区别的,具体可以自查。
**为什么高速缓存重要呢?
首先,较大的设备(主存)要比较小的设备(寄存器),运行要慢很多。前面的厨师做饭很慢,后面从仓库拿食材的【寄存器】倒很快。为了不让拿食材的干站着,我们就在厨师【主存】和拿食材的人中间,设置了一个区域【高速缓存区】。拿食材的可以把下一道菜,甚至下下一道菜的食材找到,放在那里,等着厨师处理。


操作系统:方便控制软件和硬件的。主流的有windows,linux,unix,mac等。

计算机几个抽象概念:

(1)文件:对IO设备的抽象,过于抽象了,我暂时不懂
(2)进程:对正在进行的程序的一个抽象。进程由线程组成。单核的计算机,就是单线程。多核的计算机,就是有多线程。多线程更高效。

(3)虚拟内存:对存储器的抽象
*虚拟地址空间:对进程虚拟了一下,让每个进程看到的内存都是一样的。
在这里插入图片描述

(4)虚拟机:对计算机系统的抽象

**(5)并发和并行
——并发:一段时间,一个处理机运行多个程序。但一个时刻,只有一个程序在处理机上运行。
——并行:有了多个处理机,一个时刻,也能执行多条程序啦~

比喻来说就是你去食堂打饭。一个师傅面前有两队。
师傅状态差,就只能一次打一个人的饭。【并发】
如果今天师傅状态好,可以左右开工,一次就能处理两个人的饭了。【并行】

*所以为什么现在说电脑要多核的,多核能实现并行,运行更快。

系统之间的通信(略)
在这里插入图片描述
在这里插入图片描述计算性能的【阿姆尔达定律】
在这里插入图片描述
To be contined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值