Anda di halaman 1dari 22

SISTEM OPERASI

(OS)

DASAR TEKNIK INFORMASI

OLEH :
PUTU RUSDI ARIAWAN (0804405050)

JURUSAN TEKNIK ELEKTRO


FAKULTAS TEKNIK UNIVERSITAS UDAYANA
DENPASAR
2010
BAB I
PENDAHULUAN

Sistem operasi merupakan perantara antara program aplikasi, utilitas, dan pengguna di
satu pihak, dengan hardware sistem komputer di pihak lain. Sistem Operasi bertanggung
jawab untuk aktivitas berikut yang berhubungan dengan manajemen memori:
melacak pemakaian memori (siapa dan berapa besar?),memilih program mana yang akan, di
load ke memori, ketika bisa digunakan., alokasi dan dealokasi memori sesuai yang dibutuhkan
Topik rancangan sistem operasi mencakup bidang yang sangat luas dan kita akan mudah
kehilangan detail serta konteks pembahasan suatu masalah. Untuk lebih mudahnya kita perlu
mengenal konsep dasar sistem operasi tersebut yaitu :
Komponen Sistem Operasi
Layanan Sistem Operasi
System Calls
Pemrograman Sistem
Struktur Sistem
Mesin Virtual
System Generation
Rancangan Sistem

PUTU RUSDI ARIAWAN


BAB II
PEMBAHASAN
SISTEM OPERASI

2.1 Pengertian Sistem Operasi


Sistem Opersi adalah suatu program yang mengontrol eksekusi program aplikasi
dan berfungsi sebagai interface antara pengguna computer dengan hardware computer.

2.2 Tujuan dan Fungsi Sistem Operasi


Sistem operasi memiliki tiga tujuan yaitu :
1. Kemudahan : system operasi membuat computer menjadi lebih mudah dipakai.
2. Efisiensi : system operasi memungkinkan sumber daya system computer untuk
digunakan dengan cara yang efisien.
3. Kemampuan Berkembang : system operasi harus disusun sedemikian rupa sehingga
memungkinkan pengembangan yang efektif,pengujian, dan penerapan fungsi-fungsi
system baru tanpa mengganggu layanan yang sudah ada.

2.2.1 Sistem Operasi Sebagai Interface Pengguna/Komputer


Hardware dan software yang digunakan untuk menyediakan aplikasi bagi
pengguna dapat dipandang sebagai sesuatu yang berlapis. Sistem operasi berfungsi
sebagai mediator, yang membuatnya menjadi lebih mudah bagi pemrogram dan
program aplikasi dalam mengakses dan menggunakan fasilitas dan layanan.
Pada umumnya system operasi memiliki layanan dalam bidang – bidang berikut :
1. Pembuatan Program : system operasi menyediakan berbagai fasilitas dan layanan
seperti sebagai editor dan debugger ,untuk membantu para pemrogram dalam
membuat program. Umumnya layanan ini berbentuk program utilitas yang
sebenarnya bukan merupakan bagian dari system operasi, namun dapat diakses
melalui system operasi.
2. Eksekusi Program : beberapa diperlukan task untuk melakukan eksekusi sebuah
program. Instruksi dan data harus dimuat ke dalam memori utama, perangkat I/O
dan file harus diinisialisasi, dan sumber daya lainnya harus disiapkan. Sistem
operasi menangani semua task tersebut untuk kepentingan pengguna.

PUTU RUSDI ARIAWAN


3. Acces ke perangkat I/O : setiap perangkat I/O masing – masing membutuhkan
set instruksinya sendiri atau signal control untuk operasi. Sistem operasi menjaga
detailnya sehingga pemrogram dapat menganggapnya sebagai operasi pembacaan
dan penulisan yang sederhana.
4. Acces terkontrol ke file : dalam hal file, control harus mancakup pengertian yang
tidak hannya sifat perangkat I/O saja (disk drive, tape drive), namun juga format
file yang terdapat dalam media penyimpan.
5. Deteksi error dan respons : bermacam – macam error dapat terjadi pada saat
system komputer bekerja. Error ini meliputi error hardware internal dan eksternal,
misalnya memori error atau kegagalan atau kesalahan fungsi perangkat. Dan
bermacam-macam error software seperti overflow aritmetik, adanya usaha untuk
mengakses lokasi memori yang terlarang, dan ketidakmampuan system operasi
untuk memenuhi request sebuah aplikasi.
6. Accounting : Sistem operasi yang baik akan mengumpulkan statistik pemakaian
bermacam-macam sumber daya dan memonitor parameter kinerja, seperti waktu
respons. Bagi semua system, informasi ini sangat berguna untuk mengantisipasi
kebutuhan pengembangan di masa mendatang dan mengubah system untuk
meningkatkan kinerja. Pada system multiguna, informasi tersebut dapat digunakan
untuk keperluan penagihan biaya pemakaian system.

2.2.2 Sistem Operasi sebagai Manajer Sumber Daya


