sistem operasi: arsitektur komputer, pengantar sistem operasi dan kernel

47
Sistem Operasi: Arsitektur Komputer, Pengantar Sistem Operasi, Kernel Andino Maseleno Indonesia, 25 February 2015 http://maseleno.blogspot.com facebook: [email protected] [email protected]

Upload: andino-maseleno

Post on 16-Jul-2015

422 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Sistem Operasi:Arsitektur Komputer, Pengantar Sistem

Operasi, Kernel

Andino Maseleno

Indonesia, 25 February 2015

http://maseleno.blogspot.comfacebook: [email protected]

[email protected]

Page 2: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer. Arsitektur komputer ini merupakan rencana

cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras

yang didesain (kecepatan proses dan sistem interkoneksinya). Dalam hal ini,

implementasi perencanaan dari masing–masing bagian akan lebih difokuskan

terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara

pengaksesan data dan alamat dari dan ke memori

cache,RAM, ROM, harddisk, dll). Beberapa contoh dari arsitektur komputer ini

adalah arsitektur von Neumann, CISC, RISC, blue Gene, dll.

Computer Architecture

Page 3: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Abstraksi dari sebuah arsitektur

komputer dan hubungannya

dengan bagian perangkat

keras, firmware, assembler,

kernel, sistem operasi, dan

perangkat lunak aplikasinya

Apa itu Firmware?

Computer Architecture

Page 4: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Firmware adalah istilah yang mengacu kepada rutin-rutin perangkat lunak yang disimpan di dalam

Memori Hanya Baca. Tidak seperti Memori Akses

Acak, memori hanya baca tidak akan dapat

berubah meski tidak dialiri listrik. Rutin-rutin yang

mampu menyalakan komputer (startup) serta

instruksi input/output dasar

(semacam BIOS atau sistem operasi embedded)

disimpan di dalam firmware/perangkat tegar.

Modifikasi memang dapat dilakukan, tetapi hal

tersebut tergantung dari jenis ROM apa yang

digunakan. Firmware yang disimpan dalam ROM

tidak dapat diubah, tetapi perangkat tegar yang

disimpan dalam ROM yang dapat diubah

semacam EEPROMatau Flash ROM, masih dapat

diubah sesuka hati.

Firm

wa

re

Computer Architecture

Page 5: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

The Von Neumann Architecture

Arsitektur von Neumann (atau Mesin Von Neumann)

adalah arsitektur yang diciptakan oleh John von Neumann (1903-1957).

Arsitektur ini digunakan oleh hampir semua komputer saat ini.

Arsitektur Von Neumann menggambarkan komputer dengan empat

bagian utama: Unit Aritmatika dan Logis (ALU), unit kontrol, memori,

dan alat masukan dan hasil (secara kolektif dinamakan I/O). Bagian ini

dihubungkan oleh berkas kawat, “bus”

Computer Architecture

Page 6: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

The CPU Control Unit

Unit kendali (bahasa Inggris: Control Unit - CU) adalah salah satu

bagian dari CPU yang bertugas untuk memberikan

arahan/kendali/ kontrol terhadap operasi yang dilakukan di

bagian ALU (Arithmetic Logical Unit) di dalam CPU

tersebut. Output dari CU ini akan mengatur aktivitas dari bagian

lainnya dari perangkat CPU tersebut.

Computer Architecture

Page 7: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor).

Computer Architecture

The CPU Control Unit

Page 8: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Tugas dari Control Unit adalah sebagai berikut:

Mengatur dan mengendalikan alat-alat input

dan output.

Mengambil instruksi-instruksi dari memori

utama.

Mengambil data dari memori utama kalau

diperlukan oleh proses.

Mengirim instruksi ke ALU bila ada perhitungan

aritmatika atau perbandingan logika serta

mengawasi kerja.

Menyimpan hasil proses ke memori utama.

Computer Architecture

The CPU Control Unit

Page 9: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

ALU, singkatan dari Arithmetic And Logic

Unit (bahasa Indonesia: unit aritmatika dan logika),

adalah salah satu bagian dalam dari sebuah

mikroprosesor yang berfungsi untuk melakukan

operasi hitungan aritmatika dan logika. Contoh

