Anda di halaman 1dari 23

1.

PENDAHULUAN
Sistem Operasi adalah bagian yang sangat penting bagi semua sistem
komputer. Secara umum sistem komputer terbagi atas hardware , sistem
operasi, program aplikasi, dan user seperti yang terlihat pada gambar 1.1.
hardware terdiri atas CPU, memori {XE memori} dan I/O device yang
merupakan resource-resource dasar. Program aplikasi berisi compiler, basis
data, game dan program-program bisnis, yang merupakan suatu cara atau alat
yang mana resource-resource akan di akses untuk menyelesaikan masalah
user.
User

User

User

compiler

assembler

text editor

User
n

database system

Program-program Aplikasi

Sistem Operasi

Hardware

Gambar 1.1 Komponen-komponen sistem komputer

Definisi Sistem Operasi


Ada beberapa definisi yang dapat diberikan untuk sistem operasi
antara lain :
a. Software yang mengontrol hardware, hanya berupa program biasa
(seperti beberapa file pada DOS).
b. Program yang menjadikan hardware lebih mudah untuk digunakan.
c. Kumpulan program yang mengatur kerja hardware (seperti:
permintaan user).
1 | Page

d. Resource manager atau resource allocator (seperti mengatur memori,


printer, dll).
e. Sebagai program pengontrol (program yang digunakan untuk
mengontrol program yang lainnya)
f. Sebagai Kernel, yaitu program yang terus menerus running selama
komputer dihidupkan.
g. Sebagai guardian, yaitu mengatur atau menjaga computer dari
berbagai kejahatan computer.
1. Sistem Operasi Ditinjau Dari Apa yang Dilakukannya
a. Sebagai antarmuka antara user dengan hardware.
b. Memungkinkan adanya pemakaian bersama hardware maupun data
antar user.
c. Pengatur penjadwalan resource bagi user (seperti pemakaian CPU dan
I/O secara beragantian, dengan adanya memori manager dapat
mengakses program besar hanya dengan memori kecil).
d. Menyediakan fasilitas sistem operasi (seperti: menyediakan fasilitas
interrupt).
2. Tujuan adanya Sistem Operasi
a. Menunjukkan lingkungan dimana seorang user dapat mengeksekusi
program-programnya.
b. Membuat sistem komputer nyaman untuk digunakan.
c. Mengefisienkan hardware komputer.
3. Sejarah Singkat Perkembangan Sistem Operasi
Perkembangan Sistem Operasi sangat
perkembangan hardware, yaitu :

dipengaruhi

oleh

1. Generasi ke-nol (1940)


a. Komponen utama tabung hampa udara.
b. Sistem komputer belum menggunakan sistem operasi.
c. Semua operasi komputer dilakukan secara manual melalui
plugboards, dan hanya bias digunakan untuk menghitung (+,- dan
*)
2. Generasi pertama (1950)
a. Komponen utama transistor.
b. Sistem operasi berfungsi terutama sebagai pengatur pergantian
antar job agar waktu instalasi job berikutnya lebih efisien. Dalam
masa ini muncul konsep batch system (semua job sejenis
dikumpulkan jadi satu).
c. Input memakai punch card.
3. Generasi kedua (1960)
a. Komponen utama IC.
2 | Page

b. Berkembang konsep-konsep :
Multiprogramming, satu prosesor mengerjakan banyak
program yang ada di memori utama.
Multiprocessing, satu job dikerjakan oleh banyak prosesor
berguna untuk meningkatkan utilitas.
Spooling (Simultaneous Peripheral Operation On Line),
bertindak sebagai buffer saja, dan mampu menerima pesanan
meskipun belum akan dikerjakan.
Device Independence, masing-masing komponen memiliki
sifat yang saling berbeda (misal : tiap-tiap printer memiliki
driver).
Time Sharing atau multitasking.
Real time system, berguna sebagai kontrol bagi mesin-mesin.
4. Generasi ketiga (1970)
a. Komponen utama VLSI (Very Large Scale Integrated Circuit).
b. Ditandai dengan berkembangnya konsep general purpose system,
sehingga sistem operasi menjadi sangat kompleks, mahal dan sulit
untuk dipelajari.
5. Generasi keempat (pertengahan 1970-an hingga sekarang)
a. PC makin populer.
b. Ditandai dengan berkembangnya sistem operasi untuk jaringan
komputer dengan tujuan : data sharing, harware sharing dan
program sharing.
c. User interface semakin user friendly tanpa harus mengorbankan
unjuk kerjanya.
4. Macam-macam System Operasi
1. UNIX
Termasuk sistem operasi yang paling awal ada untuk komputer.
Merupakan induk dari sistem operasi linux.
2. DOS
Sistem operasi yang merupakan cikal bakal dari Microsoft Windows.
Ciri khasnya yaitu berupa teks putih dengan latar belakang hitam.
Kalau mau mencobanya bisa lewat Start Windows Run, lalu ketik
cmd.
3. Novell Operating
Sistem
Dibuat oleh Novell Corporation. Sistem operasi yang dulu pernaha
digunakan oleh Fakultas MIPA UGM untuk Entry Key-In KRS
mahasiswa.
4. Microsoft
Windows
Merupakan sistem operasi yang paling populer. Hampir semua orang
pernah memakainya. Beberapa versi Microsoft Windows yang
terkenal: Microsoft Windows 98, 2000, Me, XP, Vista, dan yang
paling terbaru Windows 7.
3 | Page