Komputer adalah kumpulan sumber daya yang berfungsi untuk perpindahan,
penyimpanan dan pengolahan data serta untuk mengontrol fungsi tersebut. Sistem
operasi bertanggung jawab atas pengaturan sumber daya tersebut.
o Sistem operasi berfungsi dengan cara yang sama seperti software computer biasa
yaitu merupakan suatu program yang dieksekusi oleh prosesor.
o Sering kali sistem operasi mengeluarkan control dan harus bergantung pada prosesor
untuk memungkinkannya memperoleh kembali control.
Perbedaan penting antara sistem operasi dengan sebuah program komputer lainnya
adalah terletak pada tujuan programnya. Sistem operasi mengarahkan prosesor dalam
menggunakan sumber daya sistem lainnya dan dalam timeran eksekusi program lainnya.

Gambar 2.1 di bawah ini menunjukkan sumber daya utama yang diatur oleh sistem
operasi. Sebagian sistem operasi berada di dalam memori utama. Bagian tersebut
meliputi kernel, atau nucleus, yang berisi fungsi – fungsi yang paling sering dipakai

PUTU RUSDI ARIAWAN


dalam sistem operasi. Pada saat tertentu, bagian sistem operasi lainnya yang saat ini
sedang digunakan. Isi memori utama lainnya digunakan untuk menyimpan program lain
dan data. Alokasi sumber daya (memori utama) ini dikontrol secara bersama oleh sistem
operasi dan hardware manajement memori yang terdapat di dalam prosesor. Sistem
operasi membuat keputusan kapan suatu perangkat I/O dapat digunakan oleh program
yang sedang dieksekusi dan tujuan akses control dan pemakaian file. Prosesor sendiri
merupakan sumber daya, dan sistem operasi harus menentukan jumlah waktu prosesor
yang diberikan kepada eksekusi program pengguna tertentu. Pada sistem multi-prosesor,
pembuatan keputusan ini harus dilakukan terhadap semua prosesor.

Gambar 2.1 Sistem Operasi sebagai Manajer Sumber Sistem Komputer.

2.2.3 Kemudahan Evolusi Sistem Operasi


Sistem operasi akan selalu berkembang dengan alasan berikut ini :
o 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 hardware
paging 1 . Versi – versi yang baru telah dimodifikasi menggunakan kemampuan
paging.
o Layanan baru : untuk menjawab kebutuhan para pengguna, sistem operasi
menambah penawaran layanan baru. Misalnya, apabila ditemukan kesulitan

PUTU RUSDI ARIAWAN


dalam menjaga kineja yang baik bagi pengguna dengan menggunakan tool yang
telah ada, ukuran dan control yang baru dapat ditambahkan ke sistem operasi.
o 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.3 EVOLUSI SISTEM OPERASI


2.3.1 Pengolahan Serial
Sistem lama memiliki dua masalah besar, sebagai berikut :
o 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. Seorang
pengguna mungkin memesan waktu selama satu jam dan mengakhiri prosesnya 45
menit. Hal tersebut akan memboroskan waktu idle computer. Sebaliknya, pengguna
mungkin menemukan masalah, sehingga tidak dapat menyelesaikan pekerjaannya
dalam waktu yang telah dipesannya, dan dipaksa untuk menghentikan operasi sebelum
dapat mengatasi masalah yang dihadapinya itu.
o Set up time (waktu set up) : sebuah program tunggal, yang disebut job, dapat
mencakup pemuatan compiler serta program bahasa tingkat tinggi (program sumber)
ke dalam memori, penyimpan program yang telah decompile(program objek), dan
kemudian pemuatan dan penggabungan program objek dengan fungsi yang umum.
Setiap langkah ini mencakup pemasangan dan penanggalan pita atau penyusunan
tumpukan kartu. Apabila sebuah error terjadi, biasanya pengguna harus kembali dari
awal rangkaian set up itu, jadi, banyak waktu yang harus terbuang hannya untuk
menyiapkan program agar dapat berjalan.

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

2.3.2 Sistem Batch Sederhana


Mesin – mesin lama sangat mahal sehingga sangat penting untuk
memaksimalkan utilisasi. Waktu yang terbuang akibat penjadwalan dan set up tidak
dapat diterima.
Untuk meningkatkan utilisasi, di buat konsep sistem operasi batch. Konsep ini
muncul pertama kalinya pada pertengahan 1950-an dan dibuat oleh General Motor

PUTU RUSDI ARIAWAN


