menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang lebih terstruktur dan mudah dimengerti oleh programmer. Fungsi yang dibuat dengan menggunakan API tersebut
kemudian akan memanggil system calls sesuai dengan sistem operasinya. Tidak tertutup kemungkinan nama dari system calls sama dengan nama di API.
Keuntungan memprogram dengan menggunakan API adalah: • Portabilitas. Programmer yang menggunakan API dapat menjalankan programnya dalam sistem
operasi mana saja asalkan sudah ter-install API tersebut. Sedangkan system call berbeda antar sistem operasi, dengan catatan dalam implementasinya mungkin saja berbeda.
• Lebih Mudah Dimengerti. API menggunakan bahasa yang lebih terstruktur dan mudah
dimengerti daripada bahasa system call. Hal ini sangat penting dalam hal editing dan pengembangan.
System call interface ini berfungsi sebagai penghubung antara API dan system call yang dimengerti oleh sistem operasi. System call interface ini akan menerjemahkan perintah dalam API dan
kemudian akan memanggil system calls yang diperlukan.
Untuk membuka suatu file tersebut user menggunakan program yang telah dibuat dengan menggunakan bantuan API, maka perintah dari user tersebut diterjemahkan dulu oleh program
menjadi perintah open. Perintah open ini merupakan perintah dari API dan bukan perintah yang langsung dimengerti oleh kernel sistem operasi. Oleh karena itu, agar keinginan user dapat
dimengerti oleh sistem operasi, maka perintah open tadi diterjemahkan ke dalam bentuk system call oleh system call interface. Implementasi perintah open tadi bisa bermacam-macam tergantung
dari sistem operasi yang kita gunakan.
6.6. 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 penggunaan system 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 InformasiPemeliharaan. 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.
44
6.7. System Programs
Seperti yang sudah kita pelajari di bab-bab awal bahwa terdapat empat komponen utama dalam sistem komputer, apabila kita jabarkan, dari yang paling bawah adalah perangkat keras Hardware,
lalu di atasnya adalah sistem operasi, kemudian di atasnya dimana yang berhubungan langsung dengan para pengguna adalah sistem program dan program aplikasi. Di dalam sistem komputer,
sistem program berguna untuk menyediakan kemudahan-kemudahan bagi pengembangan progran serta eksekusi. sistem program yang sering kita gunakan contohnya adalah format dan login. Sistem
program dibagi dalam beberapa kategori yaitu: • Manajemenmanipulasi Berkas. Membuat, menghapus, menyalin, mengganti nama, mencetak,
memanipulasi berkas dan direktori.
• Informasi Status. Beberapa program meminta informasi tentang tanggal, jam, jumlah memori
dan disk yang tersedia, jumlah pengguna dan informasi yang sejenis.
• Modifikasi Berkas. Membuat berkas dan memodifikasi isi berkas yang disimpan pada disk atau
tape.
• Pendukung Bahasa Pemograman. Kadang kala kompilator, assembler, interpreter, dari bahasa
pemograman diberikan kepada pengguna dengan bantuan sistem operasi.
• Loading dan Eksekusi Program. Ketika program di assembly atau dikompilasi, program
tersebut harus di load ke dalam memori untuk dieksekusi. Untuk itu sistem harus menyediakan absolute loaders, relocatable loaders, linkage editors, dan overlay loaders.
• Komunikasi. Komunikasi menyediakan mekanisme komunikasi antara proses, pengguna, dan
sistem komputer yang berbeda. Sehingga pengguna bisa mengirim pesan, browse web pages, mengirim e-mail, atau mentransfer berkas.
6.8. Application Programs
Program aplikasi atau yang juga sering disebut aplikasi adalah setiap program yang dirancang untuk melakukan fungsi yang khusus atau spesifik untuk pengguna atau, untuk kasus-kasus tertentu, untuk
program aplikasi lainnya. Contoh-contoh dari program aplikasi meliputi word processors, database programs, Web browsers, development tools, drawing, paint, image editing programs, dan
communication programs. Dalam menjalankan tugas-tugasnya program aplikasi menggunakan layanan-layanan sistem operasi komputer dan program-program penunjang lainnya. Seperti yang
sudah dibahas.dalam subbab 3.1 Aplication Program Interface bahwa para programmer menggunakan API untuk memudahkan mereka dalam membuat program aplikasi.
6.9. Rangkuman
Proses-proses yang terjadi di dalam sistem komputer dimulai dari pengguna komputer yang menggunakan program aplikasi dan sistem program, dimana nanti perintah-perintah dari user
dibawa oleh sistem call ke kernel yang berada pada sistem operasi untuk diterjemahkan ke dalam bahasa mesin.
Rujukan
[Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley Sons.
[Tanenbaum1997] Andrew S Tanenbaum dan Albert S Woodhull. 1997. Operating Systems Design and Implementation. Second Edition. Prentice-Hall.
[Tanenbaum2001] Andrew S Tanenbaum. 2001. Modern Operating Systems. Second Edition. Prentice-Hall.
45