• 深入理解linux网络技术之驱动层

    最近我又开始看这个《深入理解linux网络技术内幕》了。以前一直觉得这本书是一个巨无霸,昨天和前天各花了一点时间。大概是一直在搞内核的缘故吧!现在看起来倒不是很吃力了。大概看了1/3吧,虽然的确有点跑马观花了意味,但是自我感觉还是明白了主干的东西。《linux内核情景分析》里面对软中断讲得比较简略,而《深入》那书后边还图书馆了,所以导致我对软中断的理解很不够透彻。现在大致终结一下吧! 首先,软中断的执行是由ksoftirqd完成的,这是多个内核进程,每个CPU都有一个这样的进程,申明如下:

    //linux-3.0.8/include/linux/interrupt.h  
    DECLARE_PER_CPU(struct list_head [NR_SOFTIRQS], softirq_work_list);  
    DECLARE_PER_CPU(struct task_struct *, ksoftirqd);
    【查看更多】
  • Java虚拟机Hotspot源码分析之找门

     本文出自:【InTheWorld的博客】 (欢迎留言、交流)

            最近研究JVM已然走火入魔了,下午看了两个小时,终于看出了一点端倪。像我这样Java学个半吊子,就开始研究JVM源码的人实在是奇葩的存在!源码据说有50多万行,不过感觉也不是很多的样子。大概是linux源码看多了,觉得这hotspot并不是很大(坐等被虐出翔)。先记录一下成果吧!
            首先,目录结构: 有os,cpu,os_cpu,share这几个目录,顾名思义,就是存放着不同特点的代码。os依赖的,cpu依赖的,共有的,还有os和cpu都依赖的。
            其实,东西最多的是share目录下的东西。毕竟C++也是可移植的嘛!我跑马观花的看了看《深入Java虚拟机》,发现这本书的重点集中在字节码什
    【查看更多】

  • PCI配置空间访问的细节

    本文出自:【InTheWorld的博客】

        前段时间在看DM9000驱动的时候,瞄了一眼DM9000的datasheet。以前确实没有留意这种形式的接口设计。简单来说就是,DM9000只占用主机的8字节的地址空间。前四字节用作地址端口,后四字节用作数据端口。进行写操作时,将目标地址写入到地址端口,源数据写入数据端口。读操作则与写操作类似。PCI设备中有三种地址空间,分别是内存空间、IO空间和配置空间。PCI总线很重要的一个特点就是配置空间。配置空间是内存空间和IO空间分配的基础。个人觉得,由于PCI设备可以直接通过映射后的地址进行访问。与这种透明机制相比,配置空间的访问反而是最难理解的了。

            要弄清楚PCI的细节,最直接的办法就是看PCI总线协议文档了。了解过PCI配置的人大概都知道两个非常重要的寄存器, config_address(0xCF8),config_data(0xCFC【查看更多】

  • Linux内存管理之初始化

    《深入理解linux内核》中对内存管理的解读比较粗略,相比之下陈莉君的书要详细很多了。如果有人想了解内存管理的细节,可以去看看陈莉君的书,确实非常的详细。

    简单的记笔记没有什么意思,按自己的疑惑来记录吧!首先,内存管理是对全局内存进行管理的,但是内存管理的数据也需要占内存,又是一个鸡生蛋、蛋生鸡的问题。这个问题和内存页表建立的问题差不多的。先不谈页表吧!页表建立是在内存管理以后的。首先知道一个东西,内存管理的一部分数据是在内核数据段或者初始段的。

            怎么看呢?有一个System.map的文件,这是编译内核之后得到的内核符号表,这张表里面有内核重要的全局数据结构,当然很多很多的函数。以… 【查看更多】

  • LINUX内核同步学习笔记

    Linux2.0是第一个支持SMP(对称多处理器)的内核。在早些时候, inux2.0 内核通过使用一种粗粒度的锁来保证系统的完整性,其原则就是:一个正在内核态运行的进程除非交出控制权或者要求进入睡眠,否则不能被另一个欲进入内核态的进程打断。 也就是说在任意时刻只能有一个处理器是运行内核态的操作系统代码。这是一种安全而易于实现的方式,不过这种方式对于充分利用多处理器的性能存在着明显的不足。在 Linux 以后改进的版本中,操作系统内核采用了一种细粒度的锁来支持这种多处理器的体系机构。通过把操作系统的内核代码划分为临界区的方式,在保证系统完整性的前提下,提升了操作系统利用多处理器的性能优势。

    前面转载了一篇写自旋锁的文章,写的非常好,深感佩服!我也觉得内核同步其实非常复杂,与其贪大求全,不如小鸡啄米慢慢来。可能写的东西比较凌乱,就当笔记了吧!

    原子操作

    首先说说最简单的原子操作,每本书都会… 【查看更多】

  • %%TITLE%%

    %%CONTENT%%… 【查看更多】