5 STRUKTUR SISTEM OPERASI
Sistem
Operasi adalah software pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer
dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem
Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk
software-software itu
Kalau
sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah
penghubung antara lapisan hardware dan lapisan software. Lebih jauh
daripada itu, Sistem Operasi melakukan semua tugas-tugas penting dalam
komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara
bersamaan dengan lancar
1. Struktur Sederhana
Sistem
operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh
prosedur lain di sistem bila diperlukan. Banyak sistem operasi komersial yang
tidak terstruktur dengan baik. Kemudian sistem operasi dimulai dari yang
terkecil, sederhana dan terbatas lalu berkembang dengan ruang lingkup
originalnya. Contoh dari sistem operasi ini adalah MS-DOS dan UNIX. MS-DOS
merupakan sistem operasi yang menyediakan fungsional dalam ruang yang sedikit
sehingga tidak dibagi menjadi beberapa modul, sedangkan UNIX menggunakan
struktur monolitik dimana prosedur dapat saling dipanggil oleh prosedur
lain di sistem bila diperlukan dan kernel berisi semua layanan yang disediakan
sistem operasi untuk pengguna. Inisialisasi-nya terbatas pada fungsional
perangkat keras yang terbagi menjadi dua bagian yaitu kernel dan sistem
program. Kernel terbagi menjadi serangkaian interface dan device driver dan
menyediakan sistem file, penjadwalan CPU, manajemen memori, dan fungsi-fungsi
sistem operasi lainnya melalui system calls.
Kelebihan Struktur Sederhana:
Layanan
dapat dilakukan sangat cepat karena terdapat di satu ruang alamat.
Kekurangan Struktur Sederhana:
Pengujian
dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan
dilokalisasi.
Sulit
dalam menyediakan fasilitas pengamanan.
Merupakan
pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar
sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel.
Tidak
fleksibel.
Kesalahan
pemograman satu bagian dari kernel menyebabkan matinya seluruh sistem.
Evolusi
:
Kebanyakan
UNIX sampai saat ini berstruktur monolitik. Meskipun monolitik, yaitu seluruh
komponen/subsistem sistem operasi terdapat di satu ruang alamat tetapi secara
rancangan adalah berlapis. Rancangan adalah berlapis yaitu secara logik satu
komponen/subsistem merupakan lapisan lebih bawah dibanding lainnya dan
menyediakan layanan-layanan untuk lapisan-lapisan lebih atas. Komponen-komponen
tersebut kemudia dikompilasi dan dikaitkan (di-link) menjadi satu ruang alamat.
Untuk mempermudah dalam pengembangan terutama pengujian dan fleksibilitas,
kebanyakan UNIX saat ini menggunakan konsep kernel loadable modules,yaitu:
Bagian-bagian
kernel terpenting berada di memori utama secara tetap.
Bagian-bagian
esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan
dicabut begitu tidak digunakan lagi di waktu jalan (run time).
Contoh
: UNIX berstruktur monolitik, MS-DOS
2. Sistem Lapis (layered system)
Sistem
operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana
lapisan-lapisan bawa memberi layanan lapisan lebih atas.Struktur berlapis
dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi sistem
operasi. Tiap lapisan mempunyai fungsional dan antarmuka masukan-keluaran
antara dua lapisan bersebelahan yang terdefinisi bagus. Sistem pertama yang
dibuat dengan struktur ini adalah strukrur THE oleh E.W Dijkstra.
Lapis-lapis
dalam sistem operasi ada 6 lapis, yaitu :
a.
Lapis 5 - The operator, berfungsi untuk pemakai operator.
b.
Lapis 4 - User programs, berfungsi untuk aplikasi program pemakai.
c.
Lapis 3 - I/O management, berfungsi untuk menyederhanakan akses I/O pada level
atas.
d.
Lapis 2 -Operator-operator communication, berfungsi untuk mengatur komunikasi
antar proses.
e.
Lapis 1 -Memory and drum management, berfungsi untuk mengatur alokasi ruang
memori atau drum magnetic.
f.
Lapis 0 -Processor allocation and multiprogramming, berfungsi untuk mengatur
alokasi pemroses dan switching, multi programming dan pengaturan prosessor.
Lapisan
n memberi layanan untuk lapisan n+1. Proses-proses dilapisan n dapat meminta
layanan lapisan n-1 untuk membangunan layanan bagi lapisan n+1. Lapisan n dapat
meminta layanan lapisan n-1. Kebalikan tidak dapat, lapisan n tidak dapat
meminta layanan n+1. Masing-masing berjalan di ruang alamat-nya sendiri.
Kelanjutan sistem berlapis adalah sistem berstruktur cincin seperti sistem
MULTICS. Sistem MULTICS terdiri 64 lapisan cincin dimana satu lapisan
berkewenangan berbeda. Lapisan n-1 mempunyai kewenangan lebih dibanding lapisan
n. Untuk meminta layanan lapisan n-1, lapisan n melakukan trap. Kemudian,
lapisan n-1 mengambil kendali sepenuhnya untuk melayani lapisan n.
Keunggulan:
Memiliki
semua keunggulan rancangan modular, yaitu sistem dibagi menjadi beberapa modul
dan tiap modul dirancang secara independen. Tiap lapisan dapat dirancang, dikode
dan diuji secara independen.
Pendekatan
berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem
operasi.
Kelemahan:
Fungsi-fungsi
sistem operasi harus diberikan ke tiap lapisan secara hati-hati.
3. Mesin Maya ( Virtual Machine )
Mesin
maya mempunyai sistem timesharing yang berfungsi untuk ,menyediakan kemampuan
untuk multiprogramming dan perluasan mesin dengan antarmuka yang lebih mudah.
Struktur
Mesin maya ( CP/CMS, VM/370 ) terdiri atas komponen dasar utama :
Control
Program, yaitu virtual machine monitor yang mengatur fungsi ari prosessor,
memori dan piranti I/O. Komponen ini berhubungan langsung dengan perangkat
keras.
Conventional
Monitor System, yaitu sistem operasi sederhanayang mengatur fungsi dari proses,
pengelolaan informasi dan pengelolaan piranti.
Kelebihan Mesin Maya ( Virtual
Machine ):
Konsep
mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system
sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain.
Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung.
Sistem
mesin virtual adalah mesin yang sempurna untuk riset dan pengembangan system
operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di
dalamnya mesin fisik dan tidak mengganggu operasi system yang normal.
Kekurangan Mesin Maya ( Virtual
Machine ):
Konsep
mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi
yang tepat pada mesin yang sebenarnya.
Contoh:
Sistem
operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks
dan aplikasi WIN16.
IBM
mengembangkan WABI untuk meng-emulasikan Win32 API sehingga sistem operasi yang
menjalankan WABI dapat menjalankan aplikasi-aplikasi untuk MS-Windows.
Para
pengembang Linux membuat DOSEMU untuk menjalankan aplikas-aplikasi DOS pada
sistem operasi Linux, WINE untuk menjalankan aplikasi-aplikasi MS-Windows.
VMWare
merupakan aplikasi komersial yang meng-abstraksikan perangkat keras intel 80×86
menjadi virtual mesin dan dapat menjalan beberapa sistem operasi lain (guest
operating system) di dalam sistem operasi MS-Windos atau Linux (host operating
system). VirtualBox merupakan salah satu aplikasi sejenis yang opensource.
4. Client-Server Model
Sistem
operasi merupakan kumpulan proses dengan proses-proses dikategorikan sebagai
server dan client, yaitu :
1.
Server, adalah proses yang menyediakan layanan.
2.
Client, adalah proses yang memerlukan/meminta layanan.
Proses
client yang memerlukan layanan mengirim pesan keserver dan menanti pesan
jawaban. Proses server setelah melakukan tugas yang diminta, mengirim hasil
dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi permintaan
client dan tidak memulai dengan percakapan client. Kode dapat diangkat ke level
tinggi, sehingga kernel dibuat sekecil mungkin dan semua tugas diangkat ke
bagian proses pemaka. Kernel hanya mengatur komunikasi antara client dan
server. Kernel yang ini popular dengan sebutan mikrokernel.
Permintaan
pelayanan, seperti membaca sebuah blok file, sebuah user process (disebut
client process) mengirimkan permintaan kepada sebuah server process, yang
kemudian bekerja dan memberikan jawaban balik.
Keuntungan:
Kemampuan diaptasi untuk digunakan dalam distributed
system.
Kelemahan:
·
Layanan dilakukan lambat karena harus
melalui pertukaran pesan.
·
Pertukaran pesan dapat menjadi
bottleneck.
·
Tidak semua tugas dapat dijalankan di
tingkat pemakai (sebagai proses pemakai).
Kesulitan
ini diatasi dengan:
-
Proses server kritis tetap di kernel, yaitu proses yang biasanya berhubungan
dengan perangkat keras.
-
Mekanisme ke kernel seminimal mungkin,sehingga pengaksesan ruang pemakai dapat
dilakukan dengan cepat. Untuk sistem-sistem besar dengan banyak server
dikehendaki supaya client transparan dalam meminta layanan sehingga tidak
menyulitkan pemogram.
Keunggulan:
·
Pengembangan dapat dilakukan secara
modular.
·
Kesalahan (bugs) disatu subsistem
(diimplementasikan sebagai satu proses) tidak merusak
subsistem-subsistem lain, sehingga tidak mengakibatkan satu sistem
mati secara keseluruhan.
·
Mudah diadaptasi untuk sistem tersebar.
5. Sistem Berorientasi Objek
Sisten
operasi merealisasikan layanan sebagai kumpulan proses disebut sistem operasi
bermodel proses. Pendekatan lain implementasi layanan adalah sebagai
objek-objek. Sistem operasu yang distrukturkan menggunakan objek disebut sistem
operasi berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi
keunggulan teknologi berorientasi objek. Pada sistem yang berorientasi objek,
layanan diimplementasikan sebagai kumpulan objek. Objek mengkapsulkan struktur
data dan sekumpulan operasi pada struktur data itu. Tiap objek diberi tipe yang
menandadi properti objek seperti proses, direktori, berkas, dan sebagainya.
Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan
dapat diakses dan dimodifikasi. Model ini sungguh terstruktur dan memisahkan
antara layanan yang disediakan dan implementasinya. Sistem operasi MS Windows
NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum
keseluruhan.
Contoh
sistem operasi yang berorientasi objek, antara lain : eden, choices, x-kernel,
medusa, clouds, amoeba, muse, dan sebagainya.
Jadi, kesimpulannya yang terbaik
adalah struktur sederhana. Sistem operasi ini merupakan
kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di
sistem bila diperlukan. Dan terdapat Kernel yang berisi semua layanan yang
disediakan sistem operasi untuk pemakai.