Berikut
ini adalah tipe system calls:
System Calls untuk managemen proses diperlukan untuk mengatur
proses-proses yang sedang berjalan. Kita dapat melihat penggunaan system calls untuk
managemen proses pada Sistem Operasi Unix. Contoh yang paling baik untuk
melihat bagaimana system calls
bekerja untuk managemen proses adalah Fork.
Fork adalah satu satunya cara
untuk membuat sebuah proses baru pada system Unix. Fork membuat duplikasi yang
mirip dengan proses aslinya, termasuk file descriptor, register, dan lainnya.
Setelah perintah Fork, child akan
mengeksekusi kode yang berbeda dengan parentnya. Bayangkan yang terjadi pada
shell. Shell akan membaca command dari terminal, melakukan fork pada child, menunggu
child untuk mengeksekusi command tersebut, dan membaca command lainnya ketika child
terminate.
Untuk menunggu child selesai,
parent akan mengeksekusi system call waitpid, yang hanya akan menunggu sampai
child selesai. Proses child harus mengeksekusi command yang dimasukkan oleh user
(pada kasus shell). Proses child melakukannya dengan menggunakan system calls exec.
Dari ilustrasi tersebut kita dapat
mengetahui bagaimana system calls
dipakai untuk managemen proses. Kasus lainnya bukan hanya pada Fork, tetapi
hampir setiap proses memerlukan system
calls untuk melakukan management proses.
•
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 adalahsystem 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.
0 komentar:
Posting Komentar