untuk digunakan pada IBM 701 [WEIZ81]. Selanjutnya konsep tersebut
disempurnakan dan diimplementasikan pada IBM 704 oleh beberapa pelanggan IBM.
Inti gagasan yang berada di balik teknik sistem operasi batch adalah
penggunaan potongan software yang dikenal sebagai monitor. Untuk memahami cara
kerjanya, kita akan memandangnya dari dua sudut, yaitu sudut pandang monitor dan
sudut 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 monitor yang 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 membutuhkan utilitas dan fungsi tersebut. Monitor membaca job satu
per satu dari perangkat input (biasanya sebuah pembaca kartu atau penggerak pita
magnetik). Pada saat dibaca, job itu akan ditempatkan di daerah program pengguna, dan
kontrol diberikan ke job tersebut. Apabila job telah selesai, kontrol dikembalikan ke
monitor, yang kemudian akan membaca job berikutnya. Hasil setiap job akan dicetak dan
dikirimkan ke pengguna.
• Sekarang kita perhatikan rangkaian event itu dari sudut pandang prosesor. Pada
suatu saat tertentu, prosesor mengeksekusi instruksi yang berasal pada bagian
memori utama yang berisi monitor. Instruksi-instruksi ini menyebabkan job
berikutnya dibacakan ke bagian memori utama lainnya. Sekali job telah dibaca,
prosesor akan menemukan di dalam monitor sebuah instruksi pencabangan
yang menginstruksikan prosesor untuk melanjutkan eksekusi di awal program
pengguna. Kemudian prosesor akan mengeksekusi instruksi yang berada di dalam
program pengguna sampai prosesor itu menemukan akhir program atau kondisi
error. Salah satu dari kedua event itu akan menyebabkan prosesor membaca instruksi
berikutnya dari program monitor. Karena itu, frasa "kontrol dikirimkan ke job"
berarti bahwa sekarang prosesor mengambil dan mengeksekusi instruksi pada sebuah
program pengguna, dan "kontrol dikembalikan ke monitor" berarti bahwa sekarang
prosesor mengambil dan mengeksekusi instruksi yang berasal dari program monitor.

Jelas bahwa monitor menangani masalah penjadwalan. Suatu batch job diantrikan,
dan job dieksekusi secepat mungkin, dengan tanpa waktu idle. Bagaimana dengan waktu
set up job? Monitor juga menangani masalah ini. Pada setiap job, instruksi dimasukkan ke
dalam bentuk primitif job control language (JCL). JCL merupakan bahasa pemrograman.

PUTU RUSDI ARIAWAN


Monitor mengandalkan kemampuan prosesor dalam membaca instruksi dari berbagai
bagian memori utama agar secara bergantian mengambil dan melepaskan control. Feature
hardware lain yang juga dibutuhkan :

o Proteksi memori : pada saat program pengguna sedang mengeksekusi,


program tersebut tidak boleh mengubah daerah memori yang berisi monitor.
Apabila terjadi pengubahan daerah tersebut, hardware prosesor akan
mendeteksi adanya error dan memindahkan kontrol ke monitor. Kemudian
monitor akan menggagalkan job, mencetak pesan error, dan memuatkan job
berikutnya.

o timer : sebuah timer akan digunakan untuk mencegah terjadinya sebuah job
yang memonopoli sistem. Timer disetel setiap awal job. Apabila timer telah
habis masanya akan terjadi interrupt, dan control akan dikembalikan ke
monitor.

o Privileged Instructions : instruksi-instruksi tertentu ditandai privileged dan


hanya bisa dieksekusi oleh monitor. Apabila pada saat sedang mengeksekusi
program pengguna, prosesor menemukan instruksi seperti itu, akan terjadi
error interrupt. Salah satu privileged instructions adalah instruksi-instruksi
I/O, karena itu monitor menjaga control seluruh program I/O. Hal tersebut
deapat mencegah, misalnya, program pengguna yang secara tidak sengaja
membaca job control instruction dari job berikutnya. Apabila program
pengguna akan melakukan operasi I/O program tersebut harus meminta
monitor untuk melakukan operasi itu.Apabila Prifileged instruction
ditemukan oleh processor pada saat sedang mengeksekusi sebuah program
pengguna, hardware processor menganggapnya sebagai sebuah error dan
kemudian memindahkan control ke monitor.

o Interrupt : Model computer lama tidak memiliki kemampuan ini. Featur ini
menyebabkan sistem menjadi lebih fleksibel dalam melepaskan kontrolnya ke
program pengguna dan memperoleh kembali control tersebut dari program
pengguna.

Dengan memakai sistem operasi batch, waktu mesin secara bergantian


melakukan eksekusi program pengguna dan eksekusi program monitor.Disini
terdapat dua pengorbanan : sebagian memori utama diberikan kepada monitor dan
sebagian waktu mesin dipakai oleh monitor. Kedua pengorbanan tersebut

PUTU RUSDI ARIAWAN


merupakan bentuk-bentuk overhead. Walaupun adanya overhead tersebut, sistem
batch sederhana akan meningkatkan utilisasi computer.

2.3.3 Sistem Batch Multiprogrammed

Walaupun dengan menggunakan pengurutan program secara otomatik


yang dihasilkan oleh sistem operasi batch sederhana, prosesor masih sering dalam
keadaan idle. Masalahnya adalah perangkat-perangkat I/O cukup lambat apabila
dibandingkan dengan kecepatan prosesor.

Berikut perhitungannya secara terperinci :

Baca satu record 0,0015 detik


Mengeksekusi 100 instruksi 0,0001 detik
Menuliskan satu record 0,0015 detik

Total 0,0031 detik

0,0001
Presentasi utilits CPU = = 0,032 = 3,2 %
0,0031

