07 2015 档案
摘要:kuang:~$ tr --helpUsage: tr [OPTION]... SET1 [SET2]Translate, squeeze, and/or delete characters from standard input,writing to standard output. -c, -...
阅读全文
摘要:Linux kernel version: 3.18.14 file: net/ipv4/netfilter/iptables_filter.c先贴出重要的全局变量struct xt_table packet_filter:#define FILTER_VALID_HOOKS ((1 regis...
阅读全文
摘要:Linux有各种XXtables, 比如 iptables ebtables arptables用户空间:iptables ebtables arptables这些用户层的工具会调用setsockopt/getsockopt来和内核通信nf_sockopts是在iptables进行初始化时通过nf_...
阅读全文
摘要:共享内存时IPC形式中最快的一种。POSIX 共享内存posix.1提供了两种在无亲缘关系的进程间共享内存的方式(1)内存映射文件:由open函数打开一个文件,由mmap函数把得到的描述符映射到当前进程地址空间中。(2)共享内存区对象:由shm_open打开一个Posix.1 IPC名字(通常是文件...
阅读全文
摘要:Posix semaphore有名信号量/* sem_open - initialize and open a named semaphore */#include /* For O_* constants */#include /* For mode cons...
阅读全文
摘要:进程间的互斥,我们可以让这些进程共享某个内存区(mmap实现),然后在该共享内存区中使用某种类型的同步变量但是,fcntl记录上锁往往更容易使用。#include #include int fcntl(int fd, int cmd, ... /* struct flock *arg */ );st...
阅读全文
摘要:读写锁的分配规则如下:1. 只要没有线程持有某个指定的读写锁用于写,那么任意数目的线程可以持有该读写锁用于读;2. 仅当没有线程持有某个指定的读写锁用于读或者用于写,才能分配读写锁用于写。这样的访问方式也称为共享-独占上锁(shared-exclusion)那么我想到了这样一个场景:线程A要写数据,...
阅读全文
摘要:线程范围:同一个进程内的多个线程访问一些全局变量时,需要保护好临界区,保证不产生脏数据Linux 中的互斥锁#include pthread_mutex_t fastmutex = PTHREAD_MUTEX_INITIALIZER;pthread_mutex_t recmutex = PTHREA...
阅读全文
摘要:BOM也是Unicode标准的一部分,有它特定的适用范围。通常BOM是用来标示Unicode纯文本字节流的,用来提供一种方便的方法让文本处理程序识别读入的文本文件是哪个Unicode编码(UTF-8,UTF-16BE,UTF-16LE)Windows相对其他系统,对BOM处理比较好,是因为Windo...
阅读全文
摘要:管道和FIFO是字节流,没有消息边界。1. Posix 消息队列/* mq_open - open a message queue */#include /* For O_* constants */#include /* For mode constants ...
阅读全文
摘要:1. /* round up for aligment */#define round_up(x, aligment) ((((x) + ((aligment) - 1)) / (aligment) ) * (aligment))round_up(7, 5) = 102. 取负数,再进行模运算 (...
阅读全文

浙公网安备 33010602011771号