5.

6.

7.
8.

Apple
Machintos
System operasi yang unggul dalam hal grafik. Memerlukan hardware
khusus sehingga tidak dapat di-install di computer biasa. Versinya
antara lain Mac OS X (Tiger), Leopard.
Linux
Pertama kali dikembangkan oleh Linus Torvald. Merupakan sistem
operasi open source artinya bisa dikembangkan oleh semua orang
dengan bebas. Turunan linux atau yang dikenal dengan distro linux
banyak sekali macamnya. Mungkin linux merupakan sistem operasi
yang paling banyak. Beberapa di antaranya yaitu: Debian, Suse, Red
Hat (Fedora), Slackware, Ubuntu, Backtrack, dan lain-lain
Solaris
Dikembangkan oleh Sun Microsystem. Lebih banyak digunakan
untuk perusahaan.
Free BSD
Dibuat oleh Universitas Berkeley. Hampir sama seperti linux.

2. STRUKTUR SISTEM OPERASI


1. Komponen-komponen Sistem
Sebuah sistem operasi dapat dibagi menjadi beberapa komponen. Secara
umum, para pakar sepakat bahwa terdapat sekurangnya empat komponen
utama yaitu :
Manajemen Proses
Manajemen Memori Utama
Manajemen Sistem Berkas
Manajemen Masukan/Keluaran ( I/O )
Selain keempat komponen di atas, Avi Silberschatz, dan kawan-kawan
menambahkan beberapa komponen seperti :

Manajemen Memori Sekunder


Manajemen Sistem Proteksi
Manajemen Jaringan
Command-Interpreter System
1. Manajemen Proses
Proses adalah sebuah program yang sedang dieksekusi. Sebuah
proses membutuhkan beberapa sumber daya untuk menyelesaikan
tugasnya. Alokasi sumber daya tersebut dikelola oleh Sistem Operasi.
Umpamanya, walku CPU, memori, berkas-berkas, dan perangkatperangkat I/O. Ketika proses tersebut berhenti dijalankan, sistem
operasi akan mendapatkan kembali semua sumber daya yang bisa
digunakan kembali.

4 | Page

Sistem operasi memberikan tanggapan terhadap manajemen


proses untuk aktivitas-aktivitas sebagai berikut :
a. Pembuatan atau penghapusan proses yang dibuat oleh user atau
sistem.
b. Suspensi dan asumsi proses.
c. Kelengkapan mekanisme untuk sinkronisasi proses.
d. Kelengkapan mekanisme untuk komunikasi proses.
e. Kelengkapan mekanisme untuk pengendalian deadlock.
2. Manajemen Memori Utama
Memori utama atau lebih dikenal sebagai memori adalah
sebuah array yang besar dari word atau byte, yang ukurannya
mencapai ratusan, ribuan atau bahkan jutaan. Setiap word atau byte
mempunyai alamat tersendiri. Memori utama berfungsi sebagai
tempat penyimpanan instruksi/data yang akses datanya digunakan
oleh CPU dan perangkat Input/Output. Memori utama termasuk
tempat penyimpanan data yang bersifat volatile tidak permanen
yaitu data akan hilang kalau komputer dimatikan.
Sistem operasi memberikan tanggapan terhadap manajemen
memori utama untuk aktivitas-aktivitas sebagai berikut :
a. Menjaga dan memelihara bagian-bagian memori yang sedang
digunakan dan dari yang menggunakan.
b. Memutuskan proses-proses mana saja yang harus dipanggil ke
memori jika masih ada di ruang memori.
c. Mengalokasikan dan mendealokasikan ruang memori jika
diperlukan.
3. Manajemen Sistem Berkas / File
Berkas adalah kumpulan informasi yang berhubungan, sesuai
dengan tujuan pembuatan berkas tersebut. Umumnya berkas
merepresentasikan program pada data. Berkas dapat mempunyai
struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi
mengimplementasikan konsep abstrak dari berkas dengan mengatur
media penyimpanan massa, misalnya tapes dan disk.
Sistem operasi memberikan tanggapan terhadap manajemen
file untuk aktivitas-aktivitas sebagai berikut :
a. Pembuatan dan penghapusan file.
b. Pembuatan dan penghapusan direktori.
c. Primitif-primitif yang mendukung untuk manipulasi file dan
direktori.
d. Pemetaan file ke memori sekunser.
e. Backup file ke media penyimpanan yang stabil (nonvolatil).
4. Manajemen I/O

