网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Solaris > 文章  
Solaris、Linux和FreeBSD的内核比较
文章来源: chinaitlab 文章作者: 佚名(翻译) 发布时间: 2006-03-30   字体: [ ]  
 
  【IT168 服务器学院】1。我个人认为作者MAX对Linux的了解不像他对Solaris那样深入,我不知道也没法知道他的下列关于Linux的内容来自自己的代码阅读分析还是只是来自第三方的文档资料而未经自己实地验证;
  2。我已经尽量符合原意地翻译了,当然中间实在忍不住的地方也插两句自己的话;
  3。无论是只阅读这一篇文章,还是看其他东西,我都觉得,保持自己头脑清醒很重要;
  4。谢谢

  Max Bruning 是一名教师/资讯专家,他的教授内容包括Solaris内部组织,设备驱动,内核和应用的crash分析及调试,网络组织和其他一些特定科目(他的blog在blogspot,不费点劲可能访问不了,所以也可以看看www.bruningsystems.com)。

  在解释这些子系统在Solaris中是如何实现的时候,他的学生们总会问“Linux里它是怎么工作的?”或者“FreeBSD里是这样,Solaris里呢?”这种经历最终让Max在OpenSolaris网站写了这篇A Comparison of Solaris, Linux, and FreeBSD Kernels。

  文章里讨论了调度,内存管理和文件系统架构--这3个子系统在任何操作系统中都有普遍应用,而且他们是最well-understood 的组件。

  目前很多分析或对比文章所引用的材料及代码都比较老,与现实脱节,Max推荐如下几个多少比较up to date的网站:

  Solaris Vs. Linux
  Comparing MySQL Performance
  Fast Track to Solaris 10 Adoption
  Solaris 10 Heads for Linux Territory

  其实抛开3个系统之间的差别,他们也有很多相似之处。除了那些不同的命名习惯,这些OS在实现不同概念的时候采用了非常相似的方法。他们都支持线程的分时调度,支持最近未使用页面替换算法实现请求调页,支持虚拟文件系统层允许不同文件系统架构。这个系统里的一个好概念在另一个系统里也会采用。比如Linux也接受并实现了 Solaris slab 内存分配算法的概念。FreeBSD 代码里的很多术语在Solaris里也出现了(快去看看代码。。。)。考虑到这3个系统的源代码都能得到了, fxr.watson.org提供了系统源码的交叉阅读浏览,可能会发现很多有趣的地方。

  好了,温情默默的套近乎结束,进入正题。

 

  调度和调度器

  Solaris的调度单位是kthread_t,FreeBSd是thread,Linux是task_struct。抬高一级,Solaris的进程是proc_t,当然每个进程里的线程就是kthread_t;Linux的进程和线程都由task_struct 表示,单线程的进程在Linux里是一个task_struct。单线程的进程在Solaris里有一个proc_t,一个kthread_t,还有一个klwp_t表示。klwp_t提供了用户和内核模式线程切换的存储区。FreeBSD里的单线程进程有一个proc ,一个thread 和一个ksegrpksegrp 是“内核调度的实体组kernel scheduling entity group”。三个系统的线程表示结构不同,不过都支持调度线程。

和大家熟悉的基本一样,调度是基于优先级的。小小的数学问题是,在Linux和FreeBSD里,数字越小,优先级越高;而SUN的宝贝却喜欢数字越大,优先级越高。参考下表

 
推荐文章
·教你制作软盘上运行的FreeBSD系
·教你定制自己的压缩的FreeBSD内
·服务器安全:架构安全的Solaris系
·FreeBSD6.0中cpu_switch调度机制
 

 
共3页: 上一页 1 [2] [3] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·认识Solaris通用桌面环
·认识Solaris通用桌面环
·在 Solaris 10 上启动 n
·网管经验谈:解析Solaris
·教你制作软盘上运行的Fr
·solaris 9 x86安装的一
·认识Solaris通用桌面环
·服务器安全:架构安全的S
相关文章
·服务器安全:架构安全的S
·认识Solaris通用桌面环
·认识Solaris通用桌面环
·认识Solaris通用桌面环
·网管经验谈:解析Solaris
·FreeBSD6.0中cpu_switch
·教你定制自己的压缩的Fr
·教你制作软盘上运行的Fr
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统