1. Gambar / Arsitektur Sistem Operasi
Arsitektur
perangkat lunak adalah struktur-struktur yang menjadi landasan untuk menentukan
keberadaan komponen-komponen perangkat lunak, cara komponen-komponen saling
berinteraksi dan organisasi komponen-komponen dalam membentuk perangkat lunak. Arsitektur sistem operasi adalah arsitektur perangkat lunak yang digunakan dalam
membangun perangkat lunak sistem
operasi.
a. Sistem monolitik
Operating System/
Sistem operasi merupakan kumpulan prosedur bahwa prosedur-prosedur di dalamnya
dapat saling memanggil apabila perlu. Semua layanan yang disediakan sistem
operasi berisi karnel. Seluruh komponen sistem operasi berada di satu ruang
alamat.
Ø Kelemahan :
1. Karena tidak dapat dipisahkan dan dilokalisasikan maka pengujian dan
penghilangan kesalahan sulit, namun praktik pemrograman yang berdisiplin bagus
dapat mempermudah pengembangan.
2. Dalam menyediakan fasilitas pengamanan tergolong sulit
3. Pemborosan apabila setiap komputer harus
menjalankankernel monolitik sangat besar sementara sebetulnya tidak
membutuhkan semua layanan yang telah disediakan kernel. Tidak fleksibel.
4. Mengakibatkan matinya seluruh sistem karena kekeliruan pemrograman di
satu bagian kernel
b. Sistem Berlapis
Operating System/
Sistem operasi dibentuk secara hirarki berdasarkan lapisan-lapisan , dalam hal
ini lapisan-lapisan bawah memberi layanan untuk lapisan lebih atas.
Masing-masing lapisan di satu ruang alamat tersendiri. Sistem operasi berlapis
yang pertama kali memakai sistem berlapis THE. THE dibuat oleh
Dijkstra dan mahasiswa-mahasiswanya. Sistem berlapis bertujuan untuk
mengurangi implementasi sistem operasi dan kompleksitas rancangan.
Tiap lapisan memiliki antarmuka dan fungsional masukan-keluaran dengan 2
lapisan bersebelahan dengan terdefinisi baik.
Ø Kelemahan :
ungsi-fungsi sistem
operasi yang harus diberikan ke masing-masing lapisan harus dilakukan secara
hati-hati.
Ø Keunggulan : F
Sistem berlapis
memiliki semua keunggulan rancangan yang modular, yaitu sistem terbagi dalam
beberapa modul. Masing-masing lapisan atau modul itu dapat dirancang, dikode,
dan diuji secar independen. Pendekatan berlapis menyederhanakan rancangan,
spesifikasi, dan implementasi sistem operasi.
c. Sistem Client/Server
Sistem operasi
merupakan kumpulan proses, dalam hal ini proses-proses dikategorikan
menjadi server dan client. Server dan client berinteraksi,
saling melayani yaitu :
· Server adalah proses yang menyediakan layanan
· Client adalah proses yang memerlukan / meminta layanan
Ø Kelemahan :
1. Layanan dilakukan secara lambat karena harus melalui pertukaran pesan
2. Pertukaran pesan dapat menjadi bottleneck
Ø Kelebihan :
1. Pengembangan dapat dilakukan secara modular
2. Kesalahan (bugs) di satu sub sistem (diimplementasikan sebagai satu proses
tersendiri) tidak merusak sub sistem-sub sistem lain sehingga tidak
mengakibatkan satu sistem mati secara keseluruhan.
d. Sistem Mesin Maya
Awalnya struktur ini
membuat seolah-olah semua pemakai mempunyai seluruh komputer sendirian. Teknik
yang digunakan adalah degnan atas pemroses yang digunakan. Sistem operasi
melakukan simulasi banyak mesin nyata. Mesin maya hasil simulasi digunakan
pemakai. Mesin maya ini merupakan tiruan seratus persen atas mesin nyata. Satu
pemakai diberi satu mesin maya. Semua pemakai diberi ilusi mempunyai satu mesin
nyata(maya) yang sama-sama canggih.
Ø Kelemahan :
Implementasi yang
efisien merupakan masalah yang sulit karena sistem menjadi besar dan kompleks
Ø Keunggulan :
Sistem mesin maya
memberikan fleksibilitas tinggi sehingga sampai memungkinkan sistem
operasi-sistem operasi berbeda dapat dijalankan di mesin maya – mesin maya
berbeda oleh pemakai-pemakai yang berbeda
e. Sistem Berorientasi Objek
Sistem operasi yang
merealisasikan layanan sebagai kumpulan proses disebut sistem operasi bermodel
proses. Pendekatan lain implementasi layanan adalah sebagai objek-objek. Sistem
operasi yang diinstruksikan berdasarkan paradigma objek disebut sistem operasi
berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi keunggulan
teknologi berorientas objek.
2. Penjadwalan Processor
Penjadwalan merupakan
kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan
urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan :
Proses harus berjalan, Kapan dan berapa lama proses itu berjalan.
a. Tipe-tipe Penjadwalan
Ø Penjadwalan jangka pendek, bertugas menjadwalkan alokasi pemrosesan
di antara proses-proses yang telah siap dimemori utama
Ø Penjadwalan jangka menengah, menangani serta
mengendalikan transisi dari suspended to ready dari proses swapping
Ø Penjadwalan jangka panjang, bekerja terhadap
antrian batch dan memilih batch berikutnya yang harus dieksekusi sistem
b. Penjadwalan Proses
3 istilah yang digunakan pada
penjadwalan proses:
1. Antrian
Sejumlah proses yang
menunggu menggunakan prosesor dan akan diproses sesuai
dengan urutan antrian proses.
2. Prioritas
Mendahului pada
antrian proses, kalau proses itu berada di bagian belakang
antrian, maka dengan pemberian prioritas, proses itu langsung berada di
bagian paling depan pada antrian itu.
3. Prempsi
Mendahului pada
antrian proses, kalau proses itu berada di bagian belakang
antrian, maka dengan pemberian prempsi, proses itu
langsung berada di
bagian paling depan pada
antrian itu bahkan akan memberhentikan kerja prosessor untuk mengerjakan
proses yang prempsi tersebut.
c. Kriteria Penjadwalan
1. CPU utilization: Diharapkan agar CPU selalu dalam keadaan sibuk
2. Throughput: Throughput adalah banyaknya proses yang selesai di kerjakan dalam
satu satuan waktu
3. Turnaround time: Banyaknya waktu yang di perlukan untuk mengeskusi proses,dari mulai
menunggu untuk memerintah tempat di memori utama,menunggu di ready
queue,eksekusi oleh CPU,dan mengerjakan I/O samapi semua proses-proses tersebut
diselesaikan.
4. Waiting time: Waktu yang di perlukan oleh suatu proses untuk menunggu di ready
queue
5. Response time: Waktu yang di butuhkan oleh suatu proses dari minta di layani hingga
ada respont pertama yang menanggapi permintaan tersebut
d. Algoritma Penjadwalan
Ø First Come First Server (FCFS)
Ø First Come First Server (FCFS)
Ø Priority Scheduling
Ø Round-Robin Scheduling
Ø RR- FCFS
Ø RR- SJF (Non- Preemptive)
Ø RR- SJF (Preemptive)
3. Manajemen Memori
Menejemen memori di bagi menjadi 2 yaitu
:
a. Menejemen memori statis
Dengan pemartisian statis, jumlah,
lokasi dan ukuran proses dimemori tidak beragam sepanjang waktu secara tetap.
b. Menejemen memori dinamis
Dengan pemartisian dinamis, jumlah,
lokasi dan ukuran proses memori dapat beragam sepanjang waktu secara dinamis.
a. Manajemen memori berdaasar alokasi memori:
1. Alokasi memori secara berturutan
Alokasi memori secara
berturutan adalah tiap proses menempati satu blok tunggal memori yang
berturutan
Ø Keunggulan :
· Sederhana
· Tak terbentuk lubang lubang memori bersebaran
· Proses dapat dieksekusi lebih cepat
Ø Kelemahan:
· Dapat memboroskan memori
· Tidak dapat memuatkan proses jika tidak ada satu blok memori yang mencukupi
2. Alokasi memori tak berturutanokasi memori
tak berturutan
Program dibagi menjadi
beberapa blok atau segmen. Blokblok program ditempatkan di memori dalam
potonganpotongan tanpa perlu saling berdekatan. Teknik ini biasa digunakan
pada system memori maya sebagai alokasi pagepage dilakukan secara global.
Ø Keunggulan:
· Sistem dapat memanfaatkan memori utama secara lebih efisien
· System operasi masih mampu memuatkan proses bila jumlah total
lubanglubang memori cukup untuk memuat proses yang akan dieksekusi
Ø Kelemahan:
· Pengendalian yang rumit
· Kemungkinan terjadi banyak lubang memori yang tak terpakai bersebaran
b. Manajemen Memori Berdasarkan Keberadaan
1. Manajemen memori dengan swapping
Manajemen memori
dengan pemindahan citra proses antara memori utama dengan disk selama eksekusi.
2. Manajemen memori tanpa swapping
Manajemen memori tanpa
pemindahan citra proses antara memori utama dengan disk selama eksekusi
3. Manajemen memori tanpa swapping
Terdiri dari :
a) Monoprogramming
Monoprogramming
sederhana tanpa swapping merupakan manajemen memori sederhana. Sistem computer
hanya mengijinkan satu program pemakai berjalan pada satu waktu. Semua sumber
daya sepenuhnya dikuasai proses yang sedang berjalan.
Ciriciri:
· Hanya satu proses pada satu saat
· Hanya satu proses menggunakan semua memori
· Pemakai memuatkan program ke seluruh memori dari disk/tape
· Program mengambil alih kendali seluruh mesin
· Karena hanya terdapat satu proses dan menguasai seluruh sistem maka alokasi
memori dilakukan secara berturutan
1. Embedded system
Teknik monoprogramming
masih dipakai untuk sistem kecil yaitu system tempelan (Embedded sitem) yang
terdapat pada system lain. Sistem tempelan menggunakan mikroprosessor kecil.
Sistem ini biasanya mengendalikn suatu alat sehingga bersifat
intelejen(intelejentdevice) dalam menyediakan satu fungsi spesifik.
2. Proteksi pada monoprogramming sederhana
Pada monoprogramming
pemakai memiliki kendali penuh terhadapmemori utama.Memori terbagi menjadi 3
bagian , yaitu
· Bagian rutin system operasi
· Bagian program pemakai
· Bagian yang tidak digunakan
Masalah proteksi di
monoprogramming adalah cara untuk melindungi rutin system operasi dari
penghancuran program pemakai. Program
pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin system operasi. Aktivitas ini dapat merusak system operasi. Proteksi diimplementasikan dengan menggunakan satu register batas di processor. Setiap kali program pemakai mengacu alamat memori dibandingkan dengan register batas untuk memastikan proses tidak pemakai tidak merusak system operasi, yaitu tidak melewati nilai register batas.
pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori rutin system operasi. Aktivitas ini dapat merusak system operasi. Proteksi diimplementasikan dengan menggunakan satu register batas di processor. Setiap kali program pemakai mengacu alamat memori dibandingkan dengan register batas untuk memastikan proses tidak pemakai tidak merusak system operasi, yaitu tidak melewati nilai register batas.
Register batas berisi
alamat memori tertinggi yang dipakai system operasi.Jika program pemakai
mencoba memasuki system operasi, instruksi diintersepsi dan job diakhiri dan
diberi pesan kesalahan.
b) Multiprogramming dengan pemartisian statis
1. Alasan penggunaan multiprogramming:
· Mempermudah programmer
· Agar dapat memberikan layanan interaktif ke beberpapa orang secara simultan
· Efisiensi penggunaan sumber daya
· Eksekusi lebih mudah jika proses besar dipecah menjadi beberapa proses
kecil
· Dapat mengerjakan sejumlah job secara simultan
2. Strategi penempatan program ke paritisi
a. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran
sama.Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih
sembarang partisi yang kosong.
b. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran
berbeda.
3. Relokasi
Adalah masalah
penempatan proses sesuai alamat fisik sehubungan alamat partisi memori dimana
proses ditempatkan. Proses dapat ditempatkan pada partisi-partisi berbeda
menurut keadaan sistem saat itu. Pengalamatan fisik secara absolut untuk
proses tidak dapat dilakukan.
4. Proteksi pada Multiprogramming
Masalah proteksi pada
banyak partisi dengan banyak proses di satu system secara bersamaan
dikhawatirkan proses menggunakan atau modifikas idaerah yang dikuasai proses
lain.Pada komputer IBM 360 membagi memori menjadi blok-blok,tiap blok ditambah
4 bit kode proteksi. Proses juga mempunyai PSW (programstatus Word) yang antar lain
berisi status proteksi. Status proteksi berisi 4bit yang merupakan kunci dalam
pengasesan memori.
Proses hanya diijinkan
mengakses blok blok memori yang berkode proteksi sama dengan kode proteksi yang
dimiliki PSW proses.Solusi lain adalah dengan base register dan limit register.
Base register diisi alamat awal partisi dan limit register diisi panjang
partisi. Setiap alamat yang dihasilkan secara otomatis ditambah dengan nilai
base register.Instruksi yang mengacu pada alamat yang melebihi limit register akan
menimbulkan trap yang memberi tahu system operasi bahwa telah terjadi
pelanggaran akses memori.
5. Fragmentasi pada pemartisian statis
· Fragmentasi internal, yaitu proses tidak mengisi penuh partisi yangtelah
ditetapkan untuk proses
· Fragmentasi eksternal, partisi dapat tidak digunakan karena ukuranpartisi
lebih kecil dibandingkan ukuran proses yang menunggu diantrian, sehingga
tidak digunakan.
4. Manajemen Input/Output
a. Manajemen Sistem M/K ( I/O)
Pekerjaan utama yang
paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah
Masukan/Keluaran (M/K). Dalam kenyataannya, waktu yang digunakan untuk
komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi dengan
banyaknya variasi perangkat M/K sehingga membuat manajemen M/K menjadi komponen
yang penting bagi sebuah sistem operasi. Sistem operasi juga sering
disebut device manager, karena sistem operasi mengatur berbagai macam
perangkat ( device).
Fungsi-fungsi sistem
operasi untuk sistem M/K:
· Penyanggaan ( buffering). Menampung data sementara dari/ke
perangkat M/K
· Penjadwalan ( scheduling). Melakukan penjadualan pemakaian M/K
sistem supaya lebih efisien.
· Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat
dapat mengaksesnya saat perangkat tersebut siap.
· General device-driver interface. Driver digunakan agar sistem
operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K
yang umum, seperti optical drive, media penyimpanan sekunder, dan layar
monitor.
· Drivers for specific hardware devices. Driver digunakan
agar sistem operasi dapat memberi perintah untuk melakukan operasi pada
perangkat keras M/K tertentu, seperti kartu suara, kartu grafis, dan
motherboard
b. Manajemen Sistem I/O
Sering
disebut device manager. Menyediakan device driveryang umum sehingga
operasi I/O dapat seragam (membuka, membaca, menulis,menutup).
Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada
perangkat keras, CD-ROM dan floppy disk .
Manajemen
sistem I/O merupakan aspek perancangan sistem operasi yang terluas
disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari
perangkat- perangkat itu.
Sistem operasi
bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen
sistem/perangkat I/O:
· Mengirim perintah ke perangkat I/O agar menyediakan layanan.
· Menangani interupsi perangakat I/O .
· Menangani kesalahan pada perangakat I/O.
· Menyediakan antarmuka ke pengguna.
c. Perangkat Keras Manajemen I/O
1. Pooling
Busy-waiting/
polling adalah ketika host mengalami looping yaitu membaca status register
secara terus-menerus sampai status busy di-clear.
Pada dasarnya polling dapat
dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah
berulang-ulang melakukan looping, hanya menemukan
sedikit device yang siap untuk men-service, karena
CPU processing yang tersisa belum selesai.
2. Interupsi
Ø Mekanisme Dasar Interupsi :
· Ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan
sebuah sinyal ke interrupt request line (membangkitkan sebuah
interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap
interupsi) dengan menyimpan beberapa informasi mengenai state terkini
CPU–contohnya nilai instruksi pointer, dan memanggil interrupt
handler agar handler tersebut dapat
melayani controller atau alat yang mengirim interupsi tersebut.
Ø Fitur Tambahan pada Komputer Modern :
· Pada arsitektur komputer modern, tiga fitur disediakan oleh CPU
dan interrupt controller (pada perangkat keras) untuk dapat menangani
interrupsi dengan lebih bagus. Fitur-fitur ini antara lain adalah kemampuan
menghambat sebuah proses interrupt handling selama prosesi berada
dalam critical state, efisiensi penanganan interupsi sehingga tidak perlu
dilakukan polling untuk mencari device yang mengirimkan interupsi,
dan fitur yang ketiga adalah adanya sebuah konsep multilevel interupsi
sedemikian rupa sehingga terdapat prioritas dalam penanganan interupsi
(diimplementasikan dengan interrupt priority level system).
Ø Penyebab Interupsi
· Interupsi dapat disebabkan berbagai hal, antara lain exception, page
fault, interupsi yang dikirimkan oleh device controllers, dan system
call Exception adalah suatu kondisi dimana terjadi sesuatu/ dari sebuah
operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat
perhatian lebih, contoh nya pembagian dengan 0 (nol), pengaksesan alamat memori
yang restricted atau bahkan tidak valid, dan lain-lain.
· System call adalah sebuah fungsi pada aplikasi (perangkat lunak) yang
dapat mengeksekusikan instruksi khusus berupa software
interrupt atautrap.
3. DMA
DMA adalah sebuah
prosesor khusus (special purpose processor) yang berguna untuk menghindari
pembebanan CPU utama oleh program I/O(PIO).
4. Handshaking
Proses handshaking
antara DMA controller dan device controller dilakukan melalui sepasang
kabel yang disebut DMA-request dan DMA-acknowledge. Device controller
mengirimkan sinyal melalui DMA-request ketika akan mentransfer data
sebanyak satu word. Hal ini kemudian akan mengakibatkan
DMA controller memasukkan alamat-alamat yang dinginkan ke kabel
alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah
sinyal melalui kabel DMA-acknowledge diterima, device
controller mengirimkan data yang dimaksud dan mematikan sinyal pada
DMA-request.
- Hal ini berlangsung berulang-ulang sehingga disebut handshaking. Pada saat DMA controller mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke DMA controller meningkatkan performa sistem secara keseluruhan.