摘要:
Linux kernel workqueue机制分析 在内核编程中,workqueue机制是最常用的异步处理方式。本文主要基于linux kernel 3.10.108的workqueue文档分析其基本原理和使用API。 概览 Workqueue(WQ)机制是Linux内核中最常用的异步处理机制。W 阅读全文
摘要:
Golang笔记(二)面向对象的设计 Golang本质还是面向过程的语言,但它实现了一些OOP的特性,包括抽象、封装、继承和多态。 抽象和封装 Golang和C语言一样以struct为数据结构核心,不同的是Golang的struct可以定义自己的函数,这使得struct有了一些class的特点,所以 阅读全文
摘要:
Golang笔记(一)简洁的语言风格 概述 Golang继承了很多C语言的风格,寡人使用了十几年C语言,切换到Golang时上手很快,并且随着深入的使用,越来越喜欢这门语言。Golang最直观的感受是简洁(语言细节少)、高效(开发迅速)和高性能(忽略GC时,类比C++的性能)。 package pa 阅读全文
摘要:
Facebook TSDB论文Gorilla分析 背景 TSDB时序数据库用于存储时间相关的数据,常用于监控系统的数据存储,分布式的TSDB提供了海量的数据存储能力,如InfluxDB、OpenTSDB等。关于TSDB更多详情,可以参考该系列博客: "时间序列数据的存储和计算" 。 随着监控数据量增 阅读全文
摘要:
Linux kernel rbtree 因编写内核模块时需要用到rbtree来记录异步request,研究分析了一下kernel rbtree的使用方法,记录于此。本文主要参考了内核文档 "rbtree.txt" rbtree简介 Red black trees(rbtree)是一种自平衡的二叉搜索 阅读全文
摘要:
Cgroup blkio简介和测试(使用fio测试) 因需要对docker镜像内的进程对磁盘读写的速度进行限制,研究了下Cgroup blkio,并使用fio对其iops/bps限速进行测试。 Cgroup blkio简介 Linux Cgroup(Control Groups)是Linux内核提供 阅读全文