# Thuật ngữ

Thuật ngữ Mô tả
macOS Hệ điều hành nền tảng UNIX "cây nhà lá vườn" của Apple trang bị sẵn cho máy Mac và là "Thứ làm nên linh hồn của máy Mac".
Windows Hệ điều hành độc quyền của Microsoft được sử dụng rộng rãi và hỗ trợ đủ thể loại hầm bà lằng các loại thiết bị (cứ trung thành với cái này nếu không muốn đau đầu nhức óc).
Linux Đại gia đình các hệ điều hành mã nguồn mở giống Unix dựa trên nhân Linux, một nhân hệ điều hành được Linus Torvalds tung ra lần đầu vào ngày 17/09/1991. Linux thường được đóng gói thành các bản phân phối (Linux distribution). Lưu ý là dù macOS và Linux đều gốc gác UNIX, nhưng tụi nó khác nhau một trời một vực đó nha.
Distro Viết tắt của Distributions (Bản phân phối). Các bản Linux distros là cách mà Linux được phân phối. Tuy nhiên, trong thế giới macOS, distros là các bộ cài macOS bị xào nấu trộn lẫn với một đống công cụ không phải của Apple. Tuyệt đối đừng xài các bản macOS distros.
Hackintosh Quá trình cài đặt macOS lên một chiếc PC, lưu ý dùm cho Hackintosh KHÔNG PHẢI là hệ điều hành, thuật ngữ này cũng có thể sử dụng để chỉ cái máy tính đã được "hack" để chạy macOS. VD: Tôi cài macOS lên cái máy Windows này, suy ra tôi có một cái Hackintosh. Chứ tôi KHÔNG hề cài cái gì tên là "Hackintosh" hết. Xin lưu ý giúp cho để sử dụng từ ngữ cho đúng không là người ta cười cho nhé.
Bootloader (Bộ nạp khởi động) Là một loại phần mềm đặc biệt có chức năng khởi động một hệ điều hành, thường do chính người viết ra hệ điều hành đó viết ra. Về mặt kỹ thuật thì OpenCore không hẳn là bootloader (đọc phần giải thích boot manager bên dưới). Tệp Boot.efi của Apple mới chính là bootloader thực sự trên máy Mac hoặc Hackintosh.
Boot Manager (Trình quản lý khởi động) Là phần mềm quản lý các bộ nạp khởi động (Bootloader) – chúng ta có cả rổ cái loại này: Clover, systemd-boot, OpenCore, rEFInd, rEFIt,... Mấy cái này thường được coi là công cụ "dọn đường" cho máy tính để đón cái boot loader thực sự đó.
Tại sao sử dụng từ dọn đường? Vì macOS được thiết kế để chạy trên phần cứng của Apple, nếu cố khởi động nó trực tiếp theo cách thông thường trên phần cứng không phải của Apple thì bạn sẽ không thể chạy được vì Apple đã sử dụng nhiều biện pháp để ngăn chặn bạn làm chuyện đó. Boot Manager là cái sẽ hỗ trợ bạn "dọn đường" mấy cái biện pháp đó của Apple để có thể chạy macOS ngon lành trên máy tính của bạn.

