A. Gambar / Arsitektur sistem operasi
Arsitektur sistem operasi adalah arsitektur
perangkat lunak yang digunakan dalam membangun perangkat lunak sistem operasi. Berikut
ini beberapa arsitektur sistem operasi yang terkenal :
1.
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 :
·
Karena tidak dapat dipisahkan dan
dilokalisasikan maka pengujian dan penghilangan kesalahan sulit, namun praktik
pemrograman yang berdisiplin bagus dapat mempermudah pengembangan.
·
Dalam menyediakan fasilitas pengamanan tergolong
sulit
·
Pemborosan apabila setiap komputer harus
menjalankan kernel monolitik sangat besar sementara sebetulnya
tidak membutuhkan semua layanan yang telah disediakan kernel. Tidak
fleksibel.
·
Mengakibatkan matinya seluruh sistem karena
kekeliruan pemrograman di satu bagian kernel
Keunggulan
:
Layanan dapat dilakukan sangat cepat karena ada
di suatu ruang alamat
2.
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.
3.
Sistem client / server
Sistem operasi merupakan kumpulan proses, dalam hal ini proses-proses
dikategorikan menjadiserver dan client.
Server dan client berinteraksi, saling
melayani yaitu :
Server adalah proses yang menyediakan layanan
Client adalah proses yang memerlukan / meminta layanan
Kelemahan :
·
Layanan dilakukan secara lambat karena harus
melalui pertukaran pesan
·
Pertukaran pesan dapat menjadi bottleneck
Kelebihan :
·
Pengembangan dapat dilakukan secara modular
·
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.
4.
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.
5.
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.
B. Penjadwalan Processor
Penjadwalan merupakan kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan proses
yang harus berjalan, kapan dan selama berapa lama proses berjalan.
Kriteria yang digunakan untuk mengukur
kualitas penjadwalan proses :
·
Fairness atau pelayanan yang adil
untuk semua pekerjaan
·
Throughput atau memaksimumkan
throughput. Throughput adalah jumlah pekerjaan yang dapat diselesaikan dalam
satu unit waktu.
·
Efficiency atau memaksimumkan
pemakaian prosesor.
·
Respone time atau meminimalkan
respone time
·
Meminimalkan Turn arround time. Turn
arround time adalah waktu yang dihabiskan dari saat program atau job mulai
masuk ke system sampai proses diselesaikan sistem.
·
Jangka penjadwalan adalah merupakan
interval atau range waktu dimana sistem operasi melalukan. Jangka penjadwalan
proses dibedakan menjadi tiga:
1.
Penjadwalan jangka pendek atau short
term scheduling / low level scheduling, yaitu mengurus masuknya antrian siap ke
prosesor serta antrian siap ke alat peripheral I/O, yang mengurus prioritas dan
preempsi.
2.
Penjadwalan jangka medium atau
medium term scheduling / intermediate level scheduling, yaitu mengurus terhadap
proses yang dikeluarkan dari prosesor yang belum rampung dikerjakan dan
melanjutkan pekerjaan proses tersebut di prosesor.
3.
Penjadwalan jangka panjang atau long
term scheduling / high level scheduling, yaitu mengurus masuknya pekerjaan baru
berupa penentuan pekerjaan baru mana yang boleh diterima dan tugas disini
diubah menjadi proses.
Penjadwalan Prosesor, Strategi
Penjadwalan dan Algoritma Penjadwalan
Microsoft windows menyediakan aplikasi task scheduler yang digunakan untuk
mengelola penjadwalan suatu proses untuk mengerjakan suatu tugas tertentu. Selain
menjalankan tugas pada waktu yang dijadwalkan atau interval tertentu , Task Scheduler 2.0 juga mendukung kalender dan
memicu berdasarkan aktivitas, seperti memulai tugas ketika peristiwa tertentu
dan login ke log peristiwa atau ketika kombinasi peristiwa telah terjadi.
Aplikasi task scheduler meliputi 3 panel utama, yaitu:
1.
Task Scheduler Library, kolom ini akan membantu
pengguna untuk melakukan navigasi diantara semua tugas yang ada.
2.
Task Scheduler Summary, bagian ini akan
memperlihatkan informasi tentang tugas - tugas penting yang telah dibuat.
3.
Actions, melalui fungsi ini pengguna dapat
membuat, menghapus, mengimport tugas, menjalankan mengaktifkan dan menon
aktifkan tugas dan mengatur beberapa propertis untuk tugas yang spesifik.
Strategi Penjadwalan
Terdapat dua Strategi penjadwalan, yaitu:
1.
Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat
diambil alih oleh proses lain sampai proses itu selesai.
2.
Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya :
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya :
Algoritma Penjadwalan
Terdapat banyak algoritma penjadwalan ,baik
nonpreemptive maupun preemptive. Algoritmanya seperti dibawah ini.
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya:
·
FIFO (Frist In First Out)
·
SJF (Shortest Job First)
·
HRN (Highest Ratio Net)
·
MFQ (Multiple Feedback Queues)
Algoritma-algoritma yang menerapkan strategi
preemptive diantaranya:
·
RR (Round Robin)
·
SRF (Shortest remaining First)
·
PS (Priority Schedulling)
·
GS (Guaranteed Schedulle)
C. Manajemen Memori
Memori adalah pusat dari operasi pada
sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang
harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word
atau byte, yang disebut alamat.
Manjemen
memori (Memory Manager) adalah salah satu bagian sistem operasi yang
mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
Terdapat
dua manajemen memori :
1.
Manajeman memori statis
Dengan pemartisian statis, jumlah, lokasi dan ukuran proses dimemori
tidak beragam sepanjang waktu secara tetap.
2.
Manajemen memori dinamis
Dengan
pemartisian dinamis , jumlah, lokasi dan ukuran proses dimemori dapat beragam
sepanjang waktu secara dinamis.
Manajemen Memori Berdasarkan
Alokasi memori Terdapat 2 (dua) cara menempatkan informasi ke dalam memori
kerja, yaitu:
1.
Alokasi Memori Berurutan (Contiguous Allocation)
Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal
lokasi memori yang berurutan.
Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses
berurutan dapat dieksekusi secara cepat.
Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu
blok memori yang mencukupi.
2.
Alokasi Memori Tak Berurutan (Non Contiguous
Allocation)
Program/proses ditempatkan pada beberapa segmen berserakan, tidak perlu
saling berdekatan atau berurutan. Biasanya digunakan untuk lokasi memori maya
sebagai lokasi page-page.
Kelebihan : sistem dapat memanfaatkan _ memori utama secara lebih
efesien, dan sistem opersi masih dapat menyisip proses bila jumlah
lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
Kekurangan : memerlukan pengendalian yang lebih rumit dan memori
jadi banyak yang berserakan tidak terpakai.
D. Manajemen 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.
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 atau trap.
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.
Tidak ada komentar:
Posting Komentar