3.2 MEMAHAMI STRKTUR 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 komentar:
Posting Komentar