Bước tới nội dung

MINIX

Bách khoa toàn thư mở Wikipedia
MINIX
Màn hìnhkhởi độngMINIX 3.1.8
Nhà phát triểnAndrew S. Tanenbaum
Được viết bằngC,C++,Tcl,FORTRAN,Modula-2,Pascal,Perl,Python
Họ hệ điều hànhTương tự Unix
Tình trạng
hoạt động
Current
Kiểu mã nguồnNguồn mở
Phát hành
lần đầu
1987;37 năm trước(1987)
Phiên bản
mới nhất
3.4.0 / tháng 1 năm 2016;8 năm trước(2016-01)
Đối tượng
tiếp thị
Giáo viên(v1, v2)
Hệ thống nhúng(v3)
Có hiệu lực
trong
Tiếng Anh
Nền tảngPC,PC/AT,PS/2,Motorola 68000,SPARC,Atari ST,Commodore Amiga,Macintosh,SPARCstation,I386,NS32532,ARM,INMOStransputer
LoạinhânMicrokernel
Giấy phépBan đầuđộc quyền,Giấy phép BSDtừ 2000
Website
chính thức
minix3.org

MINIX(từ "mini-Unix") là mộthệ điều hànhmáy tínhtương tự Unixdựa trên kiến trúc microkernel và tuân theo chuẩnPOSIX(từ phiên bản 2.0),[1][2]

Phiên bản đầu của MINIX được tạo ra bởiAndrew S. Tanenbaumcho mục đích giáo dục. Bắt đầu với MINIX 3, mục tiêu chính của sự phát triển dịch chuyển từ sự giáo dục sang việc tạo ra một hệ điều hành microkernel độ tin cậy cao và tự sửa lỗi. MINIX bây giờ phát triển như làphần mềm nguồn mở.

MINIX phát hành lần đầu năm 1987, với mã nguồn hoàn chỉnh của nó tạo sẵn cho các trường đại học để học tập trong khóa học và nghiên cứu. Nó trở thànhphần mềm tự do mã nguồn mởtừ khi nó chuyển đổi giấy phép sangBSD licensetháng 4/2000.[3]

Triển khai

[sửa|sửa mã nguồn]

Andrew S. Tanenbaum đã tạo ra MINIX tạiVrije UniversiteitAmsterdamđể minh hoạ cho các nguyên lý truyền đạt trong cuốnsách giáo khoacủa mình,Operating Systems: Design and Implementation(1987).

Một giản lược 12.000 dòng lệnhCcủakernel,quản lý bộ nhớ,vàfile systemcủa MINIX 1.0 đã được in trong cuốn sách. Prentice-Hall cũng phát hành mã nguồn MINIX và bản nhị phân trênđĩa mềmvới một hướng dẫn tham khảo. MINIX 1 có cáclời gọi hệ thốngtương thích vớiSeventh Edition Unix.[4]

Tanenbaum ban đầu phát triển MINIX cho các máy vi tínhIBM PCvà IBM PC/AT có sẵn vào thòi kỳ đó

MINIX 1.5, phát hành năm 1991, bao gồm các hỗ trợ cho hệ thống MicroChannel IBM PS/2 vàportcho kiên trúcMotorola 68000SPARC,hỗ trợ các nền tảng Atari ST, CommodoreAmiga,Apple Macintosh[5]SunSPARCstation. Cũng có mọt bản port không chính thức cho cácvi xử lýtương thíchIntel 386(trong chế độ bảo vệ32-bit),National SemiconductorNS32532,ARMINMOStransputer.Meiko Scientificđã sử dụng phiên bản đầu tiên của MINIX để làm cơ sở cho hệ điều hànhMeikOScho dòngmáy tính song songdựa trên TransputerComputing Surfacecủa họ. Một phiên bản của MINIX chạy như một tiến trình sử dụng dướiSunOSSolariscũng đã có sẵn, một giả lập gọi làSMX.[6][7]

Hệ thống khởi động và dấu nhắc đăng nhập MINIX 2.0.4
Giao tiếpshellMINIX 2.0.4

Nhu cầu với các kiến trúc dựa trên 68k suy giảm, vì vậy, MINIX 2.0 phát hành năm 1997, chỉ hỗ trợ cho các kiến trúcx86Solaris-hosted SPARC. Đó là chủ đề của các ấn bản thứ hai của cuốn giáo trình Tanenbaum, cùng viết với Albert Woodhull và được phát hành trên đĩaCD-ROMđính kèm với cuốn sách. MINIX 2.0 bổ sung các quy chuẩnPOSIX.1, hỗ trợ cho các vi xử lý 386 và sau này trong chế độ 32-bit và thay thếgiao thức mạngAmoebatrong MINIX 1.5 bằngTCP/IP.Port không chính thức của MINIX 2.0.2 cho máy trạm ISICAD Prisma 700 dựa trên 68020[8]và HP Jornada 680/690PDAdựa trên Hitachi SH3[9]cũng được phát triển.

