Sunday, August 28, 2005

Jawaban Quiz 23/08/05 - Soal 1

Terjemahan dari salah satu sub bab dari buku:

REAL-TIME SYSTEMS

(penulis: C.M. Khrisma dan Kang G. Shin, penerbit: The McGraw-Hill Companies, Inc., tahun 1997)


4.14 RUN-TIME SUPPORT

Komponen kunci run-time support adalah compiler, linker, debugger, dan kernel.

4.15.1 Compiler

Compiler menerjemahkan source code menjadi bahasa mesin. Compiler yang baik haruslah memiliki kemampuan diagnostik yang baik, yang digunakan untuk meningkatkan efisiensi proses debugging. Jika diperlukan, compiler juga harus dapat membuat daftar instruksi mesin dari unit yang di-compile. Hal ini diperlukan untuk membuat perkiraan waktu (timing estimates). Compiler yang baik untuk suatu sistem nyata-waktu hendaknya memiliki hooks yang digunakan untuk memberikan informasi statistik tentang program saat dijalankan. Contohnya, seberapa sering suatu fungsi, blok, atau prosedur tertentu dipanggil dan jumlah waktu yang diperlukan untuk menjalankannya.

Compiler seringkali juga melakukan optimisasi untuk menurunkan waktu eksekusi. Seharusnya compiler juga dapat memberikan petunjuk bagaimana optimisasi dapat dilakukan. Pada Ada, hal ini dilakukan menggunakan pragma.

4.15.2 Linker

Sebelum kode mesin dari compiler dapat dieksekusi, kode ini harus dihubungkan dengan library atau routine lain yang diperlukan. Hal ini menjadi tugas linker. Jadi, linker berfungsi menghubungkan bagian-bagian yang menyusun program. Bagian-bagian ini dapat berupa unit-unit program atau library routine yang dapat di-compile secara terpisah. Linker menentukan bagian mana yang merupakan bagian utama (main) dan mengalokasikan storage space bagi instruksi dan data. Linker juga membuat daftar yang menunjukkan bagaimana unit-unit yang berbeda tersebut dihubungkan.



4.15.3 Debugger

Debugger yang baik memegang peranan penting bagi pengembangan program yang efisien. Debugger umumnya menawarkan fasilitas-fasilitas berikut ini.

  • Debugger membuat suatu program dapat dieksekusi, dihentikan (suspended), dan dilanjutkan kembali (resumed) sesuai perintah programmer. Debugger membuat programmer dapat melihat nilai variabel-variabel yang digunakan. Debugger juga membuat programmer dapat mengubah nilai variabel sebelum eksekusi program dilanjutkan kembali.
  • Debugger memungkinkan pemasukkan breakpoints ke dalam program. Saat program menemukan sebuah breakpoint, eksekusinya akan dihentikan sehingga programmer dapat memeriksa nilai variabel pada saat tersebut. Kadang-kadang, breakspoints bersifat bersyarat (conditional). Contohnya, programmer dapat saja mengatakan "Hentikan program jika x<0 pada titik ini." Jika tidak ada dukungan dari perangkat keras, fitur ini akan memperlambat waktu eksekusi.
  • Debugger memungkinkan programmer untuk mengeksekusi program setahap demi setahap. Programmer dapar memeriksa nilai variabel pada setiap tahapan tersebut.


4.15.4 Kernel

Kernel bertanggung jawab untuk mengelola resource sistem. Di dalamnya termasuk routine untuk membuat alokasi dan penjadwalan task, mengelola memori, menjalankan algoritma untuk komunikasi interprocessor, menangani egagalan processor (processor failures), dan melakukan operasi input dan output.

0 Comments:

Post a Comment

<< Home