Pertemuan7 Round Robin & Pengayaan UTS
Sistemoperasididefinisikansebagai:
Evolusi Sistem Operasi OS sederhana Program tunggal, satu user, satu mesin komputer (CPU) : komputer generasi pertama, awal mesin PCs, controller: lift, Playstation etc. No problems, no bad people, no bad programs => interaksi sederhana Problem: terbatas pemakaiannya;
MasalahOS Sederhana Race Condition adalah situasi di mana beberapa proses mengakses dan memanipulasi data bersama pada saat besamaan. Untuk mencegah race condition, proses-proses yang berjalan besamaan harus disinkronisasi. Masalah Critical Section (masalah dalam pengaksesan sumber daya yang sama). Kesulitan yang terjadi karena proses 2 mulai menggunakan variabel bersama sebelum proses 1 menyelesaikan tugasnya.
solusi Solusi critical section problem harus memenuhi: 1. Mutual Exclusion: JikaprosesPisedang eksekusi padabagian critical section (dari proses Pi) maka tidak ada proses proses lain dapat eksekusi pada bagian critical section dari proses-proses tersebut. 2. Progress: Jika tidak ada proses sedang eksekusi pada critical section-nya danjikaterdapatlebihdarisatuproses lain yang inginmasukkecritical section, maka pemilihan siapa yang berhak masuk ke critical section tidak dapat ditunda tanpa terbatas. 3. Bounded Waiting: Terdapat batasan berapa lama suatu proses harus menunggu giliran untuk mengakses critical section jika seandainya proses lain yang diberikan hak akses ke critical section. Menjaminproses dapatmengakseske critical section (tidak mengalami starvation: proses se-olah berhenti menunggu request akses ke critical section diperbolehkan). Tidakadaasumsimengenaikecepataneksekusi proses proses n tersebut.
Batch System Job yang di kerjakan dalam satu rangkaian, lalu dikerjakan secara berurutan. Belum dilengkapi SO, tapi fungsi dari sistem operasi telah ada.
Simple Batch System Sistemmainframe Perangkat input: card reader,tape drive Perangkat output: line printer, tape drive, dan card punch User: menyiapkan job (bentuk card punch) program, data dan informasicontrol (control card), dikirimkeoperator computer. Dalamhitunganmenit, jam, atauharioutput ditampilkan. Kontrol card megatur batch job. Automatic job sequencing Task utama mengirim secara otomatiscontrol darisatujob kejob yang lain Residen monitor Program kecil bersifat residen dimemori berisi urutan-urutan job yang akan berpindah secara otomatis Fungsimonitor: awal(initial) melakukancontrol; transfer control kejob (pertama) ; stelah hob selesai, control kembali ke monitor
Multiprogrammed Batch Systems Beberapa jobs disimpan di memori pada saat bersamaan, dan CPU melakukan multiplexing (menggabungkan) jobs-jobs tersebut 9
StrukturSO SO 1. Proses adalahsebuahprogram yang sedang dijalankan(eksekusi). Suatu proses memerlukan resources pada saat ekesekusi: CPU time, memory, files dani/o devices 2. Manajemen Main-Memory Memori sebagai tempat penyimpanan instruksi/data dari program Storage yang cepat sehingga dapat mengimbangi kecepatan eksekusi instruksi CPU Address digunakan untuk mengakses data (shared oleh CPU dan I/O devices) Umumnya main memory bersifat volatile tidak permanent. Isinya akan hilang jika komputer di matikan.
3. Manajemen Secondary-Storage Secondary Storage: penyimpanan permanen Kapasitas harus besar untuk menyimpan semua program dan data. Secondary storage dapat dijadikan backup storage main memory supaya dapat enjalankan banyak program. Umumnya menggunakan magnetic disks (hard disk). OS bertanggung jawab untuk manajemen disk: Manajemen ruang kosong Alokasi storage Penjadualan disk 4. Manajemen I/O System Sering disebut device manager Menyediakan device driver yang umum sehingga operasi I/O dapat seragam(open, read, write, close) Contoh: user menggunakanoperasiyang samauntukread file padahard disk, CD-ROM danfloppy disk sama. Komponen OS untuk sistim I/O: Buffer: menampung sementarai data dari/ke I/O devices Spooling: melakukan scheduling pemakaian I/O sistim supaya lebih efisien(antrian dsb) Menyediakan driver untuk dapat melakukan operasi rinci (detail) untuk hardware I/O tertentu.
5. Manajemen File File: kumpulan informasi yang berhubungan(sesuai dengan tujuan pembuat file tsb). File dapatmempunyaistrukturyang bersifathirarkis(direktori, volume dll). OS bertanggung jawab: Membuat dan menghapus file. Membuat dan menghapus directory. Dukungan primitif untuk manipulasi file dan directory. Pemetaan file ke dalam secondary storage. Backup file ke media storage yang stabil(nonvolatile). 6. Command-Interpreter System OS: menunggu instruksi dari user (command driven) Program yang membaca instruksi dan mengartikan keinginan user (lebih dari sejenis) SangatbervariasidarisatuOS keos yang lain dandisesuaikandengantujuan, teknologi I/O devices yang ada. CLI, Windows, Pen-based (touch) etc.
System Call System call: Menyediakan interface antara program (user program yang berjalan) dan bagian OS. System call menjadi jembatan antara proses dan OS. System call ditulis dalam assembly language (machine specific) atau bahasa tingkat tinggi yang dapat mengendalikan mesin. Contoh: UNIX menyediakan system call: read, write => operasi I/O untuk file. 14
System Call : Passing Parameter Seringuser program harusmemberikandata (parameter) ke rutin OS yang akan dipanggil. UNIX: read(buffer, max_size, file_id); Cara memberikan parameter dari program ke sistim operasi: Melalui registers (resources di CPU). Menyimpan parameter pada data struktur(table) di memory, dan alamat table tsb ditunjuk oleh pointer yang disimpan di register. 15
Tipe System Calls 1. Kontrol Proses Mengakhiri (end) dan membatalkan (abort) Mengambil (load) dan eksekusi (execute) Membuat dan mengakhiri proses Menentukan dan mengeset atribut proses Wait for time Wait event, signal event Mengalokasikan dan membebaskan memori 2. Manipulasi File Membuat dan menghapus file Membuka dan menutup file Membaca, menulis dan mereposisi file Menentukan dan mengeset atribut file 16
3. Managemen Device Meminta dan membebaskan device Membaca, menulis dan mereposisi device Menentukan dan mengeset atribut device 4. Informasi Lingkungan Mengambil atau mengeset waktu atau tanggal Mengambil atau mengeset sistem data Mengambil atau mengeset proses, file atau atribut-atribut device 5. Komunikasi Membuat dan menghapus sambungan komunikasi Mengirim dan menerima pesan Mentransfer status informasi 17
Proses Program yang sedang dieksekusi Proses tidakhanyasekedarsuatukodeprogram (text section), melainkanmeliputibeberapaaktivitasyang bersangkutan seperti: Melacakposisiinstruksi(sequential execution): program counter Menyimpandata sementaravar., parameter, return value: stack Menyimpan data (initial, global variable dll): data section Menyimpanstatus proses(contoh, aktif, wait I/O request dll.)
Sistem operasi UNIX mempunyai system call fork yang berfungsi untuk membuat proses baru Proses yang memanggilsystem call fork iniakandibagijadidua, proses induk dan proses turunan yang identik. Suatu proses diterminasi ketika proses tersebut telah selesai mengeksekusi perintah terakhir serta meminta sistem operasi untuk menghapus perintah tersebut dengan menggunakan system call exit. Proses dapat mengembalikan data keluaran kepada proses induk-nya melalui system call wait
Diagram Status Proses 20
Penjelasangambar New Masih dalam tahap inisiasi oleh prosedur Meliputi alokasi memory utama untuk proses Pengisian tabel proses Pembuatan struktur data kendali untuk menyimpan informasi dan status proses Belum siap untuk di eksekusi Kondisi yang memicu proses new Login ke sistem operasi Permintaaan eksekusi program Aplikasi yang menciptakan proses anak Penciptaan proses baru dari eksekusi batch
Penjelasangambar Ready Proses yang telah berhasil di inisiasi Antrian penjadwalan prosesor dengan cara menyisipkan proses baru ke dalam antrian Berisi referensi atau pointer ke struktur data kendali proses Menandakan suatu proses siap berkompetisi untuk mendapatkan alokasi prosesor Schduler adalah sistem operasi yang bertugas untuk memilih proses yang berada dalam proses ready
Penjelasangambar Running Proses menguasi prosesor sepenuhnya Memiliki tiga kemungkinan Teminated, proses yang telah selesai Ready, jika jatah waktu yang dialokasikan sudah habis Blocked/waiting
Penjelasangambar Blocked/Waiting Proses membutuhkan pembacaan data dari piranti I/O Proses ini akan disisipkan pada antrian penjadwalan peranti I/O atau event Jika I/O yang di tunggu sudah selesai maka proses akan kembali ke antrian ready dan menunggu pemillihan oleh schedule
Penjelasangambar EXIT/Terminated Proses tersebut sudah dihentikan eksekusinya Proses telah selesai secara normal Batas waktu total sudah terlewati Kekurang ruang memory Pelanggaran batas memory Pelanggaran proteksi berkas Kesalahan aritmatika Waktu tunggu melebihi batas Terjadi kegagalan I/O Instruksi tidak benar Terjadi pemakaian instruksi yang tidak di izinkan
Penjelasangambar keadaan proses blocked dapat berlangsung lama dan ruang memory utama tidak dapat digunakan oleh proses yang lain Untuk mengatasi hal itu maka dibuat status suspended blocked Penundaan eksekusi proses yang bersatutus blocked yang dilakukan oleh sistem ataupun proses lain akan menyebabkan status proses beralih menjadi suspended blocked
PenjadualanCPU
Penjadual / Schedulers Long-term scheduler (or job scheduler) memilih proses/program yang mana yang akan di load dan berada di ready queue. Kemungkinan terdapat proses atau job baru. Kemungkinan proses dipindahkan dari memori ke disk (swap out). Short-term scheduler (or CPU scheduler) memilih proses yang mana yang berada di ready queue akan run (mendapatkan jatah CPU). 28