随笔分类 - Linux
摘要:内存屏障 首先需要明确的是,程序在运行起来,内存访问的顺序和程序员编写的顺序不一定一致,编译器和CPU都可能对代码优化导致乱序执行。 编译器乱序 编译器会做非常多的优化,指令重排序是其中一种,如下例 int a, b; void foo(void) { a = b + 1; b = 0; } 执行编
阅读全文
摘要:问题 以下多线程对int型变量x的操作,哪几个需要进行同步:( ABC )A. x=y; B. x++; C. ++x; D. x=1; 引子 先看多线程同步的一个例子,如下面的代码,并发开3个线程,每个线程各自对同一个计数器自增100万次,预期结果应为300万。 【例子一】test.c #incl
阅读全文
摘要:CPU缓存 缓存原理 首先,我们都知道现在的CPU多核技术,都会有几级缓存,老的CPU会有两级内存(L1和L2),新的CPU会有三级内存(L1,L2,L3 ),如下图所示: 其中: L1缓分成两种,一种是指令缓存,一种是数据缓存;L2缓存和L3缓存不分指令和数据。 L1和L2缓存在每一个CPU核中,
阅读全文
摘要:高性能网络编程 1、建立连接 accept TCP通过三次握手建立连接,如下图, 当服务器绑定、监听了某个端口后,这个端口的SYN队列和ACCEPT队列就建立好了(在内核中实现)。注意,SYN队列存放的是未建立的连接,数值由内核 /proc/sys/net/ipv4/tcp_max_syn_back
阅读全文
摘要:linux下epoll实现机制 原作者:陶辉 链接:http://blog.csdn.net/russell_tao/article/details/7160071 先简单回顾下如何使用C库封装的select系统调用吧 select的使用方法是这样的: 对高并发而言,全部待监控连接是数以十万计的,返
阅读全文
摘要:Linux时间同步在Linux下,系统时间和硬件时间都以异步的方式运行,互不干扰。硬件时间的运行是靠Bios电池来维持,而系统时间是用CPU tick来维持的。在系统开机的时候,会自动从BIOS中取得硬件时间,设置为系统时间。硬件时间的设置,可以用hwclock或者clock命令。其中,clock和...
阅读全文
摘要:Linux的io机制Buffered-IO 和Direct-IOLinux磁盘I/O分为Buffered IO和Direct IO,这两者有何区别呢?对于Buffered IO:当应用程序尝试读取某块数据的时候,如果这块数据已经存放在了页缓存(page cache)中,那么这块数据就可以立即返回给应...
阅读全文
摘要:Linux 文件系统先说磁盘磁盘存储系统有一些共同的特征:它们都有物理数据分区,都可以对数据进行直接访问,都有将文件名映射到物理存储的方法;从硬件角度来看,磁盘存储系统有盘片、盘面、磁道、柱面和扇区,这些描述了磁盘的物理结构;典型的硬盘结构如下图,它由固定在以一定速度旋转的轴上的多个盘片组成,每个盘...
阅读全文
摘要:IPC 机制简介概述在Unix早期发展中,做出重大贡献的两大主力Bell实验室和伯克利大学(BSD)在IPC(InterProcess Communication)方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“System V IPC”,通信进程局限在单个计...
阅读全文
摘要:Linux启动流程copyright@原作者博客:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html下面的内容针对的是Debian发行版,因为我对其他发行版不够熟悉。第一步、加载内核操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。以我的电脑为例,/boot 目录下面大概是这样一些文件: $ ls /boot config-3.2.0-3-amd64 config-3.2.0-4-amd64 grub initrd.img-3.2.0-3-amd64 initrd.img-3.2.0-4-am...
阅读全文
摘要:虚拟内核文件系统(VirtualKernel File Systems),是指那些是由内核产生但不存在于硬盘上(存在于内存中)的文件系统。例如1、procproc文件系统为操作系统本身和应用程序之间的通信提供了一个安全的接口。通过它里面的一些文件,可以获取系统状态信息并修改某些系统的配置信息。当我们在内核中添加了新功能或设备驱动时,经常需要得到一些系统状态的信息,一般这样的功能需要经过一些像ioctl()这样的系统调用来完成。2、devfs我们知道,/dev目录下的每一个文件都对应的是一个设备,devfs也是挂载于/dev目录下。在2.6内核以前使用devfs来提供一种类似于文件的方法来管理位
阅读全文

浙公网安备 33010602011771号