- Andrew S. Tanenbaum, giáo sư danh dự ngành khoa học máy tính tại VU Amsterdam, đã nhận ACM Software System Award nhờ MINIX, hệ điều hành có ảnh hưởng tới giáo dục hệ điều hành và thiết kế OS
- MINIX 1.0 là một hệ điều hành UNIX dựa trên microkernel dành cho IBM PC, được tạo ra vào năm 1987 cùng với giáo trình Operating Systems: Design and Implementation
- Phiên bản MINIX ban đầu có khoảng 12.000 dòng mã, bao gồm microkernel, trình quản lý bộ nhớ, hệ thống tệp và các tiện ích UNIX cốt lõi, và đã trở thành phần mềm mã nguồn mở tự do vào năm 2000
- MINIX đã truyền cảm hứng cho Linux, trở thành nền tảng của MeikOS và còn chạy bên trong các vi mạch được sử dụng rộng rãi
- ACM Software System Award được trao cho các hệ thống phần mềm để lại ảnh hưởng lâu dài; giải thưởng trị giá 35.000 USD và do IBM tài trợ
Được vinh danh nhờ MINIX
- Andrew S. Tanenbaum, giáo sư danh dự ngành khoa học máy tính tại VU Amsterdam, đã nhận ACM Software System Award nhờ MINIX
- MINIX đã được dùng để giảng dạy các nguyên lý hệ điều hành cho nhiều thế hệ sinh viên và cũng ảnh hưởng tới thiết kế các hệ điều hành, bao gồm Linux
Khởi đầu và cấu thành của MINIX 1.0
- Tanenbaum đã tạo ra MINIX 1.0 vào năm 1987 để đi cùng giáo trình Operating Systems: Design and Implementation
- Đây là một hệ điều hành UNIX nhỏ gọn dựa trên microkernel dành cho IBM PC, vốn rất phổ biến vào thời điểm đó
- MINIX ban đầu gồm khoảng 12.000 dòng mã và bao gồm các thành phần sau
- microkernel
- trình quản lý bộ nhớ
- hệ thống tệp
- các chương trình tiện ích UNIX cốt lõi
- MINIX đã trở thành phần mềm mã nguồn mở tự do vào năm 2000
Ảnh hưởng để lại với Linux và các hệ thống khác
- MINIX không chỉ hỗ trợ thành công của giáo trình Tanenbaum mà còn để lại ảnh hưởng rộng lớn hơn
- Nó đã truyền cảm hứng cho Linux, và Linux sau đó phát triển thành một hệ điều hành mã nguồn mở thành công, vận hành máy chủ đám mây, điện thoại di động và các thiết bị Internet vạn vật
- MINIX trở thành nền tảng cho hệ điều hành MeikOS dành cho máy tính dựa trên Meikotransputer
- MINIX cũng chạy bên trong các vi mạch được sử dụng rộng rãi
- Phiên bản tiếp theo là MINIX 3.0 hướng tới các máy tính có tài nguyên hạn chế, máy tính nhúng và các ứng dụng đòi hỏi độ tin cậy cao
Sự lan tỏa của thiết kế microkernel
- Việc Tanenbaum ủng hộ thiết kế microkernel cũng đã ảnh hưởng tới nhiều thế hệ nhà thiết kế hệ điều hành, ngoài tác động trực tiếp từ chính MINIX
Tính chất của ACM Software System Award
- ACM Software System Award được trao cho các tổ chức hoặc cá nhân đã phát triển những hệ thống phần mềm tạo ra ảnh hưởng lâu dài thông qua đóng góp mang tính khái niệm, mức độ chấp nhận thương mại, hoặc cả hai
- Giải thưởng trị giá 35.000 USD
- IBM là đơn vị tài trợ tài chính cho Software System Award
1 bình luận
Ý kiến trên Hacker News
Tôi sẽ không bao giờ quên chuyện này. Hình như là ở Stanford, tôi đang nghe bài nói chuyện của Reed Hastings, nhà sáng lập/CEO Netflix, và ông ấy đang giải thích cách mình nảy ra ý tưởng Netflix
Một sinh viên hỏi: “Khi nào ông nhận ra rằng cần chuyển sang internet?”, ông ấy trả lời: “Điều đó đã nằm trong ý tưởng ngay từ đầu. Chúng tôi biết mạng sẽ trở thành như ngày nay. Trong sách giáo khoa khoa học máy tính có câu ‘đừng bao giờ đánh giá thấp băng thông của một xe tải chở đầy băng từ đang chạy trên xa lộ’. Chúng tôi nghĩ trước hết phải giao DVD cho đến khi mạng đạt tới mức chúng tôi mong muốn”
Lúc đó tôi nghĩ “Ồ! Mình nhớ câu trích dẫn và hình minh họa đó”, nên tìm lại sách giáo khoa thì thấy nó đúng y như vậy trong sách giáo khoa về mạng của Tanenbaum. Bỏ qua giai thoại này, người này đã có ảnh hưởng rất lớn đến toàn ngành, chưa nói đến cuộc tranh luận về kernel
Đây là một giải thưởng rất xứng đáng dành cho một nhà giáo dục xuất sắc, thật đáng chúc mừng. Tôi vẫn còn giữ cuốn sách giáo khoa về hệ thống phân tán của ông ấy mà ngày xưa từng đọc, và đến giờ vẫn nghĩ rằng giá như Minix thắng thế để mô hình microkernel đó trở thành nền tảng của hệ sinh thái FOSS *nix thì tốt biết mấy
Dành cho những ai chưa biết, Andrew còn vận hành Electoral Vote [1], một blog khoa học bầu cử phân tích và dự đoán bầu cử Mỹ bằng mô hình thăm dò đại cử tri đoàn. Đây là một trong những trang về chính trị Mỹ khá tốt
[1]:https://www.electoral-vote.com/evp2024/Info/welcome.html
Chỉ cần đọc các bài hằng ngày dí dỏm mà không sa vào cảm tính đó thôi, bạn cũng có thể nắm thông tin khá tốt với tư cách một công dân Mỹ
Tôi từng học rất tệ môn kiến trúc máy tính, và có một bài giữa kỳ chỉ được 5%. Tôi đổi giáo trình khuyến nghị sang sách của Andrew, và ngoài việc đọc 2 tiếng mỗi ngày ra thì không làm gì khác, rồi được 100% ở bài cuối kỳ
Đó thật sự là một cuốn sách dễ tiếp cận đến kinh ngạc :-)
Một giải thưởng rất xứng đáng cho một nhà giáo dục xuất sắc, người đã khiến khoa học máy tính trở nên dễ tiếp cận và thú vị
Structured Computer Organization lẽ ra là một giáo trình, nhưng được viết hay đến mức tôi đọc một mạch từ đầu đến cuối như đọc truyện ly kỳ
Chẳng hạn, chắc không nhiều người nói như vậy về Knuth. Tất nhiên điều đó không có ý hạ thấp việc Knuth vĩ đại theo cách riêng của ông ấy
Tôi cho rằng các sách của AST, đặc biệt là những cuốn trực tiếp nói về Minix, nằm cùng tầng triết lý với bài luận The Night Watch
Rốt cuộc, bài luận đó nói về sự thoải mái đến từ việc quen thuộc với thực tế, chứ không phải sự vô tri do trừu tượng hóa; về sự không sợ hãi học được, chứ không phải bất lực
Chúng ta hiếm khi phải gắn oscilloscope hay logic probe vào các chân của chip xử lý để nhìn các đường dữ liệu trong lúc chạy mã cấp kernel để debug, nhưng ai trong chúng ta cũng biết ít nhất một người làm chuyện đó một cách rất bình thản. Dù vậy, việc có thêm một chút kiến thức và sự quen thuộc gần hơn với silicon, một datasheet bộ xử lý đặt gần đó, hay cảm giác không xa lạ với các chế độ phân đoạn bộ nhớ, đều giúp ích rất nhiều cho lập trình viên phần mềm
Đó là một bước nhảy mà ai cũng nên thử ít nhất một lần, vì nó có thể loại bỏ rào cản tinh thần ngăn ta hiểu mọi thứ thực sự vận hành như thế nào
Cũng không thể bỏ qua việc MINIX đang ẩn bên trong gần như mọi CPU Intel hiện đại như một phần của Management Engine. Sự thật ít được biết đến này khiến nó trở thành một trong những hệ điều hành được triển khai rộng rãi nhất
Tôi cũng tò mò không biết thực tế họ đã dùng phiên bản Minix nào. Minix v3.1 ra mắt cùng cuốn sách vào năm 2005, 3.2 vào năm 2012, và 3.3 vào năm 2014
Cuộc tranh luận giữa Linus Torvalds và Andrew Tanenbaum có thể đã là một bước ngoặt quan trọng trong lịch sử công nghệ, nhưng có vẻ MINIX đã bỏ lỡ một cơ hội rất lớn để vươn lên vị trí nổi bật hơn trong lịch sử
Nếu giả định phần lớn chúng chạy một dạng Linux hoặc hệ điều hành thời gian thực nào đó, tôi lại thắc mắc giữa MINIX và Linux thì cái nào phổ biến rộng hơn
Tôi đã đọc Operating Systems: Design and Implementation vào năm 1988 hoặc 1989, và đó là một trải nghiệm sâu sắc, thú vị
Khi ấy tôi chỉ mong có một hệ điều hành kiểu Unix nào đó được cung cấp “tự do”. Ở đây “tự do” là theo nghĩa trực giác, chứ không phải định nghĩa chính thức mà sau này tôi mới biết. Nó đã có thể là Minix
Computer Networks của ông từng là một trong những cuốn sách tôi thích nhất hồi học khoa học máy tính.
Vài năm sau, tôi dạy một khóa về hệ thống phân tán ở trường kinh doanh và đã xây dựng tài liệu dựa trên cuốn sách đó. Nhìn lại bây giờ vẫn thấy nó còn rất giá trị.
Tôi chưa từng đào sâu vào networking, nhưng kiến thức rộng từ đó vẫn còn đọng lại và nhiều lần giúp ích. Có thể nói điểm này khiến tôi khác với các kỹ sư khác.
Tuy vậy, Modern Operating Systems là một cuốn xuất sắc, và khi tôi giới thiệu cho bạn bè thời đại học, họ cũng có phản hồi tương tự.
Ở thời điểm này, tôi hơi tiếc vì nghiên cứu hệ thống dường như gần như đã chững lại.
Tôi từng nghĩ đến khoảng năm 2024 chúng ta sẽ dùng các hệ điều hành phân tán cho phép di chuyển tiến trình tự do giữa điện thoại, desktop, laptop và NAS mà không gặp mấy vấn đề.
Nếu muốn làm thứ gì đó không phải thiết bị chuyên dụng, nó phải tương thích với phần mềm hữu ích hiện có. Một chuyển đổi mô hình mới đòi hỏi phải thay đổi phần mềm hiện có sẽ có con đường thành công rất gian nan. Dù vậy, trong hệ điều hành vẫn có rất nhiều tiến bộ tiệm tiến.
Ý tưởng về một hệ điều hành phân tán thực sự hẳn đã được nhiều người nghĩ tới. Tôi khá chắc rằng các hệ điều hành hiện tại cuối cùng sẽ tiến hóa theo hướng đó. Ta đã bắt đầu thấy các mảnh ghép ở chỗ này chỗ kia.
Kể từ bài đó đã có nhiều chuyện xảy ra, nhưng tôi có cảm giác bất an rằng ông ấy đã đúng và chúng ta dường như đã ngừng nỗ lực thực sự mở rộng cũng như khám phá các khả năng. Tuy nhiên, điều này có thể liên quan nhiều hơn đến tình trạng của giới học thuật hơn là bản thân lĩnh vực.
Trước khi cơn sốt thổi phồng ập tới, các ứng dụng GPGPU kèm machine learning cũng đâu nhận được hàng loạt lời mời hội nghị. Vì quyền lực học thuật và thực tế lạnh lùng của việc chạy theo kinh phí nghiên cứu, đáng tiếc là người ta đã không còn mấy hứng thú với nghiên cứu hệ thống.
Nếu ai đó cố triển khai những ý tưởng thú vị như vậy, họ sẽ bị đánh giá khắt khe vì phần còn lại của stack không cạnh tranh nổi với Pixel hay iPhone. Cứ nhìn Rabbit là thấy.
Những gì bạn mô tả là chủ đề cốt lõi của nghiên cứu hệ thống hiện đại, và các nhà cung cấp cloud lớn đang triển khai toàn bộ những thứ kiểu này trong nội bộ.
Người tiêu dùng nhìn chung quan tâm nhiều hơn đến trải nghiệm người dùng. Phần mềm đồng bộ nội dung lên server để dùng trên mọi thiết bị nhẹ gánh hơn nhiều so với việc cố di chuyển tiến trình theo thời gian thực trên một mạng không ổn định.
Rất nhiều nhà nghiên cứu hệ thống hoàn toàn ám ảnh với clustering, network transparency và hệ thống phân tán, xem chúng là đỉnh cao của hệ điều hành. Tôi không hiểu vì sao. Tôi hoàn toàn hiểu chúng rất ngầu, nhưng rốt cuộc vẫn không thấy vì sao việc một hệ thống server-laptop-điện thoại-network hoạt động như một hệ thống duy nhất lại quan trọng đến thế.
Tôi nghĩ đã có nhiều công sức bị lãng phí để đuổi theo con rồng đó. Nghiên cứu những thứ thú vị là tốt, và trong quá trình đó chắc cũng tạo ra những thứ hữu ích, nên gọi là lãng phí có lẽ không chính xác. Nhưng tôi không cảm thấy đã có đủ lý do biện minh, và có lẽ nguồn lực ấy đã có thể được dùng tốt hơn.
Một hướng thay thế là các công cụ đa hệ thống và mô hình lập trình cho phép quản lý nhiều hệ thống mà không cần làm chúng trông như một single image ở tầng thấp nhất; sau TCP/IP, hướng này không được giới học thuật ưu ái nhiều và chủ yếu được ngành công nghiệp phát triển.
Một sự thật thú vị nữa về Tanenbaum là ông chính là người đứng sau electoral-vote.com.
Trước khi ai cũng có mô hình riêng và Nate Silver — hay phải gọi là Poblano nhỉ — càn quét vào năm 2008, đây là nơi phải đến nếu muốn hiểu cuộc bầu cử tổng thống Mỹ năm 2004 giữa Bush và Kerry. Nó đã giúp rất nhiều người hiểu về thăm dò dư luận và thống kê.
Có thể bạn đã biết, nhưng tôi muốn nhấn mạnh cho những ai chưa biết.
Giáo sư Tanenbaum hiện còn có một đồng tác giả là Giáo sư Bates. Bates là giáo sư lịch sử tại UCLA/Cal Poly. Trang này đăng bài hằng ngày; trước đây chỉ đăng vào ngày thường, và chỉ trong mùa bầu cử.