5 | Page

Sistem ini sering disebut dengan device manager. Menyediakan


device driver yang umum sehingga operasi Input/Output dapat
seragam (membuka, membaca, menulis, menutup). Contoh: pengguna
menggunakan operasi yang sama untuk membaca berkas pada
perangkat keras, CD-ROM dan floppy disk.
System operasi memberikan tanggapan terhadap manajemen
I/O untuk aktivitas-aktivitas sebagai berikut :
a. Penyangga: menampung sementara dari/ke perangkat Input/Output.
b. Spooling : melakukan penjadwalan pemakaian Input/Output sistem
supaya lebih efisien (antrian, dsb.).
c. Menyediakan driver : untuk dapat melakukan operasi rinci untuk
perangkat keras Inputan/Outputan tertentu.
5. Manajemen Memori Sekunder
Data yang disimpan dalam memori utama bersifat sementara
dan jumlahnya sangat kecil. Oleh karena itu, untuk menyimpan
keseluruhan data dan program dibutuhkan penyimpanan sekunder yang
bersifat permanen dan mampu menampung banyak data, sebagai backup dari memori utama. Contoh dari penyimpanan sekunder adalah
hard-disk, disket, dll.
System operasi memberikan tanggapan terhadap manajemen
penyimpanan sekunder untuk aktivitas-aktivitas sebagai berikut :
a. Pengaturan ruang kosong.
b. Alokasi penyimpanan.
c. Penjadwalan disk.
6. Manajemen Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses
yang dilakukan oleh program, prosesor, atau pengguna ke sistem
sumber daya. Mekanisme proteksi harus :
Membedakan antara penggunaan yang diberi izin dan yang belum
Menspesifikasi control untuk dibedakan/diberi tugas
Menyediakan alat untuk pemberlakuan system
7. Manajemen Jaringan
Sistem terdistribusi adalah sekumpulan prosesor yang tidak
berbagi memori, atau clock. Setiap prosesor mempunyai memori dan
clock tersendiri. Prosesor-prosesor tersebut terhubung melalui jaringan
komunikasi. System terdistribusi menyiapkan akses pengguna ke
bermacam sumber-daya system. Akses tersebut menyebabkan
peningkatan kecepatan komputasi dan meningkatkan kemampuan
penyediaan data.
Sistem Terdistribusi adalah kumpulan prosesor yang tidak
berbagi memori atau clock. Setiap prosesor memiliki memori lokal
masing-masing. Prosesor-prosesor dalam sistem terhubung dalam
jaringan komunikasi. Sistem terdistribusi menyediakan akses
6 | Page

pengguna ke bermacam-macam sumber daya. Akses tersebut


menyebabkan :
Peningkatan kecepatan kompuatsi
Peningkatan penyediaan data
Peningkatan keandalan
8. Sistem Proteksi
Proteksi berkenaan dengan mekanisme untuk mengontrol akses
yang dilakukan oleh program, prosesor, pengguna sistem maupun
pengguna sumber daya.
Mekanisme Proteksi harus :
Membedakan antara penggunaan yang sah dan yang tidak sah.
Spesifikasi kontrol untuk di terima
Menyediakan alat untuk pemberlakuan sistem.
9. Command-Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command
driven). Program yang membaca instruksi dan mengartikan control
statements umumnya disebut: control-card interpreter, command line
interpreter dan terkadang dikenal sebagai shell. Command Interpreter
Sistem sangat bervariasi dari satu system operasi ke system operasi
yang lain dan disesuaikan dengan tujuan dan teknologi perangkat
Inputan/ Outputan yang ada. Contohnya: CLI, Windows, Pen-based
(touch), dan lain-lain.
2.

Pelayanan Sistem Operasi


