Tại sao Tanenbaum sai trong các cuộc tranh luận Tanenbaum-Torvalds?


233

Gần đây tôi đã được chỉ định đọc từ các cuộc tranh luận Tanenbaum-Torvalds trong lớp hệ điều hành của tôi. Trong các cuộc tranh luận, Tanenbaum đưa ra một số dự đoán:

  1. Microkernels là tương lai
  2. x86 sẽ chết và kiến ​​trúc RISC sẽ chiếm lĩnh thị trường
  3. (5 năm sau) mọi người sẽ chạy hệ điều hành GNU miễn phí

Tôi đã một tuổi khi các cuộc tranh luận xảy ra, vì vậy tôi thiếu trực giác lịch sử. Tại sao những dự đoán này không được đưa ra? Dường như với tôi, từ quan điểm của Tanenbaum, chúng là những dự đoán khá hợp lý về tương lai. Điều gì đã xảy ra để họ không đến để vượt qua?


189
Khi dự đoán tương lai, hãy ưu tiên entropy và may mắn hơn sự đổi mới và lý tưởng.
zzzzBov

18
Tôi đã viết một chút về một câu trả lời marathon ở đây bao gồm một số điểm dựa trên điểm 1. Trên thực tế, thật khó để tránh cuộc tranh luận đó khi thảo luận về sự khác biệt trong kiến ​​trúc hạt nhân. Sự mỉa mai ngọt ngào nhất thực sự là chữ ký, Linus "my first, and hopefully last flamefest" Torvaldsđiều này rõ ràng cũng không thành hiện thực :)
Tim Post

13
Tôi sẽ để lại nhận xét này thay vì một câu trả lời (Tôi không nghĩ nó đủ "phức tạp" để trở thành một câu trả lời): Tanenbaum đã không sai khi tin rằng Microkernels tốt hơn, rằng x86 nên rời khỏi đấu trường và hệ điều hành GNU (bất cứ hạt nhân nào nó chạy trên) là một giải pháp tốt hơn. Có lẽ anh ta ngây thơ nếu anh ta thực sự tuyên bố một niềm tin mãnh liệt rằng nó sẽ xảy ra nhanh (hoặc xảy ra), một phần do quán tính xã hội và độc quyền, và một phần vì các microkernels hiệu quả không dễ thực hiện trong các hệ thống mục đích chung . (vâng, may mắn )
njsg

15
Tanenbaum không hoàn toàn sai: trong kỷ nguyên PC mới, iOS dựa trên Mach và ARM, Android dựa trên L4 và ARM. Chỉ có GNU đã mất.
mouviciel

15
@mouviciel: và GNU chỉ bị mất trên máy tính để bàn. Máy chủ và thiết bị di động và nhúng thực tế là tất cả các độc quyền GNU.
gbjbaanb

Câu trả lời:


171

Microkernels là tương lai

Tôi nghĩ Linus đã đạt được điểm trên các hạt nhân nguyên khối trong cuộc tranh luận của mình. Chắc chắn một số bài học rút ra từ nghiên cứu vi hạt nhân đã được áp dụng cho các hạt nhân nguyên khối. Microsoft đôi khi sử dụng để tuyên bố rằng hạt nhân Win32 là một kiến ​​trúc vi hạt nhân. Đó là một chút căng thẳng khi bạn nhìn vào một số microkernels trong sách giáo khoa, nhưng các tuyên bố đã có một số biện minh kỹ thuật.

x86 sẽ chết và kiến ​​trúc RISC sẽ chiếm lĩnh thị trường

Nếu bạn sao lưu từ máy tính để bàn và máy chủ, RISC chiếm lĩnh thị trường bộ xử lý bằng bất kỳ biện pháp nào. ARM (R là viết tắt của RISC) vượt trội hơn x86 về số lượng bộ xử lý, có nhiều bộ xử lý ARM hơn bộ xử lý x86 đang sử dụng và có tổng công suất tính toán ARM nhiều hơn khả năng tính toán x86. Năm nay, một nhà cung cấp ARM duy nhất (yeah, Apple) có thể bán chạy hơn tất cả các nhà cung cấp x86 cộng lại. Chỉ trong không gian máy tính để bàn và máy chủ, x86 chiếm ưu thế. Chừng nào Windows còn là nền tảng thống trị cho máy tính để bàn và Linux cho máy chủ, điều này có thể sẽ tiếp tục đúng trong một thời gian.

Có một phần b cho điều này là tốt. Các kỹ sư của Intel đã thực hiện một số công việc tuyệt vời để vắt kiệt sức sống khỏi bộ hướng dẫn của họ, thậm chí đến mức tạo ra lõi RISC với bộ dịch mã opcode nằm ở trên cùng. So sánh với một trong những nhà sản xuất chip máy tính để bàn RISC thống trị, IBM, người không thể có được G5 hiệu suất năng lượng cao và hiệu suất cao cho máy tính xách tay Apple trong một khung thời gian hợp lý.

(5 năm sau) mọi người sẽ chạy hệ điều hành GNU miễn phí

Tôi nghĩ rằng các nhà cung cấp hệ điều hành khác nhau vẫn đưa ra các đề xuất giá trị hấp dẫn trên các hệ điều hành của họ. GNU thậm chí không nhất thiết phải là trình phát quan trọng nhất trong cộng đồng Nguồn mở, do đó, ngay cả việc áp dụng phần mềm nguồn mở rộng rãi hơn cũng không nhất thiết phải dịch sang các HĐH GNU. Tuy nhiên, có rất nhiều công cụ GNU ngoài đó ( ví dụ, tất cả các máy Mac đều có Bash của GNU . Có lẽ có một số công cụ hệ thống GNU trên điện thoại Android). Tôi nghĩ hệ sinh thái máy tính đa dạng hơn nhiều so với Tanenbaum thấy trước, ngay cả khi bạn giới hạn tầm nhìn của mình vào máy tính để bàn.


8
Trên điểm 3, linux được lan truyền rất rộng rãi, có lẽ là hệ điều hành, windows và VxWorks được sử dụng nhiều nhất sau đây. Vì vậy, điểm 3 có thể được coi là đúng. Nó làm cho 2 điểm trong số 3 chính xác, điều này khá tốt khi xem xét mức độ khó đoán của CNTT.
deadalnix

