![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
shage001314
一个字帅
展开
-
合理规划你的硬盘分区
一、关于硬盘种类、物理几何结构及硬盘容量、分区大小计算;1、硬盘种类、物理几何结构硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;IDE转载 2011-12-19 12:03:13 · 499 阅读 · 0 评论 -
Linux内核的内存屏障
内容:抽象的内存访问模型设备操作保障什么是内存屏障?内存屏障的种类什么是内存屏障不能确保的?数据依赖屏障控制依赖SMP屏障配对内存屏障顺序的例子read内存屏障与load预取传递性显式内核屏障编译屏障CPU内存屏障MMIO write屏障隐式内核内存屏障锁功能中断禁用功能休眠和唤醒功能其它函数CPU之间的锁屏障效应锁与内存访问锁与I/转载 2013-07-03 17:31:59 · 1039 阅读 · 0 评论 -
linux kernel中如何得到当前的进程信息
我这里内核版本是2.6.35,cpu架构是x86_32.先来看linux下进程的结构。首先我们要知道在linux中第一个进程是内核进程,pid为0,它是所有的进程的父进程。这个进程也叫swapper,或者说是idle.这个进程是静态初始化的,定义是在init_task.c中,如下:1234unionthread_union i转载 2013-06-15 16:05:54 · 1784 阅读 · 0 评论 -
linux kernel中如何保证append写的原子性
先来描述一下,write系统调用的大体流程,首先内核会取得对应的文件偏移,然后调用vfs的write操作,而在vfs层的write操作的时候会调用对应文件系统的write方法,而在对应文件系统的write方法中aio_write方法,最终会调用底层驱动。这里有一个需要注意的就是内核在写文件的时候会加一把锁(有些设备不会加锁,比如块设备以及裸设备).这样也就是说一个文件只可能同时只有一个进程在写。而转载 2013-06-15 16:03:10 · 1001 阅读 · 0 评论 -
linux kernel tcp拥塞处理之cubic算法
这次主要来看一下内核拥塞控制算法cubic的实现,在linux kernel中实现了很多种拥塞控制算法,不过新的内核(2.6.19之后)默认是cubic(想得到当前内核使用的拥塞控制算法可以察看/proc/sys/net/ipv4/tcp_congestion_control这个值).下面是最新的redhat 6的拥塞控制算法(rh5还是bic算法):12转载 2013-06-15 16:00:41 · 2405 阅读 · 0 评论 -
linux kernel 2.6.35中RFS特性详解
前面我介绍过google对内核协议栈的patch,RPS,它主要是为了软中断的负载均衡,这次继续来介绍google 的对RPS的增强path RFS(receive flow steering),RPS是把软中断map到对应cpu,而这个时候还会有另外的性能影响,那就是如果应用程序所在的cpu和软中断处理的cpu不是同一个,此时对于cpu cache的影响会很大。 这里要注意,在kernel 的2转载 2013-06-15 15:57:03 · 822 阅读 · 0 评论 -
linux kernel 网络协议栈之GRO
GRO(Generic receive offload)在内核2.6.29之后合并进去的,作者是一个华裔Herbert Xu ,GRO的简介可以看这里:http://lwn.net/Articles/358910/先来描述一下GRO的作用,GRO是针对网络接受包的处理的,并且只是针对NAPI类型的驱动,因此如果要支持GRO,不仅要内核支持,而且驱动也必须调用相应的借口,用ethtool -转载 2013-06-15 15:53:49 · 2040 阅读 · 0 评论 -
千万级并发实现的秘密:内核不是解决方案,而是问题所在!
千万级并发实现的秘密:内核不是解决方案,而是问题所在!发表于20小时前| 3588次阅读| 来源HighScalability| 15 条评论| 作者Todd Hoff内核LinuxC10KErrata SecurityUnixApache摘要:C10K问题让我们意识到:当并发连接达到10K时,选择不同的解决方案,笔记本性能可能会超过16核服务器。对于C10转载 2013-05-17 11:45:26 · 858 阅读 · 0 评论 -
系统引导管理器GRUB,为初学者指南
系统引导管理器GRUB,为初学者指南作者:北南南北来自:LinuxSir.Org摘要: GRUB是多系统引导管理器,简单的说既能引导Linux,同时也能引导Windows;从LinuxSir.Org 讨论区近四年的观察来看,大多初学者并不能在短时间内掌握GRUB的用法,为了解决初学者在最短时间内掌握GRUB,重写GRUB入门文档还是有必要的;本文重点介绍了GRUB的menu.l转载 2011-12-29 11:53:20 · 479 阅读 · 0 评论 -
fstab
可能玩Linux的朋友都知道fstab这个文件,如果要用好linux,熟悉linux的一些核心配置文件是必要的,而fstab则是其中之一。这个文件描述系统中各种文件系统的信息,应用程序读取这个文件,然后根据其内容进行自动挂载的工作。因此,我们需要理解其中的内容,了解它如何与 mount命令配合工作,并能够针对自己的情况进行修改。作为系统配置文件,fstab通常都位于/etc目录下,它包括了转载 2011-12-20 11:45:06 · 1280 阅读 · 0 评论 -
inittab
init的进程号是1(ps -aux | less),从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序。init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。理解Runlevel: runlevel用来表示在init进程结束之后的系统状态,在系统的硬件中没有固定的信息转载 2011-12-20 11:21:42 · 1034 阅读 · 0 评论 -
系统引导过程及硬盘分区结构论述
一、系统引导过程简介系统引导过程主要由以下几个步骤组成(以硬盘启动为例)1、 开机;2、 BIOS加电自检(POST---Power On Self Test),内存地址为0fff:0000;3、 将硬盘第一个扇区(0头0道1扇区,也就是Boot Sector)读入内存地址0000:7c00处;4、 检查(WORD)0000:7dfe是否等于0xaa55.若不等于则转去尝试其他转载 2011-12-20 10:32:26 · 562 阅读 · 0 评论 -
Linux cgroup机制分析之框架分析
一: 前言Cgroup是近代linux kernel出现的.它为进程和其后续的子进程提供了一种性能控制机制.在这里不打算对cgroup的作用和使用做过多的描述.本文从linux kernel的源代码出发分析cgroup机制的相关实现.在本节中,主要分析cgroup的框架实现.在后续的部份再来详细分析kernel中的几个重要的subsystem.关于cgroup的使用和介绍可以查看lin转载 2013-07-03 15:27:30 · 925 阅读 · 0 评论