• Tidak ada hasil yang ditemukan

Bahan Pengayaan Materi Persiapan UTS

N/A
N/A
Protected

Academic year: 2018

Membagikan "Bahan Pengayaan Materi Persiapan UTS"

Copied!
30
0
0

Teks penuh

(1)

Pertemuan 7

(2)
(3)
(4)

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

(5)

Masalah OS 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

(6)

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-nya dan jika terdapat lebih dari satu proses lain yang ingin masuk ke critical 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.

• Menjamin proses dapat mengakses ke “critical section” (tidak mengalami starvation: proses se-olah berhenti

menunggu request akses ke critical section diperbolehkan). • Tidak ada asumsi mengenai kecepatan eksekusi proses

(7)

B

B

B

Batch

atch

atch

atch System

System

System

System

Job yang di kerjakan dalam satu rangkaian, lalu dikerjakan secara berurutan.

(8)

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 dan

informasi 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 secara

otomatis control dari satu job ke job yang lain

Residen monitor

Program kecil bersifat residen dimemori

berisi urutan-urutan job yang akan berpindah secara otomatis

(9)

9

Multiprogrammed Batch Systems

(10)
(11)

Struktur

Struktur

Struktur

Struktur SO

SO

SO

SO

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. Isinya

(12)

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)

(13)

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.

(14)

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.

(15)

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 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.

(16)

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

(17)

17

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

(18)

Proses

Proses

Proses

Proses

• 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

(19)

Sistem operasi

UNIX mempunyai

system

call fork

yang berfungsi

untuk 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 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

(20)

Diagram Status Proses

(21)

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

(22)

Penjelasan gambar

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

(23)

Penjelasan gambar

Running

Proses menguasi prosesor sepenuhnya

Memiliki tiga kemungkinan

Teminated, proses yang telah selesai

Ready, jika jatah waktu yang dialokasikan sudah habis

(24)

Penjelasan gambar

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

(25)

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

(26)

Penjelasan gambar

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

(27)

Penjadualan

Penjadualan

Penjadualan

(28)

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).

(29)
(30)

Referensi

Dokumen terkait

 Ketika proses hendak masuk critical section, proses lebih dulu memeriksa variable lock dengan ketentuan :.  Jika variable lock bernilai 0, proses mengeset variable lock menjadi

Jika tidak ada suatu proses yang mengerjakan critical section dan ada beberapa proses yang akan masuk ke critical section, maka hanya proses yang sedang berada pada entry-

bagian “critical section” (dari proses Pi) maka tidak ada proses proses lain dapat “eksekusi” pada bagian critical section dari proses-proses tersebut. Progress: Jika tidak

Jika proses Pi ingin masuk ke critical section, tetapi belum dapat masuk, maka ia akan membandingkan timestamp request miliknya dengan timestamp request yang datang dari Pj. jika

mengakses memory atau sumber daya yang dipakai bersama disebut critical section. Jika

– Jika tidak ada proses yang sedang berada di critical section, maka proses lain yang ingin menjalankan critical section dapat masuk ke dalam critical section critical section