Q. Apa berhenti program perakitan dari menabrak sistem operasi?
A. Tidak ada.
Namun, banyak programmer yang sangat pintar telah berusaha sangat keras selama bertahun-tahun untuk membuatnya semakin sulit. Sayangnya, untuk setiap programmer yang pandai, ada banyak, banyak lainnya yang di antara mereka lebih kreatif, lebih ambisius, dan kadang-kadang hanya lebih beruntung daripada yang pintar. Setiap kali seorang programmer yang pandai mengatakan bahwa tidak ada yang harus, mau atau bisa melakukan sesuatu, seseorang di luar sana akan menemukan cara untuk melakukannya. Microsoft Windows (sebagai contoh) telah ada selama hampir 35 tahun dan kami masih memiliki BSoD (Blue Screens of Death), yang hanya instruksi yang membuat sistem operasi crash.
Mari kita mulai dengan sedikit terminologi. Segala sesuatu yang berjalan di komputer melakukannya dalam kode mesin. Bit yang membaca penekanan tombol atau gerakan mouse pointer, sedikit yang berubah warna pixel pada layar atau membaca byte dari file dan bit yang menghitung apakah peluru Anda memukul orang jahat atau bit yang menentukan jika aplikasi kartu kredit Anda akan diterima semua dijalankan sebagai urutan instruksi kode mesin. Beberapa pekerjaan sangat umum dan dilakukan sangat sering sehingga masuk akal untuk mengumpulkan instruksi yang diperlukan untuk melakukannya dan meminta semua orang menggunakan perakitan itu. Banyak pekerjaan ini yang memungkinkan atau membantu orang lain untuk menggunakan komputer cenderung disebut sistem operasi tetapi tidak ada yang secara inheren berbeda antara mereka dan program lain. Mereka semua hanya urutan instruksi kode mesin.
Apa yang membuat sistem operasi lebih rumit (dan karena itu rentan terhadap crash) adalah mereka harus memperhitungkan hal-hal yang biasanya tidak perlu Anda pikirkan. Ambil paling sederhana pekerjaan sebagai contoh. Saya ingin menulis pesan di akhir file. Dalam bahasa tingkat tinggi Anda akan menulis sesuatu seperti:
with open("myFile.txt", "w+") as f:
# do some really clever things
f.write("Goodbye cruel world!")
Mari kita abaikan semua perincian tentang bagaimana status fisik diakses dan diubah atau bagaimana mereka ditafsirkan sebagai bit dan byte atau bagaimana byte tersebut ditransfer ke dan dari memori dan CPU, dan percaya bahwa semua itu ditangani oleh program yang disediakan oleh OS. di balik layar. Mari kita pikirkan tentang bagaimana Anda menambahkan ke akhir file. 1) Cari tahu di mana ujung file, 2) tulis sesuatu di posisi itu. Apa yang mungkin salah? Sebenarnya cukup banyak. Pikirkan apa lagi yang terjadi di komputer saat Anda melakukan hal-hal yang cerdas. Jika apa pun yang dilakukan oleh orang lain (termasuk sistem operasi itu sendiri) perubahan file Anda bekerja pada cara apapun, maka pekerjaan benar-benar sederhana ini tiba-tiba mendapat banyak lagi rumit. File lebih panjang, file lebih pendek. File tidak ada lagi. Disk penuh,