operasi aritmatika adalah operasi penjumlahan dan

pengurangan, sedangkan contoh operasi logika

adalah logika AND dan OR.

The Arithmetic Logic Unit

Computer Architecture

Page 10: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Tugas utama dari ALU (Arithmetic And

Logic Unit)adalah melakukan semua

perhitungan aritmatika atau matematika

yang terjadi sesuai dengan instruksi

program. ALU melakukan operasi

arithmatika dengan dasar pertambahan,

sedang operasi arithmatika yang lainnya,

seperti pengurangan, perkalian, dan

pembagian dilakukan dengan dasar

penjumlahan. sehingga sirkuit elektronik di

ALU yang digunakan untuk melaksanakan

operasi arithmatika ini disebut adder.

Computer Architecture

The Arithmetic Logic Unit

Page 11: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

The Arithmetic Logic Unit

Computer Architecture

Perhitungan dalam ALU menggunakan kode biner, yang

merepresentasikan instruksi yang akan dieksekusi (opcode) dan data

yang diolah (operand). ALU biasanya menggunakan sistem bilangan

biner two’s complement. ALU mendapat data dari register. Kemudian

data tersebut diproses dan hasilnya akan disimpan dalam register

tersendiri yaitu ALU output register, sebelum disimpan dalam memori.

Page 12: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Sistem operasi adalah

seperangkat program

yang mengelola

sumber daya

perangkat keras

komputer atau

hardware, dan

menyediakan

layanan umum untuk

aplikasi perangkat

lunak.

Pengantar Sistem Operasi

Page 13: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Arsitektur Sistem Operasi

Struktur Sederhana Sistem Operasi

Pengantar Sistem Operasi

Page 14: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Pengantar Sistem Operasi

Page 15: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Awal Mula Sistem Operasi

A typical computer in the 1960s and 70s was a large machine. Its

processing was managed by a human operator. The operator would

organize various jobs from multiple users into batches.

Batch processing adalah suatu model pengolahan data, dengan menghimpun data

terlebih dahulu, dan diatur pengelompokkan datanya dalam kelompok-kelompok yang disebut batch. Tiap batch ditandai dengan identitas tertentu, serta informasi mengenai data-data yang terdapat dalam batch tersebut. Setelah data-data tersebut terkumpul dalam jumlah tertentu, data-data tersebut akan langsung diproses.

Ba

tch

Pro

ce

ssin

g

Pengantar Sistem Operasi

Page 16: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Contoh dari penggunaan batch processing

adalah e-mail dan transaksi batch processing.

Dalam suatu sistem batch processing, transaksi

secara individual dientri melalui peralatan

terminal, dilakukan validasi tertentu, dan

ditambahkan ke transaction file yang berisi

transaksi lain, dan kemudian dientri ke dalam

sistem secara periodik. Di waktu kemudian,

selama siklus pengolahan berikutnya,

transaction file dapat divalidasi lebih lanjut dan

kemudian digunakan untuk meng-up date

master file yang berkaitan.

Ba

tch

Pro

ce

ssin

g

Pengantar Sistem Operasi

Page 17: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Sistem operasi adalah jenis yang paling penting dari

perangkat lunak sistem dalam sistem komputer.

Tanpa sistem operasi, pengguna tidak dapat

menjalankan program aplikasi pada komputer

mereka, kecuali program aplikasi booting.

Contoh sistem operasi modern adalah Linux,

Android, iOS, Mac OS X, dan Microsoft Windows.

Pengantar Sistem Operasi

Page 18: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Pengantar Sistem Operasi

Page 19: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Biasanya, istilah Sistem Operasi sering ditujukan

kepada semua perangkat lunak yang masuk dalam

satu paket dengan sistem komputer sebelum aplikasi-

aplikasi perangkat lunak terinstal. Sistem operasi

adalah perangkat lunak sistem yang bertugas untuk

melakukan kontrol dan manajemen perangkat keras

serta operasi-operasi dasar sistem, termasuk

menjalankan perangkat lunak aplikasi seperti

program-program pengolah kata dan browser web.

Pengantar Sistem Operasi

Page 20: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Secara umum, Sistem Operasi adalah perangkat