Sistem operasi harus dapat melayani programmer sehingga dapat
melakukan pemrograman dengan mudah.
a. Eksekusi Program. System harus dapat memanggil program ke
memori dan menjalankannya. Program tersebut harus dapat
mengakhiri eksekusinya dalam bentuk normal atau abnormal (indikasi
error).
b. Operasi-operasi I/O. Pada saat running program kemungkinan
dibutuhkan I/O, mungkin berupa file atau peralatan I/O. Agar efisien
dan aman, maka user tidak boleh mengontrol I/O secara langsung,
pengontrolan dilakukan oleh SO.
c. Manipulasi system file. Meliputi pembuatan, penghapusan, read dan
write.
d. Komunikasi. Komunikasi dibutuhkan jika beberapa proses saling
tukar-menukar informasi. Ada 2 cara yang dapat dilakukan, 1. Tukarmenukar data oleh beberapa proses dalam satu komputer; 2. Tukarmenukar data oleh beberapa proses dalam computer yang berbeda
melalui sistem jaringan. Komunikasi dilakukan dengan cara berbagi
memori atau dengan cara pengiriman pesan.

7 | Page

e. Mendeteksi kesalahan. Untuk masing-masing kesalahan, system


operasi harus memberikan aksi yang cocok agar komputasinya
menjadi konsisten.
3. Pelayanan Tambahan
Lebih diarahkan kepada upaya untuk menjaga efisiensi sistem,bukan untuk
membantu pengguna.
Alokasi sumber daya : mengalokasikan sumber daya kepada beberapa
pengguna atau tugas yang dijalankan pada saat yang bersamaan.
Accounting : menentukan berapa banyak dan berapa lama users
menggunakan sumber daya system.
Proteksi : menjaga semua akses ke sumber daya system terkontrol.
4. System Call
System calls menyediakan antarmuka antara proses (program yang sedang
dijalankan) dan sistem operasi. Biasanya tersedia sebagai instruksi bahasa
rakitan Beberapa sistem mengizinkan system calls dibuat langsung dari bahasa
pemrograman tingkat tinggi
Beberapa bahasa pemrograman tingkat tinggi (contoh : C, C++) telah
didefenisikan untuk menggantikan bahasa rakitan untuk sistem pemrograman.
Tiga metode umum yang digunakan dalam memberikan parameter kepada
sistem operasi
Melalui register.
Menyimpan parameter dalam blok atau tabel pada memori dan alamat
blok tersebut diberikan sebagai parameter dalam register.
Menyimpan parameter (push) ke dalam stack (oleh program), dan
melakukan pop off pada stack (oleh sistim operasi).

8 | Page

Gambar 2.1 System Call

Pada dasarnya System Call dapat dikelompokkan dalam 5 kategori sebagai


berikut :
1. Kontrol Proses
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;
Wait event, signal event;
Mengalokasikan dan membebaskan memori.

9 | Page

Gambar2.2 Eksekusi MS-DOS

Gambar 2.3 UNIX Menjalankan Multiple Program


10 | P a g e

Contoh : Sistem operasi pada MS-DOS menggunakan system singletasking yang memiliki command interpreter yang akan bekerja pada saat
start. 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 membebaskan device;
Membaca, menulis, dan mereposisi file;
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 atribut-atribut device;
5. Komunikasi
Hal-hal yang dilakukan :
Membuat dan menghapus sambungan komunikasi;
Mengirim dan menerima pesan;
Mentransfer satus informasi;
Ada 2 model komunikasi :
a. Message-passing Model. Informasi saling ditukarkan melalui fasilitas
yang telah ditentukan oleh system operasi (Gambar 2.4 kiri).

11 | P a g e

Gambar 2.4 Model komunikasi : Message Passing (kiri); Shared Memory


(kanan)

b. Shared-memory Model. Proses-proses menggunakan map memory


untuk mengakses daerah-daerah di memori dengan proses-proses yang
lain (gambar 2.4 kanan).
5. Sistem Program
Sistem program adalah masalah yang relative kompleks, namun
dapat dibagi menjadi beberapa kategori, antara lain :
a. Manipulasi File. Meliputi : membuat, menghapus, mengcopy, rename,
print, dump, list, pada file dan direktori.
b. Status Informasi. Meliputi : tanggal, waktu (jam, menit, detik),
penggunaan memori atau disk space, banyaknya user.
c. Modifikasi File. Ada beberapa editor yang sanggup digunakan sebagai
sarana untuk menulis atau memodifikasi file yang tersimpan dalam
disk atau tape.
d. Bahasa Pemrograman yang mendukung. Meliputi : Compiler,
assembler, dan interpreter untuk beberapa bahasa pemrograman
(seperti : Fortran, Cobol, Pascal, Basic, C, dan LISP).
e. Pemanggilan dan Eksekusi Program. Pada saat program dicompile,
maka harus dipanggil ke memori untuk dieksekusi. Suatu system
12 | P a g e