Thuật ngữ Mô tả
OpenCore Hàng hot mới nổi trong giới Hackintosh, được nhóm Acidanthera (opens new window), làm ra với tiêu chí bảo mật lên hàng đầu, khởi động nhanh hơn và nhẹ hơn Clover. Tuy cài đặt chua hơn nhiều và tốn công sức nhưng bù lại nó hỗ trợ nhiều thứ "chuẩn chỉnh" (native) hơn Clover nhiều (như khả năng Ngủ đông - Hibernation, Mã hóa ổ cứng - FileVault 2, cho phép sử dụng Phím tắt để khởi động - Boot HotKeys...) y chang một con Mac thiệt.
Clover Một boot manager giờ được coi là "đồ cổ" lỗ sĩ từ khi OpenCore ra mắt. Hướng dẫn này sẽ không đả động gì tới phần mềm này nữa.
ACPI ACPI (Giao diện nguồn và cấu hình nâng cao) là tiêu chuẩn công nghiệp mở mà hệ điều hành có thể sử dụng để khám phá và cấu hình các linh kiện phần cứng máy tính, cái này sẽ được bàn kỹ hơn ở phần sau.
Đại loại đây là một lớp trừu tượng giúp hệ điều hành (OS) quản lý phần cứng máy tính một cách hiệu quả hơn, chỉ cần viết một dòng code và có thể chạy trên nhiều loại phần cứng khác nhau mà không cần tốn công viết lại hệ điều hành, đặc biệt là hỗ trợ điều phối điện năng và cấu hình thiết bị, cho phép tiết kiệm pin hơn, máy tính có thể đi ngủ hoặc ngủ đông (sleep/hibernate) và điều khiển các thành phần như pin, quạt, tắt/bật thiết bị tự động. Ngày xưa khi chưa có cái này hệ điều hành phải được viết hoặc điều chỉnh riêng cho từng dòng máy hoặc thậm chí từng model phần cứng cụ thể rất là khó khăn và không linh hoạt.
DSDT/SSDT Các bảng mô tả phần cứng trong ACPI của bạn, nó mô tả chi tiết các thiết bị và hướng dẫn cách hệ điều hành tương tác với chúng, ví dụ: cho máy đi ngủ (sleep) như thế nào, đánh thức máy dậy (wake), chuyển đổi card màn hình (GPU), cổng USB chạy tốc độ như thế nào,... tất cả do thằng này quyết định. Hệ điều hành sẽ dựa vào cái này để kết hợp cùng với driver (trình điều khiển) điều khiển phần cứng trong máy bạn một cách chính xác.
.AML Định dạng file đã biên dịch của ACPI và là cái mà PC của bạn sẽ thực thi. .DAT là một đuôi mở rộng khác có công dụng y chang.
.DSL Mã nguồn của ACPI – đây là cái bạn sẽ chỉnh sửa và biên dịch cho máy tính của mình. ĐỪNG CÓ nhầm lẫn định dạng này với .ASL nha.
Kexts Là viết tắt của chữ Kernel Extensions (Phần Mở rộng Hệ thống), chính là driver (trình điều khiển) của macOS. Trên Windows kêu là Driver thì với macOS sẽ kêu là Kext. Ngoài chức năng chính đã được đề cập thì nó còn còn có chức năng khác (trong Hackintosh) như vá lỗi hệ điều hành, chỉnh sửa kext hệ thống bên trong macOS để nó vận hành được phần cứng của bạn, bơm thông tin hoặc chạy các tác vụ khác để vá những lỗi phát sinh. Kext không phải là yếu tố duy nhất để có một bản Hackintosh ngon, vì tụi nó cần phải đi đêm với các bản vá ACPI.
BIOS (Hệ thống xuất nhập cơ bản) BIOS (Hệ thống xuất nhập cơ bản) là firmware (vi chương trình) được xài để khởi tạo phần cứng trong quá trình khởi động (lúc mở nguồn máy) và cung cấp dịch vụ chạy nền cho hệ điều hành và chương trình. Firmware BIOS được cài sẵn trên bo mạch chủ của máy tính cá nhân và là phần mềm đầu tiên chạy khi mở nguồn (nguồn: Wikipedia). Nó là một phần mềm cổ lỗ sĩ được tạo ra từ những năm 70 và vẫn được sử dụng đến tận ngày nay nhờ sự già đời của nó.
Tham số khởi động (boot-args; boot flag): Đây là một dãy các "mệnh lệnh" hoặc "chỉ thị" mà chúng ta gửi cho nhân hệ điều hành (Kernel) ngay từ lúc máy tính vừa mới bắt đầu khởi động để ép nó chạy theo cách mà mình muốn. Bạn cứ tưởng tượng boot-args nó giống như là mấy cái ghi chú bạn viết thêm khi đi đặt món ăn vậy đó. Ví dụ bạn dặn chủ quán: "Cho 1 tô bún bò, nhưng mà hông hành, nhiều ớt, cho thêm móng giò". Thì ở đây, macOS là tô bún, còn mấy cái -v, alcid=1, debug=0x100 chính là mấy cái yêu cầu thêm của bạn để máy tính chạy đúng ý mình trên phần cứng hông phải của Apple.
Tại sao nó quan trọng và được đề cập rất nhiều?
Dọn đường cho hệ thống: Nó giúp mở hoặc tắt các tính năng nhất định, đôi khi máy Mac thiệt không cần nhưng rất cần thiết khi chạy trên PC (ví dụ: ép máy nhận card âm thanh, bỏ qua kiểm tra một số lỗi phần cứng).
Gỡ lỗi (Troubleshooting): Khi máy bị treo, chính các tham số này (như -v) sẽ giúp hiện ra các dòng chữ trắng nền đen để mình biết máy đang "kẹt" ở đâu mà còn biết đường sửa.
Tinh chỉnh linh hoạt: Thay vì phải sửa code sâu bên trong hệ thống (rất nguy hiểm), mình chỉ cần thêm một dòng chữ ngắn gọn vào config.plist là xong.
UEFI (Giao diện Firmware mở rộng thống nhất) Là bản nâng cấp lớn của BIOS, UEFI giờ đóng vai trò là cái hệ điều hành nhỏ gọn (thay vì là vi chương trình đơn giản) đóng vai trò như bộ não điều khiển mọi hoạt động sơ khai nhất trước khi chạy hệ điều hành. Nó còn là một bộ quy chuẩn hiện đại giúp cho phần cứng và hệ điều hành (như macOS) có thể "nói chung một thứ tiếng". UEFI thay thế cho chuẩn BIOS cũ kỹ, giúp máy tính thông minh hơn, khởi động nhanh hơn và hỗ trợ các tính năng bảo mật xịn sò. UEFI cũng hỗ trợ chẩn đoán và sửa chữa máy tính từ xa, ngay cả khi chưa cài hệ điều hành. (nguồn: Wikipedia)
Trình điều khiển UEFI Giống như mọi hệ điều hành khác, UEFI cũng có driver (trình điều khiển) và tụi nó được nạp vào Clover hoặc OpenCore. Nhiệm vụ của tụi nó là để nạp thiết bị hoặc thực hiện tác vụ khác phục vụ cho việc khởi động hệ điều hành, như khởi tạo ổ cứng HFS của Apple bằng HfsPlus.efi (UEFI của tất cả các loại máy tính không mang nhãn hiệu Apple không có Driver này nên nó không hiểu định dạng ổ cứng của Apple), vá (patch) tệp boot.efi của macOS và v.v mây mây. Bạn có thể thấy tụi nó dưới tên Clover Drivers hoặc OpenCore Drivers, tất cả đều là UEFI drivers (trình điều khiển UEFI). (Lưu ý: chỉ dùng driver dành riêng cho boot manager đó thôi nhé. Muốn biết thêm thông tin vui lòng xem tại trang Chuyển đổi từ Clover (opens new window)).

