Chinaunix首页 | 论坛 | 博客
  • 博客访问: 527425
  • 博文数量: 96
  • 博客积分: 2960
  • 博客等级: 少校
  • 技术积分: 1850
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-11 15:25
文章分类

全部博文(96)

文章存档

2009年(37)

2008年(59)

我的朋友

分类:

2008-10-14 14:33:20

[原創][交流]Mac驅動程式的概念

之前在weiphone上有一篇朋友們問到『 』的討論,
我想用我所理解的系統概念為各位稍微的野人獻曝,
稍微的介紹一下在Mac上的驅動程式概念,
基本上,Mac OS X 老虎是一個UNIX架構的核心的系統,
所以如果有一些UNIX系統概念其實在底層的架構會很容易了解,

系統核心,通常會有包含了硬體支援的程式在內,
也就是說有一些需要在系統核心啟動就跟著支援的基礎硬體元件
(例如CPU 指令集支援、記憶體管理...),大多放在核心中,
不過Mac是一種經由APPLE公司自行訂製化的核心,
基礎的硬體支援大多也以APPLE電腦為主,
但是,並不會把所有的驅動程式都放在核心中,通常只有『必要的』才會放在核心,
不然核心可能會過度肥大,整個系統執行效率就更差。

那麼還有許多硬體驅動怎麼辦呢?
通常會把他作成模組程式,然後在核心本身支援模組載入功能,
在Linux 中叫做
Kernel Loadable Modules(KLM) 的架構,
而在Mac OS X 中,不稱為 Modules,稱為 Mac OS X Kernel Extension,
我不曉得正式的中文名稱是什麼,不過我稱為『核心延伸套件』,
其實就把他想成是『驅動程式』就可以了,
也就是Mac OS X系統中許許多多的 .kext 檔名的程式集,
大多放在 /System/Library/Extensions/ 中,
當核心有需要就去找到相應的設備ID然後叫起那個程式來支援硬體

而現在的MAC OSX86 中其實問題比較多就是在硬體沒有驅動支援,
也就是沒有相應的 核心延伸套件 可以使用,
相關的HCL (硬體相容列表)可以到 的 下找到
進而可以找到相應可使用的驅動程式,也就是我說的 核心延伸套件(.kext)

這樣希望可以幫助大家稍有了解Mac 的驅動程式的概念,
如果在下有任何觀念上的錯誤也歡迎指正和共同討論,畢竟教學相長啊。

週末有空再整理如何安裝驅動程式的程序給大家參考。
其實安裝並不難,安裝不是問題,找不找的到驅動(kext)才是問題。

4/23 修訂補充:
有朋友問,硬件規格要多高才能裝?或是,要裝Mac OSX86 硬件要比 Vista 高還低?
這裡給大家一個觀念,不能用很簡單的高或低來做標準,
而是『相容性』做標準,也就是硬件本身要有能夠讓他使用的驅動才能用!
如果將電腦硬件比喻為人的軀殼,那麼驅動程式就像是靈魂!
沒有靈魂的軀殼,縱使有再強大的力量,再快的速度,砂鍋大的拳頭,也都沒有作用,就像是死屍一般!
這就是為什麼在下不斷的強調
的 的重要性的原因,
想要知道硬件規格要多高或多低能用,功能完不完整,其實都在那裡面了。
阅读(1380) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~