Saya sedang mempelajari CPU dan saya tahu cara membaca program dari memori dan menjalankan instruksinya. Saya juga mengerti bahwa sebuah OS memisahkan program dalam proses, dan kemudian bergantian antara masing-masing begitu cepat sehingga Anda berpikir bahwa mereka berjalan pada waktu yang sama, tetapi pada kenyataannya setiap program berjalan sendiri dalam CPU. Tetapi, jika OS ini juga merupakan kumpulan kode yang berjalan di dalam CPU, bagaimana ia dapat mengatur prosesnya?
Saya telah memikirkan dan satu-satunya penjelasan yang dapat saya pikirkan adalah: ketika OS memuat sebuah program dari memori eksternal ke RAM, ia menambahkan instruksi sendiri di tengah instruksi program asli, sehingga program dijalankan, program dapat memanggil OS dan melakukan beberapa hal. Saya percaya ada instruksi bahwa OS akan menambahkan ke program, yang akan memungkinkan CPU untuk kembali ke kode OS beberapa waktu. Dan juga, saya percaya bahwa ketika OS memuat sebuah program, ia memeriksa apakah ada beberapa instruksi yang dilarang (yang akan melompat ke alamat terlarang dalam memori) dan menghilangkannya kemudian.
Apakah saya berpikir tegar? Saya bukan seorang siswa CS, tetapi pada kenyataannya, seorang siswa matematika. Jika memungkinkan, saya ingin buku yang bagus tentang ini, karena saya tidak menemukan orang yang menjelaskan bagaimana OS dapat mengatur proses jika OS juga merupakan kumpulan kode yang berjalan di CPU, dan tidak dapat berjalan pada saat yang sama waktu program. Buku-buku hanya mengatakan bahwa OS dapat mengatur berbagai hal, tetapi sekarang caranya.