Pada umumnya, pemanggilan sisem menyediakan proteksi mencakup set_permission() dan get_permission(),
yang mengubah pengaturan izin sumber daya misalnya file dan disk
Program Sistem
• Manajemen file, melakukan create, delete, copy, rename, print, dump, list, dan secara
umum memanipulasi file dan direktori;
• Informasi status, mencakup tanggal, waktu, jumlah pengguna, sisa memori, dsb
• Modifikasi file, dapat berupa editor teks, pencarian isi file atau transformasi teks
• Dukungan bahasa pemrograman, berupa kompilator, interpreter, debugger, dan sejenisnya
• Pemuatan dan eksekusi program, pemuatan program yang dikompilasi, loader, linked
editor, overlay loaders, dsb
• Komunikasi, menyediakan mekanisme untuk membuat koneksi vvirtual antara proses,
pengguna, dan sistem komputerr
• Layanan latar belakang, merupakan metode untuk meluncurkan program tertentu saat
proses boot, dan mungkin menghentikan proses setelah selesai
Desain dan Implementasi Sistem Operasi
Tujuan Perancangan
Mekanisme dan Policy
Masalah pertama dalam perancangan
adalah menentukan tujuan dan
Perlu dipisahkan antara policy dan mekanisme.
spesifikasi. Pada leel tertinggi,
Mekanisme menentukan bagaimana cara
perancangan sistem akan
melakukan sesuatu, sedangkan policy
mempengaruhi pemilihan perangkat
menentukan apa yang akan dilakukan.
keras dan jenis sistem: batch, time-
Policy biasanya berubah sesuai tempat atau
sharing, single user, multi user,
waktu. Pada kasus terburuk setiap perubahan
distributed, real time, atau general
policy akan diikuti dengan keharusan
purpose.
perubahan mekanisme. Mekanisme umum
Pada dasarnya ada dua tujuan: tujuan
yang tidak sensitif terhadap perubahan policy
pemakai dan tujuan sistem, masing-
tentu saja sangat diharapkan.
masing dengan keinginannya. Tidak
ada solusi tunggal untuk
mengkompromikan kedua tujuan
tersebut
Implementasi Komunikasi
Oleh karena sistem operasi adalah koleksi Ada dua model umum komunikasi interproses:
dari banyak program, ditulis oleh banyak model penerusan-pesan (message-passing model)
dan model berbagi memori (shared-memory
orang dan berevolusi dalam waktu lama,
model).
maka tidak ada cara umum untuk Pada model penerusan-pesan, proses komunikasi
menyatakan bagaimana sistem operasi dilakukan dengan mempertukarkan pesan satu
diimplementasikan. sama lain.
Sistem operasi awalnya ditulis dalam
Pada model berbagi memori, proses
bahasa assembly. Seiringg waktu,
menggunakan pemanggilan sistem
meskipun masih juga ada yang ditulis shared_memory_create() dan
dalam bahasa assembly, banyak yang shared_memory_attach(). Harap diingat bahwa
ditulis dalam bahasa C atau C++. Bagian secara normal sistem operasi akan mencoba
kernel biasanya masih ditulis dalam mencegah satu proses mengakses memori proses
lainnya. Pada model berbagi memori dua atau
bahasa assembly sementara untuk rutin-
lebih proses harus setuju untuk menghilangkan
rutin tertentu dapat ditulis dalam batasan tersebut. Setelah itu, mereka dapat
beragam bahasa computer. mempertukarkan infomasi dengan membaca dan
menuliskan data di area bersama.
Struktur Sistem Operasi
Struktur Sederhana (1)
Struktur MS-DOS
Struktur Sederhana (2)
• Pengalaman dengan UNIX menunjukkan bawa semakin berkembang sistem operasi. Semakin besar kernel
dan semakin sulit dikelola
• Maka dikembangkan mikrokernel, dengan cara menstrukturisasi sistem operasi dengan membuang bagian
tidak esensial dari kernel dan mengimplementasikannya sebagai program sistem dan program level
pengguna
Modul
• Pendekatan modular mungkin merupakan metode
terbaik saat ini – menggunakan modul-modul kernel
yang dapat dimuat sewaktu-waktu (loadable kernel
modules)
• Digunakan pada sistem operasi modern berbasis Uni,
misalnya Solaris, Linux dan Mac OS X serta Windows
• Ide rancangannya adalah: kernel hanya memberikan
layanan initi sementara layanan lain diimplementasikan
secara dinamis selagi kernel berjalan.
• Menautkan layanan secara dinamis lebih disukai
Pendekatan modular OS Solaris daripada menambahkan langsung ke kernel yang akan
memerlukan rekompilasi kernel setiap kali dilakukan
perubahan
• Jadi, misalnya, kita dapat membangun penjadwalan CPU dan algoritma pengelolaan memori langsung ke
dalam kernel dan kemudian menambahkan dukungan untuk sistem file berbeda dengan cara memuatkan
modul yang diperlukan
• Secara keseluruhan menggunakan struktur berlapis pada bagian kernelnya, tetapi lebih fleksibel daripada
sistem berlapis karena karena setiap modul dapat dipanggil dari modul manapun
Sistem Hybrid
• Secara praktis, sangat sedikit sistem operasi yang mengadopsii struktur tunggal
secara ketat
• Biasanya mereka mengkombinaikan struktur berbeda sehingga disebut sistem hybrid
– dengan tujuan memperoleh performance, kemanan, dan usabilitas yang optimal
• Linux dan Solaris misalnya, adalah sistem yang monolitik karena memiliki sistem
operasi yang ditempatkan pada satu ruang alamat agar efisien. Tetaoi keduanya juga
modular karena fungsi-fungsi baru secara dinamis dapat ditambahkan ke kernelnya.
• Windows juga merupakan sistem yang monolitik untuk alasan performance. Tetapi ia
juga menganut sistem mikrokernel termasuk dalam caranya memberikan dukungan
untuk subsistem berbeda yang berjalan sebagai proses mede-pengguna.
• Windows juga memberikan dukungan untuk memuat modul kernel secara dinamis.