Linux kernel学习-block层

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/linux-kernel-learning-block-layer/ Linux 内核中的 block I/O 层又是非常重要的一个概念,它相对字符设备的实现来说复杂很多,而且在现今应用中,block 层可以说是随处可见,下面分别介绍 kernel block I/O 层的一些知识,你需要对块设备、字符设备的区别清楚,而且对 kernel 基础有一些了解哦。 1、buffer_head 的概念: buffer_head 是 block 层中一个常见的数据结构(当然和下面的 bio 之类的结构相比就差多 […]

《The Alchemist》阅读摘录(1)

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/the-alchemist-snippet1/ 1、有关旅行 - Santiago 和其父亲的谈话: “People from all over the world have passed through this village, son,” said his father. “They come in search of new things, but when they leave they are basically the same people they were when they ar […]

Linux kernel学习-内存管理

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/linux-kernel-learning-memory-management/ 接着之前的 Linux kernel 学习步伐,来到极其重要的内存管理部分,继续本文内容,需要先了解内存寻址的基础知识,见之前的 [内存寻址] 博文。 1、内存页及内存区域: 正如之前所说,Linux kernel 使用物理页作为内存管理的基本单位,其中重要的线程地址和物理地址的转换操作由页单元 MMU 来完成,系统的页表也由 MMU 来维护。kernel 使用 struct page 来表示一个物理页,它的定义在 in […]

2012端午之大明山

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/dragon-boat-festival-2012-damingshan/ 2012端午在浙江临安大明山的小折腾行,大明山有被称为 “小黄山”,由于不是自驾游,在深山里住的农家乐,和朋友一起辗转腾挪倒车来回的,小感到木有车的不便,不过在大明山玩了一小通之后还是深感值得。去时路线:苏州 - 临安 - 昌化 - 大明山,回时班车太慢没赶上班车,改成:大明山 - 昌化 - 临安 - 杭州 - 苏州,OMGM~~~。 PPPPS: 由于深深感觉到眼睛实际看到的效果是任何镜头记录下的都无法比拟的,直接贴几张中意 […]

Windows Server 8 ReFS 测试初探

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/windows-server-8-refs-basic-test/ 微软最新的 Windows Server 8(现在已改名为 Windows Server 2012,坑爹的命名,汗下)中支持了微软引入的新文件系统 ReFS 用于替换存在了 N 年了的 NTFS 文件系统。大家可能依稀还记得当前 Longhorn(其实就是后来的 Vista 操作系统的开发代号) 操作系统发布时传闻要引入的新文件系统 WinFS 被阉割的消息,到了 2012 年终于推出了新文件系统 ReFS。 ReFS 全名为 Res […]

Linux kernel percpu变量解析

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/linux-kernel-percpu-variable/ Linux 2.6 kernel 中的 percpu 变量是经常用到的东西,因为现在很多计算机都已经支持多处理器了,而且 kernel 默认都会被编译成 SMP 的,相对于原来多个处理器共享数据并进行处理的方式,用 percpu 变量在 SMP、NUMA 等架构下可以提高性能,而且很多情况下必须用 percpu 来对不同的处理器做出数据区分。 本文以 kernel 中的 softirq 为例简单说下 percpu 变量,我们先来看看 kern […]

Linux kernel kfifo分析

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/linux-kernel-kfifo/ kfifo 是 Linux kernel 中的一个通用队列实现,对于 kernel 中常见的 FIFO 队列应用还是很有用的,本文主要简单介绍分析下 Linux kernel kfifo。实际上 ChinaUnix 上有个 kfifo 的分析文章,但已经比较老(基于 Linux 2.6.10),而且我现在用的 2.6.34 版本 kernel 中 kfifo 实现有很多改动,故自己简单写下,ChinaUnix 上的 kfifo 介绍帖子在这里: http://b […]

所有SVN程序员都应升级到 Subversion 1.7

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/subversion-update-1-7/ 近日在升级 SVN 服务器之时顺便把 Windows 上的 TortoiseSVN 也升级到最新的 1.7.7 版本,发现不少惊喜,而且在 RHEL6 上顺便也升级到 1.7 之后发现确实很不错,建议所有正在用 SVN 的程序员们都升级到最新 1.7 版本。 Subversion 1.7 版本的主要几个更新有: 1、中心化元数据存储: 啥意思?呵呵,就是原来每个 SVN 版本库下的每个目录中都有一个 .svn 隐藏目录,现在中心化之后,全部集中到版本库根目 […]

Linux kernel学习-进程调度

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/linux-kernel-learning-process-scheduling/ 接着上面进程基本概念的文章,进程调度器决定系统中什么进程需要运行,运行多长时间。Linux kernel 实现的是抢占式的时间片调度方式,而不是进程主动让出时间片的方式。 Linux 从 2.5 开始使用名为 O(1) 的调度器,它解决了 2.4 及之前早期的调度器中很多设计上就存在的问题,O(1) 就表示该算法可以在常数时间内完成工作。在 ULK3 对应的 2.6.11 内核中仍然在使用此调度器,它对于很大的服务器负 […]

一个比较烂的主机空间 - GigaWebHost

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/webhosting-gigawebhost/ 上次博客空间提供商突然被 GFW 封了一天,想着用这临时的免费主机不太保险,准备随便买个国外空间试试的,发现了这个 GigaWebHost,结果各种经历不吐不快,这空间主页: http://gigawebhost.com/ 看空间主页介绍的似乎很不错的,Features 里写的 30G 空间,似乎无流量限制,3万个子域名,PHP/MySQL/Zend 等都支持,最主要还支持我比较看重的 SSH Shell 功能,而且只要 1欧元 1个月,算起来一年也就 […]