lunak pada lapisan pertama yang ditempatkan

pada memori komputer pada saat komputer

dinyalakan booting. Sedangkan software-software

lainnya dijalankan setelah Sistem Operasi berjalan,

dan Sistem Operasi akan melakukan layanan inti

untuk software-software tersebut.

Pengantar Sistem Operasi

Page 21: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Layanan inti tersebut seperti akses ke disk,

manajemen memori, penjadwalan tugas schedule

task, dan antar-muka user GUI/CLI. Sehingga masing-

masing software tidak perlu lagi melakukan tugas-

tugas inti umum tersebut, karena dapat dilayani dan

dilakukan oleh Sistem Operasi. Bagian kode yang

melakukan tugas-tugas inti dan umum tersebut

dinamakan dengan "kernel" suatu Sistem Operasi.

Pengantar Sistem Operasi

Page 22: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Kernel adalah suatu perangkat lunak yang

menjadi bagian utama dari sebuah sistem

operasi. Tugasnya melayani bermacam

program aplikasi untuk mengakses

perangkat keras komputer secara aman.

Kernel Sistem Operasi

Page 23: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.

Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.

Kernel Sistem Operasi

Page 24: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Untuk menjalankan sebuah komputer kita tidak

harus menggunakan kernel sistem operasi.

Sebuah program dapat saja langsung diload

dan dijalankan di atas mesin 'telanjang'

komputer, yaitu bilamana pembuat program

ingin melakukan pekerjaannya tanpa bantuan

abstraksi perangkat keras atau bantuan sistem

operasi. Teknik ini digunakan oleh komputer

generasi awal, sehingga bila kita ingin

berpindah dari satu program ke program lain,

kita harus mereset dan meload kembali

program-program tersebut.

Kernel Sistem Operasi

Page 25: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Kernel Sistem Operasi

Page 26: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Sebuah kernel sistem operasi tidak bisa di contoh

dan dibutuhkan untuk menjalankan sebuah

komputer. Program dapat langsung dijalankan

secara langsung di dalam sebuah mesin

(contohnya adalah CMOS Setup) sehingga para

pembuat program tersebut membuat program

tanpa adanya dukungan dari sistem operasi atau

hardware abstraction. Cara kerja seperti ini, adalah

cara kerja yang digunakan pada zaman awal-

awal dikembangkannya komputer (pada sekitar

tahun 1950)..

Kernel Sistem Operasi

Page 27: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi

Kernel Sistem Operasi

Page 28: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.

Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.

Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.

Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.

Kernel Sistem Operasi

Page 29: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Pendekatan kernel monolitik didefinisikan

sebagai sebuah antarmuka virtual yang berada

pada tingkat tinggi di atas perangkat keras,

dengan sekumpulan primitif atau system call

untuk mengimplementasikan layanan-layanan

sistem operasi, seperti halnya manajemen proses,

konkurensi (concurrency), dan manajemen

memori pada modul-modul kernel yang berjalan

di dalam mode supervisor.

Ke

rne

l M

on

olit

ik

Kernel Sistem Operasi

Page 30: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernelsangatlah efisien—meskipun sangat sulit dalam pembuatannya.

Ke

rne

l M

on

olit

ik

Kernel Sistem Operasi

Page 31: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin.

Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:

Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).

Kernel sistem operasi GNU/Linux, Linux.

Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).

Ke

rne

l M

on

olit

ik

Kernel Sistem Operasi

Page 32: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.

Mik

rok

ern

el

Kernel Sistem Operasi

Page 33: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Server adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa yang awam.

Mik

rok

ern

el

Kernel Sistem Operasi

Page 34: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Dalam teorinya, sistem operasi yang

menggunakan microkernel disebut jauh lebih

stabil dibandingkan dengan monolithic kernel,

karena sebuah server yang gagal bekerja, tidak

akan menyebabkan kernel menjadi tidak dapat

berjalan, dan server tersebut akan dihentikan

oleh kernel utama. Akan tetapi, dalam

prakteknya, bagian dari system state dapat

hilang oleh server yang gagal bekerja tersebut,

dan biasanya untuk melakukan proses eksekusi

aplikasi pun menjadi sulit, atau bahkan untuk

menjalankan server-server lainnya.

