SSD Nodes Learn Hosting plans →
Hướng dẫn Matt ConnorBởi Matt Connor · Cập nhật ngày 2026-08-25

Lịch sử Unix và Linux từ 1969 đến nay

Tìm hiểu Unix ra đời tại Bell Labs năm 1969, AT&T cấp phép mã nguồn ra sao, BSD và vụ kiện năm 1992 đã đưa server sang Linux thay vì BSD như thế nào.

Lịch sử Unix và Linux, nói ngắn gọn

Lịch sử Unix và Linux là một cuộc tranh luận kéo dài về việc ai được phép sở hữu mã nguồn. Unix bắt đầu tại Bell Labs vào năm 1969. Linux bắt đầu tại Helsinki vào năm 1991 và không dùng bất kỳ mã nguồn gốc nào của Unix. Thứ được truyền từ Unix sang Linux là một thiết kế và một tập hợp các giao diện đã được công bố: file, process, pipe và shell dùng để kết hợp các chương trình nhỏ. Unix lan rộng trong các trường đại học vào thập niên 1970 vì một thỏa thuận chống độc quyền năm 1956 cấm AT&T (American Telephone and Telegraph) bán software, nên Bell Labs cấp phép mã nguồn với chi phí thấp. Unix có mặt ở khắp nơi nhưng không thuộc về ai bên ngoài AT&T, và các cuộc tranh chấp về licensing sau đó đã quyết định hệ thống Unix-like miễn phí nào sẽ chạy trên server rack của bạn.

1969: một chiếc PDP-7 dự phòng và những ý tưởng còn tồn tại

Bell Labs rút khỏi dự án Multics vào năm 1969. Multics (multiplexed information and computing service) là một hệ thống time-sharing lớn được xây dựng cùng MIT và General Electric. Labs quyết định hệ thống này quá lớn để hoàn thành. Ken Thompson giữ lại những ý tưởng ông thấy hữu ích và bỏ phần còn lại, rồi viết một hệ thống time-sharing nhỏ trên một máy tính mini PDP-7 bị loại bỏ. Dennis Ritchie tham gia cùng ông. Tên Unix là một trò đùa nhằm châm biếm Multics.

Năm 1970, hệ thống được chuyển sang một PDP-11 mà Labs mua cho các nhân viên đánh máy của phòng bằng sáng chế, vì việc tài trợ một công cụ xử lý văn bản dễ hơn tài trợ một operating system. Máy đó có 24 KB core memory, được chia cho system và các user program. Sự tình cờ trong việc cấp kinh phí này là lý do manual Unix đầu tiên, đề ngày tháng 11 năm 1971, là một tập tài liệu đã format. Đây cũng là lý do bạn vẫn gõ man 5 crontab. Các số section trong manual đó chính là các số section trong manual của bạn.

Hai thay đổi đã khiến thiết kế này tồn tại lâu dài. Pipe xuất hiện trong Version 3 năm 1973, vì Doug McIlroy đã nhiều năm lập luận rằng các program phải có thể nối đầu-cuối với nhau. Thompson thêm operator | để output của một program trở thành input của program tiếp theo. Sau đó, Version 4 vào cuối năm 1973 được viết lại bằng C. Một operating system được viết bằng ngôn ngữ portable có thể chuyển sang phần cứng mà nó không được viết riêng cho, và đó là lý do Unix tồn tại lâu hơn mọi máy mà nó khởi đầu trên đó.

Unix lan rộng như thế nào: AT&T không được phép bán nó

Một thỏa thuận dàn xếp năm 1956 đã khép lại vụ kiện chống độc quyền đối với AT&T. AT&T giữ độc quyền điện thoại và chấp nhận một giới hạn để đổi lại: công ty không được kinh doanh ngoài lĩnh vực viễn thông. Software là một trong những lĩnh vực đó. Vì vậy, khi các trường đại học yêu cầu Unix, Bell Labs không thể bán nó như một sản phẩm. Bell Labs cấp phép source với một khoản phí tượng trưng, không hỗ trợ và không bảo hành.

