随笔分类 - 操作系统
摘要:缓存(Cache) CPU的读/写(以及取指令)单元正常情况下甚至都不能直接访问内存——这是物理结构决定的;CPU都没有管脚直接连到内存。相反,CPU和一级缓存(L1 Cache)通讯,而一级缓存才能和内存通讯。大约二十年前,一级缓存可以直接和内存传输数据。如今,更多级别的缓存加入到设计中,一级...
阅读全文
摘要:pipeline: 现在的CPU一般采用流水线方式来执行指令。一个指令执行周期被分成:取值,译码,执行,访存,写会,更新PC若干阶段。然后,多条指令可以同时存在于流水线中,同时被执行,来提高系统的吞吐量。 流水线并不是串行的,并不会因为一个耗时很长的执行在"执行"阶段呆很长时间,而导致后续的...
阅读全文
摘要:上篇设计主要讨论隐式空闲列表,其主要特点简单,易于管理。显式空闲列表: 隐式空闲列表提供了一些基本的分配器概念的方法。然而,因为块分配与堆块的总数呈线性关系,所以对于通用的分配器,隐式空闲列表是不合适(尽管对于堆块数量预先就知道是很小的特殊的分配器来说它是可以的)。 一种更好的方法是将空闲...
阅读全文
摘要:堆内存分配器在吞吐量(单位时间内处理请求的次数)和利用率之间把握权衡,必须考虑一下几个问题: 1:空闲块的组织:我们如何记录空闲块; 2:放置: 我们如何选择一个合适的空闲块来放置一个新分配的块? 3:分割 :载我们将一个新分配的块放置到某个空闲块之后,我们如何处理这个空闲块剩余的部分? 4:合并...
阅读全文
摘要:引用网友的比喻: 外部碎片,是由于大量信息由于先后写入、置换、删除而形成的空间碎片。为了便于理解,我们将信息比作货物,将存储空间比作仓库来举例子。假设,我们有编号为1、2、3、4、5、6的6间仓库库房,前天送来了一大宗货,依次装入了1、2、3、4、5号仓库,昨天又因故将4号库房的货物运走了...
阅读全文
摘要:1. 什么是大端,什么是小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。2.为什么会有大小端: 为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单...
阅读全文

浙公网安备 33010602011771号