Kalkulasi tersebut menunjukkan sebuah program yang memproses sebuah file


record dan secara rata-rata melakukan 100 instruksi mesin per detik. Dalam
contoh ini computer mengeluarka 96% waktunya untuk menunggu perangkat-
perangkat I/O dalam melakukan pemindahan data. Prosesor membutuhkan jumlah
waktu tertentu untuk melakukan eksekusi, sampai prosesor itu menemukan
instruksi I/O. Kemudian prosesor menunggu sampai instruksi I/O tersebut selesai
sebelum melanjutkannya kembali.

PUTU RUSDI ARIAWAN


Gambar 2.2 contoh multiprogramming

2.3.4 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 langsung dengan computer.
Bahkan, bagi beberapa job, misalnya pengolahan transaksi, mode interaktif
merupakan suatu hal yang penting.

Saat ini, persyaratan fasilitas komputasi interaktif dapat dipenuhi dengan


pemakaian computer terdedikasi. Option tersebut tidak tersedia pada 1960-an,

PUTU RUSDI ARIAWAN


karena saat itu sebagian computer berukuran besar dan sangat mahal, sehingga
dibuat time sharing.

Table 2.1. Batch Multiprograming versus Time Sharing

Batch Multiprogramming Time Sharing

Tujuan utama Memaksimalkan pemakaian Meminimalkan waktu


respon

Sumber instruksi- Instruksi-instruksi job control Perintah-perintah yang


instruksi ke sistem yang menyediakan perintah dimasukkan pada
operasi dengan job terminal

Time sharing dan multiprogramming menimbulkan masalah baru pada sistem


operasi. Apabila terdapat sejumlah job di dalam memori, job-job itu harus
diproteksi agar saling mengganggu satu dengan yang lainnya, misalnya dengan
saling mengubah data. Untuk pengguna interaktif yang berjumlah banyak, sistem
file harus diproteksi sehingga hanya pengguna yang berhak memiliki akses ke file
tertentu. Persaingan untuk mendapatkan sumber daya, misalnya printer dan mass
storage device, harus dapat ditangani dengan baik

2.4 Hasil – Hasil Utama


System operasi merupakan salah satu software yang paling kompleks. Kompleksitas ini
menggambarkan tantangan untuk mengatasi kesulitan dan beberapa hal merupakan
persaingan agar dapat memenuhi tujuan-tujuan kemudahan, efisiensi, dan kemampuanntuk
berkembang. [ DENN 80a] berpendapat bahwa terdapat lima perolehan intelektual dalam
pengembangan system operasi.
o Proses
o Manajemen memori
o Proteksi informasi dan keamanan
o Penjadwalan dan manajemen sumber daya
o Struktur sistem
Setiap perolehan di atas ditandai oleh prinsip-prinsip atau abstraksi, yang dikembangkan
untuk mengatasi masalah kesulita dalam praktik. Dengan menggabungkannya, kelima
bidang tersebut akan mendapatkan rancangan penting dan masalah-masalah implementasi
sistem operasi modern.

PUTU RUSDI ARIAWAN


2.4.1 Proses
Konsep proses sangat penting bagi struktur sistem operasi. Istilah ini untuk pertama
kali digunakan oeh para perancang Multics pada 1960-an. Proses adalah istilah yang lebih
bersifat umum dibanding job. Banyak definisi yang diberikan untuk istilah proses,
diantaranya
o Progaram yang sedang dieksekusi
o “jiwa yang dianimasikan” sebuah program
o Entity yang dapat di-assign ke prosesor dan dapat dieksekusi pada prosesor.
o Suatu unit dari karakteristik oleh sekuensial ( thread tunggal pada eksekusi, stack
langsung, dan kumpilan set pada sumber-sumber sistem).
Tiga arah perkembangan sistem komputer telah menciptakan masalah dalam timeran
dan sinkroisasi yang berkontribusi terhadap perkembangan konsep proses multi
programming batch operation, time-sharing, dan transaksi real time. Seperti telah kita
ketahui, multi programming dirancang untuk menjaga agar proses dan perangkat I/O,
termasuk perangkat penyimpan, tetap dalam keadaan sibuk untuk memperoleh efisiensi
yang maksimum. Mekanisme kuncinya dalam hal ini: Dalam memberiakan respon ke
signa-signal yang mengindikasikan selesainya transaksi I /O, prosesor dipindahkan ke
bermacam-macam program yang berada di dalam memori utama.
Arah perkembangan yang kedua adalah general-purpose time-sharing. Di sini tujuan
rancangan yang utama adalah agar responsif terhadap kebutuan para pengguna dan saat
ini, dengan alasan biaya, harus mampu mendukung para pengguna yang berjumlah banyak
secara simultan. Tujuan ini cukup bersesuaian karena relatif lambatnya waktu reaksi
pengguna. Misalnya, apabila umumnya seorang pengguna membutuhkan rata-rata dua
detik waktu pengolahan per menit, hampir 30 pengguna seperti itu dapat menggunakan
sistem bersama-sama tanpa gangguan ang berarti. Tentu saja, overhead sistem operasi
harus di perhitungkan.
Arah perkembangan penting lainnya adalah transaction processing system. Dalam hal
ini, sejumlah pengguna melakukan query atau update terhadap sebuah database. Sebagai
contoh adalah sistem pemesanan tiket pesawat terbang. Perbedaan utama antara
transaction processing system dengan time-sharing system adalah bahwa transaction
processing system hanya terbatas pada sebuah aplikasi atau beberapa aplikasi, sedangkan
para pengguna time-sharing system dapat berkaitan dengan pengembangan program,
eksekusi job, dan penggunaan bermacam-macam aplikasi. Pada kedu sistem tersebut,
waktu respons sistem merupakan hal yang terpenting.
Sebuah tool yang disediakan bagi para pemrogaram sistem dalam masa perkembangan
sistem multi programming dan sistem interaktif multiguna adalah interupt. Aktivitas suatu