Tác động rất lớn và không đúng với dự tính của AT&T. Sixth Edition Unix, được phát hành năm 1975, đến được hàng trăm khoa khoa học máy tính cùng toàn bộ source. John Lions tại University of New South Wales đã in source của kernel đó kèm phần chú giải theo từng dòng và dùng nó để giảng dạy. Cả một thế hệ học cách hệ điều hành hoạt động bằng cách đọc một hệ điều hành thực tế.

Sau đó, license thay đổi. License của Seventh Edition năm 1979 cấm sử dụng source trong lớp học, nên phần chú giải của Lions được chuyền tay dưới dạng các bản photocopy của những bản photocopy khác. Đây là bản chất của toàn bộ câu chuyện. Unix có mặt ở khắp nơi nhưng đồng thời không tự do, vì vậy mọi cải tiến mà một người tạo ra đều là cải tiến cho code độc quyền của người khác.

Berkeley: những phần của Unix mà bạn thực sự gõ

Ken Thompson làm việc tại University of California, Berkeley trong năm học 1975 đến 1976, rồi để lại một nhóm Unix rất năng động. Computer Systems Research Group (CSRG) của Berkeley phát hành các tape chứa những cải tiến do nhóm thực hiện, và các tape đó trở thành BSD, Berkeley Software Distribution. Bill Joy viết phần lớn công việc ban đầu: 1BSD năm 1978, sau đó là 2BSD năm 1979, có kèm editor vi và C shell.

C shell là nguồn gốc của !! và !$. Bash kế thừa cú pháp đó. Vì vậy, hơn bốn mươi năm sau, việc mở rộng history của bash vẫn khiến người dùng gõ dấu chấm than trong double quotes gặp lỗi bất ngờ.

DARPA (Defense Advanced Research Projects Agency của Hoa Kỳ) sau đó tài trợ cho Berkeley để đưa các protocol Internet mới vào Unix. 4.2BSD, được phát hành vào tháng 8 năm 1983, tích hợp TCP/IP (transmission control protocol over internet protocol) và socket application programming interface. Mọi network service trên server của bạn đến nay vẫn gọi socket(), bind(), listen() và accept() theo đúng thứ tự đó, vì Berkeley đã chọn các tên này vào năm 1983.

Một chi tiết đã quyết định thập kỷ tiếp theo. Một BSD tape không phải là một hệ thống hoàn chỉnh. Nó là một tập hợp phần bổ sung cho Unix của AT&T, và bạn cần có license source hợp lệ của AT&T để chạy nó hợp pháp. Berkeley thay thế các phần của AT&T bằng code riêng trong nhiều năm, từng file một. Việc thay thế đó có thực sự hoàn chỉnh hay không là vấn đề sau này được đưa ra tòa.

1984: tan rã, sau đó là các cuộc chiến Unix

Bell System bị giải thể vào ngày 1 tháng 1 năm 1984. Sắc lệnh đồng thuận từng ngăn AT&T kinh doanh phần mềm cũng chấm dứt theo. AT&T giờ có thể bán Unix như một sản phẩm, và họ đã làm vậy. License mã nguồn thương mại trở nên đắt đỏ, nên Unix không còn là thứ rẻ tiền mà một trường đại học có thể phát cho sinh viên.

Các vendor đã fork Unix từ trước đó. Mỗi công ty sản xuất workstation đều phát hành Unix riêng trên phần cứng riêng. Vì vậy, đến cuối thập niên 1980, một chương trình viết cho hệ thống này phải được port sang hệ thống khác. Năm 1988, ngành công nghiệp chia thành hai phe tiêu chuẩn: Open Software Foundation ở một bên và Unix International ở bên kia. Hai phe mất nhiều năm phát hành các hệ thống không tương thích trong khi tranh luận xem Unix của bên nào mới là Unix thực sự.