11
@deadalnix - Tôi muốn nói rõ về phạm vi trên 3, giới hạn cho các máy tính để bàn. Nếu một trang trại máy chủ google chạy linux (phải không?) Và mỗi hộp được tính vào số lượng linux và modem cáp của tôi chạy phiên bản rút gọn của số lượng linux và số điện thoại Android của tôi, thì linux có thể chiếm ưu thế. Nhưng trong khi tôi đã thấy các biểu đồ đẹp về bộ xử lý ARM vs x86 được bán / sử dụng theo thời gian, tôi chưa thấy biểu đồ nào cho HĐH, đặc biệt là khi bạn trộn lẫn trong các thiết bị nhúng.
ccoakley

6
Cũng liên quan đến phần 2, các hiện đại hóa x86 khác nhau thực sự vượt xa RISC một vài bước và thực hiện một số nội dung hấp dẫn với "hoạt động vi mô" bên trong, mang lại sự linh hoạt lên lịch trình tốt hơn với việc sắp xếp lại hướng dẫn nhanh chóng, giúp tăng hiệu suất vượt xa vượt quá những gì các tín đồ RISC thậm chí có thể mơ ước. CPU RISC cũng có thể có được điều đó nhưng tại thời điểm này, bạn không so sánh RISC với CISC, bạn đang so sánh các chiến lược JIT trong phần cứng khác nhau với các mặt trận khá trừu tượng của ISA.
fluffy

5
@KonradRudolph tái tạo trích dẫn cho tổng doanh số qua google: 3 tỷ chip ARM được xuất xưởng trong năm 2009 ( vanshardware.com/2010/08/mirror-the-asing-war-arm-versus-x86 ) trong khi ước tính 400 triệu chip x86 được bán trong năm 2011 (4 lần số quý được báo cáo ở đây: computerworlduk.com/news/it-business/3345299/ hạ ). Thị trường nhúng là rất lớn và phần lớn không phải là Intel.
ccoakley

5
Tôi không nghĩ điểm 3 là đúng theo nghĩa của Tanenbaum. Vào thời điểm đó, có rất nhiều sự lạc quan xung quanh GNU HURD. Yêu cầu Linux (trong bất kỳ biến thể nào) là một chiến thắng của GNU OS không có giá trị lịch sử. Không gian người dùng? Chắc chắn rồi. Nhưng trong một cảm giác Linux kernel giành mặc dù GNU.
thường xuyên vào

60

Các chuyên gia phần mềm bỏ qua kinh tế phần cứng

... Hoặc "Moore đã đúng và cả hai đều sai"

Điều lớn nhất bị bỏ qua trong cuộc tranh luận này là tác động của công nghệ sản xuất CPU và kinh tế, được thúc đẩy bởi việc thu nhỏ kích thước bóng bán dẫn như trong Định luật Moore (không ngạc nhiên khi họ biết nhiều về phần cứng CPU, những người này đã nghiên cứu và tranh luận về phần mềm, không phải Sản xuất CPU hoặc kinh tế). Chi phí sản xuất cố định được khấu hao theo CPU (ví dụ như thiết kế ISA, thiết kế CPU và cơ sở sản xuất CPU) đã tăng nhanh, do đó làm tăng giá trị của quy mô kinh tế; với chi phí cho mỗi đơn vị CPU (tính theo "bang for buck" & "bang for the watt"), chi phí của CPU không cần phải được khấu hao theo lựa chọn rộng rãi như vậy để cung cấp giá trị, vì vậy tính toán trong các sản phẩm với chức năng cố định đã bùng nổ; Ngân sách bóng bán dẫn CPU đã tăng theo cấp số nhân,

1. Quy mô CPU giành được sự đa dạng của CPU

Tầm quan trọng của tính kinh tế theo quy mô đã làm cho lợi ích của ISA / CPU nhắm vào thị trường lớn hơn (do đó rộng hơn) vượt xa lợi ích tiềm năng từ các lựa chọn thiết kế, thu hẹp thị trường cho ISA / CPU. Các hệ điều hành có thể giải quyết các phần lớn hơn và lớn hơn của thị trường trên mỗi ISA / CPU được hỗ trợ, do đó, có rất ít nhu cầu (hoặc thậm chí không cần) cho các bài tập chuyển để cho phép một hệ sinh thái HĐH phát triển mạnh. Các miền có vấn đề Mục tiêu của CPU và CPU có xu hướng rộng đến mức chúng hầu như trùng lặp, do đó, đối với bất kỳ phần mềm nào ngoài trình biên dịch, kích thước của các bài tập chuyển cũng đã giảm. Có thể cho rằng, cả Torvalds & Tanenbaumđánh giá quá cao phần thiết kế và triển khai kernel mà bây giờ cần phải là ISA hoặc thậm chí là CPU cụ thể. Như Tanenbaum đã mô tả, các nhân hệ điều hành hiện đại thực hiện trừu tượng hóa sự khác biệt giữa CPU & ISA. Tuy nhiên, mã cụ thể của CPU / ISA trong các HĐH hiện đại nhỏ hơn nhiều so với vi nhân. Thay vì thực hiện xử lý ngắt / lập lịch, quản lý bộ nhớ, giao tiếp & I / O, các bit không di động này chỉ giải quyết một phần rất nhỏ trong việc thực hiện các dịch vụ đó, với phần lớn kiến ​​trúc của các chức năng hệ điều hành lõi này đều có thể mang theo được.

2. Nguồn mở đã thắng trận chiến, nhưng thua cuộc chiến

Nhiều tiếng nổ hơn có nghĩa là phần lớn máy tính được thực hiện bởi các sản phẩm chức năng cố định, trong đó khả năng sửa đổi sản phẩm không phải là một phần của đề xuất giá trị cho khách hàng. Bây giờ, trớ trêu thay, nguồn mở đã phát triển mạnh mẽ trong các thiết bị chức năng cố định này, nhưng thường thì, lợi ích của các quyền tự do đó được nhận ra nhiều hơn bởi những người tạo ra các sản phẩm thay vì người dùng cuối (điều thực sự đúng với thị trường phần mềm ngay cả khi đó: Microsoft là một người tiêu dùng lớn của phần mềm nguồn mở, nhưng khách hàng của họ thì không). Tương tự, người ta có thể lập luận rằng nguồn mở đã vật lộn nhiều hơn trong không gian máy tính để bàn chung hơn bất kỳ nơi nào khác, nhưng khi web và điện toán đám mây phát triển, máy tính để bàn ngày càng được sử dụng cho mục đích hẹp hơn (chủ yếu là chạy trình duyệt), với các chức năng còn lại chạy trong đám mây (trớ trêu thay, chủ yếu trên các nền tảng nguồn mở). Tóm lại: nguồn mở thực sự sở hữu không gian tính toán cho mục đích chung, nhưng thị trường đã trở nên tinh vi hơn; đóng gói sản phẩm điện toán thường ít dừng lại ở chức năng mục đích chung, nhưng tiếp tục cùng với sản phẩm dành cho các chức năng cố định, trong đó phần lớn lợi thế của điện toán nguồn mở mâu thuẫn với các mục tiêu sản phẩm.

