Một hệ điều hành trông như thế nào trước khi một shell được chạy?
Phụ thuộc vào hệ điều hành và cách bạn cấu hình nó. Linux có thể được cấu hình để ghi văn bản khởi động vào thiết bị bảng điều khiển, cho dù là bảng điều khiển chế độ văn bản, bảng điều khiển bộ đệm khung hoặc cổng nối tiếp. Nó cũng có thể được cấu hình để hoàn toàn im lặng. Một số hệ thống / hệ điều hành có thể ghi thông tin chẩn đoán vào bộ nhớ không bay hơi có thể được truy cập bằng cách đặt hệ thống ở chế độ phát triển, gỡ lỗi hoặc chẩn đoán. Nhiều hệ điều hành hỗ trợ xuất thông tin khởi động và chẩn đoán cho một số dạng UART, có thể bằng cách nào đó có sẵn trên thiết bị ngay cả khi bị ẩn khỏi người dùng (google "Thêm cổng nối tiếp vào DD-WRT" để biết ví dụ về nơi các nhà sản xuất ẩn cổng nối tiếp và cách bạn có thể nhận được chúng).
Một hệ điều hành hoàn toàn không phải có màn hình ngoài - đó chỉ là một thiết bị khác cho HĐH.
Các hệ thống được sử dụng như thế nào trước khi lớp vỏ đầu tiên được phát triển (ví dụ UNIX vào đầu những năm 1970)?
Về cơ bản (và bỏ đi rất nhiều nhưng điều này sẽ giúp bạn có ý tưởng) - Bạn đã tải chương trình của mình, bằng cách lật công tắc trên bảng hoặc sử dụng đầu đọc băng giấy (các thiết bị này sẽ ghi trực tiếp vào bộ nhớ mà không cần sự can thiệp của CPU) CPU với một công tắc khác. CPU sẽ chạy chương trình này, tạo đầu ra và dừng lại. Đây là xử lý hàng loạt trái ngược với xử lý tương tác. Nếu bạn muốn chạy một chương trình khác, bạn phải làm điều này hơn.
Nếu một máy tính thậm chí không thể chấp nhận các lệnh (không có dòng lệnh), làm thế nào người dùng có thể tương tác với nó?
Tôi không phải là chuyên gia trong lĩnh vực này, nhưng các máy tính cũ, cũ như Altair, IMSAI và PDP-8 và các công tắc bảng mặt trước điều khiển trực tiếp CPU và có thể đọc và ghi bộ nhớ trực tiếp mà không cần sự can thiệp của CPU.
Giao diện cơ bản nhất này là gì?
Tôi tin rằng hầu hết các CPU hiện đại không có "cổng JTAG" cho phép các loại hoạt động trực tiếp giống nhau. Hãy nhớ rằng trong một thời gian dài, hầu hết các máy tính đều được mong đợi có ROM hoặc phần sụn kiểm soát hệ thống khi được bật trước khi đưa nó vào HĐH. Ở đây, các tiện ích tiền khởi động có thể tồn tại hoặc một cơ chế tối thiểu để tải các tiện ích đó tồn tại. Một số bộ tải khởi động như U-Boot có thể được truy cập thông qua cổng nối tiếp. Bộ tải khởi động không chạy "phía sau" HĐH, chúng tải HĐH, điều khiển tay cho nó và sau đó chúng không còn chạy.
Tôi có thể chạy giao diện này trong trình giả lập thiết bị đầu cuối hay không có cách nào đi sau lớp vỏ?
Không, bạn cần một giao diện JTAG. Đó là lặn vào lĩnh vực điện tử và tôi thừa nhận tôi không biết rất nhiều về nó, ngoại trừ việc tôi GuruPlug đi kèm với một và tôi có thể trực tiếp chương trình chip flash trên ban lãnh đạo GuruPlug với nó - có nghĩa là nếu có điều gì giết chết bootloader trên Xin chào, tôi có một cách "độc lập với CPU" để flash lại.