POSIX (portable operating system interface) ra đời từ mớ hỗn độn đó. IEEE 1003.1 được công bố vào năm 1988. Tiêu chuẩn này ghi rõ một hệ thống giống Unix phải làm gì: các system call, hành vi của shell, các tiện ích tiêu chuẩn và interface của thư viện C. Điều này quan trọng hơn vẻ bề ngoài, vì tiêu chuẩn là một đặc tả và không license nào bao phủ nó. Ba năm sau, một sinh viên đã viết kernel dựa trên các tài liệu đó.

Minix và khoảng trống mà nó để lại

Andrew Tanenbaum phát hành Minix vào năm 1987 làm hệ điều hành dùng để giảng dạy cho giáo trình về hệ điều hành của ông. Minix là một hệ thống nhỏ, tương tự Unix; mã nguồn đi kèm với sách và nó chạy được trên những chiếc PC giá rẻ mà sinh viên thực sự sở hữu. Sinh viên có thể đọc mã nguồn này trong lớp học một cách hợp pháp, trong khi Seventh Edition Unix thì không còn như vậy.

Minix được cố ý giữ ở quy mô nhỏ vì nó phải có thể giải thích trong một cuốn sách. Tanenbaum cũng từ chối các bản vá có thể biến nó thành một hệ thống production. License của Minix cũng không phải license free: bạn phải mua sách, và việc phân phối lại Minix đã sửa đổi không phải là quyết định bạn được tự đưa ra. Vì vậy, đến năm 1991, một sinh viên có thể đọc một kernel tương tự Unix đang hoạt động nhưng không thể xây dựng thứ gì có thể tồn tại lâu dài trên đó.

GNU có mọi thứ, ngoại trừ kernel

Richard Stallman công bố dự án GNU vào tháng 9 năm 1983, với mục tiêu xây dựng một hệ thống hoàn chỉnh tương tự Unix và hoàn toàn tự do. Đến năm 1991, GNU đã tạo ra hầu hết các thành phần bao quanh kernel: compiler GCC, thư viện C của GNU, các binary utilities và bash — shell do Brian Fox viết vào năm 1989, cũng là shell mà server của bạn vẫn khởi chạy cho bạn. Kernel GNU, Hurd, là thành phần liên tục bị trì hoãn.

GNU General Public License phiên bản 2 được công bố vào tháng 6 năm 1991. Quy tắc của giấy phép này rất ngắn gọn. Bạn được phép sử dụng và sửa đổi code. Nếu phân phối kết quả, bạn phải phân phối source theo cùng các điều khoản. Quy tắc đó sẽ là điểm then chốt của câu chuyện này sau 2 phần nữa.

Tháng 8 năm 1991: bài đăng trên comp.os.minix

Ngày 25 tháng 8 năm 1991, một sinh viên ở Helsinki đã đăng bài lên nhóm Usenet comp.os.minix:

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones.

Version 0.01 được phát hành vào tháng 9 năm 1991. Nó không dùng chung code với Unix hay Minix. Đây là một kernel mới cho 386, được phát triển trên một máy chạy Minix, viết theo các interface POSIX và kết hợp với những công cụ GNU đã tồn tại. Tháng 1 năm 1992, Tanenbaum nói với Torvalds rằng monolithic kernel là một thiết kế lỗi thời. Nhận xét đó có cơ sở về mặt thiết kế, còn Torvalds đang trả lời một câu hỏi khác: thứ gì chạy tốt trên chiếc máy tính giá rẻ duy nhất mà một sinh viên sở hữu.

Tháng 2 năm 1992, version 0.12 được cấp lại theo GPL. Sau này Torvalds gọi đó là quyết định đúng đắn nhất của mình. License Linux ban đầu cấm mọi giao dịch tiền bạc, điều này sẽ ngăn các nhà cung cấp CD và những công ty hỗ trợ xuất hiện sau đó. GPL cho phép hoạt động thương mại, đồng thời buộc mọi thay đổi được phân phối phải được đưa trở lại cùng một shared tree.