PUTU RUSDI ARIAWAN


job dapat dihentikan dengan terjadinya suatu event tertentu, misalnya selesainya waktu I /
O. Prosesor akan beberapa konteks (misalnya, program counter dan register lainnya) dan
beralih ke routine interrup-handling, yang akan menentukan sifat interrup, memperoses
interrrupt, dan kemudian melanjutkan lagi pengolahan penguna pada job yang diinterrupsi
atau job-job lainnya.
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 secara berurutan, maka semakin tidak
mungkin untuk melakukan analisis terhadap seluruh kemungkinan event-event yang
mungkin terjadi. Apabila alat untuk melakikan koordinasi dan kooperasi aktivitas yang
sistematis tidak ada, para perancang terpaksa menggunakan metode ad hoc yang
didasarkan pada pemahamannya tentang lingkungan yang harus dikontrol sistem operasi.
Usaha tersebut cukup berbahaya terhadap terjadinya error yang tidak terlihat dalam
pemrograman yang akibatnya hanya dapat diketehui 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
[DENN0-80a]:
o Sinkronisasi yang salah : sering kalimdijumpai masalah dimana sebuah
routine harus terhenti karena menunggu suatu event. Misalnya, sebuah
program menginisiasi pembacaan I/O dan harus menunggu sampai data
tersedia di dalam buffer sebelum dapat melanjutkan kembali pembacaan
tersebut. Dalam kasus seperti itu, diperlukan signal yang berasal dari routine
lainnya. Perancangan mekanisme pensignalan yang tidak tepat dapat
menghilangkan hilangnya signal atau diterimanya signal duplikat.
o Mutual exclusion yang gagal : sering kali dijumpai kasus dimana lebih dari
seorang atau program yang berusaha untuk menggunakan sumber daya yang
dapat digunakanb bersama pada saat yang sama. Mislnya, pada sistem
pemesanan tiket pesawat terbang, dua pengguna dapat berusaha untuk
database dan, apabila tempat duduk masih tersedia, akan meng-update
database untuk melakukan pemesanan tempat duduk. Apabila acces seperti itu
tidak dikontrol, akan terjadi error. Di sini harus ada mekanisme mutual
exclusion seperti itu akan sulit ditentukan di bawah semua rangkaian event
yang mungkin terjadi.
o Operai program nondeterminate : di dalam sistem bagi-pakai,hasil suatu
program tertentu biasanya hanya bergantung pada input ke program tersebut

PUTU RUSDI ARIAWAN


dan tidak bergantung pada aktivitas program lainnya. Namun, pada saat
program menggunakan memori bagi-pakai dan eksekusinya dilakukan secara
bergiliran oleh prosesor, program itu dapat tergantung oleh program lainnya
dengan menindih daerah memori umum dengan cara yang tidak dapat diduga.
o Deadlock : dimungkinkan dua program atau lebih akan terhenti karena satu
program dengan program lainnya saling menunggu. Misalnya, dua progarm
yang masing-masing memerlukan dua perangkat I/O melakukan beberapa
operasi (misalnya menyalin dari disk ke pita). Salah satu program memegang
salah satu perangkat tersebut dan program lainnya memiliki kontrol perangkat
lainnya. Masing-masing program akan menunggu program lainnya untuk
melepaskan sumber daya yang diinginkannnya. Deadlock seperti itu akan
bergantung pada timeran kesempatan alokasi sumber daya dan pelepasannya.
Proses dapat kita anggap memiliki tiga komponen yaitu:
o Program yang executable
o Data terkait yang diperlukan oleh program ( variabel, ruang kerja, buffer, dan
lain-lain).
o Konteks eksekusi program tersebut.
Konteks eksekusi merupakan elemen yang sangat penting. Konteks eksekusi meliputi
seluruh informasi yang diperlukan oleh sistem operasi untuk mengatur proses 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 priorotas proses dan
apakah suatu proses sedang menunggu selesainya suatu event I/O tertentu atau tidak.

2.4.2 Manajemen Memori


