is
zhou

CS_APP系列

《深入理解计算机系统》09——用C语言制作Web服务器

zhouchong阅读(101)评论(0)

背景知识 客户端-服务器编程模型 使用socket处理请求与响应 HTTP协议与静/动态网页 关键代码解析 实验效果与源码 背景知识 Web服务器使用HTTP协议与客户端(即浏览器)通信,而HTTP协议又基于TCP/IP协议。因此我们要做的...

《深入理解计算机系统》08——存储器层次结构

zhouchong阅读(91)评论(0)

什么是存储器层次结构? 局部性 什么是存储器层次结构 这个词大家也许并不陌生,计算机中的存储器从寄存器、缓存到内存、硬盘,形成了一个层次结构。为什么不用单一的一种存储设备,比如只用硬盘呢?因为每一种存储设备都有它的优缺点,硬盘虽然存储空间大...

《深入理解计算机系统》07——优化程序性能

zhouchong阅读(97)评论(0)

为什么要优化程序性能? 衡量性能的指标 未优化版本 提取重复操作 减少函数调用 避免内存读写 还能进一步优化吗? 循环展开 提高并行性 重结合变换 总结 为什么要优化程序性能? 对于c代码而言,从源代码到汇编代码再到机器指令,这中间是有一个...

《深入理解计算机系统》04——函数调用栈

zhouchong阅读(94)评论(0)

栈帧结构 寄存器使用惯例 这段代码的含义? 栈帧结构 在计算机系统概述中我们介绍了虚拟地址空间,其中有一部分是栈,用于函数调用和存放局部变量。本文将详细介绍这部分栈空间是如何使用的。 首先引入一个概念:栈帧。栈帧是指为一个函数调用单独分配的...

《深入理解计算机系统》03——从C到汇编

zhouchong阅读(101)评论(0)

复合型类型转换的内在原理 局部变量一定进内存? 奇葩的加载有效地址指令leal if…else和三元运算符 复合型类型转换的内在原理 上一篇文章的最后,我们讲解了复合型类型转换,比如从short到unsigned相当于分两步,先...

《深入理解计算机系统》01——计算机系统概述

zhouchong阅读(141)评论(0)

信息是什么 文件 Hello World程序的生命周期 开始运行Hello World 虚拟地址空间 总结 信息是什么? 信息就是位+上下文。 怎么理解呢?其实计算机系统中的所有信息都是一个一个的二进制位,不论是硬盘上的文件、内存中的代码还...