CSAPP-深入理
文章平均质量分 93
写代码的柯长
Do the impossible.
See the invisible.
Raw! Raw!
Fight the power.
展开
-
Unix信号详解(Signal的信号说明)
signal信号机制是属于计算机异常处理机制中的一种。 signal信号属于一种异步处理异常的机制之一。 类似于我们平常在命令行上对于死循环的程序,按下ctrl-z暂时挂起,ctrl-c程序终止,这些挂起,终止信号都属于signal信号的一种,常见的几种signal信号如下图所示(供查询使用,平时并无用): 信号常见的术语: 1.发送信号: 先简单介绍一下进程组的概念,一个操作系统有很多进原创 2017-08-31 11:45:09 · 7528 阅读 · 1 评论 -
C语言的int, float,double相互转化(从本质上理解可能的问题)
从学了C语言之后,一直习惯于C/C++任意的强制转化,但是C语言的强制转化却总是带来意想不到的后果,在这里,我将从int,float,double的本质上讲解这些可能出现的问题以及解决办法,在下面你将看到: OK,现在好戏开始。int unsigned int: unsigned int所进行的是模数计算,就是正常的二进制相加减,计算方法和十进制加减并无区别,但是unsigned原创 2017-09-20 14:04:16 · 51232 阅读 · 3 评论 -
深入理解计算机系统:C语言文件的链接原理
在这篇blog里,你将了解到以下的内容: 1. 一个.c文件是怎么变成一个可执行文件,中间会产生那几种文件,在执行的时候又是怎么被加载进操作系统的? 2. 在形成这些不同文件的过程中,即链接的过程中,容易诱发那几种问题,诱发这些问题的原因是什么,如何避免这些问题? 3. 链接分成那几种形式?静态链接库与动态链接库是什么,如何构成静态链接库和动态链接库,静态链接库和动态链接库的利弊?好的,接下来原创 2017-10-02 17:43:06 · 2813 阅读 · 0 评论 -
malloclab 实验详解(动态分配器如何设计)
本文主要针对CSAPP中的动态内存分配器做一个讲解,在讲解书上的各种分配器如何设计的同时,用实验的实际代码来实现这些算法。 首先,先贴上书本配套实验的地址:http://csapp.cs.cmu.edu/public/labs.html 备注:这个实验地址并没有给出实际的traces里面的测试, 相关的测试以及最终的答案可以从我的github上下载:https://github.com/HBK原创 2017-11-18 22:40:47 · 26199 阅读 · 10 评论 -
深入理解虚拟存储器(1:虚拟存储器概念与工作原理)
每当我们安心的使用LINUX系统或者在编写C语言的时候,安心的使用malloc或者free的时候,我们很少关注过其底层的内存是怎么工作的,CPU是如何获取从主存中获取数据的,我们的寻址是不是可以直接寻找到对应的数据,还是通过某种转化机制。实际上,对于每一个进程,它所能接触到的地址都不是实际的物理地址,而是通过虚拟地址进行映射而来的。那么,这篇博客就要讲述一下虚拟存储器是一个什么东西。 第一篇会从硬原创 2017-11-06 18:37:23 · 28160 阅读 · 4 评论