Anda di halaman 1dari 26

BAB 2

GAMBARAN UMUM SISTEM


OPERASI
Pada Bab 2 ini akan dibahas konsep dasar tentang Sistem Operasi, prinsip kerja
dan fungsinya dalam sistem Komputer.
Bab ini akan menjelaskan sejarah sistem operasi secara ringkas.Sejarah ini cukup
menarik dan juga akan menbantu pembahasan tentang tinjauan singkat prinsip-
prinsip sistem operasi.Kita akan memulai bab ini dengan mempelajari tujuan dan
fungsi sistem operasi.Dilanjutkan dengan perkembangan sistem operasi mulai dari
sistem-sistem batch primitif hingga menjadi sistem multiguna dengan multimode
yang canggih.

2.1 Tujuan dan Fungsi Sistem Operasi


A. Sistem Operasi sebagai Interface Pengguna/Komputer
B. Sistem Operasi sebagai Manajer Sumber Daya
C. Kemudahan Evoluasi Sistem Operasi
2.2 Evoluasi Sistem Operasi
A. Pengolahan Sinyal
B. Sistem Batch Sederhana
C. Sistem Batch Multiprogrammed
D. Sistem-sistem Time-Sharing
2.3 Hasil-hasil Utama
A. Proses
B. Manajemen Memori
C. Proteksi Informasi dan Keamanan
D. Penjadwalan dan Manajemen Sumber Daya
E. Struktur Sistem
2.4 Karakteristik dari Sistem Operasi Modern

29 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
2.1 TUJUAN DAN FUNGSI SISTEM OPERASI
Sistem Operasi adalah suatu progam yang mengontrol eksekusi program
aplikasi dan berfungsi sebagai interfasce antara pengguna komputer dengan
hardware komputer.Sistem operasi memilki tiga tujuan:
 Kemudahan : Sistem Operasi membuat komputer menjadi lebih mudah
dipakai
 Efisiensi : Sistem Operasi memungkinkan sumber daya sistem komputr
untuk digunakan dengan cara yang efisiensien.
 Kemampuan berkembang : Sistem operasi harus disusun sedemikian
rupa sehingga memungkinkan penyembangan yang efektif,penyujian,dan
penerapan fungsi-fungsi sistem baru tanpa mengganggu layanan yang
telah ada.
Sekarang kita akan membahas ketiga aspek sistem operasi satu per satu.

A. Sistem Operasi sebagai Interface Pengguna/Komputer


Hardware dan software yang digunakan untuk menyediakan apllikasi bagi
penggunaan dapat dipandang sebagai sesuatu yang berlapis atau berhirearki,
seperti ditunjukan pada Gambar 2.1. Umumnya pengguna aplikasi-
aplikasi,yaitu end user, tidak berkepentingan dengan arsitekrur komputer. Jadi
end user memandang sistem komputer dalam bentuk aplikasi.Aplikasi
tersebut dapat dinyatakan dalam suatu bahasa pemrograman dan dibuat oleh
pemrograman aplikasi. Apabila seseorang membuat sebuah program aplikasi
sebagai himpunan instruksi mesin sepenuhnya bertanggung jawab atas
pengontrolan hardware komputer,orang tersebut akan berhadapan dengan
pekerjaan yang sangat kompleks. Untuk memudahkan pekerjaan itu,telah
disediakan program-program sistem. Beberapa program sistem tersebut
dikenal sebagai utilitas.Utilitas tersebut mengimplementasikan fungsi-fungsi
yang sering dipakai membuat pembuatan program,manajemen file,dan
pengontrolan perangkat I/O. Seorang pemrograman akan menggunakan
fasilitas ini dalam melakukan fungsi tertentu. Program sistem yang paling
penting adalah sistem operasi. Sistem operasi menyembunyikan detail
hardware dari pemrograman dan menyediakan intarface yang mudah bagi
pengguna dalam menggunakan sebuah sistem. Sistem operasi berfungsi

30 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
sebagai mediator,yang membuatnya menjadi lebih mudah bagi pemrograman
dan program aplikasi dalam mengakses dan menggunakan fasilitas dan
layanan.
Gambar 2.1 Lapisan – Lapisan dan
Gambar sebuah Sistem Komputer

Pada umumnya sistem operasi


memiliki layanan dalam bidang-
bidang di berikut ini :

 Pembuatan Program :
Sistem operasi menyediakan
berbagai fasilitas dan layanan,seperti
sebagai editor dan debugger, untuk
membantu para pemrograman dalam membuat program.
 Eksekusi program : Beberapa diperlukan task untuk melakukan
eksekusi sebuah program.
 Access ke perangkat I/O : Setiap perangkat I/O masing-masing
membutuhkan instruksinya sendiri atau signal control untuk operasi.
 Access terkontrol ke file : Dalam hal file, kontrol harus mencakup
pengertian yang tidak hanya sifat perangkat I/O saja (disk drive,tape
drive),namun juga format file yang terdapat pada media penyimpanan.
 Deteksi error dan respons : Bermacam-macam error dapat terjadi pada
saat sistem komputer bekerja.
 Accounting : Sistem operasi yang baik akan mengumpulkan statistik
pemakaian bermacam-macam sumber daya dan memonitor parameter
kinerja,seperti waktu respons.

B. Sistem Operasi sebagai Manajer Sumber Daya


Komputer adalah kumpulan sumber daya yang berfungsi untuk perpindahan,
penyimpanan dan pengolahan data serta untuk mengontrol fungsi tersebut.
Hal ini berbeda dengan sistem operasi yang merupakan mekanisme kontrol
yang tidak biasa dalam dua hal :

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 31
 Sistem operasi berfungsi dengan cara yang sama seperti software
komputer biasa yaitu merupakan sesuatu program yang dieksekusi oleh
prosesor .
 Sering kali sistem operasi mengeluarkan kontrol dan harus bergantung
pada prosesor untuk memungkinkannya memperoleh kembali kontrol.