Thuật ngữ Mô tả
EFI Nó có thể ám chỉ 2 thứ:
- Firmware của máy Mac, cũng giống UEFI thôi, nhưng được độ chế lại rất nhiều cho riêng máy Mac, nên không được "Universal" (phổ quát) cho lắm (Tức là không tuân theo tiêu chuẩn chung của toàn ngành máy tính Windows đang sử dụng mà đi một mình một ngựa á).
- Phân vùng trên ổ cứng lưu trữ phần mềm đặc biệt để UEFI đọc nhằm khởi động hệ điều hành (như bootloader của Windows) hoặc Ứng dụng UEFI (như OpenCore), nó được định dạng FAT32 và có loại ID là EF00 (hệ thập lục phân). Nó có thể tên là ESP hoặc SYSTEM, thường nặng từ 100MB đến 400MB nhưng kích thước không nói lên điều gì đâu. Windows thì yêu cầu phân vùng EFI có dung lượng 100MB trở lên, với macOS thì là 200MB trở lên.
MBR MBR (Bản ghi khởi động chính) là tiêu chuẩn cho bố cục bảng phân vùng đời đầu, nó chứa boot sector (khu vực khởi động) đặc biệt nằm ở ngay phần đầu tiên của đoạn dữ liệu bên trong các thiết bị lưu trữ như ổ cứng hoặc thiết bị lưu trữ ngoài sử dụng cho hệ thống chuẩn IBM PC. MBR ra đời năm 1983 cùng với PC DOS 2.0. MBR chứa thông tin về cách các phân vùng logic (chứa file hệ thống) được tổ chức trên ổ đó. MBR cũng chứa mã thực thi để hoạt động như một bộ nạp cho hệ điều hành đã cài—thường bằng cách chuyển quyền điều khiển cho giai đoạn 2 của bộ nạp, hoặc kết hợp với bản ghi khởi động phân vùng (VBR). Mã MBR này thường được gọi là boot loader (nguồn: Wikipedia). Định dạng này sử dụng cho các máy chạy BIOS/Legacy cũ. MBR chỉ hỗ trợ tối đa 2 TiB dung lượng và tối đa 4 phân vùng chính (primary partitions).
GPT GPT (Bảng phân vùng GUID) là tiêu chuẩn cho bố cục bảng phân vùng của thiết bị lưu trữ vật lý ngày nay, như ổ cứng HDD hay SSD, sử dụng các định danh duy nhất toàn cầu (GUIDs). Là một phần của chuẩn UEFI (được đề xuất để thay thế PC BIOS), tuy nhiên nó vẫn được sử dụng cho một số hệ thống BIOS, do giới hạn của MBR vốn chỉ dùng 32 bit cho địa chỉ khối logic (LBA) của các sector đĩa 512-byte truyền thống (nguồn: Wikipedia). Đây là định dạng ổ bạn nên xài trên hệ thống UEFI.