Para pengguna membutuhkan lingkungan komputasi yang mendukung pemrograman
modular dan pemakaian data yang fleksibel. Manajer sistem memerlukan pengontrolan
alokasi penyimpanan yang efisien. Untuk memenuhi kebutuhan tersebut, sistem operasi
memiliki lima tanggung jawab penting manajemen penyimpanan.
o Isolasi proses : sistem operasi harus mencegah agar proses independen tidak
saling menganggu data dan memori.
o Alokasi otomatis dan manajemen : program harus secara dinamis dialokasikan
ke dalam hierarki memori apabila diperlukan. Alokasi harus tidak dapat
dirasakan oleh pemrogram. Jadi, pemrogram dibebaskan dari pekerjaan yang
berkaitan dengan keterbatasan memori, dan sistem operasi dapat mencapai
efisiensi dengan meng-assign memori ke job-job hanya apabila diperlukan.

PUTU RUSDI ARIAWAN


o Dukungan pemrograman modular : pemrogram harus mampu membuat dan
menghapus modul-modul program, serta mengubah ukuran modul secara
dinamis.
o Proteksi dan control acces : penggunaan memori secara bersama-sama, pada
sembarang tingkat hierarki memori, akan memungkinkan sebuah program
menunjuk sebuah program lainnya. Kadang-kadang hal tersebut diperlukan,
apabila bagi-pakai diperlukan oleh aplikasi tertentu.
o Penyimpanan jangka lama : banyak pengguna dan aplikasi memerlukan cara
penyimpanan informasi dalam waktu yang cukup lama.
Umumnya, sistem operasi memenuhi 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 menggantikan konsep
untuk programmer dan merupakan unit yang berfungsi sebagai kontrol akses dan
melindungi sistem operasi. Sistem file mengimplementasikan penyimpanan jangka lama,
dengan informasi yang disimpan di dalam objek yang memiliki nama yang disebut file. File
ini merupakan konsep dasar yang memudahkan pemrogram dan juga unit pengontrol
access dan proteksi bagi sistem operasi.
Memori virtual adalah suatu fasilitas yang memungkinkan program menunjuk memori
berdasarkan sudut pandang logika, tanpa mempertimbangkan jumlah memori utama yang
tersedia secara fisik. Pada saat suatu program sedang melakukan eksekusi, bagian lain dari
program tersebut disimpan di dalam blok-blok pada disk. Berikut ini merupakan gambar
pengalamatan virtual memori.
Alamat
Unit Nyata(real)
Prosesor Alamat manajemen Memori
memori
virtual utama

Alamat
disket

Memori

kedua
Gambar 2.3 Pengalamatan Memori Virtual

PUTU RUSDI ARIAWAN


2.4.3 Proteksi Informasi dan Keamanan
Semakin meningkatnya pemakaian sistem time-sharing dan jaringan kerja komputer
telah menyebabkan peningkatan perhaitan terhadap proteksi informasi. Sifat ancaman
terhadap organisasi sangat bervariasi. Namun, terdapat beberapa generasi purpose tool
yang dapat dimasukkan ke dalam komputer dan sistem operasi yang mendukung
bermacam-macam mekanisme proteksi dan keamanan. Secara umum kita berkepentingan
dengan masalah pengontrolan akses ke sistem dan informasi yang tersimpan di dalamnya.
Sebagian besar pekerjaan dalam keamanan dan proteksi yang berhubungan dengan sistem
operasi dapat dikelompokkan menjadi tiga kategori, sebagai berikut.
o 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.
o Pengontrolan aliran informasi : mengatur aliran data di dalam sistem dan
pengantarannya ke para pengguna.
o Sertifikasi : berkaitan dengan pembuktian bahwa mekanisme akses dan aliran
kontrol dilakukan sehubungan dengan spesifikasinya dan bahwa mekanisme
tersebut menerapkan kebijakan proteksi dan keamanan yang diinginkan.

2.4.4 Penjadwalan dan Manajemen Sumber Daya


Tugas utama sistem operasi adalah untuk mengatur sumber daya yang tersedia (
memori utama, perangkat I/O, prosesor ) dan untuk menjadwalkan penggunaannya oleh
berbagai proses aktif. Setiap kebijakan alokasi sumber daya dan penjadwalan
memperhatikan tiga faktor berikut ini.
o Keadilan : umumnya, kita menginginkan semua proses yang bersaing untuk
memperoleh sumber daya diberi akses yang hampir sama dan adil ke sumber daya
tersebut. Hal tersebut perlu terutama untuk job-job yang kelasnya sama yaitu, job
yang kebutuhannya sama dan di beri nilai sama.
o Responsibilitas 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. Sistem operasi perlu memandang keputusan ini secara
dinamis. Misalnya, apabila sebuah proses menunggu sebuah perangkat I/O, sistem
operasi perlu menjadwalkan proses tersebut untuk melakukan eksekusi secepat
mungkin agar membebaskan perangkat untuk keperluan proses lainnya.

PUTU RUSDI ARIAWAN


