System call
System
call menyediakan antar muka antara
program yang sedang berjalan dengan sistem
operasi.
System call biasanya tersedia dalam bentuk instruksi bahasa assembly. Pada saat
ini
banyak
bahasa pemrograman yang digunakan untuk menggantikan bahasa assembly sebagai
bahasa
pemrograman sehingga sistem call dapat langsung dibuat pada bahasa tinggat
tinggi
seperti
bahasa C dan C++.
Terdapat 3
(tiga) metode yang umum digunakan untuk melewatkan parameter
antara
program yang sedang berjalan dengan sistem opeasi yaitu :
• Melewatkan
parameter melalui register.
• Menyimpan
parameter pada tabel yang disimpan di memori dan alamat tabel
tersebut
dilewatkan sebagai parameter di register seperti Gambar 2-1.
• Push
(menyimpan) parameter ke stack oleh program dan pop (mengambil) isi(1)
Pada dasarnya System call dapat
dikelompokkan dalam 5 kategori seperti yang
dijelaskan
pada sub bab di bawah ini.
a. Kontrol
Proses
Mengakhiri (end) dan membatalkan (abort);
Mengambil (load) dan eksekusi (execute);
Membuat dan mengakhiri proses;
Menentukan dan mengeset atribut proses;
b.
Manipulasi File
• Membuat
dan menghapus file;
• Membuka
dan menutup file;• Membaca, menulis, dan mereposisi file;
• Menentukan
dan mengeset atribut file;
c.
Manipulasi Device
• Meminta
dan mmebebaskan device;
• Membaca,
menulis, dan mereposisi file;
• Menentukan
dan mengeset atribut device;
d. Informasi
Lingkungan
• Mengambil
atau mengeset waktu atau tanggal;
• Mengambil
atau mengeset sistem data;
• Mengambil
atau mengeset proses, file atau atribut-atribut device;
e.
Komunikasi
• Membuat
dan menghapus sambungan komunikasi;
• Mengirim
dan menerima pesan;
•
Mentransfer satus informasi;
Ada 2 model
komunikasi interproses:
a
Message-passing model. Informasi saling ditukarkan melalui fasilitas yang telah
ditentukan
oleh sistem operasi
b.
Shared-memory Model. Proses-proses menggunakan map memory untuk mengakses
daerah-daerah
di memori dengan proses-proses yang lain
Jenis System
Calls
| ||
- Manajemen Proses. System call untuk manajemen proses
diperlukan untuk mengatur proses-proses yang sedang berjalan. Kita dapat
melihat penggunaansystem calls untuk manajemen proses pada
Sistem Operasi Unix. Contoh yang paling baik untuk melihat bagaimana system
call bekerja untuk manajemen proses adalah Fork. Fork adalah
satu satunya cara untuk membuat sebuah proses baru pada sistem Unix.
- Manajemen Berkas. System calls yang berhubungan dengan berkas sangat
diperlukan. Seperti ketika kita ingin membuat atau menghapus suatu berkas,
atau ketika ingin membuka atau menutup suatu berkas yang telah ada,
membaca berkas tersebut, dan menulis berkas itu. System calls juga
diperlukan ketika kita ingin mengetahui atribut dari suatu berkas atau
ketika kita juga ingin merubah atribut tersebut. Yang termasuk atribut
berkas adalah nama berkas, jenis berkas, dan lain-lain. Ada juga system
calls yang menyediakan mekanisme lain yang berhubungan dengan
direktori atau sistem berkas secara keseluruhan. Jadi bukan hanya
berhubungan dengan satu spesifik berkas. Contohnya membuat atau menghapus
suatu direktori, dan lain-lain.
- Manajemen Piranti. Program yang sedang dijalankan
kadang kala memerlukan tambahan sumber daya. Jika banyak pengguna yang
menggunakan sistem dan memerlukan tambahan sumber daya maka harus meminta
peranti terlebih dahulu. Lalu setelah selesai, penggunaannnya harus
dilepaskan kembali dan ketika sebuah peranti telah diminta dan
dialokasikan maka peranti tersebut bisa dibaca, ditulis, atau direposisi.
- System Call Informasi/Pemeliharaan. Beberapa system calls disediakan untuk membantu pertukaran informasi antara pengguna dan sistem operasi, contohnya adalah system calls untuk meminta dan mengatur waktu dan tanggal atau meminta informasi tentang sistem itu sendiri, seperti jumlah pengguna, jumlah memori dan disk yang masih bisa digunakan, dan lain-lain. Ada juga system calls untuk meminta informasi tentang proses yang disimpan oleh sistem dan system calls untuk merubah informasi tersebut.
- Komunikasi. Dua model komunikasi:
- Message-passing. Pertukaran informasi dilakukan melalui fasilitas
komunikasi antar proses yang disediakan oleh sistem operasi.
- Shared-memory. Proses menggunakan memori yang bisa digunakan oleh berbagai proses
untuk pertukaran informasi dengan membaca dan menulis data pada memori
tersebut. Dalam message-passing, sebelum komunikasi dapat
dilakukan harus dibangun dulu sebuah koneksi. Untuk itu diperlukan suatu system
calls dalam pengaturan koneksi tersebut, baik dalam
menghubungkan koneksi tersebut maupun dalam memutuskan koneksi tersebut ketika
komunikasi sudah selesai dilakukan. Juga diperlukan suatu system
calls untuk membaca dan menulis pesan (message) agar
pertukaran informasi dapat dilakukan. System Call
System call
menyediakan antar muka antara program yang sedang berjalan dengan sistem
operasi. System call biasanya tersedia dalam bentuk instruksi bahasa assembly.
Pada saat ini banyak bahasa pemrograman yang digunakan untuk menggantikan
bahasa assembly sebagai bahasa pemrograman sehingga sistem call dapat langsung
dibuat pada bahasa tinggat tinggi seperti bahasa C dan C++.
Terdapat 3 (tiga)
metode yang umum digunakan untuk melewatkan parameter antara program yang
sedang berjalan dengan sistem opeasi yaitu :
·
Melewatkan
parameter melalui register.
·
Menyimpan
parameter pada tabel yang disimpan di memori dan alamat tabel tersebut
dilewatkan sebagai parameter di register.
·
Push
(menyimpan) parameter ke stack oleh program dan pop (mengambil) isi stack yang
dilakukan oleh system operasi.