Ryo's blog

归档 · 2021

首页

关于

归档

loading..
LinuxMemory

Linux内核虚拟地址空间

x86-32位虚拟地址空间就我们所知,Linux内核一般将处理器的虚拟地址空间划分为两个部分。底部比较大的部分用于用户进程,顶部则专用于内核。虽然(在两个用户进程之间的)上下文切换期间会改变下半部分,但虚拟地址空间的内核部分总是保持不变。 Linux将虚拟地址空间划分为:0~3G为用户空间,3~4G为内核空间 点我查看原图 用户地址空间 保留区 - 0x08048000位于虚拟地址空间的最低部分,未赋予物理地址。任何对它的引用都是非法的,用于捕捉使用空指针和小整型值指针引用内存的异常情况。 它并不是一个单一的内存区域,而是对地址空间中受到操作系统保护而禁止用户进程访问的地址区域的总称。大多数操作系统中,极小的地址通常都是不允许访问的,如NULL。C语言将无效指针赋值为0也是出于这..

更多
Envoy

Envoy 编译调试

Debian9 上编译调试主要参考Envoy官方的Bazel编译文档 下载bazelisk-linux-amd64 sudo wget -O /usr/local/bin/bazel https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64 sudo chmod +x /usr/local/bin/bazel 安装依赖 sudo apt-get install \ autoconf \ automake \ cmake \ curl \ libtool \ make \ ninja-build \ patch \ ..

更多
BookChip

《说透芯片》

基础知识晶体管想了解晶体管,你得先了解它的“前身”——电子管。电子管是中文翻译后的名称,英文原文其实是真空管。从这个名字,你可以想象,它其实是把参与工作的金属薄片,也就是电极,封装在一个真空的容器内,真空容器一般指的是玻璃瓶。 整个电子行业,并不是从芯片开始的,而是从电子管开始。电子管最鼎盛时期的代表作,就是世界上的第一台电子计算机。这台 1946 年诞生的电子计算机,占地 150 平方米,重达 30 吨,里面的电路使用了 17468 只电子管、7200 只电阻、10000 只电容、50 万条线。 这台计算机虽然运算速度不快,但基本具备了现代计算机的主要结构和功能,这也是电子管能达到的最高成就了。其实从上图你也可以看出来,电子管最大的缺点就是,真空容器对于电子产品来说体积太大了。 如果人类停留在电子管技术上..

更多