Gambar 2.2
Sistem Operasi Sebagai
Manajer Sumber Sistem
Komputer

Gambar 2.2 menunjuk-


kan sumber daya utama
yang diatur oleh sistem
operasi.

Sistem operasi menempatkan sebagian sistemnya di dalam memori utama,


yang disebut dengan kemel, atau nucleus, yang berisi fungsi-fungsi yang
paling sering dipakai dalam sistem operasi dan sisa dari memori utama
digunakan untuk menyimpan instruksi lain dan data dan sumber daya memori
utama ini dikontrol secara bersama oleh sistem operasi dan prosesor. Terkait
dengan modul I/O, sistem operasi membuat keputusan kapan suatu perangkat
I/O dapat digunakan oleh program yang sedang dieksekusi dan tujuan akses
kontrol dan pemakaian file. Sedangkan untuk Prosesor, sistem operasi akan
menentukan jumlah waktu prosesor yang diberikan kepada eksekusi program
pengguna tertentu. Pada sistem multi-prosesor, pembuatan keputusan ini
harus dilakukan terhadap semua prosesor.

C. Faktor Penyebab Evolusi Sistem Operasi

Sistem operasi yang penting akan selalu berkembang dengan alasan berikut
ini :

 Upgrade hardware serta hardware jenis baru : Misalnya, versi UNIX


dan OS/2 yang terdahulu tidak menggunakan mekanisme paging karena
sistem-sistem operasi tersebut beroperasi pada mesin yang tidak memiliki

32 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
hardware paging. Versi-versi yang lebih baru telah dimodifikasi dengan
menggunakan kemampuan paging. Disamping itu, pemakaian terminal
grafis dan terminal mode halaman yang menggantikan terminal mode
baris gulung dapat berpengaruh terhadap rancangan sistem operasi.
Misalnya, terminal seperti itu memungkinkan pengguna melihat beberapa
aplikasi sekaligus pada saat yang bersamaan dengan menggunakan
“Window” yang terdapat dilayar. Kelihatannya perangkat keras
memerlukan dukungan sistem operasi yang canggih.
 Layanan baru : Untuk menjawab kebutuhan para pengguna atau para
manajer sistem, sistem operasi menambah penawaran layanan baru.
Misalnya, apabila ditemukan kesulitan dalam menjaga kinerja yang baik
bagi pengguna dengan memakai tool yang telah ada, ukuran dan control
yang baru ditambahkan kesistem operasi. Contoh lainnya adalah aplikasi
baru yang memerlukan pengguna window pada layar peraganya. Feature
ini memerlukan upgrade sistem operasi besar-besaran.
 Perbaikan : Setiap sistem operasi memiliki fault. Fault-fault ini ditemukan
dalam periode waktu tertentu dan kemudian dilakukan perbaikan. Tentu
saja, perbaikan ini dapat menyebabkan fault baru.

2.2 EVOLUSI SISTEM OPERASI


Untuk memahami persyaratan yang menjadi kunci sistem operasi dan
pentingnya feature utama sebuah sistem operaasi kontemporer, akan sangat
bermanfaat apanila memperlihat perkembangan sistem operasi selama ini.
Evolusi Sistem Operasi ini, dapat dijelaskan dalam beberapa tahapan
evolusi berikut ini :
a. Pengolahan Serial
b. Sistem Batch Sederhana
c. Sistem Batch Terprogram Jamak (Mulitiprogrammed)
d. Sistem Berbagi Waktu (Time-Sharing)

Masing-masing tahapan evolusi yang dimaksud di atas dapat diuraikan


secara singkat :

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 33
A. Pengolahan Serial
Pada komputer lama, mulai sejak,mulai akhir 1940-an hingga pertengahan
1950-an, seseorang programmer berinteraksi lansuang dengan hardware
komputer pada saat itu belum ada sistem operasi mesin dijalankan dari
sebuah console, yang berisi peraga cahaya, switch,beberapa perangkat input
,dan printer.program yang berbentuk kode mesin dimuatkan melalui perangkat
input (misalnya pembaca kartu). Apabila sebuah error menghentikan program,
kesalahan itu diindikasikan dengan lampu. Untuk menentukan penyebab
error, pemograman dapat melanjutkan pemeriksaan register dan memori
utama. Apabila selanjutnya program dapat berakhir secara normal, output
akan ditampilkan pada printer.
Sistem lama memiliki dua masalah besar, sebagai berikut :
 Scheduling (Penjadwalan) : Umumnya instalasi menggunakan formulir
pemesanan waktu mesin. Biasanya, seorang pengguna harus
mendaftarkan dirinya untuk memesan blok waktu yang merupakan
kelipatan setengah jam, dan seterusnya.
 Set Up Time (Waktu Setel Awal) : Sebuah program tunggal, yang
disebut job, dapat mencakup pemuatan kompiler serta program bahasa
tingkat tinggi(program sumber) kedalam memori, penyimpanan program
yang telah decompile(program objek), dan kemudian pemuatan dan
penggabungan program objek dengan fungsi yang umum.

Mode operasi seperti itu dapat dianggap sebagai pengolahan serial, yang
menggambarkan kenyataan bahwa para pengguna memiliki akses ke
komputer secara seri.

B. Sistem Batch Sederhana

Mesin-mesin lama sangat mahal sehingga sangat penting untuk


memaksimalkan utilisasinya. Waktu yang terbuang yang diakibatkan
penjadwalan dan waktu set up tidak dapat diterima.

Untuk meningkatkan utilisasi, dibuat konsep sistem operasi batch. Konsep


sistem operasi batch (dan sistem operasi pertama untuk apa saja) tersebut
muncul untuk pertama kalinya pada pertengahan 1950-an dan dibuat oleh
General Motor untuk digunakan pada IBM 701. Selanjutnya, konsep tersebut