3. 2 n Phương tiện tăng trưởng Cố định k Tiết kiệm không quan trọng

Sự tăng trưởng theo cấp số nhân của ngân sách bóng bán dẫn đã mang đến cho nó nhận ra rằng chi phí ngân sách bóng bán dẫn của một kiến ​​trúc CISC gần như hoàn toàn cố định. Ưu điểm chiến lược của RISC là nó đã chuyển sự phức tạp ra khỏi tập lệnh của CPU và vào trình biên dịch (không nghi ngờ gì một phần do thực tế là các trình soạn thảo trình biên dịch được hưởng lợi ít hơn nhiều so với các nhà phát triển mã hóa phức tạp trong lắp ráp, nhưng trình biên dịch có thể dễ dàng hơn nhiều về mặt toán học, và do đó khai thác, một ISA đơn giản hơn); tiết kiệm bóng bán dẫn kết quả sau đó có thể được áp dụng để cải thiện hiệu suất CPU. Thông báo trước là việc tiết kiệm ngân sách bóng bán dẫn từ một ISA đơn giản hơn hầu hết là cố định (và chi phí chung trong thiết kế trình biên dịch cũng hầu như được cố định). Trong khi tác động cố định này là một phần lớn của ngân sách trở lại trong ngày, như người ta có thể tưởng tượng nó chỉ mất vài vòng tăng trưởng theo cấp số nhân để tác động trở nên tầm thường. Tác động giảm nhanh chóng này kết hợp với tầm quan trọng ngày càng tăng của việc độc canh CPU có nghĩa là một cửa sổ cơ hội rất nhỏ cho bất kỳ ISA mới nào tự thiết lập. Ngay cả khi các ISA mới đã thành công, các ISA "RISC" hiện đại không phải là các ISA trực giao được mô tả bởi chiến lược RISC, vì sự tăng trưởng liên tục trong ngân sách bóng bán dẫn và đặc biệt là áp dụng xử lý SIMD rộng hơn đã khuyến khích áp dụng các hướng dẫn mới cho các chức năng cụ thể. Tác động giảm nhanh chóng này kết hợp với tầm quan trọng ngày càng tăng của việc độc canh CPU có nghĩa là một cửa sổ cơ hội rất nhỏ cho bất kỳ ISA mới nào tự thiết lập. Ngay cả khi các ISA mới đã thành công, các ISA "RISC" hiện đại không phải là các ISA trực giao được mô tả bởi chiến lược RISC, vì sự tăng trưởng liên tục trong ngân sách bóng bán dẫn và đặc biệt là áp dụng xử lý SIMD rộng hơn đã khuyến khích áp dụng các hướng dẫn mới cho các chức năng cụ thể. Tác động giảm nhanh chóng này kết hợp với tầm quan trọng ngày càng tăng của việc độc canh CPU có nghĩa là một cửa sổ cơ hội rất nhỏ cho bất kỳ ISA mới nào tự thiết lập. Ngay cả khi các ISA mới đã thành công, các ISA "RISC" hiện đại không phải là các ISA trực giao được mô tả bởi chiến lược RISC, vì sự tăng trưởng liên tục trong ngân sách bóng bán dẫn và đặc biệt là áp dụng xử lý SIMD rộng hơn đã khuyến khích áp dụng các hướng dẫn mới cho các chức năng cụ thể.

4. Đơn giản: Tách các mối quan tâm. Phức tạp: Tách không gian địa chỉ.

Hạt nhân Linux hiện đại (cùng với hầu hết các hạt nhân khác) phù hợp với định nghĩa khá lỏng lẻo của một macrokernel và không phải là định nghĩa hẹp hơn của một hạt nhân. Điều đó nói rằng, với kiến ​​trúc trình điều khiển của nó, các mô-đun được tải động và tối ưu hóa đa xử lý làm cho truyền thông không gian hạt nhân ngày càng giống với thông điệp của hạt nhân, nó có cấu trúc gần giống với thiết kế vi hạt (như được thể hiện bởi Minix) so với thiết kế macrokernel (như được thể hiện bởi thiết kế macrokernel tại thời điểm thảo luận). Giống như thiết kế vi nhân, nhân Linux cung cấp giao tiếp tổng quát, lập lịch, xử lý ngắt và quản lý bộ nhớ cho tất cả các thành phần HĐH khác; các thành phần của nó thường có cấu trúc dữ liệu và mã riêng biệt. Trong khi các mô-đun được tải động, Các đoạn mã di động được ghép lỏng lẻo, giao tiếp qua các giao diện cố định, không sử dụng một thuộc tính còn lại của microkernels: chúng không phải là các quy trình không gian người dùng. Cuối cùng, Luật Moore đảm bảo rằng các vấn đề được thúc đẩy bởi các mối quan tâm về phần cứng như tính di động (mối quan tâm của Tanenbaum) & hiệu suất (mối quan tâm của Torvalds) đã giảm đi, nhưng vấn đề phát triển phần mềm trở nên hết sức quan trọng. Những lợi thế chưa được thực hiện còn lại mà việc phân tách không gian địa chỉ có thể mang lại vượt trội hơn so với hành lý bổ sung được áp dụng trên phần mềm HĐH do hạn chế thiết kế và tăng độ phức tạp của giao diện thành phần. Luật đảm bảo rằng các vấn đề được thúc đẩy bởi các mối quan tâm về phần cứng như tính di động (mối quan tâm của Tanenbaum) & hiệu suất (mối quan tâm của Torvalds) đã giảm đi, nhưng vấn đề phát triển phần mềm trở nên hết sức quan trọng. Những lợi thế chưa được thực hiện còn lại mà việc phân tách không gian địa chỉ có thể mang lại vượt trội hơn so với hành lý bổ sung được áp dụng trên phần mềm HĐH do hạn chế thiết kế và tăng độ phức tạp của giao diện thành phần. Luật đảm bảo rằng các vấn đề được thúc đẩy bởi các mối quan tâm về phần cứng như tính di động (mối quan tâm của Tanenbaum) & hiệu suất (mối quan tâm của Torvalds) đã giảm đi, nhưng vấn đề phát triển phần mềm trở nên hết sức quan trọng. Những lợi thế chưa được thực hiện còn lại mà việc phân tách không gian địa chỉ có thể mang lại vượt trội hơn so với hành lý bổ sung được áp dụng trên phần mềm HĐH do hạn chế thiết kế và tăng độ phức tạp của giao diện thành phần.

