CSAPP学习笔记——第一章计算机系统漫游

@TOCSAPP学习笔记——第一章计算机系统漫游C
C语言出现动机:
为了开发Unix操作系统(操作系统的核心部分)而出现;

hello.c 的生命周期:
在这里插入图片描述
为什么要学习编译系统,以及编译系统是如何工作的?动机是什么?
优化程序性能;
理解链接时出现的错误;
避免安全漏洞;

shell是一个命令行注释器,它输入一个提示符,等待输入一个命令行;

典型系统的硬件组成:
在这里插入图片描述

什么是I/O总线?计算机如何识别0和1的?
https://zhuanlan.zhihu.com/p/263043369
总结:总线其实就是一条挂了很多8位寄存器的线;这条线在物理实现上是:一组贯穿整个系统的电子管道;其上面携带的信息字节长度根据不同系统定义不同分为4字节(32)位或者8字节(64位);
8位寄存器:
在这里插入图片描述

主存储器?
作用:用来存放程序和程序处理的数据;
存储器分类:
RAM/ROM/PROM/EPROM/EEPROM/FlashMemory(闪存);
处理器:
**CPU:**用于解释存储在主存中指令的引擎,处理器核心是一个大小为一个字(4字节或8字节)的寄存器,也叫做程序计数器(PC),在任何时候,PC都指向主存中某条机器语言指令的地址;
ALU:
算数/逻辑单元;

存储器层次结构:
结构划分动机:提高程序性能(PS:如何提高?第六章会讲)
在这里插入图片描述

操作系统:
出现动机:
1.防止硬件被失控的程序滥用;
2.向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备;

如何实现以上两种功能?暂时未理解
依托几个基本的抽象概念实现:
1.进程:是对处理器,主存和I/O设备的抽象表示
2.进程:
3.虚拟内存:
在这里插入图片描述

从下至上分析上图:
1.程序代码和数据:
2.堆:malloc&free会操作到的存储空间;
3.共享库:C库函数存放的存储空间;
4.栈:编译器用该存储区域实现函数调用;
5.内核虚拟内存:
4.文件:
即字节序列;

贯穿本书的重要概念:
Amdahl定律:即想要大幅提升一个系统的速度,仅仅提升某个组成子系统的速度是不够的,即使是将该子系统提升到无需运行时间,整个系统的速度人不会大幅度的提升,必须要提升整个系统中大部分子系统的速度才行。
并行和并发
并发:多个程序同时进行;
并行:用并发是一个系统运行得更快;

补充知识
晶振在电路中的作用是为系统提供基本的时钟信号;
晶振周期:为晶振振荡频率的倒数;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值