o Efisiensi : di dalam kendala keadilan dan efisiensi, sistem operasi harus berusaha
untuk memaksimalkan throughput, meminimalkan waktu respons, dan dalam
kasus time-sharing, mengakomodasi pengguna sebanyak mungkin.
Pada dasarnya, penjadwalan dan manajemen sumber daya merupakan masalah
penelitian sistem operasi dan hasil matematika disiplin itu dapat diterapkan. Selain itu,
ukuran aktivitas sistem penting untuk dapat memonitor kinerja dan membuat penyesuaian.

2.4.5 Struktur Sistem


Dengan semakin banyaknya feature yang ditambahkan ke sistem operasi, dan semakin
kompleks dan beraneka ragam hardware, ukuran dan kompleksitas sistem operasipun
semakin berkembang. CTSS, yang dioperasikan di MIT pada 1963, terdiri dari hampir
32.000 word penyimpan 36 bit. OS 360, yang diperkenalkan setahun kemudian oleh IBM,
memiliki lebih dari sejuta instruksi mesin. Pada 1975, sistem Multics, yang dibuat oleh
MIT dan Bell Laboratories, telah berkembang menjadi lebih dari 20n juta instruksi.
Adalah benar bahwa semakin lama, sistem operasi yang sederhana telah digunakan untuk
sistem yang lebih kecil, namun sistem operasi tersebut telah berkembang semakin
kompleks sesuai dengan semakin kompleksnya hardware dan perkembangan permintaan
pengguna. Jadi, UNIX saat ini jauh lebih kompleks dibandingkan seluruh sistem mainan
yang dibuat oleh para pemrogram berbakat pada awal 1970-an, dan MS-DOS sederhana
telah memberikan alan bagi OS/2 dan Windows 95 yang sangat kompleks.
Ukuran sistem operasi dengan feature-nya, dan kesulitan tugas yang harus dilakukan.
Kedua, sistem memiliki bug-bug laten yang muncul dalam praktik dan harus diperbaiki.
Ketiga, kinerja sering sekali terjadi tidak sesuai dengan yang diharapkan.
Untuk mengatur kompleksitas sistem operasi dan untuk mengatasi masalah tersebut,
telah banyak perhatian yang diberikan terhadap struktur software sistem operasi selama
bertahun-tahun. Beberapa hal telah jelas. Software harus bersifat modular. Modularitas ini
akan membantu dalam mengorganisasikan proses pembuatan software dan membatasi
pekerjaan diagnosis dan perbaikan error. Modul harus memiliki interface satu dengan yang
lainnya dan harus dibuat sesederhana mungkin. Hal ini akan memudahkan pemrograman.
Interface seperti itu juga akan memudahkan terjadinya evolusi sistem. Dengan interface
antar modul yang bersih dan minimal, sebuah modul dapat diubah dengan sedikit dampak
terhadap modul lainnya.
Bagi sistem operasi yang besar, yang terdiri mulai dari ratusan ribu hingga jutaan
baris, pemrograman modular saja tidaklah cukup. Terdapat peningkatan pemakaian
konsep lapisan hierarki dan abstraksi informasi. Struktur hierarki sebuah sistem operasi

PUTU RUSDI ARIAWAN


modern membedakan fungsi-fungsi berdasarkan kompleksitasnya, skala waktu
karakteristiknya, dan tingkatan abstraksinya. Kita dapat memandang sistem sebagai
susunan tingkatan. Setiap tingkatannya melakukan subset fungsi tertentu yang dilakukan
oleh sistem operasi. Lapisan tersebut bergantung pada lapisan berikutnya yang lebih
rendah dalam melakukan fungsinya yang lebih primitif dan untuk menyembunyikan detail
fungsi tersebut. Lapisan tertentu memberikan layanan bagi lapisan lainnya yang lebih
tinggi. Idealnya, suatu tingkatan harus ditentukan sehingga perubahan pada satu tingkatan
tidak memerlukan perubahan pada tingkatan lainnya. Dengan demikian kita telah
memecah suatu masalah menjadi sejumlah sub-masalah yang lebih dapat diatur.

2.4 Tabel Hierarki Rancangan Sistem Operasi

Tingkat Nama Objek Contoh Operasi


13 Shell Lingkungan pemrograman Pernyataan di dalam bahasa
pengguna shell

12 Proses pengguna Proses pengguna Quit,kill,suspende,resume

11 Direktori Direktori Create,destroy,attach,detach,


search,list
10 Perangkat Perangkat eksternal Create,destroy,open, close
misalnya printer,read,write
display, dan keyboard
9 Sistem file File Create,destroy,open, close,
read,write
8 Komunikasi Pipe Create,destroy,open, close,
read,write
7 Memori virtual Segmen,page read,write,fetch
6 Penyimpan Blok data, saluran sekunder read,write,fetch,allocate
lokal perangkat
5 Proses Primitive Proses Primitive, semaphore, suspend,resume,wait,signal
ready list
4 Interrupt Program Intrrrupt-handling Invoke,mask,unmask,retry
3 Prosedure Prosedure,pemanggilan stack, Tandai stack,call,return
display
2 Set instruksi Stack evaluasi, interpreter Load,store,add,substract
mikroprogram,dan branch
skalar
dan array
1 Rangkaianelektronik Register,gate,bus,dan lain-lain clear, transfer, activate,
complement