Thật thú vị, những gì đã là một xu hướng mạnh mẽ là sự xuất hiện của hypanneror, giống như microkernels, trừu tượng hóa phần cứng. Một số tuyên bố rằng các siêu giám sát là microkernels. Kiến trúc Hypervisor là khác nhau, vì các trách nhiệm thuộc sở hữu của microkernels được xử lý bởi các hạt nhân "khách" ngồi trên đỉnh, với bộ ghép kênh giữa các bộ ảo hóa và trừu tượng hóa không phải là không gian địa chỉ bộ nhớ và địa chỉ bộ nhớ, mà chủ yếu là giả lập phần cứng.

Kết luận: Tương lai ủng hộ những người chấp nhận ngữ nghĩa nghiêm ngặt ít nhất

* .. hoặc "nitopperers hút dự đoán tương lai"

Trong thực tế, rất nhiều sự đúng / sai trong cuộc tranh luận là vấn đề ngữ nghĩa (và đó là một phần của những gì Torvalds đang tranh luận và IMHO Tanenbaum không đánh giá đầy đủ). Thật khó để đưa ra định nghĩa chính xác về tương lai bởi vì có rất nhiều yếu tố bên ngoài cuộc tranh luận có thể xảy ra để chơi; ngữ nghĩa lỏng lẻo hơn có nghĩa là dự đoán của bạn là một mục tiêu lớn hơn trên bảng phóng phi tiêu so với các anh chàng khác, mang lại cho bạn tỷ lệ cược tốt hơn. Nếu bạn bỏ qua ngữ nghĩa, các lập luận nâng cao của cả Torvalds và Tanenbaum đã đúng về rất nhiều điều và sai về rất ít.

tl; dr

Hầu hết các ISA không phù hợp với định nghĩa ngữ nghĩa của RISC, nhưng khai thác hầu hết các lợi thế thiết kế đặc biệt của CPU RISC tại thời điểm đó; số lượng HĐH dành riêng cho CPU ít hơn Tanenbaum dự kiến, chứ chưa nói đến Torvalds; nguồn mở chiếm ưu thế trong điện toán cho mục đích chung, nhưng người tiêu dùng của thị trường đó bây giờ chủ yếu là những người đóng gói điện toán vào các sản phẩm chức năng cố định hơn, nơi phần lớn lợi ích của phần mềm nguồn mở không được nhận ra; tách chức năng HĐH trên các không gian địa chỉ không chứng minh được lợi ích, nhưng tách biệt chức năng HĐH trên phần cứng "ảo" thì có. Nếu bạn muốn khẳng định dự đoán của mình là đúng, hãy để lại cho mình càng nhiều phòng điều khiển ngữ nghĩa càng tốt, giống như ông Torvalds.

PS Một quan sát mỉa mai cuối cùng: Linus Torvalds là một trong những người ủng hộ mạnh mẽ nhất để giữ càng nhiều chức năng mới càng tốt trong không gian người dùng và ra khỏi nhân Linux.


42
  • Microkernels là tương lai

Anh ta đã sai, dường như mọi thứ đang hội tụ vào việc sử dụng hạt nhân lai. Linux chính thức vẫn là nguyên khối, nhưng thêm các công cụ như FUSE, vv làm cho nó trông hơi lai.

  • x86 sẽ chết và kiến ​​trúc RISC sẽ chiếm lĩnh thị trường

Ok, vì vậy x86 đã không chết. Nhưng RISC không chiếm lĩnh thị trường? Hàng tỷ điện thoại thông minh sử dụng ARM, tất cả các máy chơi game sử dụng bộ xử lý RISC, hầu hết phần cứng mạng sử dụng bộ xử lý MIPS.

Bên cạnh đó, vào đầu những năm 2000, RISC và CISC đã hội tụ rất nhiều, đến nỗi không có sự khác biệt rõ ràng nào trong thiết kế bên trong. Các bộ xử lý x86 hiện đại về cơ bản là RISC bên trong với giao diện CISC.

  • (5 năm sau) mọi người sẽ chạy hệ điều hành GNU miễn phí

Nếu bởi GNU OS, anh ta có nghĩa là GNU Hurd, thì đó thực sự là một dự đoán hoàn toàn thất bại. Những gì mọi người làm ồ ạt sử dụng là Android. Android là Linux, tuy nhiên nó không phải là GNU, vì nó không sử dụng GNU libc. Thay vào đó, nó sử dụng Bionic của riêng Google . Và thị phần của Linux máy tính để bàn tiêu chuẩn vẫn dưới 2%. Nhưng anh ta thực sự có nghĩa là PC tiêu dùng? Trên thị trường máy chủ, Linux hoàn toàn chiếm ưu thế với 70-90% cổ phần tùy thuộc vào phân khúc.


5
"Trên thị trường máy chủ, Linux hoàn toàn thống trị với 70-90% cổ phần tùy thuộc vào phân khúc." Bằng chứng cho điều đó ở đâu?
quant_dev

4
số của vartec có thể được phóng đại. Tôi sẽ để nó ở đây en.wikipedia.org/wiki/OS_market_share#Servers
Federico klez Culloca

4
@quant_dev: 92% trong Top500, 60-70% máy chủ web, toàn bộ cơ sở hạ tầng Google, toàn bộ cơ sở hạ tầng FB, toàn bộ cơ sở hạ tầng Amazon ... vv
vartec

1
Bạn có thể cung cấp các liên kết để sao lưu báo cáo của bạn?
quant_dev