Vụ kiện: tháng 4/1992 đến tháng 2/1994

Berkeley phát hành Networking Release 2 (Net/2) vào tháng 6/1991: gần như một hệ thống BSD hoàn chỉnh, đã loại bỏ các file có nguồn gốc từ AT&T. Sáu file kernel bị thiếu. Bill và Lynne Jolitz viết các phần thay thế và phát hành 386BSD 0.0 vào tháng 3/1992, sau đó là 386BSD 0.1 vào ngày 14 tháng 7/1992. Khi đó đã có một BSD miễn phí, hoàn chỉnh và trưởng thành cho 386, đúng lúc Linux vẫn chỉ là một kernel phục vụ mục đích nghiên cứu. Berkeley Software Design, Inc. (BSDi) bán một bản build thương mại có hỗ trợ, BSD/386, và quảng cáo sản phẩm bằng số điện thoại 1-800-ITS-UNIX.

Tháng 4/1992, Unix System Laboratories (USL), công ty con của AT&T khi đó sở hữu Unix, kiện BSDi tại tòa án liên bang ở New Jersey về bí mật thương mại và trademark Unix. Sau đó đơn kiện được sửa đổi để bổ sung Regents of the University of California. Năm 1993, University kiện ngược tại California, lập luận rằng AT&T đã phát hành code của Berkeley bên trong System V mà không ghi công theo yêu cầu của license do chính AT&T ban hành.

Cốt lõi pháp lý của vụ việc bắt đầu tan rã vào năm 1993. Thẩm phán Dickinson Debevoise từ chối yêu cầu áp dụng lệnh cấm sơ bộ của USL. Ông cho rằng yêu cầu bản quyền của USL đối với code 32V cũ nhiều khả năng không có hiệu lực, vì AT&T đã phân phối code đó trong nhiều năm mà không có thông báo bản quyền. Novell mua USL từ AT&T vào giữa năm 1993, và ban lãnh đạo Novell muốn kết thúc tranh chấp. Vụ kiện được dàn xếp vào tháng 2/1994. Trong khoảng 18,000 file của bản phân phối Berkeley, ba file bị gỡ bỏ và khoảng bảy mươi file được bổ sung thông báo bản quyền của USL.

Berkeley phát hành 4.4BSD-Lite vào tháng 6/1994 và bản này không còn vướng vấn đề pháp lý. FreeBSD và NetBSD, cả hai đều được thành lập năm 1993 dựa trên code Net/2 đang tranh chấp, sau đó phải xây dựng lại hệ thống trên nền tảng mới. Quá trình này chiếm phần lớn thời gian còn lại của năm 1994. Linux 1.0 được phát hành vào tháng 3/1994, giữa quá trình xây dựng lại đó.

Vì sao Linux chiếm máy chủ thay vì BSD?

Vụ kiện là câu trả lời phổ biến, và đó là một phần của câu trả lời. Từ tháng 4 năm 1992 đến tháng 2 năm 1994, bất kỳ ai chọn một Unix miễn phí cho sản phẩm đều phải cân nhắc một khiếu kiện đang được luật sư của AT&T theo đuổi, so với một kernel do một sinh viên Phần Lan viết mà không ai có thể kiện về bản quyền. Đó chính là giai đoạn web xuất hiện và các bản phân phối Linux đầu tiên ra đời: Slackware vào tháng 7 năm 1993, Debian vào tháng 8 năm 1993, sau đó là Red Hat và SUSE. Red Hat biến lợi thế khởi đầu đó thành tiêu chuẩn thương mại, và lộ trình từ Red Hat Linux đến CentOS, rồi đến Rocky và AlmaLinux giải thích vì sao một bản phân phối được thành lập năm 1993 vẫn quyết định những gì chạy trên rất nhiều máy chủ doanh nghiệp.

