- 博客(16)
- 资源 (6)
- 收藏
- 关注
原创 内核线程、轻量级进程、用户线程和LinuxThreads库
内核线程内核线程只运行在内核态,不受用户态上下文的拖累。 Ø 处理器竞争:可以在全系统范围内竞争处理器资源;Ø 使用资源:唯一使用的资源是内核栈和上下文切换时保持寄存器的空间Ø 调度:调度的开销可能和进程自身差不多昂贵Ø 同步效率:资源的同步和数据共享比整个进程的数据同步和共享要低一些。轻量级进程轻量级
2010-02-02 15:37:00 8024
原创 存储系统架构简析
存储系统架构分为三种类型:DAS、NAS、SANDAS 直接连接存储 主机通过SCSI线缆或光纤直接连接到存储上,一个存储对应一个主机,不能实现与其它主机共享数据。 缺点: 1、扩展性差。增加一台服务器时只能为其单独配置存储,而不能共享其他服务器的存储,同时也导致资源利用率低。
2010-01-16 15:56:00 1225
原创 Raid独立冗余磁盘阵列简介
定义: Raid是把多块独立的硬盘,按不同的方式组织起来,形成一个硬盘组(逻辑硬盘),从而形成相对单个硬盘更高的读写性能和数据备份技术。 技术点:条带化 磁盘阵列将多个磁盘视为一个虚拟磁盘,数据以分块(block/segment)的方式连续存储在各磁盘上。数据分块大小须是扇区大小(512字节)的整数倍。磁盘阵列中一个水平上的分块集
2010-01-16 11:17:00 1063
原创 影响硬盘性能因素简介
硬盘容量的参数CHS:磁头数(Heads),最大255柱面/磁道数(Cylinders),最大1023扇区数(Sectors),最大63, 每个扇区一般512个字节所以一个硬盘的理论最大容量:255*1023*63*512/1024*1024 = 8024G 影响硬盘性能的因数1、转速:转速是指驱动硬盘盘片旋转的电机主轴的旋转速度。常见的为5400rpm和7200rpm
2010-01-16 00:56:00 2800
原创 Linux下应用开发可利用的计时器技术2:CPU时钟滴答
在Linux的内核时钟驱动中,当PIT通道0的计数器减到0时,就在IRQ0中产生一次时钟中断,也即一次时钟滴答。Linux用宏HZ来表示时钟滴答的频率。且在不同的平台上HZ有不同的定义值。对于ALPHA和IA62平台HZ的值是1024,对于SPARC、MIPS、ARM和i386等平台HZ的值都是100。 该宏在i386平台上的定义如下(include/asm-i386/p
2009-12-17 21:55:00 3140
翻译 Linux下应用开发可利用的计时器技术1:RTC实时时钟---./linux-2.6.32.1/Documentation/rtc.txt
RTC:实时时钟(Real Timer Clock)是一个硬件计时器,它独立于整个操作系统(如CPU或其它芯片),内核利用其获取系统当前时间和日期。----------------------------------当Linux开发者谈论一个“实时时钟”时,他们通常意指跟踪挂钟时钟,它被电池驱动因此在系统下电后仍然能工作。这种时钟通常不会跟踪本地时间或者夏令时时间--除非他们用MS-Win
2009-12-16 20:03:00 1949
原创 Linux 下TCP连接关闭情况分析
一、TCP连接关闭的几种方式:1、“正常”关闭:调用close()关闭socket、没close但进程正常结束(当然这是不应该的做法)、进程core掉、在shell命令行中kill掉进程,都可抽象成“正常”关闭。因为即使core掉,内核也会马上帮应用程序回收(close)socket文件描述符。 “正常”关闭,默认情况下(非默认即设置Linger下面会介绍),关闭端即客户端TC
2009-11-21 16:14:00 8657 2
原创 typedef和#define的主要区别
要把typedef是一种彻头彻底的“封装”类型--声明之后不能再往里面添加别的东西。把#define看做是在预处理时进行的单纯的字符替换区别1:能使用其他类型说明符对宏定义进行扩展,但typedef不能。#define peach intunsigned peach i; //没有问题typedef int banana;unsigned banana i;
2008-10-09 23:25:00 569
转载 (转帖)gcc参数详解
发布 /in_fact 发表于2005-10-11, 23:02[版本] 0.13 [声明] 这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录所有的dos 命令的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc的帮助.不全的原因是,有可能我还没有看到这个参数, 另一种原因是,我可能还不会用它 不过,我会慢慢的补齐的.哈哈 如果你要转在本文章请保留我e
2008-09-23 23:34:00 515
原创 结构体、联合体、枚举的特性
结构体结构体的通常形式为:struct 结构体标签(可选){ 类型1 标识符1; 类型2 标识符21,标识符22,标识符23; 类型3 标识符3;}变量定义(可选);良好的编程风格是把结构体的声明和变量的定义分开,如:struct book {int weight,price;};struct book book1,book2;而不是:
2008-09-23 23:14:00 783
原创 新的旅程
马上就要去深圳寻找新的梦想,开始新的职业生涯了?但深圳真的是有梦的地方吗,可能只是在广州待的太久了的缘故。深圳还是广州?这是个问题。 人生真是是一个矛盾体,还是我把人生想的太复杂了。昨晚跟MM聊了很久,MM说我的心理压力太大了。真的是吗?我想了很久。可能是吧。压力就压力吧,套用俗气但实在的话“没有压力哪有动力”。 好像说的语无伦次了,好了,发下没必要的心理压力,轻装
2008-05-23 14:45:00 590
转载 ArrayList与Vector的区别(转贴)
Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提
2007-09-16 22:53:00 2454
原创 Java 基础学习笔记(持续更新中)
1、Box b1 =new Box(); b2=b1; 变量b1赋值给变量b2,只是把b1的指向赋值给b2,b1和b2引用的相同一个对象,b2并没有重新分配任何内存对象或对b1内存对象进行拷贝。因此,b1(或b2)对对象的任何改变都会影响到b2(或b1)。由以下类可见: class Box ...{ double x; double y;
2007-09-13 16:43:00 622
原创 java 线程初探
本文主要探究主线程和子线程的执行顺序的。通过2个类模拟,NewThread为子线程,RunnableDemo模拟主线程public class NewThread implements Runnable ...{ /** *//** * @param args */ Thread t; public NewThread() ...{ t
2007-09-12 17:46:00 537
原创 StringTokenizer的使用
StringTokenizer 类允许应用程序将字符串分解为标记。 StrintTokenizer有3个构造方法:►new StringTokenizer(String str) 改构造方法未指定分割符,默认的分割符为:空格、换行/n、指标站►new StringTokenizer(String str,String delim,boolean returnDelims)
2007-07-19 15:05:00 1179
原创 StringBuffer使用
StringBuffer表示了可变的、可写的字符串。有三个构造方法 :StringBuffer(); //默认分配16个字符的空间StringBuffer(int size); //分配size个字符的空间StringBuffer(String str); //分配16个字符+str.length()个字符空间
2007-07-12 23:29:00 734
多线程服务器的常用编程模型.pdf
2011-05-07
软件工程思想(深入浅出)
2009-06-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人