异常控制流(ECF)2 Posted on 2021-01-06 Words count in article: 3k | Reading time ≈ 11 Shells Signals 在 异常控制流(ECF)1 中,我们介绍了Interrupts,Traps,Faults和Aborts,这是硬件和软件合作以提供基本的底层异常机制。接下来我们要研究一种更高层的软件形式异常,称为 Linux信号,它允许进程和内核 中断其他进程。 一个信号(signal) ... Read more »
CSAPP云计算 Posted on 2021-01-02 Words count in article: 4.4k | Reading time ≈ 15 CSAPP云计算What is distributed computing简单来说,分布式计算就是说我们可以利用多台计算机而不是一台计算机来获取某些东西并能做的很好。分布式在当今最大的应用就是建立一些大型网站,比如 eBay,Google ,Amazon等。我们使用的几乎所有的大型网站都是分布式建立 ... Read more »
最大流 Posted on 2020-12-29 Words count in article: 2.9k | Reading time ≈ 11 最大流基本概念无论是电网、水管网、还是其他地一些网络,他们都有一个共同点:网络传输都有方向 和 容量。设有带权图 $G=(V,E) , V={s,v_1,v_2,v_3,\cdots,t}$ 。 在图G中有两个特殊的点s和t,s称为源点,t称为汇点。图中各边地方向表示允许的流向,边上地权值表示该边允 ... Read more »
异常控制流(ECF)1 Posted on 2020-12-24 Words count in article: 7.5k | Reading time ≈ 28 异常控制流(ECF)1控制流首先我们要了解控制流的概念,从给处理器加点到断电为止,程序计数器假设一个值得序列如下: 其中 $inst_k$ 代表着一条条指令。每次从 $inst_1$ 到 $inst_2$ 的过渡被称为控制转移。这样的控制转移序列叫做处理器的控制流。 更改控制流我们知道,进程有三 ... Read more »
CSAPP动态内存分配 Posted on 2020-12-01 Words count in article: 5.2k | Reading time ≈ 18 CSAPP动态内存分配动态内存分配器维护着一个进程的虚拟内存区域,称为堆。 比如说 malloc,我们用malloc来申请一段虚拟内存的时候,操作系统分配给我们的是一段 block ,但这个block和之前提到的page、cache中的block是不一样的,这边每个block的大小是不一样的。 分 ... Read more »
OptimalBST Posted on 2020-11-26 | In DP Words count in article: 1.6k | Reading time ≈ 6 Optimal BST什么是最优二叉搜索树?假设我们在设计一个实现英语到法语的翻译,对英语文本中出现的每个单词查找对应的法语单词。 为了实现这个操作,我们可以创建一颗二叉搜索树,将n个英语单词作为关键词,对应的法语单词作为关联数据。 于对文本中的每个单词都要进行搜索, 我们希望花费在搜索上的总时间尽 ... Read more »
卷积神经网路理论 Posted on 2020-11-24 Words count in article: 4.3k | Reading time ≈ 14 卷积神经网路理论Convolutional Neural Networks 对于这张图片,我们会产生一种错觉:图片中的人是向右看的还是向前看的。我们发现如果我们观察这个人的右轮廓,就会觉得这个人是向右看的。如果我们直视这个人的眼睛和耳朵,那么就会觉得这个人是向前看的。因此我们可以推断出我们看见什么取 ... Read more »
CSAPP虚拟内存 Posted on 2020-11-24 Words count in article: 7.7k | Reading time ≈ 27 CSAPP虚拟内存物理和虚拟地址一个使用物理寻址的系统: 一个使用虚拟寻址的系统: 使用虚拟寻址,CPU通过生成一个虚拟地址来访问主存,这个虚拟地址在被送到内存之前先转换成适当的物理地址。将一个虚拟地址转换为物理地址的任务叫做地址翻译。 地址翻译需要CPU硬件和操作系统之间的紧密合作。CPU芯片 ... Read more »
CSAPP链接 Posted on 2020-11-21 Words count in article: 7.3k | Reading time ≈ 28 CSAPP链接(Linking)为什么要用 Linking? 能让程序模块化 Linking可以让程序写成一个包含了较小源文件的集合,而不是将所有代码整合到一起。 Linking允许我们构建一些包含常用函数的库(Math library,standard C library) 能提高整个程序的 ... Read more »
最长公共/上升子序列 Posted on 2020-11-17 | In DP Words count in article: 1.4k | Reading time ≈ 6 最长公共/上升子序列什么是LCS现在我们拿到2个字符串 string1:a b c d e f g h i string 2 : c d g i 我们发现,string1中的子序列 c d g i 和string2 的子序列 c d g i(也就是string2本身)相匹配,且下标是严格递增的那 ... Read more »