PUTU RUSDI ARIAWAN


2.5 Karakteristik Sistem Operasi Modern
Selama beberapa tahun, telah terjadi evolusi gradual struktur dan kemampuan sistem
operasi. Namun, dalam beberapa tahun terakhir ini sejumlah elemen-elemen rancangan
yang baru telah diperkenalkan baik ke dalam sistem operasi yang baru maupun versi baru
sistem operasi yang telah ada untuk membuat perubahan besar dalam sifat sistem operasi.
Sistem operasi yang baru ini merupakan jawaban bagi perkembangan baru di dalam
hardware dan aplikasi baru. Salah satu diantara driver hardware yang penting adalah
mesin multiprosesor, yang kecepatannya sangat meningkat, penyambungan jaringan kerja
yang berkecepatan tinggi, dan peningkata ukuran bermacam-macam perangkat penyimpan
memori. Di bidang aplikasi, aplikasi multimedia, akses internet dan web, dan komputasi
client/server telah memberikan paengaruhnya terhadap rancangan sistem operasi.
Kecepatan perubahan dalam kebutuhan akan sistem operasi tidak hanya memerlukan
modifikasi atau perbaikan arsitektur yang telah ada saja, namun cara-cara baru
mengorganisasikan sistem operasi. Berbagai pendekatan dan elemen rancangan telah
dicoba baik pada sistem operasi eksperimental maupun sistem operasi komersial. Namun
pendekatan dan elemen rancangan itu pada dasarnya dapat digolongkan menjadi:
o Arsitektur microkernel
o Multithreading
o Multiprocessing simetris
o Sistem operasi terdistribusi
o Rancangan berorientasi objek
Sampai saat ini, sebagian besar sistem operasi berfeature kernel monolotik berukuran
besar. Umumnya apa yang dianggap sebagai fungsionalitas sistem operasi disediakan did
ala kernel-kernel yang besar ini, termasuk diantaranya penjadwalan, sistem file, jaringan
kerja, driver-driver perangkat, manajemen memori, dan lain-lain. Arsitektur microkernel
hanya meng-assign beberapa fungsi penting saja ke kernel, termasuk di antaranya ruang
alamat, interprocess communication (IPC), dan penjadwalan dasar. Layanan OS lainnya
disediakan oleh proses, kadang-kadang disebut server, yang beroperasi pada mode
pengguna dan diperlukan seperti aplikasi lainnya oleh microkernel. Pendekatan ini
menggabungkan kernel dan pengembangan server. Server dapat disesuaikan dengan
aplikasi atau persyaratan lingkungan tertentu. Pendekatan microkernel menyederhanakan
implementas, memberikan fleksibilitas, dan sangat cocok untuk lingkungan terdistribusi.
Pada dasarnya, microkernel berinteraksi dengan proses server lokal dan jauh (remote)
dengan cara yang sama, yang memberikan fasilitas pembentuk sistem terdistribusi.

PUTU RUSDI ARIAWAN


Multithreading adalah teknik dimana suatu proses, yang mengeksekusi aplikasi,
dibagi menjadi thread-thread yang dapat berjalan secara bersamaan. Kita dapat
membedakan antara proses dengan thread seperti berikut ini:
o Thread : satuan kerja yang dapat dikirimkan. Thread melakukan eksekusi
secara sekuential dan dapat diinterupsi sehingga prosesor dapat beralih ke thread
lainnya. Dari sudut pandang penjadwalan dan pengiriman, konsep ini ekuivalen
dengan proses yang terdapat pada sebagian besar sistem operasi lainnya.
o Proses : kumpulan sebuah thread atau lebih darii sumber daya yang terkait
(seperti memori, file terbuka, dan perangkat). Proses berkaitan erat dengan
konsep suatu program dalam eksekusi. Dengan memecah sebuah aplikasi menjadi
sejumlah thread, pemrogram memiliki control yang besar terhadap modularitas
aplikasi dan timeran event-event yang berkaitan dengan aplikasi. Dari sudut
pandang job atau aplikasi, konsep ini ekuivalen dengan konsep tentang proses
pada sebagian besar sistem operasi lainnya.

PUTU RUSDI ARIAWAN


Daftar Pustaka

http://www.google.com/sistem operasi/
ANANG92 Ananda.A., Tay.B..dan Koll,E.-“A Survey Of Asynchronous Remote Procedure
Calls”.Operating System Review, April 1992.

ARTS89a Artsy,Y.,ed. Special Issue on Process Migration. Newsletter of the IEEE Computer
SocietyTechnical Committee on Operating Systems, Winter 1989

PUTU RUSDI ARIAWAN


BIODATA PENULIS

Nama : Putu Rusdi Ariawan

TTL : Denpasar. 19 April 1990

Agama : Hindu

Mahasiswa Teknik Elektro Unv. Udayana

Email : turusdi.info@gmail.com

www.facebook.com/turusdi

PUTU RUSDI ARIAWAN