Thuật ngữ Mô tả
EC Embedded Controller (Bộ điều khiển nhúng). Nó có chức năng giao tiếp giữa bo mạch chủ và các thiết bị nhúng ngoại vi như phím nóng trên bàn phím, cổng kết nối, hoặc báo dung lượng pin.
PLUG Cho phép XCPM, bộ phận điều phối điện năng được tích hợp sẵn trong nhân XNU của Apple (cột sống của macOS) hoạt động để kiểm soát CPU tổng thể tốt hơn. Chỉ hỗ trợ trên kiến trúc Haswell và mới hơn. Với Ivy Bridge và cũ hơn sử dụng kext mang tên AppleIntelCPUPowerManagement và cần sử dụng SSDT khác thay thế để kích hoạt (sẽ được đề cập sau).
AWAC ACPI Wake Alarm Counter Clock, đồng hồ nội bộ của bo mạch. Khác với RTC (Đồng hồ thời gian thực), macOS không thể giao tiếp với đồng hồ AWAC, nên cái này cần phải vá để macOS giao tiếp được với đồng hồ của bo mạch chủ. Giải thích thêm một chút thì macOS chỉ sử dụng RTC còn đa số bo mạch chủ PC đều sử dụng AWAC (2 cái tương khắc nhau).
PMC Power Management Controller (Bộ điều khiển điều phối điện năng), trên các mainboard B360, B365, H310, H370, Z390 mấy ông OEM (nhà sản xuất) hay quên béng mất việc ánh xạ (mapping) vùng này nên cần SSDT-PMC để tránh lỗi page-faults (lỗi phân trang bộ nhớ).
XOSI/_OSI _OSI được sử dụng để xác định hệ điều hành nào đang được khởi động, đổi tên thành XOSI cho phép chúng ta "lừa" phần cứng nghĩ rằng chúng ta đang boot một hệ điều hành khác. Cụ thể là bên trong SSDT có hàm để kiểm tra hệ điều hành đang được khởi động từ đó vô hiệu hóa hay kích hoạt phần cứng/thiết bị đó.
VD: Hàm cho phép kích hoạt Bàn rê chuột trên Windows nhưng khi macOS đọc vô nó sẽ bỏ qua phần này và Bàn rê chuột của bạn sẽ không sử dụng được dù đã có kext bổ sung. Đây là biện pháp củ chuối của các nhà sản xuất máy tính (mà họ cho là bảo vệ người dùng) để ngăn chặn bạn cài đặt hệ điều hành lạ hoắc lên máy tính của mình có thể khiến máy không thể sử dụng bình thường. (Dân chuyên nghiệp) không ai quan tâm đâu.
HPET High Precision Event Timer (Bộ đếm thời gian sự kiện có độ chính xác cao), hệ điều hành xài cái này để xác định thời điểm giao tiếp/ngắt thiết bị (IRQ). macOS cực kỳ kén chọn trong việc điều phối thiết bị, nó yêu cầu độ chính xác cao nên đôi khi chúng ta cần vá HPET để thỏa mãn nó. Đại loại là các ông OEM lập trình phần này quá ẩu, viết sơ sài để đẩy cho Windows xử lý là chính (vì cái gì nó cũng chạy được mà). Trong một số trường hợp nếu không vá cái này thì một số phần cứng sẽ không chạy được (thường gặp nhất là chip giải mã âm thanh) vì macOS không giao tiếp tốt với HPET của PC thường.
RHUB Root USB Hub (Hub USB gốc), nơi các cổng USB được mô tả, định nghĩa để hệ điều hành nắm và quản lý. Lại là một vấn đề do các OEM lập trình rất ẩu, viết sơ sài để đẩy cho Windows xử lý, tự nắm bắt cổng là chính nên phần này họ không định nghĩa rõ ràng các cổng kết nối, hoặc thiếu các định nghĩa trong bảng mô tả phần cứng dẫn tới cổng USB có thể đình công không chạy trong macOS.
IMEI Intel Management Engine Interface (Giao diện công cụ quản lý của Intel), xử lý mấy việc lặt vặt. Trong macOS, Apple dựa vào IMEI để tăng tốc đồ họa (acceleration) cho card màn hình onboard của Intel. Nếu phần cứng của bạn có ID lạ hoắc dạng như dùng chipset series 7 ghép với CPU Sandy Bridge, macOS sẽ bị "ngáo", không tìm thấy IMEI hợp lệ để kích hoạt chức năng tăng tốc phần cứng cho GPU.
Tăng tốc đồ họa là thuật ngữ mà hệ điều hành có thể khai thác phần cứng chuyên dụng (trong trường hợp này là card màn hình), để xử lý các tác vụ đồ họa nặng thay vì để CPU làm tất cả. Có tăng tốc đồ họa giúp máy tính chạy nhanh hơn, mượt mà hơn, giảm tải cho CPU và tiết kiệm điện, đặc biệt hữu ích cho game, video 4K, chỉnh sửa video và các ứng dụng thiết kế 3D. Không có tăng tốc đồ họa đồng nghĩa đa số tính năng của hệ điều hành macOS sẽ không hoạt động và chạy rất giật lag; làm giảm trải nghiệm khi sử dụng.
UNC Uncore Bridge (Cầu nối Uncore), tương tự như Chip cầu Bắc (North Bridge) nó xử lý nhiều chức năng liên quan đến bộ nhớ đệm (cache). Nhiều khi các OEM có định nghĩa thiết bị này nhưng lại để nó "ngồi chơi xơi nước" (không hoạt động), macOS thì bó tay bó cẳng không xử lý được mấy ca này.
SMBus System Management Bus (Bus quản lý hệ thống), sử dụng để cho phép các thiết bị dễ dàng í ới giao tiếp với nhau. Nó giống như một 'đường dây nội bộ' siêu nhỏ trên mainboard để các linh kiện (như RAM, pin, cảm biến nhiệt độ) báo cáo tình trạng sức khỏe về cho hệ thống.
HID Human Interface Device (Thiết bị Nhập liệu) là tên gọi chung của các thiết bị giúp bạn điều khiển máy tính như Chuột, Bàn phím, Bàn di chuột (Trackpad), hay Màn hình cảm ứng. Trong bài viết này sẽ đề cập rất nhiều về từ này, bạn mỗi khi gặp thì hiểu là đang đề cập đến các thiết bị ở trên nhé.
PS2 Cách viết chính xác là PS/2, viết tắt của chữ Personal System/2, là một chuẩn kết nối do IBM phát triển năm 1987, là cổng kết nối/giao thức chuyên dụng đời Tống dành cho các thiết bị nhập liệu (HID) gồm bàn phím, chuột và bàn rê chuột trước khi có USB ra đời. Ra đời rất lâu tuy nhiên hiện nay vẫn được sử dụng nhiều trong laptop (bàn phím vì độ trễ thấp).
I2C Viết tắt của chữ Inter-Integrated Circuit (Giao thức kết nối cảm ứng). Đây là cách thức 'nói chuyện' tốc độ cao giữa bàn rê chuột và máy tính giúp việc rê chuột mượt mà và chính xác hơn. Đa số bàn rê chuột laptop đời mới hiện nay đều dùng chuẩn I2C này thay vì chuẩn PS2 cũ.
RMI Remote Memory Interface (Giao thức bộ nhớ từ xa). Đây là giao thức độc quyền của hãng Synaptics trang bị trên bàn rê chuột của hãng giúp bàn rê chuột hoạt động mượt mà và có khả năng hỗ trợ đa điểm tương tự như I2C.
NVRAM Viết tắt của chữ Non-Volatile Random Access Memory (Bộ nhớ truy cập ngẫu nhiên không mất dữ liệu khi bị cắt nguồn điện). Hãy tưởng tượng nó như một cái "Ghi chú dán trên tủ lạnh". Khi bạn tắt máy (ngắt điện), mọi thứ trong RAM sẽ biến mất, nhưng những gì ghi trên tờ giấy NVRAM này thì vẫn còn đó. Khi máy vừa khởi động lên, thứ đầu tiên nó đọc chính là tờ giấy này để biết mình cần phải làm gì tiếp theo.
Với máy Mac thì NVRAM là một phần của hệ điều hành. macOS lưu các "biến" (variables) vào đó để giao tiếp với phần cứng. Ví dụ: Khi bạn chọn "Startup Disk" trong System Settings, macOS sẽ ghi tên ổ đĩa đó vào NVRAM. Lần sau bật máy, phần cứng cứ nhìn vào đó mà khởi động thẳng vào ổ đĩa bạn đã chọn.
Còn với máy Windows: NVRAM chủ yếu phục vụ cho BIOS/UEFI. Windows không lệ thuộc vào NVRAM nhiều như Mac. Đa số các cài đặt như âm lượng, độ sáng trên Windows được lưu vào Registry trên ổ cứng, chứ không lưu vào NVRAM như Mac.