CSAPP 第一章 笔记
硬件组成
- 总线
- I/O设备
键盘,鼠标,显示器,磁盘... - 主存
- 处理器(CPU)
- 寄存器
hello程序的生命周期
- 源文件
hello.c
- 文本文件:位序列
- 字节:8个位为一组
- ASCII码
- 可执行目标文件
- Unix:通过编译器驱动程序完成
- 编译系统
- 预处理器
‘#’,hello.i
- 编译器
‘main’,hello.s
- 汇编器
翻译成机器语言指令,打包成可重定位目标程序,hello.o
- 链接器
‘printf’,得到可执行文件hello
,存放在磁盘中
- 预处理器
- 运行
hello
程序-
键入
./hello
回车,文件从磁盘复制到主存(DMA技术)
-
开始执行程序中的机器语言指令,将字符串从主存复制到寄存器,再复制到显示设备
-
高速缓存(不懂)
操作系统管理硬件
功能
- 防止滥用硬件
- 提供简单一致的机制来控制多种硬件
进程
- 并发运行:多个进程指令交错执行
- 上下文:跟踪进程运行所需的状态信息
- 内核:管理全部进程所用代码和数据的集合
线程
- 一个进程可以由多个线程组成
- 每个线程运行在进程的上下文中
虚拟内存
网络
通过系统连接
重要主题
- 性能提升
- 并发和并行
- 抽象的重要性
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)