Jenis Layanan Layanan dan Antarmuka

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