Minix-vmdlà một biến thể của MINIX 2 cho các vi xử lý tương thích IntelIA-32,tạo bởi hai nhà nghiên cứu của Vrije Universiteit, với bổ sung thêmbộ nhớ ảovà hỗ trợX Window System.

MINIX 3.2 đang chạy lệnh giám sát hệ thống "top"
MINIX 3 đang chạyX11với trình quản lý của sổ twm

MINIX 3 đã được công bố công khai ngày 24/10/2005 bởi Andrew Tanenbaum trong bài phát biểu của mình ở hội nghịACMSymposium Operating Systems Principles. Mặc dù vẫn đang là một ví dụ cho phiên bản mới của cuốn giáo trình của Tanenbaum và Woodhull, nó được thiết kế lại toàn diện và "có thể sử dụng như một hệ thống nghiêm túc trên máy tính nguồn lực hạn chế vànhúngvà cho các ứng dụng đòi hỏi độ tin cậy cao. "

MINIX 3 chỉ hỗ trợ các hệ thống kiến trúcIA-32ARM.Nó có sẵn trong một định dạngLive CDcho phép nó được sử dụng trên một máy tính mà không cần cài đặt nó trênổ đĩa cứng,và trong các phiên bản tương thích với các giả lập/ ảo hóa phần cứng, bao gồmBochs,QEMU,VMware Workstation/Fusion,VirtualBoxMicrosoft Virtual PC.

Version 3.1.5 phát hành ngày 5/11/2009. Nó bao gồmX11,emacs,vi,cc,gcc,perl,python,ash,bash,zsh,ftp,ssh,telnet,pine,và hơn 400 tiện íchUnixphổ biến khác. Với việc bổ sung X11, phiên bản này đánh dấu sự chuyển đổi từ hệ thống chỉ có văn bản. Nó cũng có thể chịu được bị treo driver. Trong nhiều trường hợp, nó có thể tự động khởi động lại trình điều khiển mà không ảnh hưởng đến tiến trình đang chạy. Bằng cách này, MINIX là tự chữa lành và có thể được sử dụng trong các ứng dụng đòi hỏi độ tin cậy cao. MINIX cũng đã hỗ trợ cho quản lýbộ nhớ ảo,khiến nó phù hợp cho việc sử dụng như hệ điều hành desktop.[10]Các ứng dụng desktop nhưFirefoxOpenOffice.orgkhông có sẵn cho MINIX 3 tuy nhiên.

Với phiên bản 3.2.0,userlandchủ yếu đã bị thay thế bởiNetBSDvà hỗ trợ từpkgsrctrở thành khả thi làm tăng các ứng dụng phần mềm có sẵn mà MINIX có thể dùng.Clangthay thế các trình biên dịch trước đó (vơi tùy chọn hỗ trợGCC), vàGDB,GNUdebugger, đã đượcport.[11]

MINIX 3.3.0, phát hành tháng 9/2014, hỗ trợ thêm ARM.

MINIX 3.4.0RC, Release Candidates có mặt thags 1/2016.[12]Tuy nhiên bản phát hành ổn định của MINIX 3.4.0 vẫn chưa được công bố.

MINIX 3 vẫn có một cộng đồng phát triển tích cực với hơn 50 người tham dự MINIXCon 2016, một hội nghị để thảo luận về lịch sử và tương lai của Minix.[13]

Quan hệ với Linux

[sửa|sửa mã nguồn]

Anh hưởng ban đầu

[sửa|sửa mã nguồn]

Các nguyên tắc thiết kế Tanenbaum áp dụng cho MINIX ảnh hưởng lớn đến quyết định thiết kếLinus Torvaldsáp dụng trong việc tạo ra cáchạt nhân Linux.[cần dẫn nguồn]Torvalds sử dụng và đánh giá cao MINIX,[14]nhưng thiết kế của ông xa rời kiến trúc MINIX theo những cách đáng kể, đáng chú ý nhất bằng cách sử dụngmonolithic kernelthay vìmicrokernel.Điều này không được chấp thuận của Tanenbaum trong cuộctranh luận Tanenbaum–Torvalds.Tanenbaum giải thích một lần nữa lý do sử dụng một microkernel tháng 5/2006..[15]

Việc phát triển nhân Linux ban đầu đã được thực hiện trên một hệ thống máy chủ MINIX, dẫn đến Linux kế thừa các tính năng khác nhau từ MINIX, ví dụ nhưMINIX file system.

Tuyên bốSamizdat

[sửa|sửa mã nguồn]

Tháng 5/2004, Kenneth Brown củaAlexis de Tocqueville Institutionđã cáo buộc rằng phần chính củahạt nhân Linuxđã được sao chép từ codebase MINIX,trong một cuốn sách có tên làSamizdat.[16]Những lời buộc tội này bị nhiều người bác bỏ - nổi bật nhất là chính Andrew Tanenbaum, người chỉ trích mạnh mẽ Kenneth Brown và phát hành một bác bỏ lâu trên trang web cá nhân của mình, cũng chỉ ra rằng Brown được tài trợ bởiMicrosoft.

