Phần 1: Lịch sử và nguyên nhân
I/ Giới thiệu về Mac OS X
Lịch sử Mac OS:
Mac OS (viết tắt của Macintosh Operating System) là hệ điều hành có giao diện cửa sổ và được phát triển bởi công ty Apple Computer cho các máy tính Apple Macintosh.
Phiên bản đầu tiên ra đời năm 1984. Thật ra ban đầu Mac OS cũng chả
có tên, chỉ mang cái tiếng là phần mềm kèm theo máy Macintosh, thời
năm 1984 người ta vẫn gọi nó là “System software”.

Mac OS 1984
Ngay sau khi Mac OS ra mắt 1 năm, năm 1985 Windows danh tiếng của bác
Bill ra đời. Mang tiếng là hệ điều hành, Windows lúc bấy giờ vẫn chỉ
là một add-on cho MS-DOS để có thêm tí giao diện đồ họa, chạy theo
trào lưu nhà nhà dùng GUI lúc bấy giờ. Tất nhiên, Windows ra mắt vì mục
đích cạnh tranh với Mac OS, và chiếm cứ kiến trúc x86 của Intel trên
các máy IBM compatible làm đại bản doanh của mình.
Sau hàng mấy chục năm phát triển và không ngừng đấu tranh, cho tới nay
thì Mac OS đã bị Windows vượt mặt xa lắc, tỉ lệ phần trăm thị trường
lần lượt là 90% và 7% gì đó. Điều này có được chủ yếu do phương pháp
kinh doanh khác biệt của 2 hãng, chứ cũng không liên quan nhiều đến việc
Windows và Mac OS, ai tốt hơn ai.
Trở lại với Mac, máy Macintosh ban đầu sử dụng CPU Motorola 68000, cho tới khi Apple, Moto và IBM chế ra kiến trúc PowerPC
(Không phải Apple hâm tới mức vác PC vào người đâu nhé, đó là viết
tắt của “Performance Optimization With Enhanced RISC – Performance
Computing”, tên dài vãi đạn), thì Mac OS cũng chuyển qua hỗ trợ thêm
kiến trúc này. 8.1 là bản cuối cùng của Mac OS hỗ trợ 68000-class CPU.
Sau này Intel x86 cũng nhảy vào chiếm phần, và như chúng ta đã biết,
Mac OS vừa đi qua một mốc lịch sử khác bằng việc từ bỏ hỗ trợ PowerPC, bắt đầu với phiên bản Snow Leopard 10.6.
Mac OS X nói riêng:
Xét riêng bản Mac OS X, phiên bản Mac OS đầu tiên sử dụng chữ số la mã
để đặt tên (trước đó là Mac OS 9), đây là seri OS đã trải qua 6 phiên
bản khác nhau của Apple. Đánh dấu sự trở lại chói sáng của Steve Jobs,
ông cũng mang theo vào Mac OS X những thành tựu có được với Nextstep
OS khi còn ở NeXT – công ty do chính ông sáng lập và sau được Apple
mua lại. Mac OS X là hệ điều hành BSD-based, sử dụng microkernel có tên Mach kernel.
Mac OS X mang trong mình nền tảng cốt lõi của Unix, đặc điểm mang lại
cho nó tính ổn định và bảo mật cao, cũng như nhiều khả năng ưu việt
khác.
Từ trái qua phải: 10.0 (Cheetah) và 10.1 (Puma) dùng chung vỏ hộp, 10.2
(Jaguar), 10.3 (Panther), 10.4 (Tiger), 10.5 (Leopard), 10.6 (Snow
Leopard).
Các phiên bản Mac OS X được đặt tên
theo các con vật lớn họ nhà mèo (chủ yếu là các loại báo – không phải
newspaper). Phiên bản hiện tại 10.6 có tên Snow Leopard – Báo tuyết. Có lẽ khi nào không còn loài nào họ mèo để đặt tên nữa thì Apple mới chuyển lên Mac OS XI được.
Mac OS X còn mang trong nó một ý nghĩa lớn đối với cộng đồng
hackintosh (những người chuyên chọc phá tìm cách đem Mac sang chạy trên
các nền tảng khác). Kể từ bản Tiger 10.4, Mac OS X chính thức thực hiện bước chuyển đổi sang sử dụng nền tảng Intel x86,
có nghĩa là hầu hết linh kiện phần cứng của một chiếc Macintosh đều
giống y xì một chiếc PC thứ thiệt. Điều này đem lại cơ hội lớn cùng
nhiều thách thức cho việc cài đặt Mac OS X lên một chiếc Intel PC (tất
nhiên là rẻ hơn nhiều so với Macintosh tương đương). Đây cũng là mục
đích chính của loạt bài này.
II/ Khác biệt giữa Intel Mac và PC – OSX86 project ra đời
Khác biệt về hardware & firmware:
Nếu bỏ qua các thế hệ máy Macintosh sử dụng chip Motorola và PowerPC
vì khác biệt kiến trúc, thì máy Macintosh ra đời năm 2006 trở về sau, về
cơ bản, có các thành phần và cấu trúc giống hệt như một chiếc PC dùng
CPU Intel phổ thông. Nói rằng về cơ bản giống nhau không có nghĩa là
không có khác biệt, cũng không có nghĩa là bạn có thể mua một chiếc
DVD Mac OS X để cài đặt lên PC ở nhà của mình. Và đây cũng là thời
điểm OSX86 project ra đời.
Tiếp tục bỏ qua các thế hệ tiền bối đã từng nghiên cứu giả lập Mac
trên PC, OSX86 project ra đời với điều kiện khách quan và lực lượng hỗ
trợ đông đảo hơn rất nhiều. Sự tương đồng trong kiến trúc x86 đã giúp
cho việc chạy OS X thực (run natively) trên PC thành hiện thực.
Nói về khác biệt giữa Intel Mac và PC, thật ra cũng không có nhiều.
Chúng ta chủ yếu nói về khác biệt phần cứng hoặc firmware, xử lý nó ổn
thỏa là có thể san bằng khác biệt về phần mềm.
Các khác biệt chủ yếu:
- Mac không thể chạy tất cả các thiết bị của PC: Máy Mac sử
dụng các linh kiện giống với PC, có điều không nhiều chủng loại và nhà
sản xuất như PC. Điều này có nghĩa là Mac OS X chỉ có sẵn driver cho
một số thiết bị có device ID và vendor ID đặc thù. VD như onboard
Ethernet Realtek RTL8139 có mã IOPCIPrimaryMatch là 0×813910EC,
có thể chạy ngay khi cài đặt (run out-of-the-box) do driver có sẵn,
nhưng các thế hệ Ethernet Realtek khác thì không. Điều này dẫn đến việc
chỉ một bộ phận PC có cấu hình hợp lý (ý ở đây là giống với một máy Mac tương ứng, có thể là Macbook hay iMac, Mac Pro) có thể chạy được Mac OS X mà thôi.
- Mac có những thiết bị có firmware riêng biệt: Đối với
các thiết bị có firmware như VGA, card Ethernet, và wireless card,
Apple còn có thể đặt hàng một seri sản phẩm sản xuất riêng cho mình, có
firmware riêng biệt khác với thiết bị sử dụng trên PC. Điều này có thể
làm một số thiết bị, VD như Geforce GTX 285 trên PC không thể chạy
trên Mac, do nó có firmware khác với GTX 285 Mac edition.
- Mac sử dụng EFI: EFI được mệnh danh là hệ điều hành thu
nhỏ trên mainboard. Đây là một kĩ thuật mới do Intel phát triển nhằm
giao tiếp tốt hơn với system firmware, EFI có nhiều ưu thế vượt trội
so với BIOS truyền thống. BIOS trên PC viết bằng assembly, trong khi
EFI viết bằng C. Một vài hệ thống như HP Itanium cũng đã chuyển sang
sử dụng EFI từ lâu. Trên PC đã phát triển thế hệ Unified EFI và tương
lai các mainboard sẽ chuyển qua sử dụng hệ thống EFI này. Trước đây
từng có một mainboard MSI giới thiệu UEFI, MSI P45D3 Platinum.
- Mac sử dụng bảng DSDT khác với PC: DSDT trên Mac chi là
một bản không hoàn chỉnh của DSDT trên PC. Do vậy việc patching DSDT
là cần thiết để Mac OS X có thể giao tiếp và hỗ trợ tốt các thiết bị
trên PC.
- Mac sử dụng SMC khác với PC: firmware SMC (System Management
Controller) trên Mac giúp hệ điều hành điều khiển một vài tính năng
phần cứng (chẳng hạn như đọc temp CPU và điều chỉnh tốc độ quạt). SMC
cũng tồn tại trên PC, nhưng hoàn toàn không giống Mac.
- Mac sử dụng keyboard khác với PC: Đương nhiên trên bàn phím
của Mac không thể có nút Windows, và đồng thời có một số nút cũng không
có trên bàn phím PC, như Command và Option.
OSX86 Project:
OSX86 project
là dự án mở (GNU Public License) của cộng đồng công nghệ toàn thế
giới, ra đời nhằm khắc phục những khác biệt trên, đem Mac OS X đến với
thế giới x86 của PC. OSX86 project bắt nguồn chủ yếu từ cộng đồng
thành viên diễn đàn InsanelyMac.
Rất nhiều dự án nhỏ đã ra đời từ cộng đồng OSX86 này, thành tựu tiêu
biểu phải kể đến Chameleon bootloader, Voodoo group, 4500MHD
opensource driver project…