
操作系统
文章平均质量分 79
一水先生
这个作者很懒,什么都没留下…
展开
-
linux异步IO编程实例分析
linux异步IO编程实例分析在Direct IO模式下,异步是非常有必要的(因为绕过了pagecache,直接和磁盘交互)。linux Native AIO正是基于这种场景设计的,具体的介绍见:KernelAsynchronousI/O (AIO)SupportforLinux。下面我们就来分析一下AIO编程的相关知识。 阻塞模式下的IO过程如下:int转载 2012-09-11 23:10:39 · 1054 阅读 · 0 评论 -
System.map 文件的作用
System.map文件的作用 2012-09-05 23:18:13| 分类: RHCA_442 |字号 订阅System.map文件的作用有关System.map文件的信息好象很缺乏。其实它一点也不神秘,并且在整个事情当中它并不象看上去那么得重要。但是由于缺乏必要的文档说明,使其显得比较神秘。它就象耳垂,我们每个人都有,但却不知道是干什么用的。本网页就是转载 2012-09-06 14:07:57 · 757 阅读 · 0 评论 -
linux 用户空间和内核空间数据传递
Linux用户空间与内核空间数据传递 2012-09-05 23:54:53| 分类:RHCA_442 |字号 订阅Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。转载 2012-09-06 14:06:39 · 1011 阅读 · 0 评论 -
linux PROC系列
linux PROC系列 2012-09-02 23:28:43| 分类:RHCA_442 |字号 订阅该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。有多少磁盘读写请求[zhh@localhost ~]$ cat /proc/diskstats配置了多少转载 2012-09-06 14:14:11 · 608 阅读 · 0 评论 -
Linux内存映射深入分析
Linux内存映射深入分析 1)虚拟内存的解释:虚拟内存的核心概念是指代码所用的内存地址与物理地址没有关系.在用户空间中,一个进程的虚拟地址A指向不同的物理内存,而不是另一个进程的地址A.任何时候CPU发送指令向内存存取数据时,通过软件将虚拟地址的数据变为物理地址.将虚拟地址变为物理地址变为物理地址的工作是由内存管理单元(MMU)完成的.虚拟内存地址也可以转载 2012-09-06 14:04:08 · 602 阅读 · 0 评论 -
RHN卫星服务器安装
RHN卫星服务器安装 2011-08-06 23:27:12| 分类:RHCA_401 http://doorgods.blog.163.com/blog/static/78547857201176112712217/RHN卫星服务器安装RHN卫星服务器是大型数据中心管理难得的好工具,但是确实存在这样那样的难题,一来是因为它太贵,涉及到的人比较少转载 2012-09-06 13:57:46 · 2516 阅读 · 0 评论 -
linux后端服务程序之信号处理
« libeio源码分析 – 主流程GLIBC 2.16 支持systemtap静态检查点 »linux后端服务程序之信号处理信号就是通知某个进程发了某个事件,也称为软件中断。信号提供了一种处理异步事件的方法。信号通常是异步发生的,进程预先不知道信号准确发生的时刻。后端程序(daemon)往往需要提供7*24不间断的服务,因此,编程daemon程序时对信号的正确处理尤为重要转载 2012-09-11 23:14:21 · 802 阅读 · 0 评论 -
Multipath实现LUN设备名称的持久化
一. 补充知识 根据传输协议的不同的,网卡可分为三种,一是以太网卡,二是FC网卡,三是iSCSI网卡。 (1)以太网卡:学名Ethernet Adapter,传输协议为IP协议,一般通过光纤线缆或双绞线与以太网交换机连接。接口类型分为光口和电口。光口一般都是通过光纤线缆来进行数据传输,接口模块一般为SFP(传输率2Gb/s)和GBIC(1Gb/s),对应的接口为SC、ST和LC。电转载 2012-09-04 17:38:08 · 664 阅读 · 0 评论 -
tcp中发送/确认及文件缓冲
tcp中发送/确认及文件缓冲 2012-08-15 00:18:42| 分类:Linux内核 |字号 订阅一、粘包问题TCP传输是一种基于流(stream)的传输方式,这个流是对应于udp的数据报格式的传输方式。在数据报传输格式中,每次传输的是一个单位,可以认为他是一个离散的信号,每次发送一个报单位。而流则是细水长流的流,它的数据可以持续的发送,接收和发转载 2012-09-03 07:40:03 · 1086 阅读 · 0 评论 -
cpu二级缓存和一级缓存详解及区别(图解)
cpu二级缓存和一级缓存详解及区别(图解) 2012-09-02 12:27:55| 分类:硬件技术 |字号 订阅处理器缓存的传输速率确实很高,然而还不足以取代内存的地位,这主要是由于缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据。与此同时转载 2012-09-06 14:15:53 · 4136 阅读 · 0 评论 -
linux下IPCS指令的用法详解
inux下IPCS指令的用法详解 2012-09-05 23:16:17| 分类: RHCA_442 |字号 订阅Linux下ipcs指令的用法详解。ipcs是Linux下显示进程间通信设施状态的工具。可以显示消息队列、共享内存和信号量的信息。对于程序员可能更有用些,普通的系统管理员一般用不到此指令。(1)显示消息队列信息,修改消息队列大小:root转载 2012-09-06 14:09:17 · 1172 阅读 · 0 评论 -
Linux的软中断处理实现
Linux的软中断处理实现 (2012-02-10 22:32) 标签: Linux 分类:Linux内核初始化一、概念 首先我们要知道为什么中断需要下半部 。我们可以想象一下,如果没有下半部的概念,一个网卡中断过来了以后会是什么样的情况。首先,我们会从网卡硬件buffer中把网卡收到的packet拷贝到系统内存中,然后对这个packet进行TCP/IP协议栈的处转载 2012-09-24 17:36:17 · 1163 阅读 · 0 评论 -
使用UDEV绑定设备名
UUID的获取方法:1、 ls -l /dev/disk/by-uuid/ 2、 blkid 3、scsi_id -g -s /block/sdcRed Hat Enterprise Linux ES 4 (x86) - How To Create Persistent Device Names Using UDEVInformationIn cas转载 2012-09-04 17:47:30 · 1230 阅读 · 0 评论 -
UNIX系统的IO模型
其实并非原创,只是摘录了Stevens的大作《UNIX网络编程》,写下来,一、加深理解和记忆;二、书是借的,记录一下备忘。感谢臻,借我此书一阅,受益匪浅。 6.2 I/O模型阻塞式I/O;非阻塞式I/O;I/O复用;信号驱动式I/O;异步I/O;一个输入操作通常包括两个不同的阶段:1) 等待数据准备好;2) 从内核向进程复制数据;对于一个套接字上的输入操转载 2012-09-13 22:45:13 · 418 阅读 · 0 评论 -
混合存储中Flashcache使用的误区以及解决方案
混合存储中Flashcache使用的误区以及解决方案Flashcache是facebook释放出来的开源的混合存储方案,用ssd来做cache提升IO设备的性能.很多硬件厂商也有类似的方案,比如说LSI raid卡. 但是这个方案是免费的软件方案,而且经过产品的考验,具体参见:主页:https://github.com/facebook/flashcache开源混合存储方案(Fla转载 2012-09-12 00:18:54 · 944 阅读 · 0 评论 -
linux 内核学习
http://oss.org.cn/kernel-book/index.htm转载 2012-09-05 23:39:55 · 462 阅读 · 0 评论 -
libeio源码分析 – 主流程
libeio源码分析 – 主流程@淘宝千石简介This library provides fully asynchronous versions of most POSIX functions dealing with I/O. Unlike most asynchronous libraries, this not only includes read and write,转载 2012-09-11 23:15:16 · 754 阅读 · 0 评论 -
Linux下pipe使用注意事项
Linux下pipe使用注意事项Linux下的pipe使用非常广泛, shell本身就大量用pipe来粘合生产者和消费者的. 我们的服务器程序通常会用pipe来做线程间的ipc通讯. 由于unix下的任何东西都是文件,只要是文件,在读取的时候,,就会设置last access time, 所以pipe也不例外., 但是这个时间对我们没有意义 如果pipe使用的非常频繁的时候会碰到由于设置访转载 2012-09-12 07:40:57 · 2421 阅读 · 0 评论 -
Workqueue机制的实现
Workqueue机制的实现 (2012-02-05 22:18) 标签: workqueue 分类:linux设备驱动模型Workqueue机制中定义了两个重要的数据结构,分析如下:cpu_workqueue_struct结构。该结构将CPU和内核线程进行了绑定。在创建workqueue的过程中,Linux根据当前系统CPU的个数创建cpu_workqueue_s转载 2012-09-24 17:33:46 · 794 阅读 · 0 评论 -
无锁队列的实现
关于无锁队列的实现,网上有很多文章,虽然本文可能和那些文章有所重复,但是我还是想以我自己的方式把这些文章中的重要的知识点串起来和大家讲一讲这个技术。下面开始正文。关于CAS等原子操作在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set,或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作,X86下对应的是 CMPXCH转载 2012-09-12 12:20:54 · 1200 阅读 · 1 评论 -
TCP链接主动关闭不发fin包奇怪行为分析
TCP链接主动关闭不发fin包奇怪行为分析问题描述:多隆同学在做网络框架的时候,发现一条tcp链接在close的时候,对端会收到econnrest,而不是正常的fin包. 通过抓包发现close系统调用的时候,我端发出rst报文, 而不是正常的fin。这个问题比较有意思,我们来演示下:$ erlErlang R14B03 (erts-5.8.4) [64-bit]转载 2012-09-12 00:20:17 · 2980 阅读 · 0 评论 -
从CPU、内存和I/O深度理解IA架构服务器
从CPU、内存和I/O深度理解IA架构服务器 2012-09-04 00:30:08| 分类:RHCA_442 |字号 订阅从性能角度来看,处理器、内存和I/O这三个子系统在服务器中是最重要的,它们也是最容易出现性能瓶颈的地方。目前市场上主流的服务器大多使用英特尔Nehalem、Westmere微内核架构的三个家族处理器:Nehalem-EP,Nehal转载 2012-09-06 14:12:07 · 7860 阅读 · 0 评论 -
TLB和Cache
TLB和Cache 2012-09-04 00:45:16| 分类:RHCA_442 |字号 订阅Redhat技术交流QQ群Redhat_CN(217245629)一)TLB 1)TLB的概述TLB是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存.TLB是位于内存中的页表的cache,如果没有TLB,则每次取数据都需要两次访转载 2012-09-06 14:10:15 · 958 阅读 · 0 评论 -
REDHAT KVM
REDHAT KVM 2012-02-12 22:42:44| 分类:RHCA_401 |字号 订阅RedHat 自版本 RHEL5.4 起,開始改用 KVM Virtualization,但 5.4 版仍會有 Xen + KVM 兩套不同方案選擇,但之後的新版本,將會以 KVM 為主,使用 RedHat 的人可能要注意了。RHEL KVM 最大可以转载 2012-09-07 07:34:16 · 945 阅读 · 0 评论 -
尝鲜RHEV 3.0——概念篇
尝鲜RHEV 3.0——概念篇(附RHEV3.0下载) 2012-02-12 23:01:16| 分类:RHCA_401 |字号 订阅1.先介绍一下红帽的企业级虚拟化产品RHEV RHEV是Red Hat Enterprise Virtualization 的缩写,目前稳定版本是2.0,测试版本是3.0,由于3.0相对于2.0有很大的改动,所以,转载 2012-09-07 07:32:59 · 960 阅读 · 0 评论 -
Initrd 流程分析(2.6 cpio rootfs)
Initrd 流程分析(2.6 cpio rootfs) (2011-11-27 19:39)标签: Initrd cpio rootfs 分类:Linux内核初始化以 Linux-2.6.25 的 kernel 为例,分析一下 Linux 启动过程中 initrd 的流程。1. 先从 Makefile说起下面是内核代码中 init/Make转载 2012-09-24 17:37:50 · 797 阅读 · 0 评论 -
Configure Red Hat Network Satellite IN RHEL6
Configure Red Hat Network Satellite IN RHEL6 2011-08-07 10:06:25| 分类:RHCA_401 |字号 订阅这里用的不是红帽本身的satellite软件,而用的是Spacewalk ,它是上游的一个社区计划,而 Red Hat Network Satellite 产品是从它衍生出来。如果转载 2012-09-06 13:54:44 · 1792 阅读 · 0 评论 -
DAC,MAC,RBAC
DAC,MAC,RBAC 2012-09-03 22:37:08| 分类:RHCA_429 |字号 订阅访问控制是指控制对一台计算机或一个网络中的某个资源的访问。没有它,所有人都可以访问任何资源。有了访问控制,用户在获取实际访问资源或进行操作之前,必须通过识别、验证、授权。换言之,访问控制控制着一个主体(subject)可以访问哪些对象(object转载 2012-09-06 14:13:04 · 2811 阅读 · 0 评论 -
尝鲜RHEV 3.0——RHEV-M安装篇
尝鲜RHEV 3.0——RHEV-M安装篇 2012-02-12 23:06:38| 分类:RHCA_401 |字号 订阅说一下我的网络拓扑结构, 192.168.3.1 是RHEV-M端,系统是RHEL6.2 x86_64,并且兼职DNS服务器和存储的服务端 192.168.3.101 是RHEV-H端,系统是RHEV hyp转载 2012-09-07 07:32:09 · 2012 阅读 · 0 评论 -
利用tcpcopy引流做模拟在线测试
一、工具介绍Tcpcopy是一个分布式在线压力测试工具,可以将线上流量拷贝到测试机器,实时的模拟线上环境,达到在程序不上线的情况下实时承担线上流量的效果,尽早发现bug,增加上线信心。Tcpcopy是由网易技术部于2011年9月开源的一个项目,现在已经更新到0.4版本。与传统的压力测试工具(如:abench)相比,tcpcopy的最大优势在于其实时及真实性,除了少量的丢包,完全拷贝线上转载 2012-09-11 23:05:24 · 589 阅读 · 0 评论 -
Redhat 调整swap分区
Redhat 调整swap分区 2012-08-14 17:00:39| 分类:Redhat |字号 订阅Redhat默认安装是将/dev/VolGroup00/LogVol01作为交换分区挂载的,因此调整交换分区就是将交换分区卸载之后,调整/dev/VolGroup00/LogVol01这个lv的大小,然后重新挂载就可以了。redhat默认情况转载 2012-09-06 14:18:39 · 2478 阅读 · 0 评论 -
Linux 双线策略路由的三种实现方式总结+端口映射
Linux 双线策略路由的三种实现方式总结+端口映射 2012-08-30 13:11:58| 分类:Redhat |字号 订阅网络环境服务器(网关): eth0 为LAN口,IP为 LAN_IP = 192.168.0.1 eth1 为第一个WAN口,接电信线路,IP为 CTC_IP,网关为 CTC_GW转载 2012-09-06 14:16:47 · 4508 阅读 · 0 评论 -
Transfer 2.0 介绍
Transfer 2.0 介绍 Transfer是一个主从多线程同步工具,直接patch在MySQL中。2011年开发完成。于去年的12.12上线,并撑住高峰期主从,保证从库无延迟,使得应用能够直接从从库上读数据。 对Transfer1.0背景有兴趣的同学可以看我以前的一篇博客。新功能 Transfer第一版本存在两个可改进的点:单表转载 2012-09-11 23:12:00 · 592 阅读 · 0 评论