34 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
disempurnakan dan diimplementasikan pada IBM 704 oleh beberapa
pelanggan IBM. Pada awal 1960-an, sejumlah vendor telah berhasil membuat
sistem operasi batch untuk sistem komputernya.IRSYS, sistem operasi IBM
untuk komputer 7090/7094, cukup berhasil karena pengaruh luasnya sistem
lainnya.

Gambar 2.3 Tata letak Memori Resident Monitor

Inti gagasan yang berada dibalik teknik sistem


operasi batch adalah pengguna potongan software
yang dikenal sebagai monitor.
Untuk memahami cara kerjanya, kita akan
memandangnya dari dua sudut yaitu sudut pandang
monitor dan pandang prosesor.

 Dari sudut pandang monitor, monitorlah yang


mengontrol rangkaian event. Agar pengontrolan itu
dapat terjadi, banyak monitor yang selalu berada di
memori utama dan dapat digunakan untuk eksekusi (Gambar 2.3). Bagian
monitoryang berada di memori utama dikenal sebagai resident monitor.
Bagian monitor lainnya terdiri dari utilitas dan fungsi umum yang
dimuatkan sebagai subroutine ke program pengguna pada awal job yang
membutuhkannutilitas dan fungsi tersebut.
 Sekarang kita perhatikan rangkaian event itu dari sudut pandang
prosesor. Pada suatu saat tertentu, prosesor mengeksekusi intruksi yang
berasal pada bagan memori utama yang berisi monitor. Intruksi-intruksi
ini menyebabkan job berikutnya dibacakan ke bagian memori utama
lainnya.

Pada setiap job, ontruksi dimasukkan ke dalam bentuk primitif job control
language (JCL). JCL merupakan bahasa pemograman.
Khusus untuk menyediakan instruksi bagi monitor. Sebuah contoh sederhana
adalah instruksi seorang pengguna yang memberikan sebuah program yang
ditulis dalam FORTRAN dan beberapa data yang akan digunakan oeh

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 35
program. Setiap instruksi dn setiap item data berada di dalam kartu berlubang
yang terpisah atau record pita yang terpisah. Disamping baris-baris
FORTRAN dan data,jop mencakup jop control instruktion,yang ditandai
dengan awalan $. Format keseluruhan jop akan terlihat seperti dibawah ini:

$JOB
$FTN

 Intruksi- intruksi FORTRAN

$LOAD
$RUN

 Data

$SEND

Untuk mengeksekusi jo tersebut,monitor membaca baris $FTN dan


memuatkan compiler yang cocok dari mass storange (biasanya pita). Comiler
menerjemahkan program pengguna menjadi kode objek,yang tersimpan di
dalam memori atau mass stroge. Apabila tersimpan didalam
memori,operasinya disebut”compile,load,and go”. Apabila tersimpan di dalam
pita, diperlukan instruksi $LOAD. Instruksi ini akan dibaca oleh monitor, yang
akan memperoleh kembali kontrol setelah operasi compile. Monitor
memanggil loader,yang memuatkan program objek kedalam memori sebagai
pengganti compiler dan memindahkan kontrol kepadanya. Dengan cara
seperti ini, segmen memori yang berjumlah memori besar dapat digunakan
bersama oleh sejumlah subsistem, walaupun pada suatu saat tertentu hanya
salah satu subsistem yang akan menjadi resident dan melakukan eksekusi.

Fitur hardware lain yang juga dibutuhkan untuk merealisasikan system batch
ini adalah :

 Proteksi memori : pada saat program pengguna sedang


mengeksekusi,program tersebut tidak oleh mengubah daerah memori
yang berisi monitor..
 Timer (timer) : sebuah timer akan digunakan untuk mencegah terjadinya
sebuah job yang memonopoli sistem.

36 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
 Privileged instruction : instruksi-instruksi tertentu ditandai privileged dan
hanya isa dieksekusi oleh monitor.
 Interrupt : model komputer lama tidak memiliki kemampuan ini. Feature
ini menyebabkan sistem menjadi lebih fleksibel dalam melepaskan
kontrolnya ke program pengguna dan memperoleh kembali kontrol
tersebut dari program pengguna.

Gambar 2.4 Contoh Utilisasi


Sistem

Tentu saja sebuah sistem


operasi dapat dibuat tanpa
feature di atas. Namun, vendor komputer dengan cepat mengetahui bahwa
ketiadaan feature tersebut akan menyebabkan chaos. Karena itu, sisem
operasi yang relatif primotif pun dilengkapi dengan feature handware tersebut.

Dengan memakai sistem operasi batch, waktu mesin secara bergantian


melakukan eksekusi program pengguna dan eksekusi program monitor. Di sini
terdapat dua pengorbanan: sebagian monitor utama diberikan kepada monitor
dan sebagian waktu mesin dipakai oleh monitor. Kedua pengorbanan tersebut
merupakan bentuk-bentuk overhead. Walaupun adanya overhead tersebut,
sistem batch sederhana akan eningkatkan utilisasi komputer.

C. Sistem Batch Multiprogrammed

Walaupun dengan menggunakan pengurutan program secara otomatik yang


dihasilkan oleh sistem operasi batch sederhana. Prosesor masih sering
berada dalam keadaan idle. Masalahnya adalah perangkat-perangkat I/O
cukup lambat apabila dibandingkan dengan kecepatan prosesor. Gambar 2.4
menjelaskan perhitungannya secara terperinci. Kalkulator ini menunjukkan
sebuah program yang memproses sebuah file record dan secara rata-rata
melakukan 100 intruksi mesin perdetik. Dalam contoh ini komputer
mengeluarkan 96% waktunya untuk menunggu perangkat-prangkat I/O dalam
melakukan pemindahan data. Gambar 2.5 menjelaskan situasi tersebut.
Prosesor membutuhkan jumlah waktu tertentu untuk melakukan

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 37
eksekusi,sampai intruksi I/O tersebut selesai sebelum melanjutkannya
kembali.

Gambar 2.5 Contoh


Multiprogramming

Hari ini tidak efisien ini tidak