biasanya memiliki absolute loader, melokasikan loader, linkage editor,


dan overlay loader. Juga dibutuhkan debugging system untuk bahasa
tingkat tinggi.
f. Komunikasi. Sebagai mekanisme untuk membuat hubungan virtual
antar proses, user, dan sistem computer yang berbeda.
g. Program-program aplikasi. Sistem operasi harus menyokong programprogram yang berguna untuk menyelesaikan permasalahan secara
umum, ayau membentuk operasi-operasi secara umum, seperti
compiler, pemformat teks, paket plot, system basis data, spreadsheet,
paket analisis statistic, dan games.
6. Struktur Sistem Operasi
Sistem computer modern yang semakin komplek dan rumit
memerlukan system operasi yang dirancang dengan sangat hati-hati agar
dapat berfungsi secara optimum dan mudah untuk dimodifikasi.
1. Struktur Sederhana
Dimulai dengan sistem yang kecil, sederhana dan terbatas
kemudian berkembang dengan cakupan original. Struktur sistem MSDOS: disusun untuk mendukung fungsi yang banyak pada ruang yang
kecil
Ada sejumlah system komersial yang tidak memiliki struktur
yang cukup baik. Sistem operasi tersebut sangat kecil, sederhana dan
memiliki banyak keterbatasan. Salah satu contoh sistem tersebut
adalah MS-DOS. MS-DOS dirancang oleh orang-orang yang tidak
memikirkan akan kepopuleran software tersebut. Sistem operasi
terbatas pada hardware sehingga tidak terbagi menjadi modul-modul
seperti terlihat pada Gambar 2.5. Karena Intel 8088 tidak
menggunakan dual-mode sehingga tidak ada proteksi hardware. Oleh
karena itu orang mulai enggan menggunakannya.
program aplikasi

program system resident

MS-DOS device drivers

ROM BIOS device drivers

13 | P a g e

Gambar 2.5 Struktur system MS-DOS

Contoh lainnya adalah UNIX. Sistem operasi UNIX juga terbatas


pada hardware. UNIX hanya terdiri dari atas 2 bagian, yaitu Kernel dan
program system. Kernel terbagi menjadi beberapa antarmuka dan device
driver. Kernel ini berisi system file, penjadwalan CPU, manejemen
memori, dan fungsi system operasi lainnya yang ada pada system call.
Program system meminta bantuan kernel untuk memanggil fungsi-fungsi
dalam kompilasi dan manipulasi file. Gambar 2.6 di bawah ini
memperlihatkan struktur system UNIX.
Users
shell dan perintah-perintah;
compiler dan interpreter;
system libraries;

antarmuka system call ke kernel


sinyal;
pengendali terminal;
system karakter I/O;
terminal drivers;

terminal controllers
terminals

system file;
swapping;
system blok I/O;
disk & tape drivers;
device controllers
disks & tapes

penjadwalan CPU;
page replacement;
demand paging;
virtual memory;

memory controllers
memory fisik

Gambar 2.6 Struktur system UNIX

2. Monolithic System
Pada dasarnya, system monolithic merupakan struktur sederhana
yang dilengkapi dengan operasi dual-mode. Pelayanan (system call) yang
diberikan oleh system operasi model ini dilakukan dengan cara mengambil
sejumlah parameter pada tempat yang telah ditentukan sebelumnya, seperti
register atau stack, dan kemudian mengeksekusi suatu instruksi trap
tertentu pada monitor mode. Gambar 2.7 menunjukkan bagaimana system
call tersebut dibuat.
User program melakukan trap pada kernel. Instruksi berpindah
dari user-mode ke monitor mode dan mentransfer kontrol ke sistem
operasi;
Sistem operasi mengecek parameter-parameter dari pemanggilan
tersebut untuk menentukan system call mana yang memanggil;
Sistem operasi menunjuk ke suatu tabel yang berisi slot ke-k, yang
menunjukkan system call k.
14 | P a g e

Setelah system call selesai mengerjakan tugasnya, control akan


dikembalikan pada user program.
User Program 2
User Program 1
Kernel call

4
Service

1
3

Procedure

Dispatch table

Gambar 2.7 Bagaimana system call dibuat


Tatanan ini memberikan suatu struktur dasar dari system operasi
sebagai berikut :
a. Program utama yang meminta service procedure;
b. Kumpulan service procedure yang dibawa oleh system call;
c. Kumpulan utility procedure yang membantu service procedure;

Gambar 2.8 Model Struktur Monolithic


15 | P a g e

