RUNTIME ERROR
Sistem
runtime, juga dikenali sebagai sistem jangka masa atau hanya runtime,
mempamerkan tingkah laku yang membina sebuah bahasa komputer. Setiap bahasa
pengaturcaraan mempunyai beberapa bentuk sistem runtime (seperti yang
diterangkan lebih lanjut di bawah), sama ada bahasa adalah bahasa yang disusun,
bahasa ditafsirkan, bahasa domain khusus terbenam, atau dipergunakan melalui
API seperti pthreads. Selain daripada tingkah laku yang membina bahasa, sistem
runtime juga boleh melaksanakan perkhidmatan sokongan seperti semakan jenis,
debugging, atau generasi kod dan pengoptimuman.
Sistem
runtime juga pintu masuk di mana satu program berjalan berinteraksi dengan
persekitaran masa jalanan, yang mengandungi nilai-nilai negara yang boleh
diakses semasa pelaksanaan program, dan juga entiti aktif yang boleh berhubung
semasa pelaksanaan program. Sebagai contoh, pembolehubah persekitaran adalah
ciri-ciri sistem operasi banyak, dan merupakan sebahagian daripada persekitaran
runtime; program berjalan boleh mengaksesnya melalui sistem runtime. Begitu
juga, peranti perkakasan seperti pemacu DVD adalah entiti yang aktif program
yang boleh berinteraksi dengan melalui sistem runtime.
GAMBARAN
KESELURUHAN
Sebagai
contoh mudah yang runtime asas, sistem runtime bahasa C adalah satu set arahan
tertentu dimasukkan ke dalam imej boleh laku oleh pengkompil. Antara lain,
arahan ini menguruskan timbunan pemproses, mewujudkan ruang bagi pembolehubah
tempatan, dan parameter salinan fungsi-panggilan ke bahagian tepi. Terdapat
sering tidak mempunyai kriteria yang jelas untuk menentukan mana bahasa tingkah
laku dianggap dalam sistem runtime berbanding yang tingkah laku adalah
"disusun". Dalam kes ini, alasan bahawa tingkah laku timbunan C
adalah sebahagian masa pengeluaran, berbanding dengan sebahagian daripada kata
kunci bahasa, adalah bahawa ia adalah sistematik, mengekalkan keadaan tindanan
sepanjang pelaksanaan program ini. Kelakuan sistematik melaksanakan model
pelaksanaan bahasa, berbanding dengan melaksanakan semantik kata kunci tertentu
yang langsung diterjemahkan ke dalam kod yang akan mengira keputusan.
Satu
lagi contoh, yang menerangi sifat sistem runtime, adalah kes menggunakan antara
muka pengaturcaraan penggunaan (API) untuk berinteraksi dengan sistem runtime.
Panggilan untuk API yang kelihatan sama seperti panggilan perpustakaan
perisian, bagaimanapun runtime melaksanakan model pelaksanaan yang berbeza
dengan bahasa perpustakaan ditulis dari segi. Seseorang yang membaca kod
perpustakaan akan dapat memahami tingkah laku perpustakaan dengan hanya
mengetahui bahasa perpustakaan itu ditulis dalam. Walau bagaimanapun, orang
yang membaca kod API yang menyembah runtime yang tidak akan dapat memahami
tingkah laku panggilan API hanya dengan mengetahui bahasa panggilan yang telah
ditulis. Pada satu ketika, melalui mekanisme tertentu, model pelaksanaan yang
berhenti itu adalah kepunyaan bahasa panggilan yang ditulis dalam dan bertukar
kepada menjadi model pelaksanaan yang dilaksanakan oleh sistem runtime. Sebagai
contoh, arahan perangkap adalah satu kaedah menukar model pelaksanaan.
Perbezaan ini adalah apa yang membezakan bahasa API digunakan, seperti benang
POSIX, dari perpustakaan perisian. Kedua-dua panggilan POSIX-benang dan
panggilan perpustakaan perisian yang digunakan melalui API, tetapi tingkah laku
POSIX-benang tidak boleh difahami dari segi bahasa panggilan. Sebaliknya,
panggilan POSIX-benang membawa ke dalam bermain model pelaksanaan di luar, yang
dilaksanakan oleh runtime POSIX-benang (runtime ini sering kernel OS).
Sesetengah
bahasa disusun atau ditafsirkan menyediakan antara muka yang membolehkan kod permohonan
untuk berinteraksi secara langsung dengan sistem masa pengeluaran. Satu contoh
ialah kelas Thread dalam bahasa Jawa. Biasanya aspek teras tingkah laku bahasa
seperti penjadualan tugas dan pengurusan sumber tidak boleh diakses dalam
fesyen ini.
Tingkah
laku tahap yang lebih tinggi yang dilaksanakan oleh sistem jangka masa mungkin
termasuk tugas seperti melukis teks pada skrin atau membuat sambungan Internet.
Ia sering kes bahawa sistem operasi menyediakan jenis-jenis tingkah laku juga,
dan jika ada, masa pengeluaran dilaksanakan sebagai lapisan abstraksi, yang
menterjemahkan doa masa pengeluaran ke dalam doa sistem operasi. Ini
menyembunyikan kerumitan atau variasi dalam perkhidmatan yang ditawarkan oleh
sistem operasi yang berbeza. Ini juga menunjukkan bahawa kernel OS yang boleh
dilihat sebagai satu sistem runtime, dan bahawa set panggilan OS yang sembah
tingkah laku OS boleh dilihat sebagai satu bahasa API digunakan.
Dalam
had, sistem jangka masa boleh menyediakan perkhidmatan seperti mesin P-kod atau
mesin maya, yang menyembunyikan set arahan walaupun pemproses ini. Ini adalah
pendekatan yang diikuti oleh banyak bahasa ditafsirkan seperti awk, dan
beberapa bahasa seperti Java, yang bertujuan untuk dikumpulkan ke dalam
beberapa pseudokod mesin-bebas (bytecode). Susunan ini amat memudahkan tugas
pelaksanaan bahasa dan penyesuaiannya dengan mesin yang berbeza, dan
membolehkan ciri-bahasa canggih seperti pantulan. Ia juga membolehkan program
yang sama akan dilaksanakan di mana-mana mesin tanpa recompiling, ciri-ciri
yang telah menjadi sangat penting sejak resapan dari World Wide Web. Untuk
mempercepatkan pelaksanaan, sesetengah sistem masa jalanan menampilkan tepat
pada masa penyusunan kepada kod mesin.
Di sudut
yang lain, untuk bahasa himpunan, CPU fizikal itu sendiri boleh dilihat sebagai
pelaksanaan sistem runtime untuk bahasa pengaturcaraan. Ini boleh difahami
dengan lebih baik dengan mempertimbangkan bahawa ciri bahasa seperti makro
dilaksanakan oleh alat penghimpun untuk memanipulasi struktur kod, manakala
tingkah laku pelaksanaan masa diarahkan oleh CPU dan memori fizikal sistem. Ini
juga membantu dalam menunjukkan fakta bahawa sistem runtime untuk bahasa
peringkat tinggi adalah diri mereka dilaksanakan dengan menggunakan beberapa
bahasa lain. Juga, ini mewujudkan hierarki sistem runtime, dengan CPU
sendirinya- atau sebenarnya kerja dalaman yang seperti saling hubungan dan
bertindak microcode- sebagai runtime terendah peringkat.
Satu
aspek moden sistem runtime adalah tingkah laku pelaksanaan selari, seperti
tingkah laku yang ditunjukkan oleh konstruk mutex dalam pthreads dan seksyen
selari konstruk dalam OpenMP. A runtime dengan tingkah laku pelaksanaan selari
itu boleh modular mengikut pendekatan proto-runtime.
No comments:
Post a Comment