Giấy phép

[sửa|sửa mã nguồn]

Tại thời điểm phát triển ban đầu của nó,giấy phépcủa MINIX được coi là khá tự do. Giấy phép của nó có giá rất nhỏ ($69) so với các hệ điều hành khác. Mặc dù Tanenbaum mong cho MINIX có thể tiếp cận dễ dàng với các sinh viên, bản phát hành của ông đã không được chuẩn bị để cung cấp tài liệu (chẳng hạn như mã nguồn) có thể sao chép một cách tự do, do đó, một giấy phép hạn chế đòi hỏi một khoản phí danh nghĩa (bao gồm giá của cuốn sách của Tanenbaum) đã được áp dụng như là một sự thỏa hiệp. Điều này ngăn chặn việc sử dụng MINIX làm cơ sở cho một hệ thống phân phối phần mềm tự do.

Khi cáchệ điều hànhtự do nguồn mởtương tự UnixnhưLinux386BSDcó mặt vào đầu những năm 1990, nhiềunhà phát triểntình nguyện đã rời bỏ MINIX chuyển sang một trong số đó. Tháng 4/2000, MINIX đã trở thànhphần mềm tự do/mã nguồn mởdưới một giấy phép phần mềm tự do,[17]Nhưng do thời gian này hệ điều hành khác đã vượt qua khả năng của nó, và nó vẫn chủ yếu là một hệ điều hành cho sinh viên và người có đam mê

  1. ^Tanenbaum, Andrew S(ngày 20 tháng 5 năm 2004).“Some Notes on the" Who wrote Linux "Kerfuffle, Release 1.5”.Bản gốclưu trữ ngày 11 tháng 9 năm 2010.Truy cập ngày 20 tháng 8 năm 2016.
  2. ^Tanenbaum, Andrew S.;Woodhull, Albert S.; Sambuc, Lionel (ngày 11 tháng 3 năm 2015).“MINIX 3 FAQ”.Bản gốclưu trữ ngày 26 tháng 4 năm 2019.Truy cập ngày 20 tháng 8 năm 2016.
  3. ^"MINIX is now available under the BSD license",Apr 9 2000, minix1.woodhull.com
  4. ^Tanenbaum, Andrew S.;Woodhull, Albert S. (1997) [1986].Operating Systems Design and Implementation.ISBN0-13-638677-6.OCLC35792209.Truy cập ngày 2 tháng 8 năm 2011.
  5. ^“MacMinix”.
  6. ^Tanenbaum, Andrew S.;Woodhull, Albert S.; Bot, Kees (ngày 22 tháng 7 năm 2005).“WELCOME TO MINIX”(TXT).Truy cập ngày 2 tháng 8 năm 2011.
  7. ^Flouris, M.“Installing and running MINIX for Solaris (SMX)”.Bản gốclưu trữ ngày 12 tháng 5 năm 2016.Truy cập ngày 2 tháng 8 năm 2011.
  8. ^Harvey, George.“Minix on the Prisma”.Bản gốclưu trữ ngày 4 tháng 2 năm 2012.Truy cập ngày 2 tháng 8 năm 2011.
  9. ^“MINIX for Jornada”.23 tháng 9 năm 2002.Bản gốclưu trữ ngày 11 tháng 12 năm 2002.Truy cập ngày 2 tháng 8 năm 2011.
  10. ^Schmidt, Ulrich (ngày 10 tháng 11 năm 2010).“New to minix”.Truy cập ngày 2 tháng 8 năm 2011.
  11. ^“MINIX Releases”.wiki.minix3.org.Bản gốclưu trữ ngày 18 tháng 1 năm 2013.Truy cập ngày 29 tháng 2 năm 2012.
  12. ^“Index of /iso/snapshot/”.download.minix3.org.Truy cập ngày 14 tháng 10 năm 2016.
  13. ^“MINIXCon 2016”.www.minix3.org.Truy cập ngày 14 tháng 10 năm 2016.
  14. ^Moody, Glyn (ngày 25 tháng 8 năm 2015).“How Linux was born, as told by Linus Torvalds himself”.Ars Technica.Truy cập ngày 25 tháng 8 năm 2015.
  15. ^Tanenbaum, Andrew S.(ngày 12 tháng 5 năm 2006).“Tanenbaum-Torvalds Debate: Part II”.Truy cập ngày 2 tháng 8 năm 2011.
  16. ^Brown, Kenneth(ngày 4 tháng 6 năm 2004).“Samizdat's critics… Brown replies”.Alexis de Tocqueville Institution.Bản gốclưu trữ ngày 22 tháng 10 năm 2004.Truy cập ngày 2 tháng 8 năm 2011.
  17. ^“The Minix licence”.Bản gốclưu trữ ngày 13 tháng 6 năm 2007.Truy cập ngày 1 tháng 3 năm 2017.

Liên kết ngoài

[sửa|sửa mã nguồn]