13
Top500: i.top500.org/stats , Google: lwn.net/Articles/357658 , Amazon: news.cnet.com/2100-1001-275155.html , FB: http: /www.infoq.com/presentations/Facebook -Phần mềm-Stack
vartec

21
  1. Không chắc.

  2. Nửa bên phải. Các chip "x86" ngày nay RISC dưới vỏ bọc, với cơ bản là "giao diện CISC". x86 đã không chết vì Intel có đủ thị phần và đủ doanh thu để thực hiện quá trình chuyển đổi đó và có được nó ngay trước khi các giải pháp RISC khác chiếm được thị phần đáng kể từ họ.

  3. Hai lý do chính: khả năng tương thích và khả năng sử dụng.

    Một lần nữa, các hệ thống hiện có (Windows và, ở mức độ thấp hơn Mac OS) có một cơ sở được cài đặt rất lớn. Điều đó có nghĩa là rất nhiều người dùng sử dụng nhiều chương trình. Các hệ điều hành GNU miễn phí không thể nhân đôi điều đó. Dự án WINE đã thực hiện rất nhiều công việc theo hướng đó, nhưng nó vẫn không thay thế cho một hệ thống Windows thực sự và các nhà phát triển WINE thậm chí không cố gắng khẳng định rằng đó là. Mọi người không muốn sử dụng một hệ điều hành sẽ không chạy các chương trình yêu thích của họ, bất kể nó tuyệt vời như thế nào. (Và không có cơ sở người dùng được cài đặt, không ai muốn phát triển cho hệ thống. Đó là vấn đề trứng gà.)

    Và sau đó chúng ta có được khả năng sử dụng. Mẹ tôi có một hệ thống Windows. Cô ấy có thể sử dụng nó tốt cho mục đích của mình. Mọi thứ cô ấy cần để làm việc với máy tính đều có sẵn từ giao diện Windows và nếu tôi nói từ "dòng lệnh" với cô ấy, cô ấy thậm chí sẽ không biết tôi đang nói gì. Theo như tôi biết, vẫn không thể làm điều đó trên bất kỳ HĐH GNU miễn phí nào. Trên thực tế, Linux rất khó để làm việc với điều đó, ngay cả những người giỏi nhất trong cộng đồng cũng gặp rắc rối nghiêm trọng với các nhiệm vụ đơn giản. Và họ dường như không bao giờ "hiểu được" và làm việc để khắc phục các vấn đề, đó là lý do tại sao họ không bao giờ giành được thị phần. (Bài viết được liên kết nên được yêu cầu đọc cho bất kỳ ai từng cố gắng sản xuất bất kỳ chương trình thị trường đại chúng nào!)


16
-1 cho bài đăng blog từ 8 năm trước, không còn phù hợp.
vartec

16
@Vartec: Không còn phù hợp? Bạn có nghiêm túc đưa ra tuyên bố rằng người dùng ngày nay có thể nhận Linux và bắt đầu thực hiện đầy đủ các tác vụ của người dùng cuối thông thường mà không cần phải biết rằng một dòng lệnh thậm chí còn tồn tại, theo cách họ có thể trên Windows hoặc OSX?
Mason Wheeler

17
@Mason: lần cuối bạn nhìn thấy Ubuntu là khi nào? Việc thực hiện nhiệm vụ người dùng cuối phổ biến trên Ubuntu sẽ dễ dàng hơn khi biết về giao diện điều khiển, hơn là trên OSX (địa ngục, trên OSX để hiển thị các tệp ẩn yêu cầu bằng tiến sĩ trong Nerdology). Trong Ubuntu công cụ chỉ hoạt động. Trong Windows, bạn phải cài đặt trình điều khiển hoặc bất cứ điều gì. Trong OSX thứ không hoạt động. BTW. mẹ của bạn có sử dụng RegEdit :-P
vartec

8
@MasonWheeler: Tất nhiên rồi. Bất kỳ ai cũng có thể chọn Ubuntu và sử dụng nó mà không có công cụ dòng lệnh nào cả . Bạn cùng phòng của tôi - chắc chắn không biết chữ siêu công nghệ - không gặp vấn đề gì khi chuyển từ Windows sang Ubuntu. Những người khác mà tôi biết sử dụng Ubuntu - khác nhau về kinh nghiệm nhưng tất cả không phải là chuyên gia - cũng không có vấn đề gì. Bạn cùng phòng cũ của tôi năm ngoái có nhiều vấn đề với máy Mac của anh ấy hơn bạn cùng phòng hiện tại của tôi với Ubuntu, ở mức độ kinh nghiệm máy tính tương tự. (Ngay cả in ấn, trong tất cả mọi thứ, từ Linux trở nên dễ dàng hơn so với trên Mac!) Vì vậy, toàn bộ dòng lệnh Linux là một sự diễn đạt sai.
Tikhon Jelvis

18
@MasonWheeler: Bạn có nghiêm túc đưa ra tuyên bố rằng người dùng ngày nay có thể nhận Windows và định cấu hình máy in mạng không?
Christoffer Hammarström

14

Tôi nghĩ rằng có một vài lý do khá nghiêm trọng, nhưng chưa được đề cập.

Đầu tiên là giả định khá mù quáng của Tanenbaum rằng sự vượt trội về kỹ thuật sẽ dẫn đến sự thống trị thị trường. Mọi người đã tranh luận trong nhiều năm về việc liệu microkernels (nanokernels, picokernels, v.v.) có vượt trội về mặt kỹ thuật hay không, nhưng hiện tại, hãy giả sử chúng là như vậy. Chúng ta vẫn còn một câu hỏi liệu rằng sự vượt trội về kỹ thuật có khả năng chuyển thành sự thống trị thị trường hay không. Tôi sẽ khẳng định rằng nó không. Đối với hầu hết mọi người, Windows, Mac OS, v.v., là đủ tốt. Tồi tệ hơn, những cải tiến sẽ tạo ra sự khác biệt đáng kể cho hầu hết người dùng sẽ nằm ở giao diện người dùng chứ không phải kernel.

Thứ hai là đánh giá quá cao tốc độ thay đổi trong một thị trường trưởng thành (hợp lý). Thật dễ dàng để thay đổi mọi thứ một cách vội vàng khi bạn có một thị trường mới. Về cơ bản mọi người đã thay đổi trong năm năm, việc di chuyển đã phải xảy ra ở tốc độ tối đa ngay cả khi anh dự đoán.

