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.