Pada model ini, tiap-tiap system call memiliki satu service procedure.
Utility procedure mengerjakan segala sesuatu yang dibutuhkan oleh
beberapa service procedure, seperti mengambil data dari user program.
Pembagian procedure menjadi 3 lapisan ini seperti terlihat pada gambar
2.8.
3. Pendekatan Terlapis (Layered Approach)
Teknik pendekatan terlapis pada dasarnya dibuat dengan cara
membentuk system operasi menjdi bentuk modular. Dengan
menggunakan pendekatan top-down, semua fungsi ditentukan dan
dibagi menjadi komponen-komponen. Modularisasi system dilakukan
dengan cara memecah system operasi menjadi beberapa lapis (tingkat).
Lapisan terendah (lapis-0) adalah hardware dan lapisan teratas (lapisan
N) adalah user interface. Gambar 2.9 menunjukkan lapisan tersebut.
Tiap-tiap lapisan diimplementasikan hanya dengan menggunakan
operasi-operasi yang disediakan oleh lapisan yang lebih rendah. Sistem
operasi yang menggunakan system ini adalah : UNIX termodifikasi,
THE, Venus dan OS2.

lapisan ke-M
operasi-operasi baru
operasi-operasi
tersembunyi

lapisan ke-(M-1)

operasi-operasi yang
ada

Gambar 2.9 Lapisan system operasi

16 | P a g e

Lapis-5
Lapis-4
Lapis-3
Lapis-2
Lapis-1
Lapis-0

:
:
:
:
:
:

user program
buffering untuk I/O device
operator-console device driver
manajemen memori
penjadwalan CPU
hardware
Gambar 2.10 Struktur THE

Lapis-6
Lapis-5
Lapis-4
Lapis-3
Lapis-2
Lapis-1
Lapis-0

:
:
:
:
:
:
:

user program
device driver dan scheduler
virtual {XE virtual} memory
I/O channel
penjadwalan CPU
instruksi interpreter
hardware
Gambar 2.11 Struktur Venus

Aplikasi

Aplikasi

antarmuka pemrograman aplikasi

Aplikasi

ekstensi API

Kernel system :
Memory management
Task dispatching
Device management
device driver

device driver

device driver

Gambar 2.12 Struktur OS/2

4. Mikrokernel

17 | P a g e

device driver

Menyusun sistem operasi dengan menghapus semua komponen


yang tidak esensial dari kernel, dan mengimplementasikannya sebagai
sistem program dan level pengguna. Fungsi utama microkernel adalah
mendukung fasilitas komunikasi antara program klien dan bermacammacam layanan yang juga berjalan di user-space.
Keuntungannya adalah ketika layanan baru akan ditambahkan ke
user-space kernel tidak perlu di modif, OS lebih mudah ditempatkan
pada suatu desain perangkat keras ke desain lainnya, mendukung
keamanan reliabilitas lebih.
Contoh sistem operasi : Tru64 UNIX, MacOSX, QNX.
5. Mesin Virtual (Virtual Machine)
Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan
pendekatan terlapis, hanya saja konsep ini memberikan sedikit
tambahan berupa tatap antarmuka yang menghubungkan hardware
dengan kernel untuk tiap-tiap proses, gambar 2.13 menunjukkan
konsep tersebut.
Meskipun konsep ini cukup baik, namun sulit untuk
diimplementasikan, ingat bahwa system menggunakan metode dualmode. Mesin virtual hanya dapat berjalan monitor-mode jika berupa
system operasi, sedangkan mesin virtual itu sendiri berjalan dalam
bentuk user-mode. Konsekuensinya, baik virtual monitor-mode
maupun virtual user-mode harus dijalankan melalui physical user
mode. Hal ini menyebabkan adanya transfer dari user-mode ke
monitor-mode pada mesin nyata, yang juga akan menyebabkan adanya
transfer dari virtual user-mode ke virtual monitor-mode pada mesin
virtual.
Ide dasar dari virtual machine adalah mengabtraksi perangkat keras
dari satu computer (CPU, memori, disk, dst) ke beberapa environment
eksekusi, sehingga menciptakan illusi bahwa masing-masing
environment menjalankan komputernya [terpisah] sendiri. VM muncul
karena adanya keinginan untuk menjalankan banyak sistem operasi
pada satu komputer.
Teknologi virtual machine memiliki banyak kegunaan seperti
memungkinkan konsolidasi perangkat keras, memudahkan recovery
sistem, dan menjalankan perangkat lunak terdahulu. Salah satu
penerapan penting dari teknologi VM adalah integrasi lintas platform.
Beberapa penerapan lainnya yang penting adalah:
Konsolidasi server. Jika beberapa server menjalankan aplikasi
yang hanya memakan sedikit sumber daya, VM dapat digunakan
untuk menggabungkan aplikasi-aplikasi tersebut sehingga berjalan
pada satu server saja, walaupun aplikasi tersebut memerlukan
sistem operasi yang berbeda-beda.
Otomasi dan konsolidasi lingkungan pengembangan dan testing.
Setiap VM dapat
berperan
sebagai
lingkungan
yang
18 | P a g e

