Jumat, 13 April 2012

System Call


System call merupakan mekanisme yang digunakan oleh program aplikasi untuk meminta service darisistem operasi. Service yang dimaksud adalah services yang dikelola oleh sistem operasi seperti storage,memory, network, process management, mengakses perangkat keras, dll.
Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. Komunikasi itu terjadi dalam bentuk system calls. SO melalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. Disinilah peran SO sebagai jembatan komunikasi antara user dan hardware itu terjadi. System calls itu sendiri umumnya ditulis dalam bahasa C dan C++. Mengenai shell, shell itu sendiri secara umum adalah layer yang berfungsi sebagai interface antara user dan inti dalam sistem operasi (kernel). Melalui shell, user dapat memberi perintah-perintah yang akan dikirim ke sistem operasi, sehingga shell ini merupakan layer yang menerima interaksi dari user secara langsung. Shell dalam SO secara umum dibagi menjadi 2, Command Line(CLI) dan Graphical(GUI). Jadi dengan kata lain, system calls berperan sebagai interface dalam layanan-layanan yang disediakan oleh sistem operasi.
Untuk lebih jelasnya lihat gambar berikut. Contoh di atas adalah sytem calls di dalam program yang membaca data dari satu file lalu meng- copy-nya ke file lain.
Gambar 6.2. Contoh System Call



System call menyediakan antar muka antara program yang
sedang berjalan dengan sistem operasi.

System call biasanya tersedia dalam bentuk instruksi bahasa
Assembly

System call dikelompokkan dalam 5 kategori:
Kontrol Proses
Manipulasi File
Manipulasi Device
Informasi Lingkungan
Komunikasi
SISTEM CALL
1. Kontrol Proses (1)
• Hal-hal yang dilakukan:
• Mengakhiri (end) dan membatalkan (abort);
• Mengambil (load) dan eksekusi (execute);
• Membuat dan mengakhiri proses;
• Menentukan dan mengeset atribut proses;
Wait for time;
ignal event;
• Mengalokasikan dan membebaskan memori.
SISTEM CALL
1. Kontrol Proses (2)
Contoh: Sistem operasi pada MS-DOS menggunakan sistem singletasking yang
memeiliki command interpreter yang akan bekerja pada saat start (Gambar 2-2).Karena singletasking, maka akan menggunakan metode yang sederhana
untuk menjalankan program dan tidak akan membuat proses baru.


2. Manipulasi File
Hal-hal yang dilakukan:
• Membuat dan menghapus file;
• Membuka dan menutup file;
• Membaca, menulis, dan mereposisi file;
• Menentukan dan mengeset atribut file;

3. Manipulasi Device
Hal-hal yang dilakukan:
• Meminta dan mebebaskan device;
• Membaca, menulis, dan mereposisi device;
• Menentukan dan mengeset atribut device;

4. Informasi Lingkungan
• Hal-hal yang dilakukan:
• Mengambil atau mengeset waktu atau tanggal;
• Mengambil atau mengeset sistem data;
• Mengambil atau mengeset proses, file atau atributatribut device;

5. Komunikasi
Hal-hal yang dilakukan:
• Membuat dan menghapus sambungan
• Mengirima dan menerima pesan;
• Mentransfer satus informasi;

STRUKTUR DASAR SISTEM OPERASI

- Sistem monolitik
Sistem berlapis
Sistem dengan mesin maya
Sistem dengan client – server
Sistem berorientasi objek

STRUKTUR DASAR SISTEM OPERASI
1. Sistem monolitik
• Sistem operasi sebagai kumpulan prosedur dimana prosedurdapat saling dipanggil oleh prosedur lain di sistem bila diperlukan.
• Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai.

Kelemahan :

a.       pengujian dan penghilangan kesalahan sulit karena tak dapat dipisahkan dan dilokalisasi

b.      sulit dalam menyediakan fasilitas pengamanan


c.       merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel Tidak fleksibel.

