背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 这篇文章,让我们来看看用户态进程的地址空间情况,主要会包括以下: ; ; ; 进程地址空间中, ...
分类:
系统相关 时间:
2019-12-13 23:59:11
阅读次数:
170
2019年5月,华为云发布全球首个基于自研ARM架构的分布式缓存鲲鹏Redis,搭载华为LibOS+华为编译器+安全容器引擎三项黑科技,在保证Redis强劲高性能外,还降低客户30%的使用成本,真正实现了好用不贵的普惠型分布式缓存Redis产品。 本文从技术视角解读华为云鲲鹏Redis是如何通过数据 ...
分类:
其他好文 时间:
2019-12-10 16:45:31
阅读次数:
121
概念 如图1-1给出了一个逻辑上的简化视图,图的底部是硬件,硬件包括芯片、电路板、磁盘、键盘、显示器以及类似的设备,在硬件的顶部是软件。 多数计算机有两种运行模式:内核态和用户态。软件中最基础也是最核心的部分是操作系统,它运行在内核态,在这个模式中,操作系统具有对所有硬件的安全访问权,可以执行机器能 ...
分类:
其他好文 时间:
2019-12-09 21:23:27
阅读次数:
109
netfilter:内核态,直接调用Linux内核进行防火墙设置 firewalld:用户态,面向用户的防火墙管理工具(第六版本iptables) 防火墙工作流程 数据来时先检测数据的源IP地址 1.若源地址关联到某个区域,则执行该区域规则 2.若源地址未关联到区域,则应用接口所在区域的规则 3.若 ...
分类:
系统相关 时间:
2019-12-09 13:54:38
阅读次数:
93
进程之间的通信 预备知识: 1、用户态和内核态,当一个进程在执行用户自己的代码时处于用户运行态(用户态);当一个进程因为系统调用陷入内核代码中执行时处于内核运行态(内核态)。 2、进程之间的通信(Inter Processs Communication-IPC)实现机制有:管道、消息队列、信号值、信 ...
分类:
系统相关 时间:
2019-12-08 10:53:32
阅读次数:
102
系统调用流程简述 fork() 函数是系统调用对应的 API,这个系统调用会触发一个int 0x80 的中断; 当用户态进程调用 fork() 时,先将 eax(寄存器) 的值置为 2(即 __NR_fork 系统调用号); 执行 int $0x80,cpu 进入内核态; 执行 SAVE_ALL,保 ...
分类:
系统相关 时间:
2019-12-02 00:49:56
阅读次数:
126
firewalld防火墙 firewalld和iptables都是用来管理防火墙的工具(属于用户态) 都指向netfilter这一强大的网络过滤子系统(属于内核态) 1、区域概念 Trustd:信任 Internal:内部 External:外部 Block:拒绝 2、字符管理工具 firewall ...
分类:
系统相关 时间:
2019-11-23 16:16:27
阅读次数:
126
为什么需要 BlueStore 首先,Ceph原本的FileStore需要兼容Linux下的各种文件系统,如EXT4、BtrFS、XFS。理论上每种文件系统都实现了POSIX协议,但事实上,每个文件系统都有一点“不那么标准”的地方。Ceph的实现非常注重可靠性,因而需要为每种文件系统引入不同的Wal ...
分类:
其他好文 时间:
2019-11-22 13:35:55
阅读次数:
122
在java的阻塞IO中使用InputStream和outputStream来进行输入和输出,那么两种流是相互独立使用的,而且每次数据传输都要通过“用户态数据”向“os内核态数据”copy或从“os内核态数据”向“用户态数据”copy; 而在javaNIO中我们的核心对象变为channel,selec ...
分类:
编程语言 时间:
2019-11-20 15:22:11
阅读次数:
64
1. 系统调用 为了安全应用程序无法直接调用的硬件的功能,而是将这些功能封装成特定的函数。当应用程序需要硬件功能时(例如读写文件),就需要进行系统调用。当进程进行系统调用后就从用户态装换为内核态。 2. 用户态与内核态 我们可以想象cpu只是一个无情的执行代码的工具,并不关心是谁的代码。 (1)用户 ...
分类:
其他好文 时间:
2019-11-16 17:52:14
阅读次数:
60