Unix là gì và tại sao nó lại quan trọng?

Hầu hết các hệ điều hành hiện nay đều có thể được nhóm lại thành hai nhánh khác nhau. Bên cạnh các hệ điều hành được phát triển dựa trên Windows NT của Microsoft, gần như mọi hệ điều hành khác đều là những “hậu duệ” của Unix.

Các hệ điều hành như Linux, Mac OS X, Android, iOS, Chrome OS hay Orbis OS được sử dụng trên PlayStation 4, hay thậm chí bất kỳ phần mềm nào đang chạy trên bộ định tuyến (router) của bạn - tất cả các hệ điều hành này thường được gọi là hệ điều hành “Unix-like” do chúng được phát triển dựa trên nền tảng là Unix.

UNIX là gì?

UNIX là một hệ điều hành được phát triển vào thập kỷ 60. Nó là một hệ thống đa nhiệm, đa người dùng và ổn định đối với các máy chủ, máy trạm hoặc các laptop. Các hệ thống UNIX cũng có một giao diện đồ họa (GUI) giống như Windows của Microsoft, tạo sự dễ dàng trong sử dụng. Tuy vậy bạn vẫn phải cần đến rất nhiều kiến thức cần thiết cho các hoạt động của UNIX, đây là các kiến thức không được mô tả bằng chương trình đồ họa, hoặc không có giao diện cửa sổ, ví dụ trong một phiên telnet.

Thiết kế của Unix còn tồn tại cho đến ngày hôm nay

Có thể bạn chưa biết, Unix đã được phát triển trong Bell Labs của AT&T vào giữa những năm 1960. Bản phát hành ban đầu của Unix có một số thuộc tính thiết kế quan trọng hiện đang tồn tại trên một số hệ điều hành phổ biến ngày nay.

Một trong số đó là triết lý Unix (Unix philosophy) trong việc tạo ra các tiện ích nhỏ, các tiện ích theo kiểu các mô-đun cùng thực hiện và hoàn thành tốt một tác vụ nào đó.

Unix cũng có một hệ thống tập tin duy nhất mà các chương trình sử dụng để giao tiếp với nhau. Đây là lý do tại sao có sự xuất hiện của thuật ngữ “everything is a file” trên Linux. Điều này bao gồm các thiết bị phần cứng và các tệp đặc biệt cung cấp thông tin hệ thống hoặc dữ liệu khác. Đó cũng là lý do tại sao chỉ có Windows có ký tự ổ đĩa, đây là một đặc điểm mà nó được thừa hưởng từ DOS. Còn trên các hệ điều hành khác, mọi tệp trên hệ thống là một phần của một hệ thống phân cấp thư mục duy nhất.

Unix

Truy tìm các hậu duệ của Unix

Cũng giống như bất kỳ những di sản lịch sử nào khác. Sau hơn 40 năm lịch sử của mình, Unix để lại cho chúng ta một kho tàng bừa bộn những đóng góp có giá trị lớn lao. Để đơn giản hóa mọi thứ, chúng ta có thể gộp các hậu duệ của Unix lại thành hai nhóm.

Một nhóm hậu duệ Unix đã được phát triển trong môi trường các học viện. Đầu tiên là BSD (Berkeley Software Distribution), một hệ điều hành giống như Unix và có mã nguồn mở. BSD còn tồn tại cho đến ngày hôm nay thông qua FreeBSD, NetBSD và OpenBSD. NeXTStep cũng là một hệ điều hành dựa trên BSD gốc, Mac OS X của Apple lại dựa trên NeXTStep và iOS dựa trên Mac OS X. Nhiều hệ điều hành khác, bao gồm cả Hệ điều hành Orbis được sử dụng trên PlayStation 4, cũng được lấy cảm hứng từ các loại hệ điều hành BSD.