Tôi cũng lưu ý một cách khác mà anh ấy đã đúng mà tôi chưa từng đề cập. Mọi người đã ghi nhận sự phổ biến của RISC (ví dụ, trong điện thoại di động). Những gì họ chưa đề cập là tính phổ biến của cái mà tôi gọi là "microkernel 2.0". Điều này bây giờ thường được gọi là "máy ảo" hoặc "máy ảo hóa". Họ thực sự là khá nhiều microkernels mặc dù.

Sự khác biệt lớn là Tanenbaum nghĩ về hạt nhân và mô phỏng hệ điều hành chế độ người dùng được thiết kế dành riêng cho nhau. Thay vào đó, về cơ bản, chúng tôi đã giữ cho HĐH không thay đổi và điều chỉnh hạt nhân để chạy nó như hiện tại. Điều này không tốt về mặt kỹ thuật, nhưng từ góc độ thị trường, nó vượt trội hơn hẳn - thay vì toàn bộ hệ thống mới từ trên xuống dưới, người dùng có thể tiếp tục sử dụng hầu hết các mã hiện có của mình và chỉ cần thêm một mã mới tuyệt vời "tiện ích" thực sự là một hệ điều hành vi nhân.


8

Một lý do lớn là Windows, đặc biệt là Windows 3.1 và một chút sau đó, Windows 95 và NT 3.51. Người tiêu dùng đặc biệt yêu thích các giao diện GUI trái ngược với các hệ thống dựa trên văn bản cũ của Unix và DOS. Điều này có nghĩa là nhiều người bình thường sẽ mua máy tính để sử dụng tại nhà. Ngoài ra, sự bùng nổ của Internet vào giữa những năm 90 tăng doanh số.

Giá cho PC cũng giảm trong suốt thập niên 90 cho đến khi chúng đạt đến điểm hiện tại. Điều này là do tính kinh tế của quy mô được thể hiện bởi nhu cầu kinh doanh và tiêu dùng tăng lên. Ví dụ: tất cả năm máy tính hiện tại của tôi có giá thấp hơn so với máy tính để bàn 486 tôi đã mua năm 1992.

Bây giờ, theo một cách nào đó anh ta có thể đúng nhưng theo một hướng bất ngờ. Sự gia tăng của thiết bị di động, điện thoại thông minh và máy tính bảng, đã phần nào mang lại hệ điều hành đơn giản hóa và có thể làm giảm sự nổi bật của x86. Tuy nhiên, họ vượt xa những gì được dự đoán vào năm 1992.


7

Cuối cùng, tất cả bắt nguồn từ thực tế là mọi thứ không thực sự muốn thay đổi.

Chúng tôi đã không di chuyển đến một hạt nhân có kiến ​​trúc tốt hơn bởi vì những khối nguyên khối dễ tạo ra hơn, chạy nhanh hơn và mọi người đều biết cách xây dựng chúng. Cũng bởi vì Linux được phát triển như một hạt nhân nguyên khối và trở nên phổ biến, không có vi hạt nào đạt được đủ thành công để cất cánh. (nó hơi giống với lý do chúng ta đều chạy Windows, chúng ta chạy Windows vì mọi người đều chạy Windows)

RISC, những người khác đã chỉ ra rằng x86 gần như là một kiến ​​trúc RISC, với một trình bao bọc CISC ở trên cùng để tương thích ngược.

Rất nhiều người đang chạy hệ điều hành GNU miễn phí - trên máy chủ. Các trang web được điều khiển khá nhiều bởi nó. Không ai thông báo vì tất cả các máy khách là Windows. Quay trở lại những ngày đó, bạn có một lựa chọn: Linux vẫn còn rất nhiều hệ điều hành sở thích; một hương vị của Unix nhưng bạn không thể đủ khả năng để mua nó; hoặc Windows giá rẻ vui vẻ. Linux mất quá nhiều thời gian để thay thế Unix và vẫn không có đủ giải pháp hấp dẫn để chạy trên máy tính để bàn (một phần do các vấn đề về ý thức hệ với các hệ thống Window khác nhau, trình điều khiển đồ họa nhị phân và thiếu ABI ổn định). Tuy nhiên, nó hoạt động khá tốt ở các thị trường không phải máy tính để bàn khác như nhúng và di động.


6

Tất cả đều đúng nếu bạn không nghĩ rằng máy tính là thứ gì đó trên máy tính để bàn của bạn.

  1. Đúng - microkernels không bao giờ hoạt động vì chúng không bao giờ đủ vi mô. Nếu toàn bộ linux nhúng xuống của bạn nhỏ hơn bit cụ thể x86 của kernel Mach là câu hỏi liên quan đến hạt nhân vi mô?

  2. RISC đang thống trị thị trường. Nhiều cpus ARM được bán ra mỗi năm hơn so với X86 cpus từng có. Bạn có thể không bao giờ hơn 6ft từ một cpu ARM.

  3. Hầu hết mọi người đều đang chạy linux, nó nằm trong bộ định tuyến, hộp thiết lập TV, Tivo và điện thoại Android của họ - họ chỉ không biết rằng những thiết bị này có HĐH


4
"Microkernels không bao giờ hoạt động vì chúng chưa bao giờ đủ vi mô"> Theo tôi hiểu, từ "micro" không nhất thiết phải nói đến byte hoặc dòng mã. Ý tưởng là đẩy chức năng vào không gian người dùng, làm cho các dịch vụ được cung cấp bởi chính kernel là tối thiểu. Ví dụ, một hệ thống có nhân vi mô sẽ có một quy trình người dùng dành riêng để xử lý hệ thống tệp. Vì vậy, sự tồn tại của một phiên bản rút gọn của linux có kích thước nhỏ hơn minix không thực sự phù hợp.
Robz

1
@Robz Kích thước có liên quan - điểm của hạt nhân là cung cấp cho bạn tính di động và cho phép các trường hợp cạnh nhất định (như chạy hai môi trường HĐH trên một máy mà không cần ảo hóa). Nếu microkernel lớn hơn hybrid / monolith giới hạn các nền tảng mà nó có thể được triển khai, VÀ nó có xu hướng phá hủy lập luận rằng sẽ dễ dàng đạt được tính di động hơn bằng cách viết một thành phần nhỏ nếu thực tế nó không nhỏ hơn so với thay thế.
Marcin