perlu terjadi. Kita
mengetahui bahwa
terdapat memori yang
cukup untuk menampung
sistem operasi (resident
monitor) dan sebuah
program pengguna.
Anggap terhadap ruang
untuk sistem operasi dan
dua program pengguna.
Sekarang ,pada saat sebuah job perlu menunggu I/O, prosesor dapat beralih
ke job lainnya yang mempunyai kemungkinan besar tidak sedang menunggu
I/O (Gambar 2.5b). selain itu, kita dapat memperbesar memori untuk
menampung tiga,empat, atau lebih program dan dapat beralih di antara
program-program itu (Gambar 2.5c). proses tersebut dikenal sebagai
multiprogramming atau multitasking.

Tiga job, JOB1, JOB2, JOB3, diserahkan untuk dieksekusi pada saat yang
bersamaan,dengan atribut yang diberikan pada Tabel 2.1.

Tabel 2.1 Atribut Eksekusi Program Contoh


Atribut Job1 Job2 Job3
Jenis Job Hitungan Berat I/O yang berat I/O yang berat
Durasi 5 Menit 15 Menit 10 Menit
Memori yang 50K 100K 80K
dibutuhkan
Perlu disk ? Tidak Tidak Ya
Perlu terminal ? Tidak Ya Tidak
Perlu Printer? Tidak Tidak Ya

38 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
Tabel2.2 Efek-efek Multi programming utilisasi Sumber Daya

Uniprograming Multiprograming
Pemakaian Prosesor 17% 33%
Pemakaian Memori 30% 67%
Pemakaian Disk 33% 67%
Pemakaian Printer 33% 67%
Waktu Berjalan 30 Menit 30 Menit
Kecepatan throughput 6Job/Jam 6Job/Jam
Waktu Respons Rata Rata 18 Menit 18 Menit

Ketiga job itu akan selesai dalam 15 menit dengan menggunakan


multiprogramming. Adanya peningkatan terbukti apabila memeriksa kolom
multiprogramming pada Tabel 2.2, yang diperoleh dari histogram yang
diunjukan pada Gambar 2.6.

Gambar 2.6 Histogram Utilisasi Uniprogramming

Seperti pada sistem batch sederhana, sistem batch multi- programming harus
mengandalkan feature tertentu hardware komputer. Feature tambahan
terpenting terpenting yang bermanfaat bagi multiprogramming adalah
hardware yang mendukung interrupt I/O dan DMA. Dengan menggunakan

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 39
interrupt-driver I/O atau DMA, prosesor dapat memberikan perintah I/O ke
sebuah job dan dilanjutkan dengan melakukan eksekusi job lainya pada saat
I/O sedang ditangani oleh pengontrol perangkat.Apabila operasi I/O selesai,
prosesor diinterrupt dan control dipindahkan ke program interrupt-handling
yang terdapat di dalam sistem operasiKemudian sistem operasiKemudian
sistem operasi menyerahkan controlnya ke job lainnya.

Gambar 2.7 Operasi


CTSS

Sistem operasi mul-


tiprogramming yang
cukup canggih apa
bila dibandingkan
dengan sistem
program tunggal, atau
uniprogram- ming.

D. Sistem Time-Sharing

Dengan menggunakan multiprogramming, pengolahan batch dapat menjadi


efisien. Akan tetapi, untuk job yang jumlahnya banyak, sangat diperlukan
suatu mode dimana pengguna dapat berinteraksi secara lamgsung dengan
komputer. Bahkan, bagi beberapa job, misalnya pengolahan transaksi, mode
interaktif merupakan suatu hal yang penting.

Saat ini, persyaratan fasilitas komputasi interaktif dapat dipenuhi dengan


pemakaian mikrokomputer terdeteksi. Option tersebut tidak tersedia pada
1960-an, karena saat itu sebagian komputer masih berukuran besar dan
sangat mahal, sehingga dibuat time sharing. Seperti halnya multiprogramming
yang mengizinkan prosesor untuk menangani beberapa batch job sekaligus,
multiprogramming dapat digunakan untuk menangani beberapa job interatif.
Pada kasus yang disebut terakhir, tekniknya dikenal sebagai time sharing
karena waktu prosesor dapat dibagi-pakai oleh sejumlah pengguna.

40 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
Dalam sebuah sistem time-sharing, beberapa pengguna secara bersamaan
mengakses sistem dengan melalui terminal, dengan sistem operasi yang
menggilirkan eksekusi setiap program pengguna dalam sebuah burst pendek
atau kuantum komputasi. Jadi apabila terdapat n orang pengguna yang
secara aktif meminta layanan sekaligus, setiap penggun hanya akan
merasakan rata-rata 1/n kecepatan komputer efektif, tidak terhitung overhead
sistem operasi

Tabel 2.3. Batch Multiprogramming versus time sharing


Batch Multiprogramming Time Sharing

Tujuan utama Memaksimalkan pemakaian Minimalkan waktu


respons
Sumber intruksi-intruksi Intruksi-intruksi job control Perintah-perintah yang
ke sistem operasi yang menyediakan perintah dimasukkan pada
dengan job terminal

Namun dengan waktu reaksi manusia yang relatif lambat, waktu respons pada
sistem yang dirancang dengan baik akan sebanding dengan waktu reaksi
manusia pada komputer yang terdedikasi. Baik batch multiprogramming
maupun time sharing menggunakan multiprogramming, perbedaannya yng
menonjol dapat dilihat pada Tabel 2.3.

Gambar 2.8 Implementasi Proses

Untuk mengurangi lalu lintas disk,


