<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[basicthinker的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/basicthinker</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; basicthinker]]></copyright><item><title><![CDATA[Linux profilers: oprofile vs. ftrace (with guide for use in Android)]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/8526978</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/8526978</guid><author>basicthinker</author><pubDate>Tue, 29 Jan 2013 20:36:15 +0800</pubDate><description><![CDATA[设置 ftrace

echo function_graph > current_tracer
echo funcgraph-cpu > trace_options
echo funcgraph-proc > trace_options
echo funcgraph-abstime > trace_options
echo nofuncgraph-overhead > trace_option]]></description><category></category></item><item><title><![CDATA[Linux 内核可用的字符串分割函数 strsep (String Split Function strsep in Linux Kernel)]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/7463687</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/7463687</guid><author>basicthinker</author><pubDate>Sun, 15 Apr 2012 21:30:11 +0800</pubDate><description><![CDATA[C 语言字符串分割可使用 strsep，是 strtok 函数的替代，而且可用于内核，推荐。


char *strsep(char **stringp, const char *delim);

函数接受的第一个参数是 in-out prarameter，在函数执行后会被更改，总指向当前要被分割的字符串；第二个参数顾名思义，是分割符。函数返回分割后的第一个字符串。函数执行的过程，是在]]></description><category></category></item><item><title><![CDATA[CAS & deduplication 综述（关注去冗余存储）]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/7278302</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/7278302</guid><author>basicthinker</author><pubDate>Tue, 21 Feb 2012 10:16:14 +0800</pubDate><description><![CDATA[本文总结了近十年围绕 CAS(content-addressable store) 和 deduplication 的主要工作，供借鉴。
【转载请注明作者、出处及链接】


该 topic 长期持续活跃，经过下面整理出的几个阶段，我们可以感觉到单纯 block/chunk level deduplication 的“矿”已经挖得差不多了:) 


====基本架构====]]></description><category></category></item><item><title><![CDATA[Ubuntu 服务器管理员手记（二）：快速安装配置邮件服务器（详解 Postfix + Dovecot）]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/6167606</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/6167606</guid><author>basicthinker</author><pubDate>Fri, 14 Oct 2011 15:17:26 +0800</pubDate><description><![CDATA[本文介绍 ubuntu 上邮件服务器的基本配置过程，面向个人和初级企业应用，能够保证信息安全但不涉及垃圾邮件和病毒的防范。
测试环境使用 Ubuntu 11.04，Postfix 2.8.2，Dovecot 1.2.15，其他版本可参照。
首先说明基本的背景知识。一个邮件服务器通常包括如下两个基本组件：


Mail Transfer Agent (MTA)，用于向收件人的目标 agen]]></description><category></category></item><item><title><![CDATA[Git 管理多个分支的公共部分 How to manage the common part of multiple branches]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/6629508</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/6629508</guid><author>basicthinker</author><pubDate>Tue, 23 Aug 2011 22:05:09 +0800</pubDate><description><![CDATA[我们在使用 git 进行版本控制时，可能遇到这样的需求：同时维护多个永久性的 branch（分支），每个 branch 可能对应于针对不同客户的不同实现；在分支间切换，可以方便地为各个客户生成特定的版本。这些所谓“永久性”的分支，与通常使用分支的情形不同，因为它们会长期存在并随着]]></description><category></category></item><item><title><![CDATA[Linux / Xen 源代码片段解读 (1)：函数 adjust_vmx_controls（arch/x86/kvm/vmx.c）]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/6603541</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/6603541</guid><author>basicthinker</author><pubDate>Wed, 13 Jul 2011 23:33:28 +0800</pubDate><description><![CDATA[arch/x86/kvm/vmx.c Kernel-based Virtual Machine driver for Linux
static __init int adjust_vmx_controls(u32 ctl_min, u32 ctl_opt,
                                      u32 msr, u32 *result)
{]]></description><category></category></item><item><title><![CDATA[配置 eclipse 编译、开发 Hadoop（MapReduce）源代码]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/6174442</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/6174442</guid><author>basicthinker</author><pubDate>Tue, 08 Feb 2011 13:03:00 +0800</pubDate><description><![CDATA[本文不是面向 HDFS 或 MapReduce 的配置使用，而是面向 Hadoop 本身的开发。进行开发的前提是配置好开发环境，即获取源代码并首先能够顺畅编译（build），本文即记录了在 Linux（Ubuntu 10.10）上配置 eclipse 编译 Hadoop 源代码的]]></description><category></category></item><item><title><![CDATA[Ubuntu 服务器管理员手记（一）：常用 Linux 命令]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/6166697</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/6166697</guid><author>basicthinker</author><pubDate>Thu, 27 Jan 2011 15:20:00 +0800</pubDate><description><![CDATA[介绍了若干常用的 Linux 命令，针对各功能目标优选实现方法，简单易记，持续更新。]]></description><category></category></item><item><title><![CDATA[PVFS2 源代码分析之输入输出src/io/job/thread-mgr线程管理器]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5917694</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5917694</guid><author>basicthinker</author><pubDate>Fri, 01 Oct 2010 11:52:00 +0800</pubDate><description><![CDATA[用于job线程管理的基础结构——线程管理器（thread manager）]]></description><category></category></item><item><title><![CDATA[PVFS2源代码分析之输入输出src/io/job/job任务]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5909108</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5909108</guid><author>basicthinker</author><pubDate>Mon, 27 Sep 2010 10:42:00 +0800</pubDate><description><![CDATA[job.c文件中定义的函数很多，涵盖BMI、trove、flow、dev等多个组件的使用，但不同组件具有相近的模式，我们可以将主要的函数分类研究。]]></description><category></category></item><item><title><![CDATA[PVFS2 源代码分析之输入输出src/io/job/job-desc-queue任务描述符队列]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5797265</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5797265</guid><author>basicthinker</author><pubDate>Sun, 08 Aug 2010 19:51:00 +0800</pubDate><description><![CDATA[任务描述符队列（job descriptor queue）是job文件夹下比较简单的模块，但是提供了任务管理的基础结构。本文还同时介绍了job中的队列。]]></description><category></category></item><item><title><![CDATA[PVFS2源代码分析之输入输出src/io/bmi/reference-list引用表]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5773928</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5773928</guid><author>basicthinker</author><pubDate>Thu, 29 Jul 2010 14:53:00 +0800</pubDate><description><![CDATA[本组件负责BMI的地址映射，该地址是一个64位整型值，通过它可以方便地定位到引用（reference），每个引用对应于一个BMI操作实例。]]></description><category></category></item><item><title><![CDATA[PVFS2 源代码分析之输入输出src/io/job/job-time-mgr任务时间管理器]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5768207</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5768207</guid><author>basicthinker</author><pubDate>Tue, 27 Jul 2010 10:32:00 +0800</pubDate><description><![CDATA[PVFS2发布的某些类型的任务（job）设置了超时，需要任务时间管理器（job time manager）统一记录和管理这些任务。]]></description><category></category></item><item><title><![CDATA[PVFS2 源代码分析之用户系统接口src/client/sysint/client-state-machine状态机生命周期和上下文]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5756809</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5756809</guid><author>basicthinker</author><pubDate>Fri, 23 Jul 2010 03:56:00 +0800</pubDate><description><![CDATA[分析一个状态机从创建、启动，到挂起、终止的完整生命周期，涉及多个文件，但主要接口函数包含在src/client/sysint目录下的client-state-machine.h和client-state-machine.c文件中]]></description><category></category></item><item><title><![CDATA[PVFS2 源代码分析之公有组件src/common/misc/state-machine状态机执行逻辑]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5745238</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5745238</guid><author>basicthinker</author><pubDate>Mon, 19 Jul 2010 01:09:00 +0800</pubDate><description><![CDATA[状态机的执行逻辑，存在于src/common/misc文件夹下的state-machine.h和state-machine-fns.c两个文件。state-machine.h定义了状态机执行逻辑所需的数据结构，state-machine-fns.c文件定义了功能函数。]]></description><category></category></item><item><title><![CDATA[PVFS2 源代码分析之用户系统接口src/client/sysin/sys-get-eattr.c状态机代码]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5741036</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5741036</guid><author>basicthinker</author><pubDate>Sat, 17 Jul 2010 01:02:00 +0800</pubDate><description><![CDATA[sys-get-eattr.sm/.c文件记录了很小的一个状态机，以此为例，说明状态机代码文件（.c）的结构和含义。]]></description><category></category></item><item><title><![CDATA[PVFS2源代码分析之用户系统接口src/client/sysin/sys-get-eattr.sm状态机描述]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5739549</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5739549</guid><author>basicthinker</author><pubDate>Fri, 16 Jul 2010 13:44:00 +0800</pubDate><description><![CDATA[    sys-get-eattr.sm/.c文件记录了很小的一个状态机，以此为例，说明状态机定义文件（.sm）的格式和语义。]]></description><category></category></item><item><title><![CDATA[PVFS2源代码分析之公有组件src/common/quicklist]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5735965</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5735965</guid><author>basicthinker</author><pubDate>Thu, 15 Jul 2010 01:17:00 +0800</pubDate><description><![CDATA[用于PVFS2的双向循环链表]]></description><category></category></item><item><title><![CDATA[PVFS2源代码分析之公有组件src/common/llist]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5731931</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5731931</guid><author>basicthinker</author><pubDate>Tue, 13 Jul 2010 15:42:00 +0800</pubDate><description><![CDATA[用于PVFS2的单向链表]]></description><category></category></item><item><title><![CDATA[Ubuntu 10.04 安装配置 PVFS2 手记]]></title><link>https://blog.youkuaiyun.com/basicthinker/article/details/5722065</link><guid>https://blog.youkuaiyun.com/basicthinker/article/details/5722065</guid><author>basicthinker</author><pubDate>Thu, 08 Jul 2010 23:19:00 +0800</pubDate><description><![CDATA[由于项目需要，试用和学习PVFS2，下面记录安装过程，以方便其他初用者安装。安装特定针对安装环境Ubuntu 10.04。]]></description><category></category></item></channel></rss>