avatar
Articles
300
Tags
46
Categories
8

Home
Archives
Tags
Categories
About
Yuchen You
Search
Home
Archives
Tags
Categories
About

Yuchen You

Xen 与 KVM 的 hyprvisor 讲解
Updated2025-07-22|operating_system•unix•virtual_machine
虚拟机主要包括四个方面的模拟, cpu, 内存, 中断, io 虚拟机模拟的原理最重要的就是陷入 (trapping) 模拟, 也就是当虚拟机执行一些敏感指令时会陷入kvm, 由kvm负责模拟, 完成后返回客户机 当前主流 (2025) 的虚拟化发展趋势是 Xen -> KVM Xen 虚拟化基本原理 是一个直接运行在计算机硬件之上的用以替代操作系统的软件层, 它能够在计算机硬件上并发的运行多个客户操作系统(Guest OS) Xen对虚拟机的虚拟化分为两大类, 半虚拟化 (Para virtualization, PV) 和完全虚拟化 (Hardware VirtualMachine, HV); 半虚拟化 PV 允许虚拟机操作系统感知到 自己运行在Xen Hypervisor上而不是直接运行在硬件上, 同时也可以识别出其他运行在相同环境中的客户虚拟机 为了调用系统管理程序(Xen Hypervisor), 要有选择地修改操作系统, 然而却不需要修改操作系统上运行的应用程序 完全虚拟化 HV 又称"硬件虚拟化", 简称HVM, 是指运行在虚拟环境上的虚拟机在 ...
5. sed 指令
Updated2025-07-12|operating_system•unix
Overview sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等 Usage 1sed [-hnV][-e <script>][-f <script file>][text file] Arguments -e<script> / --expression=<script> : 直接在命令行中指定要执行的脚本 (script, not file) 来处理文本文件 -f<script file> / --file=<script file> : 从指定的脚本文件中读取 sed 脚本 -n / --quiet / --silent : 抑制默认输出行为,只输出经过处理的行 Action a 新增,a 的后面可以接字符串,内容会出现在当前的下一行 c 替换,c 的后面可以接字符串,内容会替换 n_1 到 n_2 之间的所有行 d 删除,删除当前行, 不接任何字符串 i 插入,i 的后面可以接字符串,内容会出现在当前的上一行 p 打印,打印当前行, 不接任何字符串,通常和 -n 选项一起 ...
4. awk 指令
Updated2025-07-09|operating_system•unix
语法 1awk options 'pattern {action}' file options 选项, 用于控制 awk 的行为 -F 指定输入字段的分隔符, 默认是空格m 可以指定不同于默认分隔符的字段分隔符 -v <key>=<value> 定义局部变量, 可以在脚本中使用 -f <file> 从指定文件中读取 awk 脚本, 允许将脚本存储在文件中而不是命令行 pattern 模式, 用于匹配输入数据的模式, 如果省略则对所有行进行操作 就是 regex 匹配语法 {action} 选在匹配到模式的行上执行的动作, 如果省略则打印整行 打印操作, 纯字符串打印是 print, 打印对应变量是 printf "%10d", var, 10 表示宽度 对于变量支持 += 等 c 语言运算符, 也可以有 for/if 等语句遵循 C 语言语法 内建变量 (可以直接用也可以手动改变) $0 当前行的全部内容 ERRNO 上一个系统调用的错误信息 FS ...
3. 正则表达式
Updated2025-07-09|operating_system•unix
浙江信息技术高考的时候有一个概念, 在 excel 中可以通过 ? 来匹配一个字符, * 来匹配多个字符;正则表达式拥有比 ?和 * 更强大的功能, 能够匹配更复杂的字符串模式; 简介 正则表达式具有几类字符类型 元字符 元字符具有特殊的含义, 例如 \d 匹配任意数字字符, \w 匹配任意字母数字字符, . 匹配任意字符(除了换行符)等 量词 * 匹配前一个字符零次或多次 + 匹配前一个字符一次或多次 ? 匹配前一个字符零次或一次 {n} 匹配前一个字符恰好 n 次 {n,} 匹配前一个字符至少 n 次 {n,m} 匹配前一个字符至少 n 次, 不超过 m 次 字符类 [ ] 匹配括号内任意一个字符, 例如 [abc] 匹配 a, b, c 中的任意一个字符 [^ ] 匹配不在括号内的任意一个字符, 例如 [^abc] 匹配除 a, b, c 以外的任意一个字符 边界匹配 ^ 匹配字符串的开头 $ 匹配字符串的结尾 \b 匹配单词边界 \B 匹配非单词边界 分组和捕获 ( ) 用于分组, 可以将多个字符组合在一 ...
4. Process Control
Updated2025-06-27|operating_system•unix
进程空间的组件 Components kernel 空间的组件大致如下: process address space map process 的当前 status process execution priority 当前 process 使用的 memory/cpu 的量 当前 process 打开的文件和 network port process signal mask (record of which signals are blocked) owner of the process PID: process ID number 每个进程都有一个 kernel 赋予的 唯一 id pid 是按照从小到大的顺序一一分配的 PPID: parent PID unix 系统创建一个新的进程的时候并不是直接运行一个指定的 program, 而是分为两步 一个已有的进程必须 clone 自身来获得一个新的 process 新的进程执行新的 program PPID 就是子进程指向父进程的 这个 ppid 大多是用来解决一些未识别的 进程的来源问题, 用来辅助 tracing UID ...
2. Shell 脚本的语法
Updated2025-08-10|operating_system•unix
固有变量 $# 传给脚本的参数数量 $0 脚本的名称 (包括调用的指令路径) $1 第一个参数 $@ 传递给 shell 脚本的所有参数, 作为一个整体 ${@:2} -> $2 $3 $4 …, 再拼成一个整体 (默认以空格连接) $* 传递给 shell 脚本的所有参数, 作为一个字符串 ${*:2} -> $2 $3 $4 ..., 再拼成一个字符串 (默认以空格连接) $$ 当前脚本运行的 PID $? 上一个命令的退出状态, 0 表示成功, 非 0 表示失败 数组的定义 shell 中支持数组的定义, 语法如下 1array_name=(value1 value2 value3 ...) 也就是在一系列通过常见分隔符(空格, 换行, 制表符) 分隔的值的括号中定义一个数组; 与 grep 等文本指令合作, 可以将文本文件的每一行读入到数组中, 也就是在外面加上一个 ($(grep 'pattern')) 就行 -> 这里的目的是通过 for 直接访问数组的每一个元素 同样的, 可以通过 @ 来访问数组的 ...
7. Gray Failure the Achilles' Heel of Cloud-Scale Systems
Updated2025-06-02|operating_system•distributed_sys•system_failure
Introduction 这篇文章系统性地提出并定义了云计算系统中的"灰色故障"(Gray Failure)问题, 认为它是当前云基础设施高可用性的一大障碍 gray failure component failures whose manifestations are fairly subtle and thus defy quick and definitive detection 系统某部分发生了轻微但持续的问题, 这些问题不易被传统故障检测机制发现, 但已经影响了应用层的性能和可用性;它不同于"失败即停" (fail-stop) 故障, 后者更易被监测和处理 Gray Failure的特征 Differential Observability (差异性可观测性) 对于 gray failure, 不同的组件对于同一个问题的感知是不同的, 尤其是一个实体受到消极影响但是其他实体感受不到这个影响 检测模块可能认为系统还是健康的, 但是实际上应用已经受损 Cloud Anomalies with Gray Failure High redund ...
6. Fail Stutter Fault Tolerance
Updated2025-06-01|operating_system•distributed_sys•system_failure
Introduction 背景问题缺陷 Byzantine 模型假设组件可能出现任意错误甚至恶意行为, 过于复杂难以实施; Fail-stop 模型假设组件要么正常工作, 要么完全停止, 虽然简单易用, 但忽视了现代硬件中常见的"性能故障"; 本文特点 Fail-Stutter 模型: a realistic and yet tractable fault model that accounts for both absolute failure and a new range of performance failures common in modern components. 引入了一个更现实但可操作的故障模型, 结合 fail-stop 和"性能故障"(performance faults); 性能故障指的是组件虽然没完全失效, 但表现不稳定或变慢, 如磁盘速率下降, 缓存命中率降低等; 这种模型认为组件既可以"失败", 也可以"卡顿"或"表现异常"; 需要的模型性质 ( ...
5. Fail-Slow at Scale
Updated2025-06-01|operating_system•distributed_sys•system_failure
Introduction 这篇论文 Fail-Slow at Scale: Evidence of Hardware Performance Faults in Large Production Systems 由Haryadi S. Gunawi等人发表在第16届USENIX文件与存储技术会议(FAST 2018)上 系统性地揭示了在大规模生产系统中"fail-slow"(故障-缓慢)硬件现象的存在与影响;这类故障指的是硬件仍在运行, 但其性能严重退化, 未达到应有的标准; 硬件类型包括: disk, SSD CPU memory network components 几十年来, 系统领域已经形成了如下成熟的硬件故障模型 (fault model) • Fail-stop(故障停止): 设备完全停止工作并发送明确的错误信号; • Fail-partial(部分失效): 设备部分失效, 部分功能仍然正常; • Fail-transient(瞬时性失效): 偶尔出现错误但会自行恢复; • Corruption fault(数据损坏) 和 Byzantine fau ...
1. Kubernetes 核心概念
Updated2025-05-27
本篇文章参考了知乎笔记, 只做格式整理 如何区分 apiVersion v1: Pod, Service, ConfigMap, Secret, Namespace, PersistentVolumeClaim apps/v1: Deployment, StatefulSet, DaemonSet, ReplicaSet accessMode 访问模式 ReadWriteOnce (RWO): 只能被单个节点挂载读写 ReadOnlyMany (ROX): 可以被多个节点挂载为只读 ReadWriteMany (RWX): 可以被多个节点挂载读写 ReadWriteOncePod (RWOP): 只能被单个 Pod 挂载读写, 是在 Kubernetes 1.22+ 和一些 CSI 驱动下才支持的模式, 保证同一卷只能被同一个 Pod 读写, 即使 Pod 在不同节点重调度也不允许与其他 Pod 并发访问 Service 服务 内部服务: 通过统一的接口来访问一组 Pod, 使得 Pod 的 IP 地址可以动态变化, 而不影响访问者的使用 (对访问者透明) 外部服务: 通过统 ...
1…456…30
avatar
Yuchen You (Wesley)
Articles
300
Tags
46
Categories
8
Follow Me
Announcement
This is my Blog
Recent Post
7. 分布式事务系统与 Spanner2025-11-28
6. Amazon Dynamo 系统2025-11-28
5. Transaction and ACID DB2025-11-28
4. Database Storage Structure2025-11-06
5. Consensus: Paxos Made Simple (not to me)2025-10-16
Categories
  • ai27
  • cpp8
  • cs_basic27
  • cybersecurity17
  • eecs28110
  • hardware2
  • math69
  • physics21
Tags
linear_algebra database virtual_machine sql thermal transformer machine_learning p_np complex_analysis field algorithm cpp_basic container cv hardware distributed_sys optimization chaos_system unix discrete_math cyber_security dynamic computability memory information_theory system_failure operating_system Model mse logic Consensus attention golang clip deep_learning structure kernel probability ODE statistics
Archives
  • November 20254
  • October 20255
  • September 202523
  • August 20253
  • July 20259
  • June 20253
  • May 202514
  • April 20253
Info
Article :
300
UV :
PV :
Last Update :
©2020 - 2025 By Yuchen You (Wesley)
Framework Hexo|Theme Butterfly
welcome to my blog!
Search
Loading the Database