Tại sao Unix 'tự hỗ trợ'?


63

Tôi đã đọc bài viết của Ritchie và Thompson về hệ thống tệp Unix. Họ viết, 'Điều đáng chú ý là hệ thống này hoàn toàn tự hỗ trợ'. Các hệ thống trước Unix không tự hỗ trợ? Trong những cách?


3
Rất đáng để xem xét cuộc nói chuyện FOSDEM 2018 về sự tiến hóa của Unix bởi Diomidis Spinellis; Tôi cũng rất thích Liam Proven, cuộc trò chuyện ít đi lại
Basile Starynkevitch

5
Cũng có thể đáng để hỏi về các hệ điều hành không tự hỗ trợ trên Retrocomputing , nơi bạn có thể nhận được câu trả lời rất chi tiết.
Stephen Kitt

5
Một thuật ngữ khác để tự hỗ trợtự lưu trữ
Nayuki

Nó cũng chính xác không kém khi gọi nó là khép kín, vì những lý do tương tự mà người khác liệt kê. Không chỉ có thể biên dịch một hệ thống mới (kernel, userland), mà các trang hướng dẫn và tài liệu thường có mặt, ngoại trừ trên các hệ thống nhúng / nhỏ.
dùng2497

Câu trả lời:


97

Câu hỏi trong tiêu đề của bạn được giải quyết ngay sau khi trích dẫn của bạn trong bài báo :

Tất cả phần mềm Unix được duy trì trên hệ thống; tương tự, bài báo này và tất cả các tài liệu khác trong vấn đề này đã được tạo và định dạng bởi trình soạn thảo Unix và các chương trình định dạng văn bản.

Vì vậy, hệ thống tự hỗ trợ của Martin có nghĩa là một khi hệ thống Unix được thiết lập, nó sẽ tự cung cấp và người dùng có thể sử dụng nó để thực hiện các thay đổi cho chính hệ thống. Vấn đề này Vấn đề trong phần trích dẫn ở trên đề cập đến Tạp chí kỹ thuật hệ thống Bell, Tập 57, Số 6, Phần 2, Tháng 7-Tháng 8 năm 1978, tất cả là về hệ thống Unix (và làm cho việc đọc hấp dẫn cho bất kỳ ai quan tâm đến Unix và lịch sử của nó) .

Thực tế là Unix tự hỗ trợ không có nghĩa là tất cả các hệ thống khác trước đó; nhưng một số hệ điều hành đã yêu cầu sử dụng các hệ thống khác để xây dựng chúng (điều này trở nên phổ biến hơn sau này, trên thực tế, với sự ra đời của máy vi tính, có hệ thống thường được phát triển trên minis). Unix mới lạ ở chỗ nó cũng bao gồm các công cụ sắp chữ, điều đó có nghĩa là nó không chỉ có thể tự xây dựng mà còn sản xuất tài liệu của nó, cả trực tuyến và in (Tôi tưởng tượng Unix có thể không phải là hệ thống đầu tiên như vậy, nhưng điều này sẽ xảy ra ít bất thường nhất).


20
Các công cụ sắp chữ ( roff) rất quan trọng đối với Unix ban đầu. Một phần của nguồn tài trợ đến từ việc hứa hẹn sẽ tạo ra một hệ thống sắp chữ tài liệu.
Kusalananda

22
@Kusalananda IIRC, từ các tài khoản bằng văn bản của nhóm Unix / C ban đầu, họ đã xin phép làm việc trên một hệ điều hành đơn giản nhỏ vì Multix đã quá muộn nhưng không được phép. Sau đó, họ nhận được công việc phát triển một hệ thống quản lý tài liệu (trong đó việc sắp chữ chỉ là một phần của nó, các phần khác bao gồm hệ thống tập tin và trình soạn thảo tệp), theo kiểu hacker điển hình đã quyết định viết một HĐH để phát triển sản phẩm
slebetman

Multics, nghĩa là
Artelius

Điều đó có nghĩa là các HĐH dựa trên buildroot không còn tự hỗ trợ vì nhóm đã xóa gcc làm ứng dụng đích?
tudor

Sẽ không có một trình biên dịch C bao gồm là điều quan trọng nhất?
Faheem Mitha

14

PDP-11 được sản xuất bởi Tập đoàn thiết bị kỹ thuật số và các hệ điều hành của nhà sản xuất cho PDP-11 là:

  • RT-11
  • RSX-11
  • RSTS / E

Trong số này, ít nhất RSTS / E yêu cầu một hệ điều hành khác để tạo ra hệ thống. Đó là một hệ điều hành đĩa một người dùng một tác vụ, được gọi là DOS, dĩ nhiên, hỗ trợ rất ít nhưng băng, đĩa, teletype, sysgenchương trình hỏi bạn các câu hỏi cấu hình và tạo các tệp cấu hình ngôn ngữ lắp ráp, và trình biên dịch và trình liên kết. Đầu ra của sysgenchương trình là một hệ điều hành có thể khởi động RSTS / E. Tôi không thể nói cho RT-11 hoặc RSX-11 vì tôi chưa bao giờ phải sysgen chúng, nhưng tôi đã sysgen'd RSTS / E nhiều lần vào cuối những năm 1970.

Họ đã sửa tất cả những thứ đó bằng RSTS / E phiên bản 6b hoặc có thể là 6c, đã lưu trữ sysgenchính chương trình, thông qua hệ thống thời gian chạy RT-11 (và cũng có hệ thống thời gian chạy RSX-11), nhưng tất cả những điều này đã xảy ra sau đó Năm 1968. Do đó, việc nhấn mạnh vào Unix là tự hỗ trợ.


RT-11 thực sự đã có sysgenvà làm việc theo cách tương tự. Tuy nhiên, nó chạy trên một hệ thống RT-11 thông thường là một người dùng, mặc dù có một hệ thống bên thứ ba có tên TSX-Plus , tạo ra nhiều người dùng RT-11.
wallyk

10

Để trả lời câu hỏi ban đầu Tại sao Unix tự hỗ trợ? đó là bởi vì các hệ thống không tự lưu trữ bị hút.

Khi có một hệ thống khác cần thiết để phát triển, hệ thống kết quả sẽ không nhận được sự chú ý cần thiết để trở nên đáng tin cậy thân thiện có thể sử dụng được.

Đầu tiên trong lịch sử của Sequent , họ đã sử dụng VAX để phát triển hệ điều hành giống Unix và các thành phần khác. Liên quan đến lịch sử của họ, các kỹ sư tự hào tuyên bố rằng ngay khi sản phẩm của họ chủ yếu là đáng tin cậy, chủ tịch công ty đã giúp đưa VAXes đi để sự phát triển phải tự lưu trữ và công ty đã quy kết việc hủy bỏ VAXing là một cột mốc quan trọng dẫn đến độ tin cậy cao và lái xe thân thiện với người dùng.

Cá nhân tôi đã trải nghiệm một số hệ thống phát triển không tự lưu trữ gây phiền nhiễu từ những năm 1970: ISISiRMX được phát triển một cách có uy tín trên VAXen, mặc dù tôi nghĩ rằng iRMX có thể tự lưu trữ phần lớn vào cuối những năm 1980.


10
Điều này được gọi một cách không chính thức là 'ăn thức ăn cho chó của bạn'. Rõ ràng vào những năm 1980, các nhà sản xuất phần mềm đã làm và không sử dụng sản phẩm của chính họ trong nội bộ.
dùng207421
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.