Bagian 1 Konsep Dasar Perangkat Komputer
Bab 1 Definisi Sistem Operasi
Sistem operasi merupakan sebuah program yang mengatur perangkat keras
komputer, dengan menyediakan landasan untuk aplikasi yang berada di atasnya.
Sistem operasi bertugas untuk mengendalikan (kontrol) serta
mengkoordinasikan pengunaan perangkat keras untuk berbagai program aplikasi
untuk bermacam-macam pengguna. Dengan demikian,
sebuah sistem operasi bukan
merupakan bagian dari perangkat keras komputer,
dan juga bukan merupakan bagian
dari perangkat lunak aplikasi komputer,
apalagi tentunya bukan merupakan bagian
dari para pengguna komputer.
Bab 2 Perangkat Lunak Bebas
Perangkat lunak bebas
ialah perihal kebebasan, bukan harga. Konsep kebebasan yang dapat diambil dari
kata bebas pada perangkat lunak bebas adalah seperti kebebasan berbicara bukan
seperti bir gratis. Maksud dari bebas seperti kebebasan berbicara adalah
kebebasan untuk menggunakan, menyalin, menyebarluaskan, mempelajari, mengubah,
dan meningkatkan kinerja perangkat lunak.
Suatu perangkat lunak dapat dimasukkan dalam kategori
perangkat lunak bebas bila setiap orang memiliki kebebasan tersebut. Hal ini
berarti, setiap pengguna perangkat lunak bebas dapat meminjamkan perangkat
lunak yang dimilikinya kepada orang lain untuk dipergunakan tanpa perlu
melanggar hukum dan disebut pembajak.
Kebebasan yang diberikan perangkat lunak bebas dijamin oleh
copyleft, suatu cara yang dijamin oleh hukum untuk melindungi kebebasan para
pengguna perangkat lunak bebas. Dengan adanya copyleft maka suatu perangkat
lunak bebas beserta hasil perubahan dari kode sumbernya akan selalu menjadi
perangkat lunak bebas.
Kebebasan yang diberikan melalui perlindungan copyleft
inilah yang membuat suatu program dapat menjadi perangkat lunak bebas.
Keuntungan yang diperoleh dari penggunaan perangkat lunak bebas adalah karena
serbaguna dan efektif dalam keanekaragaman jenis aplikasi. Dengan pemberian
source code-nya, perangkat lunak bebas dapat disesuaikan secara khusus untuk
kebutuhan pemakai.
Bab 3 Perangkat Keras Komputer
Memori utama adalah satu-satunya tempat penyimpanan yang
besar yang dapat diakses secara langsung oleh prosessor, merupakan suatu array
dari word atau byte, yang mempunyai ukuran ratusan sampai jutaan ribu. Setiap
word memiliki alamatnya sendiri. Memori utama adalah tempat penyimpanan yang
volatile, dimana isinya hilang bila sumber energinya (energi listrik)
dimatikan.
Kebanyakan sistem komputer menyediakan secondary storage
sebagai perluasan dari memori utama. Syarat utama dari secondary storage adalah
dapat menyimpan data dalam jumlah besar secara permanen.
Secondary storage yang paling umum adalah disk magnetik,
yang meyediakan penyimpanan untuk program maupun data. Disk magnetik adalah
alat penyimpanan data yang non-volatile yang juga menyediakan akses secara
random. Tape magnetik digunakan terutama untuk backup, penyimpanan informasi
yang jarang digunakan, dan sebagai media pemindahan informasi dari satu sistem
ke sistem yang lain.
Beragam sistem penyimpanan dalam sistem komputer dapat
disusun dalam hirarki berdasarkan kecepatan dan biayanya. Tingkat yang paling
atas adalah yang paling mahal, tapi cepat. Semakin kebawah, biaya perbit
menurun, sedangkan waktu aksesnya semakin bertambah (semakin lambat).
Bab 4 Proteksi Perangkat Keras
Untuk mencegah pengguna program mengganggu operasi yang
berjalan dalam sistem, perangkat keras mempunyai dua mode: mode pengguna dan
mode monitor. Beberapa perintah (seperti perintah M/K dan perintah halt) adalah
perintah khusus, dan hanya dapat dijalankan dalam mode monitor.
Memori juga harus dilindungi dari modifikasi oleh pengguna.
Timer mencegah terjadinya pengulangan secara terus menerus (infinite loop).
Hal-hal tersebut (dual mode, perintah khusus, pengaman
memori, timer interrupt) adalah blok bangunan dasar yang digunakan oleh sistem
operasi untuk mencapai operasi yang sesuai.
Bagian II Konsep Dasar Sistem Operasi
Bab 5 Komponen Sistem Operasi
Tidak semua sistem operasi mempunyai struktur yang sama.
Namun menurut Avi Silberschatz,
Peter Galvin, dan Greg Gagne,
umumnya sebuah
sistem operasi modern mempunyai komponen sebagai berikut:
• Managemen Proses.
• Managemen Memori Utama.
• Managemen Berkas.
• Managemen Sistem Masukan/Keluaran.
• Managemen Penyimpanan Sekunder.
• Sistem Proteksi.
• Jaringan.
• Command-Interpreter System.
Sedangkan menurut A.S. Tanenbaum, sistem operasi mempunyai
empat komponen utama, yaitu:
• Managemen proses,
• Masukan/Keluaran
• Managemen Memori, dan
• Sistem Berkas.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas
yang berkaitan
dengan managemen proses seperti:
• Membuat dan menghapus proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas
yang berkaitan dengan managemen memori seperti:
• Menjaga track dari memori yang sedang digunakan dan siapa
yang menggunakannya.
• Memilih program yang akan di-load ke memori.
Sistem operasi bertanggung-jawab dalam aktivitas yang
berhubungan dengan managemen berkas:
• Pembuatan dan penghapusan berkas.
• Pembuatan dan penghapusan direktori.
• Mendukung manipulasi berkas dan direktori.
• Memetakan berkas ke secondary-storage.
• Mem-back-up berkas ke media penyimpanan yang permanen
(non-volatile).
Komponen Sistem Operasi untuk sistem Masukan/Keluaran:
• Penyangga: menampung sementara data dari/ke perangkat
Masukan/Keluaran.
• Spooling: melakukan penjadualan pemakaian Masukan/Keluaran
sistem supaya lebih efisien (antrian dsb.).
• Menyediakan driver: untuk dapat melakukan operasi rinci
untuk perangkat keras masukan/keluaran tertentu.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas
yang berkaitan
dengan managemen disk seperti:
• free-space management.
• alokasi penyimpanan.
• penjadualan disk.
Proteksi mengacu pada mekanisme untuk mengontrol akses yang
dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi
harus:
• Membedakan antara penggunaan yang sudah diberi izin dan
yang belum.
• Menspesifikasi kontrol untuk dibebankan/diberi tugas.
• Menyediakan alat untuk pemberlakuan sistem.
Sistem terdistribusi adalah sekumpulan procesor yang tidak
berbagi memori, atau clock. Setiap prosesor mempunyai memori dan clock
tersendiri.
Prosesor-prosesor tersebut terhubung melalui jaringan
komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam
sumber-daya sistem.
Akses tersebut menyebabkan peningkatan kecepatan komputasi
dan meningkatkan kemampuan penyediaan data.
Sistem Operasi menunggu instruksi dari pengguna (command
driven). Program yang membaca instruksi dan mengartikan control statements yang
disebut:
control-card interpreter, command-line interpreter dan
dikenal sebagai shell.
Command-Interpreter System sangat bervariasi dari satu
sistem operasi ke sistem operasi yang lain
dan disesuaikan dengan tujuan dan teknologi perangkat
Masukan/Keluaran yang ada.
Bab 6 Sudut Pandang Alternatif
Layanan sistem operasi dirancang untuk membuat pemrograman
menjadi lebih mudah.
1. Pembuatan Program
2. Eksekusi Program
3. Operasi Masukan/Keluaran
4. Manipulasi Sistem Berkas
5. Komunikasi
6. Deteksi Error
Sistem operasi juga menyediakan layanan lain untuk
mempertahankan efisiensi sistem itu sendiri yaitu:
1. Alokasi Sumber Daya
2. Accounting
3. Proteksi
System program menyediakan lingkungan yang memungkinkan
pengembangan program dan eksekusi berjalan dengan baik.
Dapat dikategorikan:
• Managemen/manipulasi berkas
Membuat, menghapus, copy, rename, print, memanipulasi berkas
dan direktori.
• Informasi status
Beberapa program meminta informasi tentang tanggal, jam,
jumlah memori dan disk yang tersedia,
jumlah pengguna dan informasi lain yang
sejenis.
• Modifikasi berkas
Membuat berkas dan memodifikasi isi berkas yang disimpan
pada disk atau tape.
• Pendukung bahasa pemrograman
Kadang kala compiler, assembler, interpreter dari bahasa
pemrograman diberikan kepada
pengguna dengan bantuan sistem operasi.
• Loading dan eksekusi program
Ketika program di-assembly atau di-compile, program tersebut
harus di-load ke dalam
memori untuk dieksekusi.
Untuk itu sistem harus menyediakan absolute loaders,
relocatable loaders, linkage editors,
dan overlay loaders.
• Komunikasi
Menyediakan mekanisme komunikasi antara proses, pengguna,
dan sistem komputer yang berbeda.
Sehingga pengguna bisa mengirim pesan, browse web pages,
mengirim e-mail, atau mentransfer berkas.
Bab 7 Struktur Sistem Operasi
Menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, ada
tiga cara sistem operasi yaitu:
Struktur Sederhana
Banyak sistem yang tidak terstruktur dengan baik, sehingga
sistem operasi seperti ini dimulai
dengan sistem yang lebih kecil, sederhana, dan terbatas.
Kemudian berkembang dengan cakupan
yang original.
Pendekatan Berlapis
Sedangkan menurut Tanenbaum dan Woodhull, sistem terlapis
terdiri dari enam lapisan, yaitu:
• Lapisan 0
Mengatur alokasi prosesor, pertukaran antar proses ketika
interupsi terjadi atau waktu habis. Lapisan ini mendukung dasar
multi-programming pada CPU.
• Lapisan 1
Mengalokasikan ruang untuk proses di memori utama dan pada
512 kilo word drum yang digunakan untuk menahan bagian proses ketika tidak ada
ruang di memori utama.
• Lapisan 2
Menangani komunikasi antara masing-masing proses dan
operator console. Pada lapis ini masing-masing proses secara efektif memiliki
opertor console sendiri.
• Lapisan 3
Mengatur peranti M/K dan menampung informasi yang mengalir
dari dan ke proses tersebut.
• Lapisan 4
Tempat program pengguna. Pengguna tidak perlu memikirkan
tentang proses, memori, console, atau managemen M/K.
• Lapisan 5
Merupakan operator sistem.
Kernel Mikro
Metode ini menyusun sistem operasi dengan menghapus semua
komponen yang tidak esensial dari kernel, dan mengimplementasikannya sebagai
program sistem dan level pengguna.
Hasilnya kernel yang lebih kecil. Pada umumnya mikrokernel
mendukung proses dan menagemen memori yang minimal, sebagai tambahan utnuk
fasilitas komunikasi.
Bab 8 Mesin Virtual Java
Sistem komputer dibangun atas lapisan-lapisan. Urutan
lapisannya mulai dari lapisan terendah sampai lapisan teratas adalah sebagai
berikut:
• Perangkat keras
• Kernel
• Sistem program
Kelemahan atau kesulitan utama dari konsep VM adalah dalam
hal sistem penyimpanan dan pengimplementasian.Dan keunggulannya dalam hal hal
keamanan, VM memiliki perlindungan yang lengkap pada berbagai sistem sumber
daya,
yaitu dengan meniadakan pembagian resources secara langsung,
sehingga tidak ada masalah proteksi dalam VM.
Bagian III Proses dan Penjadwalan
Bab 10 Konsep Proses
Menurut Silberschatz, suatu proses adalah lebih dari sebuah
kode program, yang terkadang disebut text section.
Proses juga mencakup program counter, yaitu sebuah stack
untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan
register.
Sebuah proses pada umumnya juga memiliki sebuah stack yang
berisikan data-data yang dibutuhkan selama proses dieksekusi seperti parameter
metoda, alamat return dan variabel lokal, dan sebuah data section yang
menyimpan variabel global.
Sama halnya dengan Silberschatz,
Tanenbaum juga berpendapat bahwa proses adalah sebuah
program yang dieksekusi yang mencakup program counter, register, dan variabel
di dalamnya.
Kami tekankan bahwa program itu sendiri bukanlah sebuah
proses;
suatu program adalah satu entitas pasif;
seperti isi dari sebuah berkas yang disimpan didalam disket.
Sedangkan sebuah proses dalam suatu entitas aktif,
dengan sebuah program counter yang menyimpan alamat
instruksi
selanjutnya yang akan dieksekusi dan seperangkat sumber daya
(resource) yang dibutuhkan agar sebuah proses dapat dieksekusi.
Sebuah proses dibuat melalui system call create-process yang
dilakukan oleh parent process. Setiap proses anakan (child process) dapat juga
membuat proses baru.
Ketika sebuah proses dibuat maka proses tersebut dapat
memperoleh resource (waktu CPU, memory, berkas atau perangkat I/O) secara
langsung dari sistem operasi atau proses tersebut berbagi resource dengan
resource orang tuanya.
Orang tua proses tersebut dapat membagi-bagi resource yang
dimilikinya atau menggunakan secara bersama- sama resource yang dimilikinya
dengan proses anakannya.
Ketika sebuah proses membuat proses baru maka terdapat dua
kemungkinan dalam pelaksanaannya:
1. parent process tersebut berjalan secara konkuren dengan
child process.
2. parent process tersebut menunggu hingga beberapa atau
seluruh child process selesai.
Juga terdapat dua kemungkinan dalam pemberian ruang alamat
(address space) proses yang baru:
1. proses tersebut merupakan duplikasi parent.
2. proses tersebut memiliki program yang diload ke ruang
alamatnya.
Suatu proses diterminasi ketika proses tersebut telah
selesai mengeksekusi statement terakhir dan meminta sistem operasi untuk
menghapus statement tsb dengan menggunakan system call exit. Pada
saat itu, proses dapat mengembalikan data (output) kepada
proses parent-nya (melalui system call
wait). Semua resource yang digunakan oleh proses akan
dialokasikan kembali ke tempat asalnya
oleh sistem operasi.
Suatu parent dapat mengakhiri eksekusi salah satu
children-nya untuk alasan-alasan seperti:
• Child melampaui penggunaan resource yang telah
dialokasikan. Dalam keadaan ini, parent perlu mempunyai mekanisme untuk
memeriksa status children-nya.
• Task yang ditugaskan kepada child tidak lagi diperlukan.
• Parent berakhir dan sistem operasi tidak memperbolehkan
suatu child untuk tetap menjalankan proses jika parent-nya sudah tidak ada.
Jadi, jika suatu proses berakhir, maka semua children-nya juga harus diterminasi.
Fenomena yang
disebut cascading termination ini biasanya dimulai oleh sistem operasi.
Bila sebuah proses dieksekusi, maka statusnya akan
berubah-ubah. Status dari sebuah proses mencerminkan aktivitas atau keadaan
dari proses itu sendiri.
Berikut ini adalah status-status yang mungkin dimiliki
sebuah proses menurut Tanenbaum:
• Running: pada saat menggunakan CPU pada suatu waktu.
• Ready: proses diberhentikan sementara karena menunggu
proses lain untuk dieksekusi.
• Blocked: tidak dijalankan sampai event dari luar, yang
berhubungan dengan proses tersebut terjadi.
Sedangkan menurut Silberschatz, terdapat lima macam jenis
status yang mungkin dimiliki oleh suatu proses:
• New: status yang dimiliki pada saat proses baru saja
dibuat.
• Running: status yang dimiliki pada saat
instruksi-instruksi dari sebuah proses dieksekusi.
• Waiting: status yang dimiliki pada saat proses menunggu
suatu event (contohnya: proses M/K).
• Ready: status yang dimiliki pada saat proses siap untuk
dieksekusi oleh prosesor.
• Terminated: status yang dimiliki pada saat proses telah
selesai dieksekusi.
Ada tiga kemungkinan bila sebuah proses memiliki status
running:
• Jika program telah selesai dieksekusi maka status dari
proses tersebut akan berubah menjadi Terminated.
• Jika waktu yang disediakan oleh OS untuk proses tersebut
sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus
Ready.
• Jika suatu event terjadi pada saat proses dieksekusi
(seperti ada request M/K) maka proses tersebut akan menunggu event tersebut
selesai dan proses berstatus Waiting.
Tiap proses digambarkan dalam sistem operasi oleh sebuah
process control block (PCB) juga disebut sebuah control block.
PCB berisikan banyak bagian dari informasi yang berhubungan
dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini:
• Status proses: status mungkin, new, ready, running,
waiting, halted, dan juga banyak lagi.
• Program counter: suatu stack yang berisi alamat dari
instruksi selanjutnya untuk dieksekusi untuk proses ini.
• CPU register: Register bervariasi dalam jumlah dan jenis,
tergantung pada rancangan komputer. Register tersebut termasuk accumulator,
register indeks, stack pointer, general-purposes register,
ditambah code
information pada kondisi apa pun. Beserta dengan program counter,
keadaan/status
informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses
tersebut berjalan/bekerja dengan benar setelahnya.
• Informasi managemen memori: Informasi ini dapat termasuk
suatu informasi sebagai nilai dari dasar dan batas register, tabel
page/halaman, atau tabel segmen tergantung pada sistem memori yang digunakan
oleh sistem operasi.
• Informasi pencatatan: Informasi ini termasuk jumlah dari
CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau
proses, dan banyak lagi.
• Informasi status M/K: Informasi termasuk daftar dari
perangkat M/K yang di gunakan pada proses ini, suatu daftar berkas-berkas yang
sedang diakses dan banyak lagi.
• PCB hanya berfungsi sebagai tempat penyimpanan informasi yang
dapat bervariasi dari proses yang satu dengan yang lain.
Bab 13 Konsep Penjadwalan
Sebuah proses, ketika sedang tidak dieksekusi, ditempatkan
pada antrian yang sama. Disini ada dua kelas besar dari antrian dalam sebuah
sistem operasi:
permintaan antrian M/K dan ready queue. Ready queue memuat
semua proses yang siap untuk dieksekusi dan yang sedang menunggu untuk
dijalankan pada CPU.
PCB dapat digunakan untuk mencatat sebuah ready queue.
Penjadualan Long-term adalah pilihan dari proses-proses untuk diberi izin
menjalankan CPU.
Normalnya, penjadualan long-term memiliki pengaruh yang
sangat besar bagi penempatan sumber daya, terutama managemen memori.
Penjadualan short-term adalah pilihan dari satu proses dari ready queue.
Bab 14 Penjadwalan CPU
1. Siklus Burst CPU-M/K
Keberhasilan dari penjadualan CPU tergantung dari beberapa
properti prosesor. Pengeksekusian dari
proses tersebut terdiri atas siklus CPU ekskusi dan M/K
Wait. Proses hanya akan bolak-balik dari
dua state ini. Pengeksekusian proses dimulai dengan CPU
Burst, setelah itu diikuti oleh M/K burst,
kemudian CPU Burst lagi lalu M/K Burst lagi begitu
seterusnya dan dilakukan secara bergiliran.
Dan, CPU Burst terakhir, akan berakhir dengan permintaan
sistem untuk mengakhiri
pengeksekusian daripada melalui M/K Burst lagi.
2. Penjadwalan Preemptive
Penjadualan CPU mungkin akan dijalankan ketika proses:
1. Berubah dari running ke waiting state
2. Berubah dari running ke ready state
3. Berubah dari waiting ke ready
4. Terminates
3. Penjadualan Non-Preemptive
Penjadualan non-preemptive terjadi ketika proses hanya:
1. berjalan dari running state sampai waiting state
2. dihentikan
Ini berarti cpu menjaga proses sampai proses itu pindah ke
waiting state ataupun dihentikan (proses tidak diinterupt).
Metode ini digunakan oleh Microsoft Windows 3.1 dan
Macintosh.
Ini adalah metode yang dapat digunakan untuk platforms
hardware tertentu,
karena tidak memerlukan perangkat keras khusus (misalnya
timer yang digunakan untuk menginterupt pada metode penjadwalan preemptive)
4. Dispatcher
Komponen yang lain yang terlibat dalam penjadualan CPU
adalan dispatcher.
Dispatcher adalah modul yang memberikan kontrol CPU kepada
proses yang fungsinya adalah:
1. Switching context
2. Switching to user mode
3. Lompat dari suatu bagian di progam user untuk mengulang
progam.
Bab 15 Algoritma Penjadualan
1. First-Come, First-Served
Algoritma ini merupakan algoritma yang paling sederhana.
Dari namanya, kita dapat menebak kalau algoritma ini akan mendahulukan proses
yang lebih dulu datang. Jadi proses akan mengantri sesuai waktu kedatangannya.
2. Shortest-Job First
Algoritma ini mempunyai cara yang berbeda untuk mengatur
antrian di ready queue. Proses diatur menurut panjang CPU burst berikutnya
(lebih tepatnya shortest next CPU burst).
3. Priority
Algoritma ini mendahulukan prioritas terbesar. Kelemahannya,
prioritas kecil tidak mendapat jatah CPU. Hal ini dapat diatasi dengan
aging,yaitu semakin lama menunggu,prioritas semakin tinggi.
4. Round Robin
Algoritma ini menggilir proses-proses yang ada diantrian
dengan jatah time quantum yang sama. Jika waktu habis,CPU dialokasikan keproses
selanjutnya.
5. Multilevel Queue
Algoritma ini membagi beberapa antrian yang akan diberi
prioritas berdasarkan tingkatan. Tingkatan lebih tinggi menjadi prioritas
utama.
6. Multilevel Feedback Queue
Pada dasarnya sama dengan Multilevel Queue,bedanya pada
algoritma ini diizinkan untuk pindah antrian.
Algoritma ini didefinisikan melalui beberapa parameter,
antara lain:
• Jumlah antrian
• Algoritma penjadualan tiap antrian
• Kapan menaikkan proses ke antrian yang lebih tinggi
• Kapan menurunkan proses ke antrian yang lebih rendah
• Antrian mana yang akan dimasuki proses yang membutuhkan
Tidak ada komentar:
Posting Komentar