memori pengguna hanya akan
dituliskan apabila program yang
masuk akan menindihnya. Prinsip
ini dijelaskan pada Gambar 2.8
asumsikan bahwa terdapat empat
orang pengguna interaktif :

 JOB1: 15.000
 JOB2: 20.000
 JOB3: 5.000
 JOB4: 10.000

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 41
Pada keadaan awal, monitor memuatkan JOB1 dan memindahkan control
kepadanya (Gambar 2.8.a). kemudian monitor mengambil keputusan untuk
memberikan control ke JOB2. Karena JOB2 memerlukan memori lebih banyak
dibandingkan dengan JOB1,JOB1 harus dikeluarkan terlebih dahulu dan
kemudian JOB2 dimuatkan(Gambar 2.8.b). setelah itu, JOB3 dimuatkan untuk
dijalaankan. Namun, karena JOB3 lebih kecil daripada JOB2, JOB2 masih
dapat dipertahankan di dalam memori utama, yang akan menguranngi waktu
penulisan disk (Gambar 2.8.c). selanjutnya monitor akan memindahkan
kontrolnya kembali JOB1. Ketika JOB4 dimuatkan, sebagian JOB1 dan
sebagian JOB2 yang tersisa di dalam memori utama dapat dipertahankan.
Disini apabila JOB1 atau JOB2 diaktivasi, diperlukan pemuatan sebagian job
tersebut saja. Hal ini mengharuskan JOB4 dan bagian JOB1 yang tetap
resident harus dikeluarkan dan bagian JOB2 yang tidak terdapat di dalam
memori utama akan dimuatkan.

2.3 HASIL-HASIL UTAMA

Sistem operasi merupakan salah satu software yang paling


kompleks.Kompleksitas ini menggambarkan tantangan untuk mengatasi kesulitan
dan dalam beberapa hal merupakan persaingan agar dapat memenuhi tujuan-
tujuan kemudahan, efisiensi, dan kemampuan untuk berkembang. [DENN80a]
berpendapat bahwa terdapat lima buah perolehan intelektual dalam
pengembangan sistem operasi:

 Proses
 Manajemen memori
 Proteksi informasi dan keamanan
 Penjadwalan dan manajemen sumber daya
 Struktur sistem

Setiap perolehan di atas ditandai oleh prinsip-prinsip atau abstraksi yang


dikembangkan untuk mengatasi masalah kesulitan dalam praktik. Dengan
menggabungkannya kelima bidang tersebut akan mendapatkan rancangan
penting dan masalah-masalah implementasi sistem operasi modern.

42 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
A. Proses

Konsep proses sangat penting struktur sistem operasi Istilah ini untuk pertama
kali digunakan oleh para perancang Multics pada 1960-an.Proses adalah
istilah yang lebih bersifat umum disbanding job.

Banyak definisi yang telah diberikan untuk istilah proses, diantaranya:

 Program yang sedang dieksekusi


 “jiwa yang dianimasikan” sebuah program
 Entity yang dapat di-assign ke prosesor dan dapat dieksekusi pada
prosesor
 Suatu unit dari karakteristik oleh sekuensial (thread tunggal pada
eksekusi, stack langsung, dan kumpulan set pada sumber-sumber
sistem)

Konsep di atas akan menjadi lebih jelas setelah kita melakukan pembahasan
lebih lanjut.

Tiga arah perkembangan sistem komputer telah menciptakan masalah dalam


timer dan sinkronisasi yang berkontribusi terhadap :

Perkembangan pertama tentang konsep proses multiprogramming :


batch operation, time-sharing, dan transaksi real-time. Seperti telah kita
ketahui, multiprogramming dirancang untuk menjaga agar prosesor dan
perangkat I/O, termasuk perangkat penyimpan, tetap dalam keadaan sibuk
untuk memperoleh efisiensi yang maksimum..

Perkembangan yang kedua adalah general-purpose time sharing. Disini


tujuan rancangan yang utama adalah agar responsive terhadap kebutuhan
pada pengguna dan saat ini, dengan alasan biaya, harus mampu mendukung
pada pengguna yang berjumlah banyak secara simultan.

Perkembangan ketiga adalah transaction processing sistems. Dalam hal


ini, sejumlah pengguna melakukan query atau update terhadap sebuah
database.

Koordinasi berbagai aktivitas tersebut membuat rancangan software sistem


menjadi sangat sulit. Dengan banyaknya job yang dilakukan dalam waktu
bersamaan setiap job itu melibatkan banyak langkah yang harus dilaksanakan

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 43
secara berurutan, maka semakin tidak mungkin untuk melakukan analisis
terhadap seluruh kemungkinan event-event yang dapat terjadi. Apabila alat
untuk melakukan koordinasi dan kooperasi aktivitas yang sistematik tidak ada,
para perancang terpaksa menggunakan metode ad hoc yang didasarkan pada
pemahamannya tentang lingkungan yang harus dikontrol sistem
operasiUsaha tersebut cukup berbahaya terhadap adanya error yang tidak
terlihat dalam pemograman yang akibatnya hanya dapat diketahui apabila
terdapat aksi-aksi yang relatif jarang terjadi. Error seperti itu sangat sulit untuk
dideteksi dan sangat sulit untuk menentukan sebabnya karena kondisi yang
tepat yang menyebabkan error sangat sulit untuk ditirukan.

Secara umum terdapat empat sebab utama terjadinya error seperti itu.

 Sinkronisasi yang salah: sering kali dijumpai masalah dimana sebuah


routine harus terhenti karena menunggu suatu event.
 Mutural exclusion yang gagal : sering kali dijumpai kasus dimana lebih
dari seorang pengguna atau program yang akan berusaha untuk
menggunakan sumber daya yang dapat digunakan bersama pada saat
yang sama.
 Operasi program nondeterminate : di dalam sistem bagi-pakai, hasil
suatu program tertentu biasanya hanya bergantung pada input kepada
program tersebut dan tidak pada aktivitas program lainnya.
 Deadlock : dimungkinkan dua program atau lebih akan terhenti karena
satu program dengan program lainnya saling menunggu.

Yang diperlukan dalam mengatasi masalah tersebut adalah cara yang


