OS
u013982161
这个作者很懒,什么都没留下…
展开
-
Linux 2.6内核中新的锁机制--RCU
一、 引言众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在UNIX系统和Linux系统中得到了广泛的使用。但是随着计算机硬件的快速发展,获得这种锁的开销相对于CPU的速度在成倍地增加,原因很简单,CPU的速度与访问内存的速度差距越来越大,而这种锁使用了原子操作指令,它需要原子地访问内存,转载 2016-02-22 12:06:18 · 693 阅读 · 0 评论 -
用户态驱动--UIO机制的实现
1 uio理论部分1.1为什么出现了UIO?硬件设备可以根据功能分为网络设备,块设备,字符设备,或者根据与CPU相连的方式分为PCI设备,USB设备等。它们被不同的内核子系统支持。这些标准的设备的驱动编写较为容易而且容易维护。很容易加入主内核源码树。但是,又有很多设备难以划分到这些子系统中,比如I/O卡,现场总线接口或者定制的FPGA。通常这些非标准设备的驱动被实现为字符驱动。这些驱动使用转载 2016-06-04 16:21:06 · 11409 阅读 · 0 评论 -
Linux内存管理之mmap详解
一. mmap系统调用1. mmap系统调用mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.但需注意,直接对该段内存写时不会转载 2016-06-10 15:50:19 · 569 阅读 · 0 评论 -
CPU调优
一、中断的CPU亲和性我们可以调整中断到某个CPU上,这样可以让CPU更有效的利用起来。 1.关闭 irqbalance 服务/etc/init.d/irqbalance stop Stopping irqbalance: [ OK ] 2.查看中断所使用的CPUfor f in `find . -name "smp_affinity"`; doecho -ne转载 2016-07-22 11:02:09 · 1476 阅读 · 0 评论 -
linux中 tun/tap 的实现
Linux tun/tap 设计原理简介虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。本文将介绍tun/tap驱动的使用并分析虚拟网卡tun/tap驱动程序在linux环境下的设计思路。 tun/tap 驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络转载 2016-07-03 17:55:45 · 12200 阅读 · 0 评论 -
Linux Netlink基本使用
1. 什么是Netlink什么是Netlink?Netlink是linux提供的用于内核和用户态进程之间的通信方式。但是注意虽然Netlink主要用于用户空间和内核空间的通信,但是也能用于用户空间的两个进程通信。只是进程间通信有其他很多方式,一般不用Netlink。除非需要用到Netlink的广播特性时。那么Netlink有什么优势呢?一般来说用户空间和内核空间的通信方式有三种:/proc转载 2017-07-30 17:11:20 · 1382 阅读 · 0 评论