13 Apr 2012


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



Jenis System Calls
Berikut ini adalah tipe system call:
  • 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 ForkFork 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.