STRUKTUR SISTEM OPERASI CLOSED SOURCE
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.
Arsitektur sistem operasi yang
terkenal antara lain:
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
:
Fungsi-fungsi
sistem operasi yang harus diberikan ke masing-masing lapisan harus dilakukan
secara hati-hati.
Ø Keunggulan
:
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.
0 Comments
Posting Komentar