Dự án GNU của Richard Stallman được bắt đầu như là một phản ứng đối với các điều khoản cấp phép phần mềm Unix ngày càng hạn chế của AT&T. MINIX là một hệ điều hành giống Unix được tạo ra cho các mục đích giáo dục, và điều thú vị là Linux lại được lấy cảm hứng từ MINIX. Linux mà chúng ta biết đến ngày nay thực sự là GNU/Linux, vì nó được tạo thành từ nhân (kernel) của Linux và rất nhiều tiện ích GNU. GNU/Linux không trực tiếp được phát triển từ BSD, nhưng nó xuất phát từ các thiết kế của Unix và có nguồn gốc từ giới học viện. Nhiều hệ điều hành ngày nay, bao gồm cả Android, Chrome OS, hệ điều hành SteamOS và một số lượng lớn các hệ điều hành phổ biến khác đều được xây dựng dựa trên Linux.

Mặt khác, cũng có các phiên bản hệ điều hành Unix thương mại. AT&T UNIX, SCO UnixWare, Sun Microsystems, HP-UX, IBM AIX, SGI IRIX - nhiều tập đoàn lớn muốn tạo và được cấp phép cho các phiên bản Unix của riêng họ. Tuy rằng những hệ điều hành này không được phổ biến cho lắm, nhưng một số vẫn còn được sử dụng cho tới ngày nay.

Các hậu duệ của Unix

Sự trỗi dậy của DOS và Windows NT.

Không ít người đã từng mong đợi rằng Unix trở thành hệ điều hành tiêu chuẩn công nghiệp toàn cầu, nhưng cuối cùng thì các máy tính DOS và "IBM PC compatible" đã bùng nổ và trở nên phổ biến hơn. DOS của Microsoft đã trở thành một trong những hệ điều hành thành công nhất. Trên thực tế, DOS được phát triển một cách độc lập chứ không hề dựa vào Unix (đó là lý do tại sao Windows sử dụng dấu gạch chéo ngược (\) cho các đường dẫn tệp trong khi các hệ điều hành khác khác sử dụng dấu gạch chéo chuyển tiếp (/)). Các phiên bản sau này của Windows đã thừa kế lại DOS, giống như BSD, Linux, Mac OS X và các hệ điều hành hậu duệ khác được thừa hưởng nhiều khía cạnh về mặt thiết kế của Unix.

Windows 3.1, Windows 95, Windows 98 và Windows ME đều được phát triển dựa trên DOS. Microsoft đã đi đúng hướng khi dồn lực vào phát triển một hệ điều hành hiện đại và ổn định hơn tại thời điểm đó, họ đặt tên là Windows NT, viết tắt của “Windows New Technology”. Windows NT cuối cùng đã tìm được đường tới tay người dùng máy tính phổ thông (Windows XP), nhưng nó cũng đã có sẵn cho các tập đoàn sử dụng (Windows 2000 và Windows NT trước đó).

Tất cả các hệ điều hành của Microsoft ngày nay đều được xây dựng dựa trên kernel của Windows NT. Windows 7, Windows 8, Windows RT, Windows Phone 8, Windows Server và hệ điều hành của Xbox One đều sử dụng kernel của Windows NT. Không giống như hầu hết các hệ điều hành khác, Windows NT không được phát triển như một hệ điều hành “Unix-like”.

Để duy trì tính tương thích với DOS và phần mềm Windows cũ, Windows NT được thừa hưởng nhiều quy ước từ DOS như ký tự ổ đĩa, dấu gạch chéo ngược cho đường dẫn tệp và dấu gạch chéo chuyển tiếp cho các chuyển đổi dòng lệnh.

Windows 2000

Tại sao Unix lại quan trọng?

Bạn đã bao giờ để ý đến hệ thống tệp hoặc terminal của Mac OS X và nhận thấy mức độ tương đồng của hệ điều hành OS X với Linux cũng như sự khác biệt của chúng với Windows như thế nào? Vâng, đây là lý do tại sao cả Mac OSX và Linux đều là hệ điều “Unix-like”.

Biết được chút thông tin về lịch sử này giúp bạn hiểu thêm về các hệ điều hành “Unix-like” là gì, và tại sao rất nhiều hệ điều hành có vẻ gì đó giống nhau trong khi Windows lại mang một phong cách riêng. Điều này giải thích tại sao khi dùng terminal trên Mac OS X chúng ta sẽ cảm thấy quen thuộc như giống với một geek Linux, trong khi Command Prompt và PowerShell trên Windows lại rất khác so với các môi trường dòng lệnh trên.

Xem thêm :

Thứ Sáu, 09/11/2018 07:55
52 👨364