pertemuan7 - moral and intellectual...

of 30/30
Pertemuan 7 Round Robin & PengayaanUTS

Post on 26-Jul-2020

1 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Pertemuan 7Round Robin & Pengayaan UTS

  • Sistem operasi didefinisikan sebagai:

  • 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;

  • Masalah OS Sederhana

    • Race Condition adalah situasi di mana beberapa proses mengaksesdan memanipulasi data bersama pada saat besamaan. Untukmencegah race condition, proses-proses yang berjalan besamaanharus disinkronisasi.

    • Masalah Critical Section (masalah dalam pengaksesan sumber dayayang sama). Kesulitan yang terjadi karena proses 2 mulaimenggunakan variabel bersama sebelum proses 1 menyelesaikantugasnya.

  • solusi• Solusi “critical section problem” harus memenuhi:

    1. Mutual Exclusion: Jika proses Pi sedang “eksekusi” pada bagian “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-nyadan jika terdapat lebih dari satu proses lain yang ingin masuk ke critical section, maka pemilihan siapa yang berhak masuk ke critical section tidakdapat ditunda tanpa terbatas.

    3. Bounded Waiting: Terdapat batasan berapa lama suatu proses harusmenunggu giliran untuk mengakses “critical section” – jika seandainyaproses lain yang diberikan hak akses ke critical section.

    • Menjamin proses dapat mengakses ke “critical section” (tidak mengalami starvation: proses se-olah berhentimenunggu request akses ke critical section diperbolehkan).

    • Tidak ada asumsi mengenai kecepatan eksekusi proses proses n tersebut.

  • BBBBatchatchatchatch SystemSystemSystemSystem

    � Job yang di kerjakan dalam satu rangkaian, lalu dikerjakansecara berurutan.

    � Belum dilengkapi SO, tapi fungsi dari sistem operasi telahada.

  • Simple Batch System � Sistem mainframe

    • Perangkat input: card reader,tape drive

    • Perangkat output: line printer, tape drive, dan card punch

    • User: menyiapkan job (bentuk card punch)� program, data daninformasi control (control card), dikirim ke operator computer. Dalam hitungan menit, jam, atau hari output ditampilkan. Kontrol card megatur batch job.

    • Automatic job sequencing � Task utama mengirim secaraotomatis control dari satu job ke job yang lain

    • Residen monitor � Program kecil bersifat residen dimemoriberisi urutan-urutan job yang akan berpindah secara otomatis

    • Fungsi monitor: awal (initial) melakukan control; transfer control ke job (pertama) ; stelah hob selesai, control kembali ke monitor

  • 9

    Multiprogrammed Batch Systems

    Beberapa jobs disimpan di memori pada saat

    bersamaan, dan CPU melakukan multiplexing

    (menggabungkan) jobs-jobs tersebut

  • StrukturStrukturStrukturStruktur SOSOSOSO

    1. Proses adalah sebuah program yang

    sedang dijalankan (eksekusi).� Suatu proses memerlukan resources pada saat

    ekesekusi: CPU time, memory, files dan I/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. Isinyaakan 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 menggunakan operasi yang sama untuk read file pada hard disk, CD-ROM dan floppy 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 dapat mempunyai struktur yang bersifat hirarkis (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).

    � Sangat bervariasi dari satu OS ke OS yang lain dan disesuaikan dengan tujuan, 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

    • Sering user program harus memberikan data (parameter) ke rutin OS yang akan dipanggil.

    • UNIX: read(buffer, max_size, file_id);

    • Cara memberikan parameter dari program ke sistimoperasi:

    • Melalui registers (resources di CPU).

    • Menyimpan parameter pada data struktur (table) di memory, danalamat table tsb ditunjuk oleh pointer yang disimpan di register.

    15

  • Tipe System Calls1. 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

  • 17

    3. Managemen DeviceMeminta 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

  • ProsesProsesProsesProses

    • Program yang sedang dieksekusi

    • Proses tidak hanya sekedar suatu kode program (text section), melainkan meliputi beberapa aktivitas yang bersangkutan seperti:

    � Melacak posisi instruksi (sequential execution): program counter

    � Menyimpan data sementara var., parameter, return value: stack

    � Menyimpan data (initial, global variable dll): data section

    � Menyimpan status proses (contoh, aktif, wait I/O request dll.)

  • • Sistem operasi UNIX mempunyai system call fork yang berfungsiuntuk membuat proses baru

    • Proses yang memanggil system call fork ini akan dibagi jadi dua, proses induk dan proses turunan yang identik.

    • Suatu proses diterminasi ketika proses tersebut telah selesaimengeksekusi perintah terakhir serta meminta sistem operasi untukmenghapus perintah tersebut dengan menggunakan system call exit.

    • Proses dapat mengembalikan data keluaran kepada proses induk-nyamelalui system call wait

  • Diagram Status Proses

    20

  • Penjelasan gambar

    • 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

  • Penjelasan gambar

    • Ready• Proses yang telah berhasil di inisiasi

    • Antrian penjadwalan prosesor dengan cara menyisipkan proses baru ke dalamantrian

    • Berisi referensi atau pointer ke struktur data kendali proses

    • Menandakan suatu proses siap berkompetisi untuk mendapatkan alokasiprosesor

    • Schduler adalah sistem operasi yang bertugas untuk memilih proses yangberada dalam proses ready

  • Penjelasan gambar

    • Running

    • Proses menguasi prosesor sepenuhnya

    • Memiliki tiga kemungkinan

    • Teminated, proses yang telah selesai

    • Ready, jika jatah waktu yang dialokasikan sudah habis

    • Blocked/waiting

  • Penjelasan gambar

    • Blocked/Waiting

    • Proses membutuhkan pembacaan data dari piranti I/O

    • Proses ini akan disisipkan pada antrian penjadwalanperanti I/O atau event

    • Jika I/O yang di tunggu sudah selesai maka proses akankembali ke antrian ready dan menunggu pemillihan olehschedule

  • Penjelasan gambar

    • 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

  • Penjelasan gambar

    • keadaan proses blocked dapat berlangsung lama dan ruang memoryutama tidak dapat digunakan oleh proses yang lain

    • Untuk mengatasi hal itu maka dibuat status suspended blocked

    • Penundaan eksekusi proses yang bersatutus blocked yang dilakukanoleh sistem ataupun proses lain akan menyebabkan status prosesberalih menjadi suspended blocked

  • PenjadualanPenjadualanPenjadualanPenjadualan CPUCPUCPUCPU

  • 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