有人MAC同時可跑Win和Linux嗎 - MAC

Todd Johnson avatar
By Todd Johnson
at 2012-10-14T17:33

Table of Contents

※ 引述《kimi206rc (法國人)》之銘言:
doglegbow:用Mac為什麼還要用Linux?不都是Unix-Like 10/13 00:17
peacedove:還是不太一樣, BSD跟Linux 10/13 00:23
uranusjr:也只有 shell 像而已, 裡面細節還是差很多 10/13 00:36
akb49:為何要 linux?mac osx 本身就是 unix based 10/13 09:01
w180112:樓上 MAC OSX 是unix-like 但是他們還是不同家的東西(BS 10/13 09:43
w180112:D) 還有 VMware player可以跑很多個OS好嗎 像我現在就是 10/13 09:44
w180112:使用WIN 7 開VMware模擬MAC OS X10.8 + FEDORA17 linux + 10/13 09:46
w180112:WIN 95 + WIN 8 10/13 09:47
w180112:而且阿MAC OS沒有內建GCC 還要自己去註冊下載xCODE(還是說 10/13 09:50
w180112:其實不需要下載就有其他方法可以了? 10/13 09:50
alishas:mac osx已經是unix吧,我記得有過unix認證 10/13 10:18
dearlove:BSD跟Linux還是有差的... 10/13 10:58
dearlove:需要gcc的話Xcode裝一下Command Line tool就有了 10/13 10:58
w180112:樓上 unix不等於linux 後者為前者延伸 mac也是UNIX延伸 10/13 10:59
w180112:FREE BSD也是UNIX延伸 所以有UNIX驗證其實沒有代表甚麼.. 10/13 11:00
w180112:VMware Player需要自己去找外掛 而且還可以全螢幕使用XDD 10/13 11:01
w180112:不然我記得調成BSD的選項好像也可以 只是比較麻煩 10/13 11:02
dearlove:查了一下發現10.5和10.6有通過unix認證XD 10/13 11:02
w180112:不是UNIX-like的話你覺得有可能跟linux一樣穩定嗎XDD 10/13 11:10
w180112:看看悲劇的WINDOWS吧XDDD 10/13 11:11
hyperino:教徒會被人笑就是樓上這樣.... 10/13 11:53

有人可能已經不知道自己在講什麼了...

我澄清一下 UNIX 和 Linux 和 Mac OS X 之間的關係


以下偷懶直接拷貝 Linux 板自己的內容
==========
首版的 UNIX 作業系統是在 1969 由一群 AT&T 員工所開發, 當時叫 Unics
不過因為其開放源碼的特性, 以及初期與 UC Berkeley 的一些互動
現在並沒有一個叫做 UNIX 的作業系統
UNIX 這個名稱比較像是一個工業標準

一堆雜七雜八的歷史跳過

如果一個作業系統要被認為「是 UNIX」
它必須通過 Single UNIX Specification 的檢驗
這個檢驗包含一堆標準, 是由 IEEE 與開放軟體組織所設立

要受檢當然是要錢的, 所以非商業組織開發的系統基本不會去拿這個
而即使是商業組織, 也可能不見得想遵守某些規範
但是這些系統還是幾乎, 甚至在事實上根本符合 UNIX 標準
這些系統就被稱為 UNIX-like(或稱 UN*X 或 *NIX 等等)作業系統

一般稱作 Linux 的作業系統, 則是指使用 Linux kernel 作為核心的作業系統
由於歷史因素, 這些作業系統大多採取類似 UNIX 的架構
所以它們通常都是 UNIX-like(甚至通過檢驗被核可為 UNIX 系統)

但理論上, 基於 Linux kernel 的系統並不一定要採取類 UNIX 架構
所以是不是 UNIX-like 和是不是 Linux, 這兩件事是分開的
現今採用 Linux kernel 的作業系統基本都是 UNIX-like 作業系統
這是作業系統的發展史造成的
==========



事實上, 從這張圖就可以看出 Linux 與 UNIX 各版本的關聯
http://upload.wikimedia.org/wikipedia/commons/7/77/Unix_history-simple.svg

看出來了嗎?它們之間的關聯就是沒有關聯
GNU/Linux 會 UNIX-like 的原因純粹只是歷史因素

我們往作業系統更深處看(參見:維基百科對於核心的解釋 http://goo.gl/rBhdR
Linux(這裡單指 kernel)是屬於 monolithic kernel
而 Mac OS X 的核心(XNU)源自 NEXTSTEP, 後者的核心是 Mach
Mach 本身是 microkernel, 而 XNU 則在一些結構修改後成為 hybrid kernel
(雖然某林奈斯認為兩個還不都一樣, 只是宣傳手法而已 http://goo.gl/CxY0K

那更表層的部分呢?
GNU/Linux 顧名思義在表層是由各式各樣的 GNU 軟體構成
包括各式各樣的 shells, 一直到 X11 和各種桌面環境
其中 CLI 的大部分基本上來自於 GNU 計劃的產品
而因為 GNU 計劃本來是想開發自己的 UNIX 核心(GNU Hurd)
是後來才轉向 Linux 而把它們移植到過去(其實在那之前就有很多移植了)
才使得 UNIX 家族(主要是 BSD 家族)和 Linux 在這方面非常類似

而 GUI 部分就非常不同了
GNU/Linux 採用的桌面系統(如果有)基本上都是基於 X.org 開發的 X11
而 Mac OS X 則延續 NEXTSTEP 的做作法, 自己開發全新的繪圖層 Quartz
並在其中附帶了一個 X11 的整合(現在的 XQuartz)以相容 X11
但 XQuartz 是蘋果根據標準自己實作的東西, 和原本的 X11 基本上不一樣

到這裡應該很明顯了, Mac OS X 和 GNU/Linux 根本不一樣

那又為什麼很多人會使用 Mac 取代 Linux 機?
這其實是使用習慣上的相近問題
從上面可以看出來, 雖然底層完全不同, 但 Mac OS X 和 GNU/Linux 在表層還是相似
而在檔案系統上也都遵循 POSIX 標準, 加上 XQuartz 的存在
使得 GNU/Linux 上的很多程式只要經過微小的修改就可以直接移植到 Mac 使用
如果只使用表層的應用程式, Mac 帶來的轉變不大, 而在一般通用的應用又更方便
所以才會有這種趨勢

至於程式設計師則是因為蘋果有提供 GCC 的實作
(即使是 LLVM/Clang, 指令界面也幾乎百分之百與 GCC 相容)
加上檔案系統與 shell 也相近
在軟體開發上相似性很高, 轉換起來容易
與其說 Mac OS X 像 GNU/Linux, 不如說是
比起 Windows, Mac OS X 和 Linux 更接近, 用起來比較親切
如果你真的要做 GNU/Linux 的程序開發, 基本上還是要用 Linux 機才行
除非完全只使用語言標準函式庫, 否則兩邊的開發還是不同
(而且即使都使用標準庫, 有時候還是在行為上會有些許差異, 必須稍微修改)

拜託不要再說什麼有 OS X 就不需要 Linux 的鬼話了
你要當 fanboy 是你家的問題, 但不要在那邊裝懂唬爛
我可不想搞到比較不了解資訊的人以為 Mac-Linux 兩頭跳的人都像你一樣



mmonkeyboyy:裝個parallel Desktop就得了啊 10/14 10:56
mmonkeyboyy:基本上不是遇到智障程式人員 OSX都可能搞定啊 10/14 10:57
mmonkeyboyy:公司有server ssh過去就好了 win下除了打電動也沒有太 10/14 10:59
mmonkeyboyy:多不能用的 office都有了:D 10/14 10:59
mmonkeyboyy:linux沒有可以省掉你不少麻煩的 10/14 11:00

這個嘛...
跨平台其實真的沒那麼簡單
當然你要完全照標準是可以啦, 但是不是每個使用者都能理解
你說得再冠冕堂皇他們用起來有問題被釘在牆上的還是自己
力有未逮(程式設計師基本上很難力有逮)的時候還是只能妥協先照顧聲音大的人
不要這樣一竿子打翻一船人嘛 QQ

不過遠端登入可以解決很多問題倒是真的


--
Les grandes et les meilleurs tone from "Zadok the Priest"
Eine grosse stattliche Veranstaltung by F. Handel
THE MAIN EVENT! These are the men
Sie sind die Besten
"Champions League" by Tony Britten THESE ARE THE CHAMPIONS!


--
Tags: MAC

All Comments

Adele avatar
By Adele
at 2012-10-17T23:43
用Mac為什麼還要用Linux?不都是Unix-Like
Ethan avatar
By Ethan
at 2012-10-20T07:42
還是不太一樣, BSD跟Linux
Faithe avatar
By Faithe
at 2012-10-24T21:05
也只有 shell 像而已, 裡面細節還是差很多
Erin avatar
By Erin
at 2012-10-25T19:13
為何要 linux?mac osx 本身就是 unix based
Madame avatar
By Madame
at 2012-10-29T17:03
樓上 MAC OSX 是unix-like 但是他們還是不同家的東西(BS
Joseph avatar
By Joseph
at 2012-10-30T11:23
D) 還有 VMware player可以跑很多個OS好嗎 像我現在就是
Faithe avatar
By Faithe
at 2012-10-30T14:22
使用WIN 7 開VMware模擬MAC OS X10.8 + FEDORA17 linux +
Hedwig avatar
By Hedwig
at 2012-10-31T10:08
WIN 95 + WIN 8
Frederic avatar
By Frederic
at 2012-10-31T23:30
而且阿MAC OS沒有內建GCC 還要自己去註冊下載xCODE(還是說
其實不需要下載就有其他方法可以了?
Agatha avatar
By Agatha
at 2012-11-01T03:09
mac osx已經是unix吧,我記得有過unix認證
Megan avatar
By Megan
at 2012-11-05T02:56
BSD跟Linux還是有差的...
需要gcc的話Xcode裝一下Command Line tool就有了
John avatar
By John
at 2012-11-09T03:14
樓上 unix不等於linux 後者為前者延伸 mac也是UNIX延伸
Frederica avatar
By Frederica
at 2012-11-12T11:00
FREE BSD也是UNIX延伸 所以有UNIX驗證其實沒有代表甚麼..
Candice avatar
By Candice
at 2012-11-12T17:35
VMware Player需要自己去找外掛 而且還可以全螢幕使用XDD
Barb Cronin avatar
By Barb Cronin
at 2012-11-15T06:21
不然我記得調成BSD的選項好像也可以 只是比較麻煩
Freda avatar
By Freda
at 2012-11-18T09:31
查了一下發現10.5和10.6有通過unix認證XD
Mia avatar
By Mia
at 2012-11-19T01:36
不是UNIX-like的話你覺得有可能跟linux一樣穩定嗎XDD
Daph Bay avatar
By Daph Bay
at 2012-11-20T15:07
看看悲劇的WINDOWS吧XDDD
Ophelia avatar
By Ophelia
at 2012-11-24T18:48
教徒會被人笑就是樓上這樣....
Daniel avatar
By Daniel
at 2012-11-27T05:50
裝個parallel Desktop就得了啊
Andrew avatar
By Andrew
at 2012-11-27T23:07
基本上不是遇到智障程式人員 OSX都可能搞定啊
Oliver avatar
By Oliver
at 2012-11-28T03:51
公司有server ssh過去就好了 win下除了打電動也沒有太
多不能用的 office都有了:D
Gary avatar
By Gary
at 2012-12-02T00:53
linux沒有可以省掉你不少麻煩的
Franklin avatar
By Franklin
at 2012-12-05T13:19
Damian avatar
By Damian
at 2012-12-08T06:50
只能推了
Hardy avatar
By Hardy
at 2012-12-10T09:36
太讚了~~~~
Ursula avatar
By Ursula
at 2012-12-13T00:15
感謝你!真的!
Agnes avatar
By Agnes
at 2012-12-14T09:48
大推
George avatar
By George
at 2012-12-16T22:41
類似的討論,再過一年,還是會再來一次。
Jack avatar
By Jack
at 2012-12-21T00:54
其實我得幫OSX說句話,雖然gcc/g++都被apple modify過
Ina avatar
By Ina
at 2012-12-24T08:15
不過基本上clang對於c++11的std支援(我只熟c++部分)是
相當跟得上標準版本g++的,基本上make寫好g++跑一跑編一
編通常是不太會碰到相容性的問題
Agatha avatar
By Agatha
at 2012-12-28T13:01
當然,他對於/proc的處理方式不太一樣,這點是肯定的
不過也不過就那幾個點,其他標準輸入輸出來說,OSX很標
準,當然,硬要用epoll那種linux only的話的確是不行啦
Tom avatar
By Tom
at 2012-12-31T18:30
不過普通的library來講,只要抽象層做好,其實是有很大
的機會可以直接在osx上用clang開發是沒問題的
當然,如果要做的是.ko那種低階實做的就另當別論了
Michael avatar
By Michael
at 2013-01-01T10:15
anyway, OSX是UNIX 不是Linux,很多Linux only的東西在
專案開始寫的時候就該有些基本認知才是
George avatar
By George
at 2013-01-03T05:35
不過我小工具什麼都是用osx寫lib,目前沒碰到太大問題
Damian avatar
By Damian
at 2013-01-05T18:30
另外,boost真的很好用,可以保證很多行為在不同平台上
會有同樣的實作。
Oscar avatar
By Oscar
at 2013-01-08T16:56
John avatar
By John
at 2013-01-09T23:25
長知識推

iMac 1TB Seagate 硬碟更換計劃

Christine avatar
By Christine
at 2012-10-14T11:08
http://www.apple.com/tw/support/imac-harddrive/ 硬碟有問題的版友快去申請吧 ^^ 記得回來發心得文 - ...

mac mini server 架 VPN 問題

Audriana avatar
By Audriana
at 2012-10-14T10:57
※ 引述《divaka (希望每個人都活的自在)》之銘言: : 各位好,小弟有購買 mac mini server : 現在已申請中華電信固定 IP 方案 : 想要架 VPN Server 來使用 : 但是一直沒辦法順利架起來..希望高手能夠幫幫忙 : 家裡電腦的環境如下 : Server:Mac mini ...

關於Apple Mail跟Gmail的設定 (外寄信件問題)

Irma avatar
By Irma
at 2012-10-14T09:52
借原標題一問 我的mail內也有登入gmail 不過卻只能收信 無法寄信 在寄信時選擇smtp.gmail.com這個外寄伺服器時 會跳出來叫我輸入密碼 無奈我輸入後 他又會一直反跳出來要我輸入 而我確定輸入的密碼也沒有錯誤 是哪裡設定有誤呢 BTW, 不知道有沒有關連 不過這問題好像是發生在 ...

mac mini server 架 VPN 問題

Andy avatar
By Andy
at 2012-10-14T01:17
各位好,小弟有購買 mac mini server 現在已申請中華電信固定 IP 方案 想要架 VPN Server 來使用 但是一直沒辦法順利架起來..希望高手能夠幫幫忙 家裡電腦的環境如下 Server:Mac mini server OS:Mac OS Server Lion 10.7 Inter ...

daisy disk所分析出的結果

Damian avatar
By Damian
at 2012-10-14T00:03
使用MBA約一年了 是128G的版本 容量一直大概都維持多出來約20~30G的空間 音樂約15G,iphoto照片放在隨身硬碟 TM的本機快照也有關閉 這陣子一直用windows看風行網 有天我同學突然對我說 你風行網看完的影片要刪掉阿! 我才恍然大悟 回家一看儲存空間 居然只剩下5G!!!! 但我看了我的 ...