d.      kesalahan pemrograman satu bagian dari kernel menyebabkan matinya seluruh system.




Keunggulan :
– Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat
           
• UNIX sampai saat ini berstruktur monolitik.
• Meskipun monolitik, yaitu seluruh komponen/subsistem system operasi terdapat di satu ruang alamat tetapi secara rancangan adalah berlapis.
• UNIX menggunakan konsep kernel loadable modules, yaitu :

a.       bagian-bagian kernel terpenting berada di memori utama secara tetap.

b.      bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut begitu tidak digunakan lagi di waktu jalan (run-time).

2. Sistem Berlapis
• Sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana lapisan-lapisan bawah memberi layanan lapisan lebih atas.
• Modularisasi sistem dilakukan dengan cara memecah system operasi menajdi beberapa lapis (tingkat). Lapisan terendah (layer 0) adalah perangkat keras dan lapisan teratas (layer N) adalah user interface.

Keunggulan :

– Memiliki semua keunggulan rancangan modular, yaitu system dibagi menjadi beberapa modul dan tiap modul dirancang secara independen. Tiap lapisan dapat dirancang, dikode, dan diuji secara independen.

• Kelemahan :
– Fungsi – fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati.

3. Sistem Dengan MesinMaya (1)

• Sistem operasi dapat menjalankan aplikasi-aplikasi untuk system operasi lain konsep operating system emulator.
Contoh :

– MS Windows NT dapat menjalankan aplikasi untuk MS-DOS. Aplikasi tersebut dijalankan sebagai masukan bagi subsistem di MS-Windows NT yang mengemulsikan system calls yang
dipanggil aplikasi dengan Win32API (system calls di MS Windows NT).

– Pengembang Linux membuat DOSEMU agar aplikasi untuk MSDOS dapat dijalankan di Linux, WINE agar aplikasi untuk MSWindows dapat dijalankan di Linux, iBCS agar aplikasi untuk Unix dapat dijalankan di Linux, dll.

4. Sistem Dengan Client – Server (1)

• Sistem operasi merupakan kumpulan proses dengan prosesproses dikategorikan sebagai server dan client.

Server : proses yang menyediakan layanan
Client : proses yang memerlukan/meminta layanan.
• Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban.
• Proses server setelah melakukan tugas yang diminta, mengirim pesan jawaban ke proses client.
• Server hanya menanggapi permintaan client dan tidak memulai percakapan dengan client.
4. Sistem Dengan Client – Server (2)

Keunggulan :
– pengembangan dapat dilakukan secara modular
– kesalahan (bugs) di satu subsistem (diimplementasikan sebagai satu proses) tidak merusak subsistem-subsitem lain sehingga tidak mengakibatkan satu sistem mati secara keseluruhan.
– mudah diadaptasi untuk sistem tersebar.

Kelemahan :
– layanan dilakukan lambat karena harus melalui pertukaran pesan
– pertukaran pesan dapat menjadi bottleneck.

5. Sistem Berorientasi Objek

• Pada sistem berorientasi objek, layanan diimplementasikan sebagai kumpulan objek.
• Objek mengkapsulkan struktur data dan sekumpulan operasi pada struktur data itu.
• Tiap objek diberi tipe yang menandai properti objek seperti proses, direktori, berkas, dsb.
• Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan dapat diakses dan dimodifikasi.

• Contoh sistem operasi berorientasi objek, antara lain :
– Eden, Choices, X-kernel, Medusa, Clouds, Amoeba, dsb.
– Sistem operasi MS Windows NT telah mengadopsi beberapa
teknologi berorientasi objek tapi belum keseluruhan.

Sumber referensi
- http://bebas.ui.ac.id/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch06s04.html
- ikc.unimal.ac.id/umum/ibam/ibam-os-html/x395.html
- http://dewa18.wordpress.com/2009/10/28/operasi-sistem-komputer-struktur-sistem-       operasi-dan-system-call/