4

1) Ông đã sai trên microkernels. Theo hiểu biết của tôi, nhu cầu về yêu cầu tốc độ vượt qua sự phân tách các mối quan tâm được thi hành trong microkernels, ít nhất là trong nhân Linux.

2) Kiến trúc chiếm ưu thế trong máy tính bảng và điện thoại di động là ARM, đây là bộ hướng dẫn RISC. Ngay cả Windows đã được chuyển.

3) Mọi người không chạy hệ điều hành GNU miễn phí. Điều này chủ yếu là do bằng sáng chế và khả năng tương thích ngược. Những người không muốn Windows thường xuyên chọn OS X.


1) tốc độ quan trọng hơn trở lại sau đó! Tôi không chắc hôm nay nó quan trọng đến thế.
gbjbaanb

Phụ thuộc vào nơi tắc nghẽn của bạn.

Khi yêu cầu duy nhất của bạn là "nhanh hơn người khác", nó sẽ không trở nên dễ dàng hơn theo thời gian. Theo tôi, đã có một khoảng thời gian rất ngắn khi HURD có thể vượt qua Linux như một lựa chọn khả thi và họ đã làm hỏng nó bằng cách lãng phí thời gian trên một cổng từ L4 đến Mach.
thường xuyên vào

2

1. Microkernels thất bại

Vì những lý do mà Linus Torvalds đã nêu, trên giấy tờ có vẻ hấp dẫn về mặt lý thuyết nhưng khi thực hiện trên các hệ thống hiện đại - vốn là những hệ thống rất phức tạp - sự phức tạp trở nên khó kiểm soát theo cấp số nhân. Nghiên cứu trường hợp là GNU Hurd, một hệ thống vi nhân hoàn toàn không đạt được các chức năng cơ bản. Mac OS X tương tự như Hurd về cấu trúc và nó là hệ điều hành kém ổn định và hạn chế nhất hiện có.

2. Kiến trúc CPU

Điều này đã trở nên đa dạng cho các trường hợp sử dụng khác nhau. Một kiến ​​trúc CPU không chiếm ưu thế vì các trường hợp sử dụng nhúng, di động, máy tính để bàn, máy chủ và các trường hợp sử dụng khác nhau và yêu cầu các cách tiếp cận khác nhau. Tannenbaum đã thất bại khi nhìn thấy sự đa dạng hóa này.

3. GNU vs Thế giới?

GNU không thống trị, nhưng Linux đã làm trên máy chủ, nhúng và di động. Máy tính bảng và điện thoại của Apple chạy iOS vốn chỉ đơn giản là Unix cũ. Số liệu thống kê chính xác rất khó thu được cho các triển khai Linux trên máy tính để bàn vì không có cơ chế cốt lõi thực sự - bán các đơn vị - chắc chắn có thể đưa ra một giá trị chính xác. Hầu hết các triển khai Linux trên máy tính để bàn đôi khi được ghi lại là các triển khai Windows vì người dùng mua một hệ thống Windows và sau đó viết lên nó bằng Linux. Tuy nhiên, nếu bạn phân khúc hệ điều hành thì Linux có khoảng 5-6% trên máy tính để bàn theo http://www.w3schools.com/browsers/browsftimeos.asp và con số này tương đương với số lượng người dùng Windows Vista trên toàn thế giới rất đáng kể .

Dựa trên ước tính của riêng tôi từ nhiều nguồn khác nhau, dường như Linux trên máy tính để bàn thực sự có thể bằng số lượng người dùng trên Windows XP - khoảng 25% - nếu bạn tính các quốc gia ngoài phương Tây như Trung Quốc và Ấn Độ, nơi Linux phổ biến hơn ở Hoa Kỳ hoặc EU nhưng những người có thể không được tính vào số liệu thống kê của phương Tây vì họ chỉ tính lưu lượng truy cập vào các trang web nói tiếng Anh nhắm vào người phương Tây.

Ở Ấn Độ, hầu hết sinh viên đại học đều sử dụng Ubuntu hoặc Fedora vì đây là hệ điều hành mặc định của các hệ thống giáo dục Ấn Độ và tại IIT nổi tiếng. Hầu hết các văn phòng chính phủ Ấn Độ cũng sử dụng Linux. Ở Trung Quốc Red Flag Linux là hệ điều hành chính thức của hệ thống trường học và chính phủ Trung Quốc - Học viện Nghệ thuật và Khoa học - và là hệ điều hành được khuyến nghị ở Trung Quốc bởi nhà nước điều hành như một nỗ lực để ngăn chặn những người Trung Quốc nghèo khổ sử dụng các bản sao Windows lậu. Nếu bạn tính đến việc sử dụng Linux ở Ấn Độ và Trung Quốc, nó sẽ gây sốc cho hầu hết các chuyên gia công nghệ phương Tây và thay đổi hoàn toàn nhận thức về sự thống trị thực sự của máy tính để bàn Linux ở các quốc gia đang phát triển ngoài phương Tây, nơi nó chiếm ưu thế.


1
Thực tế là Windows đang thực sự bị tàn sát trên mặt trước hệ điều hành cho máy tính để bàn và máy chủ. Nếu bạn nghĩ rằng chỉ có 45% người dùng xấp xỉ sử dụng Windows 7, điều đó có nghĩa là việc áp dụng HĐH Windows mới, mỗi chu kỳ nâng cấp Windows sẽ giảm đi 10 - 15% và người dùng ở lại với phiên bản cũ hoặc chuyển sang Mac hoặc Linux. Đối với máy chủ, tình hình thậm chí còn tồi tệ hơn khi mỗi máy chủ Windows nâng cấp 20-30% người dùng ngay lập tức chuyển sang cụm máy chủ Linux ...
AG Restringere

1
Bài viết tuyệt vời về vấn đề trên ... tập trung.com / fyi / 50 -places
AG Restringere

1

Sản xuất trở nên rẻ hơn, x86 đã tiến gần đến giá của RISC, đến mức không thể sử dụng được nữa. Ngoài ra còn có một nhà cung cấp nhỏ khóa.


