Struktur Sistem Operasi

Pendekatan yang umum suatu sistem yang besar dan kompleks adalah dengan memecah tugastugas (task) ke bentuk komponen-komponen kecil dibandingkan dalam bentuk sistem tunggal (monolithic). Komponen-komponen tersebut akan akan di bahas pada bagian berikut ini.

Struktur Sederhana

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 [Bambang2002]. 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.

Kelemahan struktur monolitik adalah:

• Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dialokasikan

• Sulit dalam menyediakan fasilitas pengamanan

• Merupakan pemborosan memori bila setiap komputer harus menjalan kernel monolitik, karena semua layanan tersimpan dalam bentuk tunggal sedangkan tidak semua layanan diperlukan.

• Kesalahahan sebagian fungsi menyebabkan sistem tidak berfungsi.

Keuntungan struktur monolitik adalah layanan dapat dilakukan dengan cepat karena terdapat dalam satu ruang.

Pendekatan Berlapis (Layer Approach)

Sistem operasi dibagi menjadi beberapa lapisan. Lapisan terbawah (layer 0) adalah hardware dan yang tertinggi (layer N) adalah user interface. Lapisan N memberi layanan untuk lapisan N+1 sedangkan proses-proses di lapisan N dapat meminta layanan lapisan N-1 untuk membangun layanan lapisan N+1. Lapisan N dapat meminta layanan lapisan N-1 namun lapisan N tidak dapat meminta layanan lapisan N+1. Masing-masing berjalan pada lapisannya sendiri.

[MDGR2006] Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan, yaitu:

• Lapisan 0. Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi atau waktu habis dan lapisan ini mendukung dasar multi-programming pada CPU.

• Lapisan 1. Mengalokasikan ruang untuk proses di memori utama dan pada 512 kilo word drum yang digunakan untuk menahan bagian proses ketika tidak ada ruang di memori utama.

• Lapisan 2. Menangani komunikasi antara masing-masing proses dan operator console. Lapisan ini masing-masing proses secara efektif memiliki operator console sendiri.

• Lapisan 3. Mengatur peranti I/O dan menampung informasi yang mengalir dari/ke proses tersebut.

• Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang proses, memori, console, atau manajemen I/O.

• Lapisan 5. Merupakan operator sistem.

Contoh sistem operasi yang menggunakan pendekatan berlapis adalah THE yang dibuat oleh Djikstra dan mahasiswa-mahasiswanya, serta sistem operasi MULTICS. [Bambang2002] Kelemahan struktur ini adalah fungsi-fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati. Sedangkan keunggulannya adalah memeliki semua kelebihan 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.

Microkernels

Metode struktur ini adalah menghilangkan komponen-komponen yang tidak diperlukan dari kernel dan mengimplementasikannya sebagai sistem dan program-program level user. Hal ini akan menghasilkan kernel yang kecil. Fungsi utama dari jenis ini adalah menyediakan fasilitas komunikasi antara program client dan bermacam pelayanan yang berjalan pada ruang user. Contoh sistem operasi yang menggunakan metode ini adalah TRU64 UNIX, MacOSX dan QNX

Keuntungan dari kernel ini adalah kemudahan dalam memperluas sistem operasi, mudah untuk diubah ke bentuk arsitektur baru, kode yang kecil dan lebih aman. Kelemahannya adalah kinerja akan berkurang selagi bertambahnya fungsi-fungsi yang digunakan.

Modular (Modules)

Kernel mempunyai kumpulan komponen-komponen inti dan secara dinamis terhubung pada penambahan layanan selama waktu boot atau waktu berjalan. Sehingga strateginya menggunakan pemanggilan modul secara dinamis (Loadable Kernel Modules). Umumnya sudah diimplementasikan oleh sistem operasi modern seperti Solaris, Linux dan MacOSX.

Sistem Operasi Apple Macintosh Mac OS X menggunakan struktur hybrid. Strukturnya menggunakan teknik berlapis dan satu lapisan diantaranya menggunakan Mach microkernel.

Virtual Machine

Dalam struktur ini user seakan-akan mempunyai seluruh komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi melakukan simulasi mesin nyata yang digunakan user, mesin virtual ini merupakan tiruan seratus persen atas mesin nyata [Bambang2002]. Teknologi ini awalnya digunakan pada IBM S/370. VM/370 menyediakan mesin virtual untuk tiap user dengan membuat mesin virtual baru pada saat user tersebut melakukan log sistem. Kemudian teknik ini berkembang menjadi operating system emulator sehingga sistem operasi dapat menjalankan aplikasi-aplikasi untuk sistem operasi lain. Contoh dari pengembangan itu adalah sebagai berikut:

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

System Boot

[MDGR2006] Ketika komputer dinyalakan (booting). Komputer akan menjalankan bootstrap program yaitu sebuah program sederhana yang disimpan dalam ROM yang berbentuk chip CMOS (Complementary Metal Oxide Semiconductor). Chip CMOS modern biasanya bertipe Electrically Erasable Programmable Read Only Memory (EEPROM), yaitu memori non-volatile (tak terhapus jika power dimatikan) yang dapat ditulis dan dihapus dengan pulsa elektronik. Lalu bootsrap program ini lebih dikenal dengan nama BIOS (Basic Input Output System).

Bootstrap program utama, umumnya terletak pada motherboard dan memeriksa perangkat keras utama serta melakukan inisialisasi terhadap program dalam hardware yang dikenal dengan nama firmware. Program kecil ini akan me-load kernel ke memori dan menjalankannya. Rangkaian proses bootup diawali rutin bootstrap BIOS membangkitkan interrupt 19h yang me-load sektor pertama (512 byte) dari Floppy Disk atau Hard Disk (CHS 0:0:1) Cylinder:0, Head:0. Sector:1 (Pada umumnya silinder dan head hard disk selalu dimulai dengan urutan nol sedangkan sektor untuk harddisk dan floppy selalu dimulai dengan urutan kesatu) ke dalam memori yang beralamat segment 0000:7C00H (absolute: 07C000H). Sektor pertama ini merupakan bootstrap loader utama. BIOS memeriksa dua byte terakhir dari isi data sektor tersebut apakah AA55h, jika benar kemudian BIOS melakukan eksekusi program ke alamat segment 0000:7C00h. Jika bukan, maka BIOS

memberikan pesan non-system disk atau non-bootable disk atau hang. Bila terdapat Harddisk, INT 19h mencoba membaca MBR (Master Boot Record) pada sektor awal harddisk ke lokasi memori 0000:7C00h dan melakukan eksekusi ke alamat tersebut. Program kecil itu akan berusaha ke lokasi partisi yang aktif dari tabel partisi tersebut. Jika partisi tersebut ditemukan, boot sector pada partisi itu akan di-load ke memori 0000:7C00h dan dieksekusi. Setiap sistem operasi mempunyai format boot sector tersendiri. Program kecil dalam boot sector harus dapat me-alokasikan bagian pertama program kernel loader dari sistem operasi dan diload ke memori.

3 thoughts on “Struktur Sistem Operasi

Tinggalkan Jejak

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s