berbeda,
ini memudahkan pengembang sehingga tidak perlu
menyediakan lingkungan tersebut secara fisik.
Menjalankan perangkat lunak terdahulu. Sistem operasi dan
perangkat lunak terdahulu dapat dijalankan pada sistem yang lebih
baru.
Memudahkan recovery sistem. Solusi virtualisasi dapat dipakai
untuk rencana recovery sistem yang memerlukan portabilitas dan
fleksibilitas antar platform.
Demonstrasi perangkat lunak. Dengan teknologi VM, sistem
operasi yang bersih dan konfigurasinya dapat disediakan secara
cepat.
Keuntungannya adalah bahwa konsep tersebut sepenuhnya
melakukan proteksi, sehingga keamanan resource, terutama untuk
resource-resource yang digunakan secara bersama-sama, akan
terjamin. Contoh system operasi yang memakai mesin virtual adalah
IBM VM system.
Kerugiannya adalah virtual machine sulit diimplementasikan
karena banyak syarat yang dibutuhkan untuk menyediakan duplikat
yang tepat dari underlying machine, yaitu harus punya virtual-user
mode dan virtual-monitor mode yang keduanya berjalan di pysical
mode. Akibatnya, saat instruksi yang hanya membutuhkan virtual
monitor mode dijalankan, register berubah dan bisa berefek pada
virtual user mode, bahkan bisa me-restart virtual machine. Selain itu,
waktu yang dibutuhkan I/O bisa lebih cepat(karena ada spooling), tapi
bisa lebih lambat( karena diinterpreted).

proses-proses
proses-proses
proses-proses
proses-proses

kernel
hardware

antarmuka
pemrograman

kernel

kernel

kernel

virtual machine
hardware

Gambar 2.13 Konsep Mesin Virtual : (a) Tanpa Mesin Virtual; (b) Dengan Mesin
Virtual
Suatu VM proses, kadang disebut application virtual machine,
berjalan sebagai aplikasi normal di dalam sebuah sistem operasi dan
19 | P a g e

mendukung satu proses. VM Proses diciptakan saat proses tersebut


dimulai dan dihancurkan (destroyed) ketika
prosesnya exit.
Tujuannya adalah menyediakan environment pemrograman yang
platform-independent yang mengabstraksi detil-detil perangkat
lunak atau sistem operasi, dan mengizinkan suatu program
tereksekusi dengan cara yang sama pada platform manapun.
VM
proses
menyediakan
abstraksi
tingkat-tinggi
(dibandingkan
abstraksi tingkat rendah dari VM sistem) yaitu
abstraksi bahasa pemrograman tingkat tinggi. VM proses
diimplementasi menggunakan interpreter. Tipe VM ini menjadi
populer dengan bahasa pemrograman Java, yang diimplementasi
dengan Java Virtual Machine. Contoh lainnya adalah .NET
Framework, yang berjalan atas VM disebut Common Language
Runtime. Kasus istimewa dari VM proses adalah sistem yang
mengabstraksi mekanisme komunikasi dari cluster komputer (yang
mungkin heterogen). VMnya
tidak terdiri dari satu proses,
melainkan satu proses per mesin fisik di dalam cluster. VM tersebut
dirancang untuk mempermudah pekerjaan memrogramkan aplikasi
parallel dengan membiarkan programmer fokus pada algoritma
daripada mekanisme komunikasi yang disediakan oleh interconnect
dan sistem operasi. Kenyataan bahwa komunikasi terjadi tidak
disembunyikan, dan cluster tidak diusahakan direpresentasi sebagai
satu mesin.
6. Client-server Model
Trend dari system operasi modern adalah memindahkan kode ke
lapisan yang lebih tinggi dan menghapusnya sebanyak mungkin dari
system operasi sehingga akan meninggalkan kernel yang minimal.
Konsep ini biasanya diimplementasikan dengan cara menjadikan
fungsi-fungsi yang ada pada system operasi menjadi user proses. Jika
suatu proses minta untuk dilayani, misalkan saja satu blok file, maka
user proses (disini dinamakan: client proses) mengirim permintaan
tersebut ke server proses. Server proses akan melayani permintaan
tersebut kemudian mengirimkan jawabannya kembali. Pada model ini,
seperti terlihat pada Gambar 2.14, semua pekerjaan kernel ditekankan
pada pengendalian komunikasi antara client dan server. Dengan
membagi system operasi menjadi beberapa bagian, dimana tiap-tiap
bagian mengendalikan satu segi system, seperti pelayanan file,
pelayanan proses, pelayanan terminal, atau pelayanan memori, maka
tiap-tiap bagian menjadi lebih sederhana dan dapat diatur. Selain itu,
karena semua server berjalan pada user-mode proses, dan bukan
merupakan monitor mode, maka server tidak dapat mengakses
hardware secara langsung. Akibatnya, jika terjadi kerusakan pada file
server, maka pelayanan file akan terganggu. Namun hal ini tidak akan
sampai mengganggu system lainnya.

