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.
•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/
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/