Mik

rok

ern

el

Kernel Sistem Operasi

Page 35: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Sistem operasi yang

menggunakan microkernel umumnya secara

dramatis memiliki kinerja di bawah kinerja sistem

operasi yang menggunakan monolithic kernel.

Hal ini disebabkan oleh adanya overhead yang

terjadi akibat proses input/output

dalam kernel yang ditujukan untuk mengganti

konteks (context switch) untuk memindahkan

data antara aplikasi dan server.

Mik

rok

ern

el

Kernel Sistem Operasi

Page 36: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Beberapa sistem operasi yang menggunakan microkernel:

IBM AIX, sebuah versi UNIX dari IBM

Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi

Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X

Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi

Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone, handheld device, embedded device, dan PDA PhoneM

ikro

ke

rne

l

Kernel Sistem Operasi

Page 37: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Kernel Sistem Operasi

Page 38: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam mikrokernel: kinerja.

Ke

rne

l H

ibrid

aKernel Sistem Operasi

Kernel Sistem Operasi

Page 39: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Beberapa orang banyak yang bingung dalam

membedakan antara kernel hibrida dan kernel

monolitik yang dapat memuat modul kernel

setelah proses booting, dan cenderung

menyamakannya. Antara kernel hibrida dan

kernel monolitik jelas berbeda. Kernel hibrida

berarti bahwa konsep yang digunakannya

diturunkan dari konsep desain kernel monolitik

dan mikrokernel.

Ke

rne

l H

ibrid

a

Kernel Sistem Operasi

Page 40: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Kernel hibrida juga memiliki secara spesifik

memiliki teknologi pertukaran pesan (message

passing) yang digunakan dalam mikrokernel,

dan juga dapat memindahkan beberapa kode

yang seharusnya bukan kode kernel ke dalam

ruangan kode kernel karena alasan kinerja.

Ke

rne

l H

ibrid

a

Kernel Sistem Operasi

Page 41: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

The Windows NT operating system family's architecture consists of two layers (user modeand kernel mode), with many different modules within both of these layers.

Ke

rne

l H

ibrid

a

Kernel Sistem Operasi

Page 42: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Di bawah ini adalah beberapa sistem operasi

yang menggunakan kernel hibrida:

BeOS, sebuah sistem operasi yang memiliki

kinerja tinggi untuk aplikasi multimedia.

Novell NetWare, sebuah sistem operasi yang

pernah populer sebagai sistem operasi jaringan

berbasis IBM PC dan kompatibelnya.

Microsoft Windows NT (dan semua

keturunannya).

Ke

rne

l H

ibrid

a

Kernel Sistem Operasi

Page 43: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Kernel Sistem Operasi

Page 44: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.

Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya.

Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori tersebut kembali.

Exo

ke

rne

l

Kernel Sistem Operasi

Page 45: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan performa.

Exo

ke

rne

l

Kernel Sistem Operasi

Page 46: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Exokernel biasanya menggunakan library yang

disebut dengan libOS untuk melakukan abstraksi.

libOS memungkinkan para pembuat aplikasi

untuk menulis abstraksi yang berada pada level

yang lebih tinggi, seperti halnya abstraksi yang

dilakukan pada sistem operasi tradisional,

dengan menggunakan cara-cara yang lebih

fleksibel, karena aplikasi mungkin memiliki

abstraksinya masing-masing. Secara teori, sebuah

sistem operasi berbasis Exokernel dapat

membuat sistem operasi yang berbeda seperti

halnya Linux, UNIX, dan Windows dapat berjalan

di atas sistem operasi tersebut.

Exo

ke

rne

l

Kernel Sistem Operasi

Page 47: Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel

Pada sistem operasi Windows, kernel ditangani

oleh file kernel32.dll. Kernel ini menangani

manajemen memori, operasi masukan / keluaran

dan interrupt. Ketika boot Windows, kernel32.dll di-

load ke dalam spasi protected memory sehingga

spasi memorinya tidak digunakan oleh aplikasi lain.

Apabila ada aplikasi yang mencoba mengambil

spasi memori kernel32.dll, akan muncul pesan

kesalahan "invalid page fault".

Contoh Implementasi Kernel

Kernel Sistem Operasi