sistematik untuk memonitor dan mengontrol bermacam-macam program yang
melakukan eksekusi didalam prosesor. Konsep proses dapat dijadikan dasar
hal tersebut. Kita dapat menganggap bahwa proses terdiri dari tiga komponen:

 Program yang executabel


 Data terkait yang diperlukan oleh program (variabel, ruang kerja, buffer,
dan lain-lain)
 Konteks eksekusi program tersebut

Elemen yang disebut terakhir sangat penting. Konteks eksekusi meliputi


seluruh informasi yang diperlukan oleh sistem operasi untuk mengatur proses

44 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
dan yang diperlukan prosesor untuk mengeksekusi proses secara benar. Jadi,
konteks meliputi isi bermacam-macam register prosesor, seperti program
counter dan register data. Konteks juga mencakup informasi penggunaan
pada sistem operasi, misalnya prioritas proses dan apakah suatu proses
sedang menunggu selesainya event I/O tertentu atau tidak.

Pada Gambar 2.8, register indeks proses mengindikasikan bahwa proses B


sedang melakukan eksekusi. Proses A sebelumnya telah melakukan
eksekusi, namun telah di interupsi untuk sementara waktu. Isi seluruh register
pada saat terjadinya interupsi terhadap proses A direkam didalam konteks
eksekusinya. Kemudian, prosesor akan melakukan pengalihan proses dan
akan melanjutkan eksekusi proses A. Pengalihan proses terdiri dari
penyimpanan konteks B dan pengambilan kembali konteks A. Pada saat
program counter di muatkan dengan nilai yang menunjuk ke daerah program
A, proses A secara otomatis akan melanjutkan eksekusi.

Gambar 2.9 menunjukkan suatu implementasi proses. Dua buah proses, A


dan B berada di memori utama. Dengan kata lain, suatu blok memori
dialokasikan ke masing-masing proses yang berisi program, data, dan
informasi konteks. Setiap proses direkam di dalam list proses yang dibuat dan
dijaga oleh sistem operasi. List operasi berisi sebuah entri setiap proses, yang
berupa pointer ke lokasi memori yang berisi proses. Entri tersebut dapat
mencakup sebagian atau keseluruhan konteks eksekusi proses. Konteks
eksekusi lainnya disimpan dengan proses itu sendiri. Register indeks proses
berisi indeks list proses yang sedang mengontrol prosesor. Program counter
menunjuk ke instruksi berikutnya yang berisi proses yang akan di eksekusi.
Register basis dan register limit menentukan daerah di dalam memori yang
ditempati oleh proses. Program counter dan semua referensi dan
diinterpretasikan relatif terhadap register basis dan tidak boleh melebihi nilai
register limit. Hal ini akan mencegah terjadinya interferensi proses.

Jadi proses direalisasikan sebagai suatu struktur data. Suatu proses dapat
dieksekusi atau menunggu dieksekusi. “Keadaan” keseluruhan proses itu
dimasukkan ke dalam konteksnya. Struktur ini memungkinkan
pengembangan teknik-teknik untuk menjamin koordinasi dan kooperasi
proses. Featur-featur baru dapat dirancang dan ditambahkan kedalam sebuah

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 45
sistem operasi (misalnya, prioritas) dengan cara mengembangkan konteks
sehingga melibatkan informasi baru yang dibutuhkan untuk mendukung featur
itu

Gambar 2.9 Konsep Memori Virtual

B. Manajemen Memori

Para pengguna membutuhkan lingkungan komputasi yang mendukung


pemrograman modular dan pemakaian data yang fleksibel. Manajer sistem
memerlukan pengontrolan alokasi yang menyimpan yang efisien. Untuk
memenuhi kebutuhan tersebut, sistem operasi memiliki lima tanggung jawab
penting manajemen penyimpanan yaitu :

46 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
 Isolasi proses: sistem operasi harus mencegah agar proses indenpenden
tidak saling menganggu data dan memori.
 Alokasi otomatis dan manajemen: program harus secara dinamis
alokasikan ke hirarki memori apabila diperlukan.
 Dukungan pemrograman modular: pemrograman harus mampu
membuat dan menghapus modul-modul program serta mengubah ukuran
modul secara dinamis.
 Proteksi dan control acces: penggunaan memori secara bersama-sama,
pada sembarang tingkat hierarki memori, akan memungkinkan sebuah
program menunjuk ruang memori program lainnya.
 Penyimpanan jangka lama: banyak pengguna dan aplikasi memerlukan
cara penyimpanan informasi dalam waktu yang relatif lama.

Umumnya, sistem operasi memenuhi persyaratan dengan menggunakan


fasilitas virtual memori dan sistem file. Sistem file menerapkan penyediaan
jangka panjang, dengan susunan penyimpanan informasi dalam nama objek,
disebut file. File ini mengantikan konsep untuk programer dan merupakan unit
yang berfungsi sebagai kontrol akses dan melindungi sistem operasi.

Memori virtual adalah suattu fasilitas yang memungkinkan program dapat


menunjuk memori berdasarkan sudut pandang logika, tanpa
mempertimbangkan jumlah memori utama yang tersedia secara fisik.

Gambar 2.10
Pengalamatan Memori
Virtual

Gambar 2.10 memberikan


gambaran umum sistem
penyimpanan yang diatur
oleh sistem operasi
Hardware prosesor bersama-sama dengan sistem operasi menyediakan
pengguna “prosesor virtual “ yang memiliki access ke memori virtual
penyimpanan dapat berbentuk ruang alamat linear atau kumpulan segmen,
yang merupakan blok-blok alamat kontigus yang panjangnya variable.

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 47
C. Proteksi imformasi dan keamanan

Semakin meningkatnya pemakaian sistem time-sharing dan jaringan kerja


komputer telah menyebabkan peningkatan perhatian terhadap proteksi
imformasi. Sifat ancaman terhadap organisasi sangat bervariasi. Namun,
terdapat beberapa general-purpose tool dapat dimasukkan kedalam komputer
dan sistem operasi yang mendukung beramacam-macam mekanisme
proteksi dan keamanan. Secara umum, kita berkepentingan dengan masalah
pengontrolan akses ke sistem komputer dan imformasi yang tersimpan di
dalamnya.

