原blog:http://www.cnblogs.com/wang_yb/archive/2013/05/01/3052865.html 内核中提供了多种方法来防止竞争条件,理解了这些方法的使用场景有助于我们在编写内核代码时选用合适的同步方法, 从而即可保证代码中临界区的安全,同时也让性能的损失降到 ...
分类:
系统相关 时间:
2017-08-20 15:50:41
阅读次数:
195
1. 操作系统模型 大多数操作系统中,都会把应用程序和内核代码分离执行在不同的模式下。内核模式訪问系统数据和硬件,应用程序执行在没有特权的模式下(用户模式),仅仅能使用有限的API,且不能直接訪问硬件。当用户模式调用系统服务时。CPU执行一个特殊的指令以切换到内核模式(Ring0),当系统服务调用完 ...
Oracle RAC ASM共享存储 有两种方式配置ASM磁盘: 1) ASMLIB 由于Redhat公司从RHEL 6这个版本开始决定从Kernel中移除ASMLIB,并且不再给与Oracle公司对于该部分内核代码的访问修改权利,这直接导致Oracle不可能build出FOR RHEL 6的ASM ...
分类:
数据库 时间:
2017-07-16 12:25:24
阅读次数:
266
最近工作中遇到内核模块VM将大的TCP包(超过1500字节)丢弃,重传严重,进而导致整个系统的FTP下载速率低的问题,解决方案有二: 1 不改动内核代码通过修改相关内核参数选项等,使到达该内核模块VM的IP包均为小包,从而规避掉这个丢包问题; 2 为该内核模块开发新需求,使其能够处理大包。 现将方案 ...
分类:
其他好文 时间:
2017-07-15 10:06:37
阅读次数:
139
【初识Github】首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。 Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和M ...
分类:
其他好文 时间:
2017-07-01 15:22:35
阅读次数:
174
什么是Git Git是目前世界上最先进的分布式版本控制系统。最初由Linus Torvalds编写,用作Linux内核代码的管理。如果你是windows用户,看到这里你可能会担心“是不是只能用在linux上?或者Git对于windows不是那么友好。” ,那么我告诉你你的担心是多余的,GitHub ...
分类:
系统相关 时间:
2017-07-01 01:04:15
阅读次数:
244
[root@workstation2017 ~]# uname -r 1.安装程序 yum install systemtap systemtap-runtime // 这个会被安装 systemtap-sdt-devel-3.0-7.el7.x86_64 2. //安装内核调试符号 自动安装 st ...
分类:
其他好文 时间:
2017-06-30 14:10:29
阅读次数:
179
尽管内核模块不象应用程序一样顺序执行, 内核做的大部分动作是代表一个特定进程的. 内核代码可以引用当前进程, 通过存取全局项 current, 它在 <asm/current.h> 中定义, 它产生一个指针指向结构 task_struct, 在 <Linux/sched.h> 定义. current ...
分类:
系统相关 时间:
2017-06-28 01:56:34
阅读次数:
278
早期的内核版本中,进程的调度基于一个称之为tick的时钟滴答,通常使用时钟中断来定时地产生tick信号,每次tick定时中断都会进行进程的统计和调度,并对tick进行计数,记录在一个jiffies变量中,定时器的设计也是基于jiffies。这时候的内核代码中,几乎所有关于时钟的操作都是在machin... ...
分类:
系统相关 时间:
2017-06-25 22:33:02
阅读次数:
285
<一>:设备驱动程序的作用 从一个角度看,设备驱动程序的作用在于提供机制,而不是策略。在编写驱动程序时,程序猿应该特别注意以下这个基本概念:编写訪问硬件的内核代码时,不要给用户强加不论什么特定策略。由于不同的用户有不同的需求,驱动程序应该处理如何使硬件可用的问题。而将如何使用硬件的问题留给上层应用程 ...
分类:
系统相关 时间:
2017-06-18 14:23:05
阅读次数:
351