哪里可以下载Linux系统的的源代码?编译要多久?编译安装的比直接安装的性能高多少?

哪里可以下载Linux系统的的源代码?编译要多久?编译安装的比直接安装的性能高多少?,第1张

源代码从 https://www.kernel.org 取。

编译的时间因人而异,也因系统不同而异,除了特别熟悉的,大多数人都要用几个小时。一个是配置的时候要阅读很多帮助信息,这要花很多时间,另一个就是编译本身也需要很长的时间。

编译的性能取决于你的配置。你对自己的机器的硬件了解得准确,配置的时候把不需要的选项都去掉;你对自己的软件目标比较明确,该要的选项都选择进来,这样得到的内核性能自然会好。要是上述两条做不到,其结果可能还不如直接安装的内核好。

LFS──Linux from Scratch,就是一种从网上直接下载源码,从头编译Linux的安装方式。它不是发行版,只是一个菜谱,告诉你到哪里去买菜(下载源码),怎么把这些生东西( raw code) 作成符合自己口味的菜肴──个性化的Linux,不单单是个性的桌面。

Log-structured file system,是影响近代高效能档案系统很深远的设计,有许多效能导向的特殊应用档案系统,像WAFL,Sprint,ZFS,都以LFS概念为设计的基础. 因为一般的档案系统,只能利用10~15%的磁碟频宽,LFS却可以提升到80%。

这是因为如今的磁碟机的IO频宽已经很快,但是受限于磁头磁轨移动的机械动作加速有限,和磁碟转动到所需的磁区也需要的时间,让机械动作比较少的连续磁区读取,速度远比需要大量机械动作的随机读取快. 但是根据研究,UNIX的档案系统,约略80%是8K以下小档,分散在各地的小档,会造成大量随机读取,而让磁碟I/O明显变慢. LFS就是想解决这样的问题。

LFS为了能充份的利用磁碟I/O频宽,减少随机读写,他定义了Segment为基本的磁碟存取单位,Segment 是由连续的小磁区组成,大小为512KB (1024个磁区). LFS假设系统有足够大的快取记忆体,让磁碟机的动作会集中在写入(因为读取大多会从快取),因此我们只要把小档集中起来成为一个个segment 大小再集中写入,就可以理想上使用100%磁碟频宽。

顾名思义,LFS本身就是把档案系统当成一个巨大的log,他的好处是可以很容易处理异常关机产生的问题,只需要检查最后写入的磁区就可以. 但相对有个缺点,就是必须保持log尾端有足够的free space 才能新增/异动档案. 因此,一但log 满了,就必须清理log中所有删除的档案来释放空间,并且把空出来的空间往后移,移到尾端再利用,这个动作称做Segment Clean。

Segment Clean 是一项非常繁重的工作,会占用绝大多部分的磁碟频宽,以致于系统效能受到拖累,形成LFS实作非常大的问题。

此外,LFS 虽然把小档案clusted 起来成为Segment,让写入效能大增,但读取时仍可能需要到各个Segments中读取小档,由于Segment是很大的IO单位,造成IO瓶颈. 当快取没有这些档案,读取效率就会变慢。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/6235302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-18
下一篇 2023-03-18

发表评论

登录后才能评论

评论列表(0条)

保存