云谷计算

高调做事,低调做人...

计算机组成学习笔记-从南北桥到PCH

南北桥 我接触计算机比较早,从Qemu开始来大概了解的体系结构基础知识,一直还停留在440BX和Q35这样的结构,它大概是这个样子: 以前的老式电脑中,CPU是通过南桥和北桥连接其它设备的。其中北桥连接高速设备和南桥,南桥连接低速设备。例如: CPU-北桥-内存 CPU-北桥-显卡 CPU-北桥-南桥-硬盘(IDE?) CPU-北桥-南桥-网卡 CPU-北桥-南...

SSD学习笔记-SRAM和DRAM的区别

DRAM(Dynamic RAM)和SRAM(Static RAM)的共同点是一旦掉电,保存的信息会丢失。 DRAM利用电容来保存信息,以即电容端电压的高低来表示1和0。它的集成度较高,读写功耗较低;但是,保存在DRAM中的信息随着电容器的漏电而会逐渐消失,一般信息保存时间为2ms左右。为了保存DRAM中的信息,必须每隔1~2ms对其刷新一次,在我们的PC待机时消耗的电量有很大一部分都来自...

SSD学习笔记-NOR, NAND, FTL, GC基本概念

NOR v.s. NAND 两者都是非易失存储介质。即掉电都不会丢失内容, 在写入前都需要擦除。 NOR有点像内存,支持随机访问,这使它也具有支持XIP(eXecute In Place)的特性,可以像普通ROM一样执行程序。现在几乎所有的BIOS和一些机顶盒上都是使用NOR Flash,它的大小一般在1MB到32MB之间,价格昂贵。 NAND Flash广泛应用在各种存储卡,U盘,S...

速懂X86虚拟化关键概念 - Intel EPT

内存虚拟化 现代多任务操作系统设计,一般进程之间使用不同的虚拟地址空间相互隔离, 在实现上: 操作系统负责维护进程页表,映射虚拟地址到物理地址的关系; CPU的内存管理单元(MMU)负责执行地址转换; CPU提供TLB(Translation lookaside buffer)缓存最近用到的转换结果,加速转换效率; 虚拟化技术引入后,内存地址空间更加复杂了,客户机(Gue...

速懂X86虚拟化关键概念 - Intel VT-d

直接内存读取(DMA)和IOMMU DMA(Direct Memory Access)即为“直接内存读取”的意思,换句话说DMA就是用来传输数据的,它也属于一个外设。只是在传输数据时,无需占用CPU。 DMA要存取的内存地址称为DMA地址(也可称为BUS address)。在DMA技术刚出现的时候,DMA地址都是物理内存地址,简单直接,但缺点是不灵活, 比如, 要求物理内存必须是连...

Linux系统优化与调试之四 - 云上云下的CPU频率

CPU频率是衡量其性能的最重要指标,大家一般习惯性的用MHZ或者GHZ描述,但随着现代CPU的SMP, TURBO BOOST, C-STATE, P-STATE等技术的广泛使用,CPU频率开始变得飘忽不定。我们从一颗Intel Core i7-6700HQ开始,一起来看看现代CPU的频率。 标称频率 从Intel官网上,很容易查到该CPU的性能参数。这颗4核心处理器的基准频率...

Linux系统优化与调试之三 - 随手给Linux服务器CPU加一些压力

很多服务器上Linux系统是最小化安装,没有额外的压力工具,有时候只是想随手给CPU加一些背景压力,这几天参考了一些很有趣的脚本,非常巧妙的实现了这个,其中的思路值得学习。 CPU满负载 for i in $(seq 0 16); do taskset -c $i yes > /dev/null & done yes > /dev/null: 本...

一分钟解决MacOS使用iotop权限问题

背景 iotop一般用来在列出系统中top N的正在使用磁盘io的进程,在Linux系统中,一般使用yum, apt命令安装后就可以使用。 Mac OS最新的Sierra系统也集成了iotop, 但是使用的时候会报告如下dtrace错误: $ iotop dtrace: system integrity protection is on, some features will not ...

CentOS配置Bash命令自动完成

Bash Auto Completion Bash命令自动完成是指我们在bash环境中输入命令和参数的时候,bash可以自动帮我们把命令和相关参数补齐或者给出提示。 安装 yum install -y bash-completion bash-completion-extras source /etc/profile.d/bash_completion.sh 例子 $ rpm -...

福利 - O'Reilly Programming Free Books

下载程序 git clone https://github.com/luohao-brian/funny_linux_cmds.git cd oreilly-free-books && sh download.sh 电子书列表