<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[数据挖掘及搜索专栏]]></title><description><![CDATA[点点滴滴，不轻言弃，努力终归大海..]]></description><link>https://blog.youkuaiyun.com/wustdatamining</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wustdatamining]]></copyright><item><title><![CDATA[linux内核分析笔记----页高速缓存和页回写]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283623</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283623</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:46 +0800</pubDate><description><![CDATA[说句真的，也缓存我听的都少，虽然看了很多。页高速缓存是linux内核实现的一种主要磁盘缓存，它主要用来减少对磁盘的IO操作，具体地讲，是通过把磁盘中的数据缓存到物理内存中，把对磁盘的访问变为对物理内存的访问。为什么要这么做呢？一，速度；二临时局部原理。有关这两个概念，相信熟悉操作系统的我们不会太陌生。页高速缓存是由RAM中的物理页组成的，缓存中的每一页都对应着磁盘中的多个块。每当内核开始执行一个页]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----内核可移植性]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283622</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283622</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:43 +0800</pubDate><description><![CDATA[关于linux内核的可移植性我不用多说，现在的linux操作系统，你装系统时应该很明白的知道了，很少说(至少我没见到)不兼容不能装的问题。今天就来说说这个问题：      1.字节和数据类型      能够由机器一次就完成处理的数据被称为字，字指位的数目。所以我们常听到机器是多少位的时候，就是指该机的字长。处理器通用寄存器的大小和它的字长是相同的。C语言定义的long类型总对等于机器字长。对于支持]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----进程地址空间]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283621</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283621</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:41 +0800</pubDate><description><![CDATA[前边我已经说过了内核是如何管理物理内存。但事实是内核是操作系统的核心，不光管理本身的内存，还要管理进程的地址空间。linux操作系统采用虚拟内存技术，所有进程之间以虚拟方式共享内存。进程地址空间由每个进程中的线性地址区组成，而且更为重要的特点是内核允许进程使用该空间中的地址。通常情况况下，每个进程都有唯一的地址空间，而且进程地址空间之间彼此互不相干。但是进程之间也可以选择共享地址空间，这样的进程就]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----块I/O层]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283620</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283620</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:38 +0800</pubDate><description><![CDATA[如果您记性好的话，应该记得我在linux设备驱动实例帖中说的最多的就是字符设备驱动程序，那么今天的块I/O层是一个和字符设备驱动相对应的设备。两者最根本的区别就是看它们能否被随机访问，换句话说就是看它们能否在访问设备时从一个位置随意地调到另外一个位置，如果可以就是块设备，否则就字符设备。       块设备中最小的可寻址单元是扇区。扇区的大小一般是2的整数倍，最常见的大小是512个字节。扇区的大小]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----虚拟文件系统(下)]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283619</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283619</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:36 +0800</pubDate><description><![CDATA[接着上次的来，我今天讲虚拟文件系统剩下的一点知识.       3.目录项对象.目录项的概念上节已经说了,我就不多说.目录项中也可包括安装点.在路径/mnt/cdrom/foo中，/,mnt,cdrom都属于目录项对象。目录项由dentry结构体表示，定义在文件linux/dcache.h中，描述如下:struct dentry {
        atomic_t               ]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----虚拟文件系统(上)]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283618</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283618</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:33 +0800</pubDate><description><![CDATA[虚拟文件系统，也不知道大家听过没有，反正我是听过了！我们知道在计算机行业，很多东西都不是一定有个官方说：朋友，我最大，你们做的东西，都要是这个样子，否则是非法的。事实上，很多东西都是靠的一种实力，通过实力来慢慢在人们心中成为既定事实。这个事实同样是没有官方的。好了，问题来了，没有官方，就没有标准，没有标准就没有统一，没有统一那就是三国时代，混战当道也！       怎么办？特别是百花争鸣的文件系统]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----内存管理]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283617</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283617</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:31 +0800</pubDate><description><![CDATA[内存管理，不用多说，言简意赅。在内核里分配内存还真不是件容易的事情，根本上是因为内核不能想用户空间那样奢侈的使用内存。       先来说说内存管理。内核把物理页作为内存管理的基本单位。尽管处理器的最小可寻址单位通常是字，但是，内存管理单元MMU通常以页为单位进行处理。因此，从虚拟内存的交代来看，页就是最小单位。内核用struct  page(linux/mm.h)结构表示系统中的每个物理页:st]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----定时器和时间管理]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283616</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283616</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:28 +0800</pubDate><description><![CDATA[在这一次里，主要讲讲和时间相关的东西，这个我们都比较熟悉，我就直接如主题。       首先要明白两个概念：系统定时器和动态定时器。周期性产生的事件都是有系统定时器驱动的，这里的系统定时器是一种可编程硬件芯片，它能以固定频率产生中断。该中断就是定时器中断，它所对应的中断处理程序负责更新系统时间，也负责执行需要周期行运行的任务。系统定时器和时钟中断处理程序是Linux系统内核管理机制中的中枢。动态定]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----内核同步]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283614</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283614</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:26 +0800</pubDate><description><![CDATA[内核同步讲的比较多了，我也就不太啰嗦了，先说一些概念，然后就是方法。        同步就是避免并发和防止竞争条件。有关临界区的例子我就不举了，随便一本操作系统的书上都有。锁机制的提出也算解决了一些问题，我们待会再说，现在只要知道锁的使用是自愿的，非强制的。linux自身也提供了几种不同的锁机制，区别主要在于当锁被争用时，有些会简单地执行等待，而有些锁会使当前任务睡眠直到锁可用为止，这个后面细说。]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----上半部与下半部(下)]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283613</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283613</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:23 +0800</pubDate><description><![CDATA[接着上节的来，我们在上节说了软中断和tasklet，那这最后就是工作队列了哦..        工作队列和前面讨论的其他形式都不相同，它可以把工作推后，交由一个内核线程去执行----该工作总是会在进程上下文执行。这样，通过工作队列执行代码能占尽进程上下文的所有优势，最重要的就是工作队列允许重新调度甚至是睡眠。相比较前边两个，这个选择起来就很容易了。我说过，前边两个是不允许休眠的，这个是允许休眠的，]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----上半部与下半部(上)]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283612</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283612</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:20 +0800</pubDate><description><![CDATA[嗨，嗨，如果您记性好的话，我在上一篇博客中提到过这样一件事：中断处理是分为两个部分：中断处理程序是上半部，它接收到一个中断，就立即执行，但只做有严格时限的工作；而另外被叫做下半部的另外一个部分主要做被允许能稍后完成的工作。这个下半部正是今天的重点。        下半部的任务就是执行与中断处理密切相关但中断处理程序本生身不执行的任务。最好情况当然是中断处理程序把所有的工作都交給下半部执行，而自己啥]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----中断和中断处理程序]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283611</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283611</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:18 +0800</pubDate><description><![CDATA[中断还是中断，我讲了很多次的中断了，今天还是要讲中断，为啥呢？因为在操作系统中，中断是必须要讲的..
       那么什么叫中断呢， 中断还是打断，这样一说你就不明白了。唉，中断还真是有点像打断。我们知道linux管理所有的硬件设备，要做的第一件事先是通信。然后，我们天天在说一句话：处理器的速度跟外围硬件设备的速度往往不在一个数量级上，甚至几个数量级的差别，这时咋办，你总不能让处理器在那里傻等]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----调度]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283610</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283610</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:15 +0800</pubDate><description><![CDATA[调度？咋这熟悉，我们是不是常在哪里听到。没错，是的，调度我们时常听过，比如交通管制调度啦等。这不，夏天这热， 标语贴的好：相应国电电力调度，做文明市民,好别扭啊!不管了。你要是还是不懂，再啰嗦讲个事，过年回家，和漂亮的GF回家，为了张普通的硬座票还要排老久对，甚至还可能被坑拿到黄牛票，这时你嘴里咧咧的啥：XX,啥火车站，做的啥春运调度啊！唉，这次你说到点上了。        总结一下：调度就是通过]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----进程管理]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283609</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283609</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:13 +0800</pubDate><description><![CDATA[进程和线程的概念我就不讲了。总之，你记着：内核调度的对象是线程，而不是进程。linux系统中的线程很特别，它对线程和进程并不做特别区分。进程的另外一个名字叫任务(task).我和作者一样，习惯了把用户空间运行的程序叫做进程，把内核中运行的程序叫做任务。
      内核把进程存放在叫做任务队列(task list)的双向循环链表中，链表中的每一项都是类型为task_struct,名称叫做进程描述]]></description><category></category></item><item><title><![CDATA[linux内核分析笔记----系统调用]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283608</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283608</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:10 +0800</pubDate><description><![CDATA[在Linux中，系统调用是用户空间访问内核的唯一手段，它们是内核唯一的合法入口。实际上，其他的像设备文件和/proc之类的方式，最终也还是要通过系统调用进行的。
       一般情况下，应用程序通过应用编程接口(API)而不是直接通过系统调用来编程，而且这种编程接口实际上并不需要和内核提供的系统调用对应。一个API定义了一组应用程序使用的编程接口。它们可以实现成一个系统调用，也可以通过调用多个]]></description><category></category></item><item><title><![CDATA[记住20句话，让自己变快乐]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283607</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283607</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:08 +0800</pubDate><description><![CDATA[1)说话不要有攻击性，不要有杀伤力，不夸己能，不扬人恶，自然能化敌为友。 2)一个常常看别人缺点的人，自己本身就不够好，因为他没有时间检讨他自己。 3)是非天天有，不听自然无，是非天天有，不听还是有，是非天天有，看你怎么办。 4)如果你真的爱他，那么你必须容忍他部分的缺点。 5)要克服对死亡的恐惧，你必须要接受世上所有的人都会死去的观念。 6)虽然你讨厌一个人，但却又能发觉他的优点好处，像这样子有]]></description><category></category></item><item><title><![CDATA[想象之中]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283605</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283605</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:05 +0800</pubDate><description><![CDATA[想象之中 雨过一道彩虹
抬起了头 瑟瑟灰色天空
想象之中 付出会有结果
毫无保留 信奉你的承诺
想象之中 这次要爱很久
我领略过 你眼里的温柔
热恋以后 你忽然的冰冻
判若两人 丢给我去承受
想象中 很不同
想象中一切都和后来不同
我承认曾经那么心动
你没想象中那么恋旧
回忆换不回你的温柔
最后也不是故作冷漠
转过头我怎么有一滴泪落 
我没想象中那么脆弱
分开后形容]]></description><category></category></item><item><title><![CDATA[今天你要嫁给我]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283604</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283604</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:02 +0800</pubDate><description><![CDATA[春暖的花开带走冬天的感伤
微风吹来浪漫的气息
每一首情歌忽然充满意义
我就在此刻突然见到你

春暖的花香带走冬天的饥寒
微风吹来意外的爱情
鸟儿的高歌拉近我们距离
我就在此刻突然爱上你
听我说
手牵手跟我一起走
创造幸福的生活
昨天你来不及
明天就会可惜
今天嫁给我好吗

jolin in the house
dt(david tao) in the house]]></description><category></category></item><item><title><![CDATA[工作了？人与人之间的艺术]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283603</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283603</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:47:00 +0800</pubDate><description><![CDATA[1、去别人家做客，当主人的话可多可少，甚至经常劝你喝茶或提建议看看电视时，你就该告辞了。人总是在感到无话可说时，才提醒别人做一些无关紧要的事。再待下去，你可能就不受欢迎了。2、正在对上司汇报工作，他的眼睛没有专注地看着你，或者他的手指不经意的在桌子上扣几下，很可能他已对你的汇报不满意了。如果你进去时，他脚正在桌子下无聊地晃动，你说话间，他的脚忽然间停止了晃动，那他已经对你的话产生了浓厚的兴趣。 3]]></description><category></category></item><item><title><![CDATA[有理想的程序员必须知道的15件事]]></title><link>https://blog.youkuaiyun.com/wustdatamining/article/details/8283602</link><guid>https://blog.youkuaiyun.com/wustdatamining/article/details/8283602</guid><author>wustdatamining</author><pubDate>Tue, 11 Dec 2012 17:46:56 +0800</pubDate><description><![CDATA[作为程序员，要取得非凡成就需要记住的15件事。  1.走一条不一样的路  在有利于自己的市场中竞争，如果你满足于“泯然众人矣”，那恐怕就得跟那些低工资国家的程序员们同场竞技了。  2.了解自己的公司  以我在医院、咨询公司、物流企业以及大技术公司工作的经验来看，这一点所言不虚。  不同公司的运营模式差异极大。如果你理解企业的运营模式，那你就不一样了！在这家公司中（或者对客户而言），你是参与业务运营]]></description><category></category></item></channel></rss>