Komputer
digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh
karena itu harus ada suatu bentuk komunikasi antara user dan hardware.
Komunikasi itu terjadi dalam bentuk system calls. Sistem operasi melalui shell-nya akan menangkap
perintah dari user yang kemudian akan dikomunikasikan melalui system
calls. Disinilah peran Sistem Operasi sebagai jembatan komunikasi antara user
dan hardware itu terjadi.
System
calls itu sendiri umumnya ditulis dalam bahasa C dan C++. Mengenai shell,
shell itu sendiri secara umum adalah layer yang berfungsi sebagai
interface antara user dan inti dalam sistem operasi (kernel). Melalui shell,
user dapat memberi
perintah-perintah yang akan dikirim ke sistem operasi,
sehingga shell ini merupakan layer yang menerima interaksi dari
user secara langsung. Shell
dalam Sistem Operasi secara
umum dibagi menjadi 2, Command Line (CLI) dan Graphical (GUI). Jadi dengan kata lain, system calls berperan
sebagai interface dalam layanan-layanan yang disediakan oleh sistem
operasi.
Untuk lebih
jelasnya lihat gambar berikut. Contoh di bawah adalah sytem calls di
dalam program yang membaca data dari satu file lalu meng-copy-nya
ke file lain.
System
call menyediakan
interface antara program (program pengguna yang berjalan) dan bagian Sistem
Operasi. System call menjadi jembatan antara proses dan sistem operasi. System
call ditulis dalam bahasa assembly atau bahasa tingkat tinggi yang
dapat mengendalikan mesin (C). Contoh: UNIX menyediakan system call: read,
write => operasi I/O untuk berkas.
Sering pengguna program harus memberikan data (parameter)
ke OS yang akan dipanggil. Contoh pada UNIX: read (buffer, max_size, file_id).
Tiga cara memberikan parameter dari program ke sistem operasi:
• Melalui registers (sumber daya di
CPU).
• Menyimpan
parameter pada data struktur (table) di memori, dan alamat table tsb ditunjuk
oleh pointer yang disimpan di register.
• Push (store) melalui "stack"
pada memori dan Sistem Operasi mengambilnya melalui pop pada stack tsb.
0 komentar:
Posting Komentar