Bốn yếu tố khác cũng quan trọng không kém vụ kiện.

  • Phần cứng. Linux nhắm đến PC 386 phổ thông ngay từ dòng code đầu tiên, và đó là loại phần cứng trở nên rẻ. BSD tập trung chủ yếu vào VAX và workstation, còn bản port cho 386 là nỗ lực bên ngoài của hai người.
  • Giấy phép. GPL yêu cầu công ty phát hành một kernel đã sửa đổi phải công bố các thay đổi, nên những phần code do vendor phát triển được đưa trở lại cùng một cây mã nguồn. Giấy phép BSD cho phép công ty giữ các thay đổi ở chế độ riêng tư, và các công ty đã làm đúng như vậy.
  • Mô hình phát triển. Torvalds nhanh chóng merge patch từ những người xa lạ và liên tục phát hành phiên bản mới. 386BSD phát hành đủ chậm để chính người dùng của nó fork dự án hai lần trong năm 1993, tạo thành NetBSD và FreeBSD, rồi một lần nữa thành OpenBSD vào năm 1995.
  • Đà phát triển. Developer thường đến nơi đã có các developer khác, và driver được viết cho system có nhiều người dùng nhất.

Hãy nhìn thẳng vào câu hỏi kỹ thuật. Năm 1994, BSD là system hoàn thiện hơn, có base nhất quán, lịch sử được ghi chép rõ ràng và code networking mà Linux phải mất nhiều năm để bắt kịp. Không ai chọn Linux năm 1994 vì nó tốt hơn. Họ chọn nó vì nó có sẵn, không bị ràng buộc pháp lý, chạy được trên phần cứng họ đã sở hữu và cải tiến mỗi tuần.

BSD đã giữ lại được gì và hiện chạy ở đâu

BSD vẫn tiếp tục phát triển. Điều nó mất đi là vị trí mặc định. Bằng chứng rõ nhất nằm ngay trên máy của bạn: dự án OpenBSD đã viết OpenSSH vào năm 1999, và ngày nay OpenSSH là SSH server trên gần như mọi hệ thống Linux được phát hành. Vì vậy, các thói quen về SSH key đáng học đều giống nhau trên cả hai họ hệ điều hành.

Netflix phân phối video từ các appliance FreeBSD. Junos, hệ điều hành trên các router Juniper, chạy trên nền FreeBSD. System software của PlayStation bắt nguồn từ FreeBSD. macOS và iOS của Apple tích hợp mã BSD trong kernel và trên toàn bộ userland. Giấy phép linh hoạt từng khiến BSD mất cây server dùng chung lại đưa mã BSD vào rất nhiều phần cứng không hề nhắc đến BSD.

Nếu bạn đang lựa chọn hiện nay, câu hỏi mang tính thực tế hơn là lịch sử. So sánh Linux và FreeBSD khi làm server chủ yếu xoay quanh ZFS, jail, ports tree và mức độ phần mềm bên thứ ba giả định bên dưới là Linux. FreeBSD 15 làm server là một hệ thống hiện hành được duy trì, không phải hiện vật trong bảo tàng. Còn Linux so với Windows Server là một câu hỏi riêng, với câu trả lời phụ thuộc vào application stack của bạn.

Thiết kế từ năm 1969 mà bạn vẫn dùng trên VPS hiện nay

Mỗi thành phần dưới đây đều lâu đời hơn phần lớn những người đang sử dụng nó.

  • Pipe. who | wc -l đếm số người dùng đã đăng nhập vì Version 3 Unix vào năm 1973 cho phép output của một chương trình trở thành input của chương trình khác.
  • Các section của manual. man 1 ls và man 5 crontab dùng hệ thống đánh số từ manual tháng 11 năm 1971.
  • Cách tách filesystem. /usr tồn tại vì root disk trên chiếc PDP-11 đó bị đầy vào năm 1971, nên các nhà phát triển đã chuyển file sang disk pack thứ hai. Các distribution sau này đã bỏ cách tách đó: chạy ls -ld /bin trên Ubuntu 24.04 hoặc Debian 13 sẽ trả về symbolic link đến usr/bin.
  • Các socket call. Berkeley viết chúng cho 4.2BSD vào năm 1983, và mọi network daemon vẫn sử dụng chúng.
  • POSIX. Một script #!/bin/sh được viết theo standard sẽ chạy không thay đổi trên Linux, FreeBSD, macOS và Solaris, vì standard này là thứ mà tất cả các hệ điều hành đó đã triển khai.