20 | P a g e

Client
prose
s

Client
prose
s

prose
s
serve
r

Termina
l server

File
serve
r

Memori
server

Gambar 2.14 Model Client-Server

mesin-1

mesin-2

Client

File server

Kernel

Kernel

mesin-3

mesin-4

Proses
server

Terminal
server

Kernel

Kernel

Gambar 2.15 Model Client-Server pada system terdistribusi

Keuntungan lain dari model client-server ini adalah dapat


diadaptasikan pada system terdistribusi (Gambar 2.15). jika suatu
client berkomunikasi dengan server dengan cara mengirimkan pesan,
maka server tidak perlu tahu apakah pesan tersebut dikirim dari mesin
itu sendiri (local) atau dikirim oleh mesin yang lain melalui jaringan.

Perancangan Sistem
Perancangan sistem dipengaruhi oleh perangkat keras dan jenis system
sehingga kebutuhan-nya akan lebih sulit untuk dispesifikasikan. Kebutuhan
terdiri dari tujuan pengguna dan tujuan system. Pengguna ingin sistem yang
enak digunakan, mudah dipelajari, terpercaya, aman, dan cepat. Tapi itu semua
sebenarnya tidak dibutuhkan oleh sebuah sistem. Sistem ingin mudah
dirancang dan diimplmentasikan, fleksibel, terpercaya, error yang minimal,
dan efisien.

Mekanisme dan Kebijakan


Mekanisme menjelaskan bagaimana melakukan sesuatu, kebijakan
menentuakan apa yang akan dilakukan. Pemisahan kebijakan dari mekanisme

21 | P a g e

adalah hal yang sangat penting, ini ,mengijinkan fleksibilitas yang tinggi jika
kebijakan akan diubah suatu saat. Kebijakan penting untuk semua alokasi
sumber daya dan menjadwalkan masalah, menentukan perlu atau tidaknya
mengalokasikan sumber daya.

Implementasi Sistem
Secara tradisional, sistem operasi ditulis dalam bahasa rakitan, tapi
sekarang sering dibuat dalam bahasa tingkat tinggi.
Keuntungan ditulis dalam bahasa tingkat tinggi adalah :
1. Kodenya bisa ditulis dengan lebih cepat
2. Lebih padat
3. Mudah dimengerti dan didebug
Sistem operasi yang ditulis dengan bahasa tingkat tinggi akan mudah
dipindahkan ke perangkat keras lain, tapi bisa mengurangi kecepatan dan
membutuhkan penyimpanan yang lebih banyak.

System Generation
Sistem operasi dirancang untuk dapat dijalankan pada berbagai jenis
mesin, sistemnya harus dikonfigurasikan untuk setiap komputer. Program
Sysgen mendapatkan informasi mengenai konfigurasi khusus tentang sistem
perangkat keras dari sebuah data, antara lain sebagai berikut:
1. CPU apa yang digunakan, pilihan yang diinstal
2. Berapa banyak memori yang tersedia
3. Peralatan yang tersedia
4. Sistem operasi pilihan apa yang diinginkan atau parameter apa yang
digunakan
Satu kali info diperoleh, bisa digunakan dengan berbagai cara.

22 | P a g e

DAFTAR PUSTAKA
[ 1 ] Hariyanto, Bambang. Sistem Operasi. Edisi Bandung. Informatika. 1999.
[ 2 ] Kusumadewi, Sri. Sistem Operasi. Edisi 2. Yogyakarta. Graha Ilmu.
2002.
[ 3 ] Yuniarto, Nurwono, Ir, MBA. Manajemen Informasi Pendekatan Global.
Jakarta, Elex Media Komputindo. 1994.

23 | P a g e

Anda mungkin juga menyukai