Sebagian besar pekerjaan dalam keamanan dan proteksi yang berhubungan


dengan sistem operasi dapat dikelompokkan menjadi tiga kategori, sebagai
berikut :

 Pengontrolan akses: Berkaitan dengan pengaturan akses


pengguna ke sistem keseluruhan, subsistem, dan data, serta
pengaturan akses proses ke berbagai sumber daya dan objek yang
terdapat di dalam sistem.
 Pengontrolan aliran imformasi: mengatur aliran data di dalam
sistem dan pengantarannya ke para pengguna.
 Sertifikasi: berkaitan dengan pembuktian bahwa mekanisme
akses dan aliran control dilakukan sehubungan dengan
spesifikasinya dan bahwa mekanisme tersebut menerapkan
kebijakan proteksi dan keamanan yang diinginkan.

D. Penjadwalan dan Manajemen Sumber Daya

Tugas utama sistem operasi adalah untuk mengatur berbagai sumber daya
yang tersedia (memori utama, perangkat I/O, dan prosesor) dan untuk
menjadwalkan penggunaanya oleh berbagai proses aktif. Setiap kebijakan
alokasi sumber daya dan penjadwalan memperhatikan tiga faktorberikut ini:

 Keadilan: Umumnya, kita menginginkan semua proses yang bersaing


untuk memperoleh sumber daya diberi akses yang hamper sama dan
adil ke sumber daya tersebut. hal tersebut perlu terutamauntuk job-job

48 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
yang kelasnya sama, yaitu,job yang kebutuhannya samadan diberi nilai
yang sama.
 Responsivitas Diferensial: sistem operasi perlu membedakan kelas-
kelas job-nya dengan persyaratan layanan yang berbeda.sistem
operasi harus berusaha untuk melakukan keputusan tentang alokasi
dan penjadwalan yang memenuhi persyaratan secara umum.
 Efisiensi: didalam kendala keadilan dan efisiensi, sistem operasi harus
berusaha untuk memaksimalkan troughtput, meminimalkan waktu
respons, dan dalam kasus time-sharing, mengakomudasikan
pengguna secara mungkin.

Gambar 2.11 Elemen Penting Sebuah Sistem Operasi Multiprogramming

Gambar 2.11 menunjukkan elemen sistem opersi yang dilibatkan dalam


penjadwalan proses dan alokasi sumber daya dalam lingkungan
multiprogramming. Sistem operasi memiliki sejumlah antrean, yang masing-
masing antrean tersebut sebenarnya berupa list proses yang sedang menanti
sumber daya. Antrean jangka pendek terdiri dari proses-proses yang berada
di dalam memori utama (atau sedikitnya bagian minimum yang penting berada
didalam memori utama) dan yang siap beroperasi. Salah satu diantara proses-
proses tersebut dapat menggunakan prosesor untuk kesempatan berikutnya.
Pengambilan sala satu proses tersebut merupakan tugas short-term
scheduller atau dispactcher. Strategi yang umum digunakan dengan memberi

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 49
waktu giliran kepada setiap proses tersebut; cara ini dikenal sebagai teknik
round-robin. Tingkat prioritas juga dapat digunakan.

E. Struktur Sistem

Untuk mengatur kompleksitas sistem operasi dan mengatasi masalah


tersebut, telah banyak perhatian yang diberikan terhadap struktur software
sistem operasi bertahun-tahun. Beberapa hal jelas software harus bersifat
modular. Modularitas ini akan membantu dalam mengorganisasikan proses
pembuatan software dan membatasi pekerjaan diagonis dan perbaikan error.
Modul harus memiliki interfes satu dengan yang lain dan harus dibuat
sesederahan mungkin. Hal ini akan memudahkan pemograman.

Struktur hierarki sebuah sistem operasi modern membedakan fungsi-fungsi


berdasarkan kompleksitasnya, skala waktu karakteristiknya, dan tingkat
abstraksinya. Kita dapat memandang sistem sebagai susunan tingkatan.
Setiap tingkatannya melakukan subset tertentu yang diperlukan oleh sistem
operasi lapisan tersebut tergantung pada lapisan berikutnya yang lebih
rendah.

Secara umum lapisan yang lebih rendah berkaitan dengan skala waktu yang
lebih pendek. Beberapa bagian sistem operasi harus berinteraksi langsung
dengan hardware komputer, yang event-eventnya dapat memiliki skala waktu
selama satu per miliar detik.

Cara penerapan prinsip-prinsip diatas terhadap sistem operasi sangat


bervariasi.

2.4 KARAKTERISTIK SISTEM OPERASI MODERN

Kecepatan perubahan dalam kebutuhan akan sistem operasi akan tidak


hanya memerlukan modifikasi atau perbaikan arsitektur yang telah ada saja.
Namun cara-cara baru dalam mengorganiasasikansistem operasi.Berbagai
pendekatan dan elemen rancanagan telah dicoba baik pada sistem operas
eksperimental maupun sistem operasi komersial. Namun pendekatan dan elemen
rancanag itu pada dasarnyadapat digolongkan menjadi:

 Arsitektur mikrokernel

50 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
 Multithreading
 Multiprosesing simetris
 Sistem operasi terdrisbusi
 Rancanagn berorientasi objek

Arsitektur Mikrokernel. Sampai saat ini, sebagian besar sistem operasi beerfiture
kernel monolotik berukuran besar. Umumnya ynag dianggap fungsionalitas sistem
operasi disediakan di dalam kernel-kernel yang besar ini termasuk diantaranya
penjadwalan, sistem file, jaringan kerja, driver-driver perangkat, manajemen
memori dll. Arsitektur mikrokernel hanya meng assign beberapa fungsi penting
saja ke kernel, termasuk di antaranya ruang alamat, interprocess comunication
(IPC) dan penjadwalan dasar. Pendekatan mikrokernel menyedehanakan
implementasi,memberikan fleksibuilitas dan sangat cocok untuk lingkungan
terdistribusi.Pada dasrnya mikrokernel berinteraksi dengan proses server lokal
dan jauh (remote) dengan cara yang sama yan memebrikan fasiloitas
pembentukan sistem terdistribusi.

