C语言中的const
"定义 const 将修饰离它最近的对象(优先左边) 解释 Bjarne 在他的《The C++ Programming Language》里面给出过一个助记的方法 “以 * 分界,把一个声明从右向左读”。 注意语法,* 读作 pointer to (指向…的指针),const (常量) 是形容词,char (变量类型) 和 p (变量名) 当然都是名词。 con..."
"定义 const 将修饰离它最近的对象(优先左边) 解释 Bjarne 在他的《The C++ Programming Language》里面给出过一个助记的方法 “以 * 分界,把一个声明从右向左读”。 注意语法,* 读作 pointer to (指向…的指针),const (常量) 是形容词,char (变量类型) 和 p (变量名) 当然都是名词。 con..."
"前言 阅读本文章前首先要具备一定的面向对象编程基础 面向对象特性 面向对象编程 (Object-oriented programming,OOP) 是一种基于以下三个基本概念的设计方式: 封装(Encapsulation) 将数据和函数打包到类中的能力 继承(Inheritance) 基于现有类定义新类的能力,以获得重用和代码组织 多态(Polymorphism..."
"HE-tunnel 使用HE的IPv6隧道解决访问谷歌Google时提示异常流量 CloudFlare-WARP WARP一键安装脚本 安装sock代理或ipv6隧道 WARP最强的地方在于网络环境非常好,远比HE-tunnel和Tor稳定 Tor apt install tor 默认开启sock代理,端口9050,可通过修改/etc/tor/torrc文件修改端口 如果..."
"架构 控制的倒置 (Inversion of Control) UML 状态机速成 基本的状态机概念 状态 状态图 事件 (Event) 动作和转换 (Action and Transition) 运行-到-完成..."
"远程过程调用(RPC) 最主要的抽象是基于远程过程调用(Remote Procedure Call),或简称 RPC 远程过程调用包都有一个简单的目标:使在远程机器上执行代码的过程像调用本地函数一样简单直接 RPC 系统通常有两部分:存根生成器(stub generator,有时称为协议编译器,protocol compiler)和运行时库(run-time library)。 存根..."
"磁盘故障模式 潜在扇区错误(Latent-Sector Errors,LSE) 如果磁头由于某种 原因接触到表面(磁头碰撞,head crash,在正常操作期间不应发生的情况),则可能会讹误表面,使得数据位不可读。宇宙射线也会导致数据位翻转,使内容不正确。 驱动器使用磁盘内纠错码(Error Correcting Code,ECC)来确定块中的磁盘位是否良好,并且在某些情况下,修复它们..."
"在 20 世纪 90 年代早期,由 John Ousterhout 教授和研究生 Mendel Rosenblum 领导的伯克利小组开发了一种新的文件系统,称为日志结构文件系统(LFS)。他们这样做的动机是基于以下观察: 内存大小不断增长。 随着内存越来越大,可以在内存中缓存更多数据。随着更多数据的缓存,磁盘流量将越来越多地由写入组成,因为读取将在缓存中进行处理。..."
"文件系统面临的一个主要挑战在于,如何在出现断电(power loss)或系统崩溃(system crash)的情况下,更新持久数据结构。称为崩溃一致性问题(crash-consistency problem)。 一个详细的例子 假定磁盘上使用标准的简单文件系统结构,包括一个 inode 位图(inode bitmap,只有 8 位,每个 inode 一个),一个数据位图(data bit..."
"问题:性能不佳 传统文件系统的问题: 碎片化,主要是外部碎片导致文件的块分布过于分散,增加了磁盘寻道成本 原始块太小导致的文件被分为太多块,提高了定位成本,因为每读一个块都需要定位一次 FFS:磁盘意识是解决方案 以上问题的原因是把磁盘当作内存看待,过于依赖随机访问,忽视了底层的磁盘寻道特性 组织结构:柱面组 磁盘是由一环环磁道构成,主要的耗时是跨磁道导致的磁头移动(..."
"本章将介绍一个简单的文件系统实现,称为 VSFS(Very Simple File System,简单文件系统)。它是典型 UNIX 文件系统的简化版本,因此可用于介绍一些基本磁盘结构、访问方法和各种策略,你可以在当今许多文件系统中看到。 整体组织 将磁盘分成块(block),每块大小相同,通常每块为 4 KB 其中一部分作为管理用空间(超级块,位图,inode 结构信息),另一部分作..."