Một phần kế thừa đã không tồn tại sau quá trình chuyển đổi: boot sequence bằng shell script mà Linux kế thừa từ System V hiện đã biến mất khỏi gần như mọi distribution, và lập luận thay thế nó bằng systemd là tranh luận mới nhất về việc một hệ thống kiểu Unix nên hoạt động như thế nào.

Khi thuê một virtual private server và đăng nhập, bạn đang nhập lệnh qua một interface được thiết kế cho một máy chỉ có 24 KB memory và có cả một bộ phận bằng sáng chế phải phục vụ. Interface này tồn tại vì nó đã được công bố, tranh luận, standardise, rồi được những người chưa bao giờ được phép xem mã nguồn ban đầu triển khai lại từ đầu.

FAQ

Linux có chứa mã Unix nguyên bản nào không?

Không. Linus Torvalds viết kernel từ đầu từ năm 1991, nhắm đến các interface POSIX thay vì dùng mã nguồn AT&T. Linux kế thừa Unix ở thiết kế và interface đã được công bố: file, process, pipe và tên system call. Các công cụ GNU chạy quanh kernel cũng được viết từ đầu, bắt đầu từ năm 1983. Tính độc lập đó là lý do vụ kiện của AT&T liên quan đến mã BSD hoàn toàn không ảnh hưởng đến Linux.

Vụ kiện của AT&T chống lại BSD diễn ra khi nào, và nó có làm BSD biến mất không?

USL, công ty con của AT&T sở hữu Unix, kiện BSDi vào tháng 4 năm 1992, sau đó bổ sung University of California vào danh sách bị đơn. Năm 1993, thẩm phán từ chối lệnh cấm sơ bộ vì cho rằng khiếu nại bản quyền đối với mã 32V cũ nhiều khả năng không có hiệu lực. Novell mua USL vào giữa năm 1993 và dàn xếp vụ kiện vào tháng 2 năm 1994. Ba file trong khoảng 18,000 file bị gỡ bỏ, và khoảng seventy file được thêm thông báo bản quyền mới. Vụ kiện không làm BSD biến mất. Nó làm hoạt động áp dụng BSD đóng băng trong hai năm, đúng lúc thế giới đang chọn một Unix tự do.

Vì sao Linux chiếm lĩnh server thay vì BSD?

Tính chắc chắn về pháp lý là một lý do: trong năm 1992 và 1993, Linux không vướng kiện tụng còn BSD thì có. Các lý do khác gồm việc 386 là target ngay từ ngày đầu, GPL đưa các thay đổi của vendor trở lại một tree duy nhất, và quy trình merge đủ nhanh để giữ contributor quan tâm trong khi 386BSD bị fork thành ba hướng. Ưu thế kỹ thuật không phải yếu tố quyết định, vì năm 1994 BSD là hệ thống hoàn thiện hơn.

FreeBSD ngày nay còn đáng chạy không?

Có, vì những lý do cụ thể: ZFS được tích hợp với base system, jail là mô hình isolation trưởng thành, base system được phát triển như một khối thống nhất và tài liệu luôn chính xác. Cái giá phải trả là công sức xử lý compatibility, vì phần lớn phần mềm server của bên thứ ba, công cụ container và hỗ trợ từ vendor đều giả định Linux. Hãy chọn FreeBSD khi khả năng xử lý storage và networking của nó xứng đáng với cái giá đó, thay vì chọn chỉ vì trung thành với lineage cũ.