Linux内核之 内核同步】的更多相关文章

内核基本的同步机制: 抢占内核的主要特点:一个在内核态运行的进程,可能在执行内核函数期间被另外一个进程取代. 内核抢占:Linux 2.6允许用户在编译内核的时候配置十分启用 进程临界区:每个进程中访问临界资源(一次仅允许一个进程使用的共享资源)的那段代码称为临界区. 优化屏障:保证编译程序不会混淆放在原语操作之前的汇编指令和放在原语之后的汇编指令. 内存屏障:确保原语之后的操作开始执行之前,原语之前的操作已经完成. 自旋锁:在多处理器环境中工作的一种特殊的锁.如果内核控制路径发现锁由运行在另一…
转自:http://www.ibm.com/developerworks/cn/linux/l-rcu/ 一. 引言 众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在UNIX系统和Linux系统中得到了广泛的使用.但是随着计算机硬件的快速发展,获得这种锁的开销相对于CPU的速度在成倍地增加,原因很简单,CPU的速度与访问内存的速度差距越来越大,而这种锁使用了原子操作指令,它需要原子地访问内存,…
c语言: 基础篇 1.<写给大家看的C语言书(第2版)> 原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: (美)Greg Perry    [作译者介绍] 译者: 谢晓钢 刘艳娟 丛书名: 图灵程序设计丛书 C/C++系列 出版社:人民邮电出版社 ISBN:9787115216359上架时间:2009-12-10出版日期:2010 年1月开本:16开页码:308 说明:这本是入门最好的,最简单,最好懂 2.<…
Code maturity level options代码成熟度选项 Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择 General setup常规设置 Local version - append to kernel release 在内核版本后面加上自定义的版本字符串(小于64字符),可以用"uname -a"命令看到 Automaticall…
Linux 内核及内核编程(1) 成于坚持,败于止步 Linux 2.6 内核的特点 Linux 2.6 相对于 Linux 2.4 有相当大的改进,主要体现在如下几个方面. 1.新的调度器 2.6 版本的 Linux 内核使用了新的进程调度算法,它在高负载的情况下执行得极其出色,并且当有很多处理器时也可以很好地扩展. 2.内核抢占 在 2.6 版本的 Linux 内核中,内核任务可以被抢占,从而提高系统的实时性.这样做最主要的优势在于可以极大地增强系统的用户交互性. 3.改进的线程模型 2.6…
本文总结了常见的 Linux 内核参数及相关问题.修改内核参数前,您需要: 从实际需要出发,最好有相关数据的支撑,不建议随意调整内核参数. 了解参数的具体作用,且注意同类型或版本环境的内核参数可能有所不同. 备份 ECS 实例中的重要数据.参阅文档创建快照. 查看和修改 Linux 实例内核参数 方法一.通过 /proc/sys/ 目录 查看内核参数:使用 cat 查看对应文件的内容,例如执行命令 cat /proc/sys/net/ipv4/tcp_tw_recycle 查看 net.ipv4…
(转)linux 内存管理——内核的shmall 和shmmax 参数   内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好. SHMMIN= 最小的内存segment的大小 SHMMNI= 整个系统的内存segment的总个数 SHMSEG= 每个进程可以使用的内存segment的最大个数 配置信号灯( semphore )的参数: SEMMSL= 每个semphore set里面的s…
“世界上最缺的不是金钱,而是资源.”当我在一份报纸上看到这句大大标题时,我的第一反应是——作者一定是个自然环保主义者,然后我在羞愧得反省自身的同时油然生出一股对这样的无产主义理想者无比崇敬的情绪来. 于是,我继续往下看,“因此在XXX还未正式面市之时,前来咨询的客户已经不少,这些有眼光的购房者明白,谁能在目前最好的购房机会下最大化地占有绝版资源,谁就掌控了未来财富流向.”(为了避免做广告的嫌疑,请允许我使用XXX代替该楼盘的名字.)顿时,我悟道了! 其实,韩峰同志已经在日记里告诉了我们资源的重要…
/proc/sys/net目录 参考1.Linux之TCPIP内核参数优化 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数: 参数(路径+文件) 描述 默认值 优化值 /proc/sys/net/core/rmem_default 默认的TCP数据接收窗口大小(字节). 229376 256960 /proc/sys/net/core/rmem_max 最大的TC…
感谢各位技术大佬的资料分享,这里我把我理解的内容做一个整理 一:TCP的三次握手 1.TCP简述 TCP是一个面向连接的协议,在连接双方发送数据之前,首先需要建立一条连接.TCP建立连接可以简单称为:三次握手(说白了就是建立一个TCP连接的时候,客户端和服务端总共要发3个包,socket编程里面执行connect()的时候,将触发三次握手),断开TCP连接可以叫做四次握手(socket编程里面任何一方执行close()操作即可产生挥手动作). 2.连接的建立 解释: 最初两端的TCP进程都处于C…