Seperti apa sistem operasi sebelum shell dijalankan?
Tergantung pada OS dan bagaimana Anda mengkonfigurasinya. Linux dapat dikonfigurasi untuk menulis teks boot ke perangkat konsol, baik konsol mode teks, konsol framebuffer atau port serial. Itu juga dapat dikonfigurasikan untuk benar-benar diam. Beberapa OS / sistem dapat menulis informasi diagnostik ke memori non-volatile yang dapat diakses dengan menempatkan sistem dalam mode pengembang, debug, atau diagnostik. Banyak sistem operasi mendukung keluaran boot dan informasi diagnostik ke beberapa bentuk UART, yang entah bagaimana mungkin tersedia pada unit bahkan jika disembunyikan dari pengguna (google "Tambahkan port serial ke DD-WRT" untuk contoh di mana produsen menyembunyikan port serial dan bagaimana Anda bisa mendapatkan mereka).
OS tidak harus memiliki tampilan eksternal sama sekali - itu hanyalah perangkat lain untuk OS.
Bagaimana sistem digunakan sebelum shell pertama dikembangkan (misalnya UNIX pada awal 1970-an)?
Pada dasarnya (dan banyak meninggalkan tetapi ini seharusnya memberi Anda ide) - Anda memuat program Anda, baik dengan membalik sakelar pada panel atau menggunakan kertas-tape reader (perangkat ini akan menulis ke memori secara langsung tanpa intervensi CPU) dan kemudian mulai CPU dengan sakelar lain. CPU akan menjalankan program ini, menghasilkan output, dan berhenti. Ini adalah pemrosesan batch yang bertentangan dengan pemrosesan interaktif. Jika Anda ingin menjalankan program yang berbeda, Anda harus melakukan ini lagi.
Jika komputer bahkan tidak dapat menerima perintah (tidak ada baris perintah), bagaimana pengguna dapat berinteraksi dengannya?
Saya bukan ahli dalam bidang ini tetapi komputer lama, lama seperti Altair, IMSAI, dan PDP-8 dan yang demikian memiliki saklar panel depan yang secara langsung mengontrol CPU dan dapat langsung membaca dan menulis memori tanpa campur tangan CPU.
Apa antarmuka paling dasar ini?
Saya percaya sebagian besar jika tidak semua CPU modern memiliki "port JTAG" yang memungkinkan jenis operasi langsung yang sama. Ingatlah bahwa untuk waktu yang lama sebagian besar komputer diharapkan memiliki ROM atau firmware yang mengendalikan sistem ketika dihidupkan sebelum menyerahkannya ke OS. Di sini, utilitas pra-boot bisa ada, atau mekanisme minimal untuk memuat utilitas seperti itu ada. Beberapa bootloader seperti U-Boot dapat diakses melalui port serial. Bootloader tidak menjalankan "di belakang" OS, mereka memuat OS, mengendalikannya, dan kemudian mereka tidak lagi berjalan.
Bisakah saya menjalankan antarmuka ini dalam emulator terminal atau apakah tidak ada cara di balik shell?
Tidak, Anda memerlukan antarmuka JTAG. Itu terjun ke ranah elektronik dan saya akui saya tidak tahu banyak tentang itu, kecuali bahwa GuruPlug saya datang dengan satu dan saya dapat langsung memprogram chip flash pada papan GuruPlug dengan itu - artinya jika sesuatu membunuh bootloader pada GuruPlug, saya memiliki cara "CPU independent" untuk mem-flash-nya kembali.