Saya hanya bertanya sendiri dan melukai otak saya selama beberapa jam. Masih tidak menemukan apa pun yang benar-benar ada benarnya. Setiap orang yang menulis sesuatu pada suatu topik tidak dapat benar-benar "mengajar". Jika Anda ingin mengajar seseorang, ambillah bahasa yang paling dasar yang dipahami seseorang, jadi dia tidak perlu peduli dengan topik lain saat menangani suatu topik. Jadi saya sampai pada kesimpulan untuk diri saya sendiri yang tampaknya cocok dalam semua kekacauan ini.
Dalam bahasa pemrograman C, setiap program dimulai dengan main()
fungsi. Bahasa lain mungkin mendefinisikan fungsi lain di mana program dimulai. Tetapi prosesor tidak tahu main()
. Sebuah prosesor hanya tahu perintah yang telah ditentukan, diwakili oleh kombinasi dari 0
dan 1
.
Dalam pemrograman mikroprosesor, tidak memiliki sistem operasi yang mendasarinya (Microsoft Windows, Linux, MacOS, ..), Anda perlu memberi tahu prosesor secara eksplisit di mana harus mulai dengan mengatur ProgramCounter
(PC) yang diulang dan dilompati (loop, panggilan fungsi) di dalam perintah yang dikenal prosesor. Anda perlu tahu seberapa besar RAM, Anda perlu mengatur posisi tumpukan program (variabel lokal), serta posisi tumpukan (variabel dinamis) dan lokasi variabel global (saya kira itu disebut SSA ?) dalam RAM. Sebuah prosesor tunggal hanya dapat menjalankan satu program pada satu waktu.
Di situlah sistem operasi masuk. Sistem operasi itu sendiri adalah program yang berjalan pada prosesor. Program yang memungkinkan eksekusi kode khusus. Menjalankan banyak program sekaligus dengan beralih di antara kode eksekusi program (yang dimuat ke dalam RAM). Tetapi sistem operasinya ADALAH PROGRAM, setiap program ditulis secara berbeda. Cukup dengan memasukkan kode program khusus Anda ke dalam RAM tidak akan menjalankannya, sistem operasi tidak mengetahuinya. Anda perlu memanggil fungsi pada sistem operasi yang mendaftarkan program Anda, beri tahu sistem operasi berapa banyak memori yang dibutuhkan program, di mana titik masuk ke dalam program berada (main()
fungsi dalam kasus C). Dan inilah yang saya kira terletak di Perpustakaan Runtime, dan menjelaskan mengapa Anda memerlukan perpustakaan khusus untuk setiap sistem operasi, karena ini hanyalah program itu sendiri dan memiliki fungsi yang berbeda untuk melakukan hal-hal ini.
Ini juga menjelaskan mengapa itu TIDAK terkait secara dinamis saat runtime seperti .dll
file, bahkan jika itu disebut Perpustakaan RUNTIME. Perpustakaan Runtime perlu ditautkan secara statis, karena itu diperlukan saat memulai program Anda. Perpustakaan Runtime menyuntikkan / menghubungkan program kustom Anda ke / ke program lain (sistem operasi) di RUNTIME. Ini benar-benar menyebabkan ...
Kesimpulan: Perpustakaan RUNTIME gagal dalam penamaan. Mungkin tidak ada .dll
(menghubungkan saat runtime) di masa-masa awal dan masalah memahami perbedaan sama sekali tidak ada. Tetapi bahkan jika ini benar, nama itu dipilih dengan buruk.
Nama yang lebih baik untuk Runtime Library dapat berupa: StartupLibrary / OSEntryLibrary / SystemConnectLibrary / OSConnectLibrary
Saya harap saya benar, untuk koreksi / ekspansi. Bersulang.