Multithreading adalah teknik dimana suatu prosses yng mengeksekusi aplikasi


dibagi menjadi thread-threadyang dapat berjalan secara bersamaan.Kita dapat
membedakan antara proses dengan thread seperti berikut ini :

 Thread : saluran kerja yang dapat dikirimkan. Thread dapat melakukan


eksekusi secara sekuensial dan dapat diinterupsi sehingga prosesor dapat
beralih ke thread lainnya.
 Proses : Kumpulan sebuah thread atau lebih dan sumber daya yang terkait
(seperti memori, file terbuka, dan perangkat ). Proses berkaitan erat
dengan dalam eksekusi.

Symetric Multiprocessing (SMP). Dengan semakin meningkatnya kebutuhan


akan kinerja dan semakin murahnya harga mikroprosesor keadaan menjadi
berubah. Vendor-vendor memperkenalkan sistem yang memilki mikroprosesor
berjumlah banyak. Untuk mencapai efesiensi dan reliabilitas mksimum symmetric
multiprosesing(SMP) sangat diharapkan. SMP berkaitan dengan arsitektur
hardware komputer dan juga dengan sifat sistem operasi merefleksikan arsitektur.
SMP dapat didefinisikan sebagai sistem komputer standalone yang memiliki
karakteristik sebagai berikut :

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 51
1. Terdapat sejumlah mikroprosesor
2. Mikroprosesor tersebut menggunakan memori utama dan fasilotas i/o
sevara bersama-sama diinterkoneksikan oleh sebuah bus atau teknik
koneksi internal lainnya.
3. Semua prosesor dapat melakukan fungsi yang sama (makanya disebut
simetric)

Sistem operasi sebuah SMP menjadwalkan proses atau thread diseluruh


prosesor. SMP memiliki sejumlah kelebihan dibandingkan dengan arsitektur
uniprosesor,diantaranya sebagai berikut.

 Kinerja : Apabila suatu pekerjaan yang harus dilakukan oleh komputer


dapat diorganisasi sehingga beberapa bagian pekerjaan tersebut dapat
diselesaikan secara paralel, maka sebuah sistem dengan prosesor jamak
akan menghasilkan kinerja yang lebih besar dibandingkan dengan sistem
berprosesor tunggal yang jenisnya sama (Gambar 2.12)
 Ketersediaan : Dalam suatu multiprosesor simetris karena seluruh
prosesor dapat melakukan fungsi yang sama kegagalan sebuah prosesor
tidak akan menghentikan mesin. Namun sistem akan tetap terus berfungsi
dengan kinerja y6ang berkurang
 Pertumbuhan : Seorang pengguna dapat meningkatkan kinerja sebuah
sistem dngan menambahkan sebuah prosesor tambahan.
 Penskalan : Vendor dapat menawarkan jenis-jenis produk denga harga
dan karakteristik kinerja yang berbeda berdaskan pada jumlah prosesor
yang digunakan di dalam sistem.

Feature SMP yang mensrik adalah keberadaan beberapa prosesor yang


tidak dirasakn oleh para pengguna .Sistem operasi mmilki penjadwalan thread
atau proses pada masing-masing prosesor dan menjadi sinkronisasi prosesor
.Buku ini membahas penjadwalan dan mekanisme sinkronisasi yang digunakan
untuk memberikan penampilan sistem tunggal untuk cluster (kelompok) komputer
yang terpisah –sistem multikomputer. Dalam hal ini kita berkaitan dengan
kumpulan entiti(komputer) yang masing-masing komputernya memiliki memori
utama,memori sekunder dan modul i/o sendiri .Sistem operasi terdistribusi

52 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i
menyediakan ilusi ruang memori utama tunggal dan ruang memori sekunder
tunggal,ditambah fasilitas akses yang tergabung,seperti sistem file
terdistribusi.Walaupun cluster menjadi semaki populer dan terdapat banyak
produk cluster di pasaran,state of thew art sistem operasi tedistribusi tertinggal
oleh state of the art sistem operasi uni prosesor dan SMP.Kita akan membahas
sistem tersebut dibagian enam.

Gambar 2.12 Multiprogramming Dan Multiprosesing

Inovasi yang terbaru dalam rancangan sistem operasi adalah pemakaian


berorientaasi objek. Rancangan berorientasi objek memberikan disiplin ke
proses tentang penambahan pengembangan modular ke kernel yang kecil. Pada
tingkat sistem operasi struktur berbasis objek memungkinkan pemrogram untuk
menyesuaikan sistem operasi tanpa mengganggu integritas sistem ,Orientasi
objek juga memudahkan pembuatan tool terdistribusi dan sistem operasi
terdistribusi berukuran sangat besar.

B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i | 53
REFERENSI UTAMA :

Kifer, Michael and Smolka, Scott A. (2007). Introduction to Operating System


Design and Implementation, The OSP Approach, New York : Springer
Naghibzadeh, Mahmoud. (2005). Operating System, Concept and Techniques,
New York : iUniverse, Inc.
Silberschatz et.al (2014). Operating System Concept Essentials, 2nd Edition, New
Jersey, USA : John Wiley & Sons, Inc
Stalling, William. (2012). Operating Systems : Internals and Design Principles, 7th
Edition, Boston, USA : Prentice-Hall.Inc
Tanenbaum , Andrew S. and Bos, Herbert. (2014). Modern Operating System, 4th
Edition, New Jersey : Pearson Education, Inc.

54 | B a b 2 . G a m b a r a n U m u m S i s t e m O p e r a s i

Anda mungkin juga menyukai