linux学习中
发布时间:2013-11-05 15:44:16
Linux网络协议栈(四)——链路层(1)1、接收帧当网络适配器接收到数据帧时,就会触发一个中断,中断处理程序执行一些需要及时处理的任务,然后在下半部进行其它可以延迟的处理。中断处理程序主要进行以下一些操作:(1) 分配sk_buff数据结构,并将接收到的数据帧从网络适配器I/O端口拷贝到sk_buff缓冲区.........【阅读全文】
发布时间:2013-11-05 15:41:14
关键代码段(Critical Sections) 和自旋锁(Spinlocks)写在前面:今天一哥们问我,windows的临界代码是自旋还是等待,当时想了想应该是等待,后来翻了一下《Windows via C/C++》,发现还有点小意思。总结一下先。关键代码段是指一个小代码段,在代码能够执行前,它必须独占对某些共享资源的访问权。这是让若干行代码能够.........【阅读全文】
发布时间:2013-11-05 15:39:38
内核随记(四)--文件系统(1)任务管理、内存管理和文件系统是内核最为核心的部分。其中内存管理最为复杂,文件系统最为庞大。内核通过引入虚拟文件系统,从而支持数十种不同的文件系统,不得不让人感叹Linux以及它显示出的开源的力量的强大。虚拟文件系统(Virtual Filesystem),也可以称为虚拟文件系统转换(Virual F.........【阅读全文】
发布时间:2013-11-05 15:32:14
内核随记(三)--同步(2)2.2、睡眠与唤醒在操作系统中,睡眠和唤醒原语实际上是操作系统的基本原语,也是实现同步的一种方式,而且它还是实现信号量的基础。当进程请求的资源(如内存、文件等)不能得到满足时,就会主动放弃CPU,进入等待状态(可中断等待或者不可中断等待)。当资源满足时,就会由别的进程唤醒,.........【阅读全文】
发布时间:2013-11-05 15:31:12
内核随记(三)--同步(1)1、概述同步问题是操作系统中的经典问题,它伴随着并发处理而自诞生。现代体系结构中常见的并发处理情况可以分为如下三种情况:(1)多个线程在单处理器上执行——多线程编程(2)多个线程在多处理器上执行——并行计算(3)多个线程在分布的多个处理上执行——分布式计算相应的编程也分成三种.........【阅读全文】