Tôi không nghĩ rằng trình điều khiển cho RISC đã từng có giá, nhiều hơn là các kiến ​​trúc RISC được thiết kế tốt hơn so với x86. Thật không may, MIPS và SPARC không bao giờ tăng quy mô tốt và DEC đã hết tiền trước khi Alpha có đủ thị phần. Intel đã có thể tạo ra khá nhiều hiệu suất trong số x86, vì vậy thực sự không có lý do gì để thay đổi (đối với hầu hết mọi người). Bây giờ hiệu suất được đo bằng watts so với MHz, x86 đang bắt đầu trượt chậm thành không liên quan.
TMN

Vâng, tôi biết, tôi chỉ đề cập đến lý do tại sao RISC tăng nhanh hơn RISC rất nhiều lúc đầu. Tất nhiên những ngày này đã thay đổi rất nhiều.
Lucas Kauffman

1
  1. Microkernels thay thế các cuộc gọi phương thức bằng nhắn tin liên quá trình, làm tăng thêm sự phức tạp phát triển cho một số lợi ích giả định. Phần lớn, bạn có thể nhận được những lợi ích tương tự từ việc thành phần hóa tốt ngay cả khi mọi thứ đang sống trong một quy trình lớn.
  2. Câu hỏi không còn phù hợp. Kiến trúc CISC không còn tồn tại, tất cả các bộ xử lý hiện đại đều nằm trong RISC, nhưng điều đó không giết được tập lệnh x86. bộ xử lý x86 từ thời Pentium-Pro (17 năm trước) sử dụng dịch mã op để cho phép một lõi RISC về cơ bản trông giống như một CPU x86 từ bên ngoài.
  3. Cổ điển tệ hơn là tốt hơn . Lặp đi lặp lại, chủ nghĩa thực dụng, hiệu ứng mạng và hệ sinh thái đánh bại sự tinh khiết mỗi lần.

1

Microkernels là x86 trong tương lai sẽ chết và kiến ​​trúc RISC sẽ thống trị thị trường (5 năm kể từ đó) mọi người sẽ chạy hệ điều hành GNU miễn phí

Nó phụ thuộc vào cách bạn xem và xác định tương lai, theo nghĩa truyền thống, dự đoán của ông đã thất bại.

Tuy nhiên thời gian vẫn chưa kết thúc (một cuộc thảo luận sâu hơn sang một bên) .

Do đó, mọi thứ vẫn có thể thay đổi:

  1. Microkernels hoặc một số biến thể có thể trở lại

  2. RISC / ARM có thể chiếm ưu thế -> máy tính bảng / điện thoại di động

  3. 10 hoặc 15 năm kể từ bây giờ. Ai biết được, nguồn mở đang thay đổi thế giới từ từ ..


1
Tất nhiên mọi thứ có thể thay đổi trong tương lai. Câu hỏi của tôi là về thế giới bây giờ như thế nào và tại sao nó chưa phản ánh dự đoán của anh ấy.
Robz

Những lý do đó đã sẵn sàng được liệt kê bởi những người khác, tôi đưa ra cho bạn một cái nhìn khác, như là một phần của bất kỳ cuộc thảo luận lành mạnh nào, tất cả các quan điểm nên được xem xét ít nhất. Sống lâu và thịnh vượng bạn ạ.
Darknight 22/03 '

Khoảng 3, sự khác biệt là Hệ điều hành GNU đặc biệt không còn phù hợp nữa. Không ai sử dụng hạt nhân GNU Hurd và nếu bạn xóa tất cả các công cụ không gian người dùng GNU khỏi máy tính để bàn Linux hoặc OS X, hầu hết mọi người thậm chí sẽ không nhận thấy. Nếu bạn xem các triển khai thành công khác của các HĐH nguồn mở (ví dụ: bộ định tuyến dựa trên Linux và Android), hầu hết chúng đều không phụ thuộc vào các thành phần GNU. Có nhiều công cụ GNU rất phổ biến và hữu ích, vâng, nhưng chúng không phải là một phần của "hệ điều hành" mà mọi người sử dụng.
ehabkost

0

Dành cho 2: Tập lệnh CISIC có một lợi thế lớn: Nó nhỏ gọn hơn, giống như mã máy nén. Ngày nay, việc giải mã các hướng dẫn CISC thành micro-op rất rẻ và rất tốn kém để truy cập RAM. Vì vậy, CISC có lợi thế là đẩy nhiều mã hơn trong bộ đệm L1 / L2 / L3


0

Tôi nhớ thời gian - và thời gian trước nó. Dunno về vi mô, nhưng

2) Ý tưởng về RISC có hai chân: tối ưu hóa phần mềm có thể được thực hiện trong phần mềm tốt hơn so với phần cứng và chip RISC có thể được tạo ra về mặt kinh tế nhanh hơn chip CISC.

Cả hai ý tưởng hóa ra là sai trong ngắn hạn. Intel có thể và đã làm cho các chip CISC có tốc độ hướng dẫn nhanh hơn các chip RISC cạnh tranh, với mức giá cạnh tranh. Intel có thể và đã làm cho các chip CISC tối ưu hóa chương trình tốt hơn về phần cứng so với trình biên dịch hoặc trong trình giám sát thời gian chạy phần mềm - và bất kỳ tối ưu hóa phần mềm nào cũng có thể được thêm vào trên đó, giống như với Chip RISC.

3) Khoa học máy tính, lập trình và vận hành, đã được phát minh lại hoàn toàn 4 lần trong sự nghiệp của tôi. Từ khung chính đến PC. Từ dòng lệnh đến GUI. Từ GUI đến internet. Từ Internet đến iPad. Cuộc cách mạng bây giờ có vẻ bình thường, nhưng CHÚNG TÔI KHÔNG CÓ SỰ THẬT. Giống như tất cả các lập trình viên lớn tuổi hơn vào thời điểm đó, anh ta đã dự đoán "sự kết thúc của lịch sử".

Rất ít người chạy hệ điều hành GNU trong năm năm, vì số lượng đã khởi động lại.

Có lẽ nó vẫn đang xảy ra. 5 năm trước, bạn có thể dự đoán rằng Máy chủ Windows của chúng tôi sẽ được thay thế bởi các máy chủ * nix (Như tôi viết, SAMBA đã phát hành Máy chủ Miền AD, là mảnh ghép còn thiếu của câu đố). Nó sẽ không xảy ra ở nơi tôi làm việc: chúng tôi sẽ không có bất kỳ máy chủ cục bộ nào.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.