Sistem Operasi - Satrio Yudho

90
! " # $$ % & % ’( $$ )(* +,* !"-* .* !/&&* "* #*$$$$$$

Transcript of Sistem Operasi - Satrio Yudho

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Konsep Sistem Operasi dan Komputer modern (perangkat keras)

Sesi 1

Satrio Yudho, 2010 2

Tujuan� Gambaran umum sistem operasi� Arsitektur komputer (Von Neumann)� Isu terbaru mengenai Sistem Operasi

Satrio Yudho, 2010 3

Pertanyaan sederhana..

�Sistem operasi ? �Mengapa perlu sistem operasi ?

Satrio Yudho, 2010 4

Jawaban sederhana..

�Windows, Linux, UNIX, Macintosh, Novell, IBM, Symbian,......

Satrio Yudho, 2010 5

Jawaban sederhana� Biar bisa ngetik (wordprocessor)� Biar bisa main game� Biar bisa chatting� Biar bisa surfing� Bisa bisa nge print� Bisa bisa nyetel video dan musik� Bisa buat gaya (kalo OS asli) ?????

Satrio Yudho, 2010 6

Pertanyaan lebih menantang..

� Koq bisa begitu ? Jelasin dong...

Satrio Yudho, 2010 7

Definisi

� Sistem operasi adalah program yang berada diantara user, software aplikasi dan perangkat keras (silberschatz)

� Sistem operasi memudahkan manusia berinteraksi dengan komputer.

� Sistem operasi menjadikan komputer nyaman digunakan

� Kernel, merupakan program yang terus menerus berjalan dalam sistem komputer

Satrio Yudho, 2010 8

Lihat ini ya..� Gambaran umum sistem operasi

PERANGKAT KERAS

SISTEM OPERASI

PROGRAM APLIKASIBROWSER

ANTIVIRUS

COMPILER

BLUETOOTH WIFI DBMS

PENGGUNA (MANUSIA/ MESIN)

Satrio Yudho, 2010 9

Definisi lain

� Sistem operasi adalah resource allocator� pengelola sumberdaya komputer

(Processor,BUS, Memory, Disk, dsb)� Mengatur aplikasi dan program agar berjalan

teratur� Sistem Operasi sebagai control program

� Mengendalikan eksekusi program agar dapat berjalan dengan lancar

Satrio Yudho, 2010 10

Sistem komputer modern(Von Neumann)

CPU DISK CONTROLLER

GRAPHICADAPTER

MEMORY

PORTCONTROLLER

Satrio Yudho, 2010 11

Organisasi Sistem komputer� Dalam konsep komputer modern, terdapat tiga besaran utama yakni :

� Kerja sistem computer� Struktur penyimpanan� Struktur I/O (input dan output)

Satrio Yudho, 2010 12

Kerja Sistem Komputer

� ilustrasi

Start atauReboot Jalankan

Bootstrapprogram

CPU Devicecontroller

Memorycontroller

inisialisasi

cariFile OS(kernel) taruh Memory

Satrio Yudho, 2010 13

Kerja sistem komputer

� Bootstrap program� Program yang dibenamkan pada ROM� Biasanya disebut firmware ( program yang

sudah didesain dari produsen hardware)� Bertugas untuk melakukan identifikasi seluruh

fungsi system hardware , hingga menjalankan kernel.

Satrio Yudho, 2010 14

Kerja sistem komputer

� Kernel� Merupakan program inti sistem operasi� Menempati lokasi memory paling utama� Bertanggung jawab atas seluruh

kelangsungan operasional komputer.

Satrio Yudho, 2010 15

Kerja sistem komputer

� Pada saat operasional, sistem komputer dan sistem operasi saling berkoordinasi dengan :

� Interrupt (instruksi), digunakan untuk memberikan reaksi pada setiap proses, biasanya dikeluarkan oleh hardware.

� System call, mirip dengan interrupt, namun umumnya di generate oleh software

Satrio Yudho, 2010 16

Struktur penyimpanan

� Program komputer harus berjalan di Memory Utama ( contoh DDR, SDRAM)

� Terdapat trade off antara kecepatan dan kapasitas dari memory

� Memori perluasan di sebut juga memori sekunder (Disk, magnetic tape dsb)

Satrio Yudho, 2010 17

Struktur Penyimpanan

Satrio Yudho, 2010 18

Struktur I/O

� Pada komputer kelas umum, biasanya satu CPU mengendalikan seluruh jenis I/O melalui bus data

� Device controller diperlukan untuk mengenali setiap device secara khusus pada bagian :

� Perpindahan data dari local buffer device ke register CPU

� Berkoordinasi dengan device driver

Satrio Yudho, 2010 19

Struktur I/O

� DMA (Direct Memory Access), diperlukan untuk menghindari pemborosan waktu proses pemindahan data dari CPU ke Device

Satrio Yudho, 2010 20

Struktur I/O

Satrio Yudho, 2010 21

R U BORED ?

Makin seru ya....Sekarang kita akan melihat fungsi apa saja yang

harus dibenamkan pada OS ?

Satrio Yudho, 2010 22

Apa yang OS Harus miliki ?

� Manajemen Proses� Proses memerlukan sumberdaya

(CPU,Disk,Memory dsb)� Sumberdaya tersebut harus diatur

penggunaannya agar tidak berbenturan� OS bertugas membuat, menjalankan dan

menghentikan proses.

Satrio Yudho, 2010 23

Apa yang OS Harus miliki ?

� Manajemen Memori� Mengendalikan siapa saja yang menggunakan

memory� Menentukan keluar masuk proses atau data di

memori� Mempersiapkan memori (alokasi dan

dealokasi)

Satrio Yudho, 2010 24

Apa yang OS Harus miliki ?

� Manajemen storage� Mengelola file system (membuat/hapus/update

file,direktori dsb)� Perhitungan ruang penyimpanan� Buffering, caching

Satrio Yudho, 2010 25

Apa yang OS Harus miliki ?

� Keamanan dan Perlindungan� Mekanisme kendali akses user ke sumberdaya

komputer (software / hardware)� Mempertahankan sistem dari serangan

internal maupun external

Satrio Yudho, 2010 26

Wake Up....

sudah Cukup penjelasannya ?

Sekarang pertanyaan....

Satrio Yudho, 2010 27

Sekedar mengingatkan

� Apa yang dimaksud dengan interrupt ? Sebutkan jenisnya ?

� Jelaskan tentang DMA ?� Sebutkan Fungsi fungsi OS dan jelaskan ?� Apa yang dimaksud dengan buffer dan cahce ?

Satrio Yudho, 2010 28

Selesai

finish

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Struktur Sistem OperasiSesi 2

Satrio Yudho, 2010 2

Tujuan� Menjelaskan perihal layanan sistem operasi untuk user,mesin dan sistem lain

� Deskripsi struktur sistem operasi dalam beberapa cara

� Memahami konsep proses instalasi, pengaturan dan penggunaan sistem operasi

Satrio Yudho, 2010 3

Dasar pemikiran

� Sistem operasi memungkinkan program dapat berjalan

� Sehingga sudut pandang mengenai sistem operasi adalah dari segi :

� Layanan yang disediakan� Interface yang digunakan oleh user dan

programmer,� Desain komponen serta interkoneksinya

Satrio Yudho, 2010 4

Dasar pemikiran

� Sistem operasi membuat komputer sistem “mudah” untuk digunakan.

� Salah satu indikator keberhasilan Sistem Operasi adalah kepuasan user.

Satrio Yudho, 2010 5

Spent your life time with OS

Satrio Yudho, 2010 6

PROTECTION AND SECURITY

ACCOUNTING

RESOURCE ALLOCATION

ERROR DETECTION

COMMUNICATION

FILE SYSTEM MANIPULATION

I/O OPERATIONS

Layanan OS

PROGRAM EXECUTION

STRUKTUR LAYANAN OS

USER INTERFACE (CLI , GUI)

Satrio Yudho, 2010 7

User interface (Antarmuka)� Terdapat dua jenis interface :

� Command line intepreter (CLI)� Graphical User Interface (GUI)

Satrio Yudho, 2010 9

User Interface� GUI

� Menggunakan grafik� Representasi file dalam bentuk Icon� Ditemukan oleh Xerok PARC

Satrio Yudho, 2010 10

System Call

� Komputer bekerja atas perintah dari user� Proses bekerja memerlukan komunikasi antara User dan hardware

� System call merupakan jembatan komunikasi antara user dan hardware

� Ditulis dalam bahasa C++

Satrio Yudho, 2010 11

System call

Satrio Yudho, 2010 12

API (Application Program Interface)

� API digunakan untuk memudahkanprogrammer dalam penggunaan system call

� API menggantikan syntax system call yang rumit menjadi lebih terstruktur

� Contoh Open(), Rename()

Satrio Yudho, 2010 13

API� Baca Buku silberschatz

Satrio Yudho, 2010 14

API

� Standar library printf() bahasa C memanggil system call write()

Satrio Yudho, 2010 15

Jenis jenis System call

� Manajemen proses (proses control)� Mengatur proses yang sedang berjalan� Control tersebut berupa

� End, abort� Load ,execute� Create process, terminate process� Wait event� Allocate and free memory

Satrio Yudho, 2010 16

Jenis jenis system call

� Manajemen berkas� Berkaitan dengan pengaturan file dalam

system� Create file , delete file� Open , close� Read, write, reposition� Get file attributes, set file attributes

Satrio Yudho, 2010 17

Jenis jenis system call

� Manajemen piranti (device management)� Berkaitan dengan penggunaan piranti oleh

program� Request device, release device� Read , write, reposition� Get device attribute, set device attribute� Logically attach and detach

Satrio Yudho, 2010 18

Jenis jenis system call

� System call informasi /pemeliharaan� Berfungsi untuk tugas pemeliharaan sistem,

seperti pengaturan jam/tanggal, mengetahui jumlah user, ruang disk, memori yang terpakai.

Satrio Yudho, 2010 19

Jenis jenis system call

� Komunikasi� Message-passing. Pertukaran informasi dilakukan

melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi.

� Shared-memory. Proses menggunakan memori yang bisa digunakan oleh berbagai proses untuk pertukaran informasi dengan membaca dan menulis data pada memori tersebut.

Satrio Yudho, 2010 20

System Programs

� Pada lapisan struktur OS (sesi 1), terdapat layer program/ sistem program.

� Sistem program dibuat untuk kemudahan penggunaan OS

� Manipulasi berkas� Informasi status sistem� Pendukung bahasa pemograman� dsb.

Satrio Yudho, 2010 21

Program Aplikasi

� Merupakan program yang dibuat dengan / untuk tugas spesifik

� Dalam menjalankan tugasnya, program aplikasi memerlukan fungsi fungsi OS (system call) dan API untuk memudahkan pengembangan.

� Contoh : web browser, office application, DBMS, Compression tools, dsb.

Satrio Yudho, 2010 22

Beberapa Struktur OS

� MS DOS Structure

Satrio Yudho, 2010 23

Beberapa Struktur OS

� UNIX

Satrio Yudho, 2010 24

Tanya jawab

� Layanan apa saja yang disediakan dalam OS ?

� Terdapat berapa jeniskah user interface ? Jelaskan dengan contoh ?

� Apa yang disebut dengan system call ? Berguna untuk apa ?

� Apakah yang dimaksud dengan API ?

Satrio Yudho, 2010 25

Selesai

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

ProsesSesi 3

Satrio Yudho, 2010 2

Tujuan� Memahami konsep proses� Penjadwalan proses� Operasi dalam proses

Satrio Yudho, 2010 3

pengantarUltimate machine..

Satrio Yudho, 2010 4

Konsep dasar

� Proses adalah program yang sedang berjalan� Proses memerlukan sumberdaya

� Cpu time� Memory� Files� I/O devices

Satrio Yudho, 2010 5

Konsep dasar

� Dalam sistem terdapat banyak proses� Terdapat dua jenis proses

� Sistem operasi (system code)� User (User Code)

� Secara sederhana setiap proses hanya berisi sebuah thread

Satrio Yudho, 2010 6

Konsep dasar

� Sistem operasi bertanggung jawab pada seluruh aktifitas proses seperti :

� Proses creation and deletion� Process scheduling� Synchronization� Deadlock handling

Satrio Yudho, 2010 7

Process

� Proses adalah program yang sedang berjalan.� Lebih dari sekedar kode program (text section)� Memiliki status aktifitas berupa nilai (program

counter)� Memiliki process stack untuk menyimpan

parameter,return addresses dan variabel lokal)

� Memiliki data section dan heap

Satrio Yudho, 2010 8

Process (dalam memori)

0

max

Data

Text

Heap

Stack Berisi data/informasi

Satrio Yudho, 2010 9

Process State

� Dalam sistem operasi, proses yang berjalan akan melalui beberapa tahapan.

� Setiap tahapan memiliki status untuk dapat mengetahui informasi setiap proses.

Satrio Yudho, 2010 10

Process state

New

Ready

waiting

Terminated

Running

admitted

interrupt

exit

Scheduler dispatch

I/O or event waitI/O or event completion

Satrio Yudho, 2010 11

Process state� Setiap tahapan (stages) dalam proses memiliki proses sebagai berikut :

� New : proses sedang dibentuk� Running : instruksi sedang dijalankan� Waiting : proses sedang menunggu event atau

I/O� Ready : proses menunggu untuk dijalankan

prosessor� Terminated : Proses telah selesai.

Satrio Yudho, 2010 12

Process Control Block

� Process Control Block merupakan representasi proses dalam sistem operasi

� PCB berisi berbagai macam informasi tentang konten dari setiap proses.

Satrio Yudho, 2010 13

Process Control BlockPROCESS STATE

PROCESS NUMBER

PROGRAM COUNTER

REGISTERS

MEMORY LIMITS

LIST OF OPEN FILES

...................................

Indikator status (New,Ready,Running,WaitingTerminated)

Indikator instruksi yang akan dijalankan berikutnya

Nomor identifikasi proses

Indikator penggunaan register CPU

Informasi manajemen memori

Informasi penggunaan I/O (file,direktori,disk)

Satrio Yudho, 2010 14

Pembentukan Proses

� Proses dibuat oleh system call create process� Process dapat memiliki hirarki

� Parent process� Child process

� Proses yang terbentuk akan berjalan jika mendapatkan sumberdaya (CPU,memori,berkas)

Satrio Yudho, 2010 15

Terminasi Proses

� Suatu proses akan diterminasi jika :� Instruksi telah selesai, atau� Diterminasi oleh proses lain

� Saat proses berakhir seluruh sumberdaya yang dipinjam harus dikembalikan.

Satrio Yudho, 2010 16

Proses dalam Unix

� Prinsip dasar dalam Unix :� Membuat proses baru dengan fungsi fork()� Membuat program baru dengan exec()� Lebih efisien karena tidak perlu mendefinsikan

environment pada proses yang sama berkali kali.

Satrio Yudho, 2010 17

Contoh

Satrio Yudho, 2010 18

Quiz.tion.are

� Apakah yang dimaksud dengan proses� Sebutkan sumber daya apa saja yang diperlukan untuk proses ?

� Aktifitas apa saja yang menjadi tugas Sistem operasi terhadap proses?

� Jelaskan mengenai Register dan CPU register?

Satrio Yudho, 2010 19

Selesai

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

ThreadsSesi 4

Satrio Yudho, 2010 2

Tujuan� Memahami konsep Threads� Konsep multithreading� Perbedaan antara threads dan process

Satrio Yudho, 2010 3

Before we start...� Sistem operasi bekerja sedemikian keras untuk melayani

kebutuhan User (melalui proses)

Satrio Yudho, 2010 4

Before we start

� Thread merupakan dasar dari pemanfaatan CPU (CPU Utilization)

� Thread menggunakan konsep share memory pada sebuah code section

� Secara mendasar sebuah proses memiliki sebuah thread control

Satrio Yudho, 2010 5

Threads in Maps

Satrio Yudho, 2010 6

More about Threads

� Threads diciptakan agar computer dapat menjalankan banyak task dalam waktu bersamaan

� Multithreading merupakan mekanisme membagi bagi pekerjaan menjadi banyak task sehingga diharapkan dengan satu CPU dapat bekerja dengan cepat.

Satrio Yudho, 2010 7

Keuntungan MultiThreading

� Responsif, Aplikasi akan selalu merespon meskipun sebagian program sedang melakukan eksekusi yang lama.

� Berbagi sumber daya, beberapa thread yang sedang berproses menggunakan lokasi memori yang sama

Satrio Yudho, 2010 8

Keuntungan MultiThreading

� Ekonomis, pembuatan proses memerlukan alokasi sumberdaya dan memori, threads menggunakan share memory.

� Utilisasi arsitektur multiprosesor, Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas processor yang berbeda

Satrio Yudho, 2010 9

Model MultiThreading

� Thread pengguna� Thread yang pengaturannya dilakukan oleh

library thread pada tingkatan pengguna.� Thread Kernel

� Thread yang didukung langsung oleh kernel. Pembuatan, penjadwalan dan manajemen thread dilakukan oleh kernel pada kernel space.

Satrio Yudho, 2010 10

Model MultiThreading

Satrio Yudho, 2010 11

Model MultiThreading

� Model Many-to-One,� Model ini memetakan beberapa thread

tingkatan pengguna ke sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat.

Satrio Yudho, 2010 12

Model MultiThreading

� Model One-to-One,� Model ini memetakan setiap thread tingkatan

pengguna ke setiap thread. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel

Satrio Yudho, 2010 13

Model MultiThreading

� Model Many-to-Many,� Model ini memultipleks banyak thread

tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna.

Satrio Yudho, 2010 14

Thread Library

� Pustaka Thread atau yang lebih familiar dikenal dengan Thread Library bertugas untuk menyediakan API untuk programmer dalam menciptakan dan memanage thread.

Satrio Yudho, 2010 15

Pembatalan Thread� Thread Cancellation ialah pembatalan thread

sebelum tugasnya selesai.� Pemberhentian target Thread dapat dilakukan

dengan 2 cara:� Asynchronous cancellation. Suatu thread seketika

itu juga membatalkan target thread.� Deferred cancellation. Suatu thread secara

periodik memeriksa apakah ia harus batal

Satrio Yudho, 2010 16

Thread Pools

� Thread Pools diperlukan karena terdapat masalah sebagai berikut :

� Pembuatan thread yang tak terbatas menurunkan performa sistem

� Tidak sebandingnya waktu pembuatan thread dengan penggunaan Thread.

Satrio Yudho, 2010 17

Thread Pools

� Mekanisme Thread Pools:� Membuat thread pada proses startup� Membuat sistematika menunggu di setiap

threads� Membangunkan threads saat diperlukan� Threads dikembalikan lagi ke pools saat

selesai diperlukan.

Satrio Yudho, 2010 18

Thread Pools

� Keuntungan :� Biasanya lebih cepat untuk melayani

permintaan dengan thread yang ada dibandingkan menunggu thread baru dibuat.

� Thread pool membatasi jumlah thread yang ada pada suatu waktu.

Satrio Yudho, 2010 19

Penjadwalan Thread

� Process Contention Scope (PCS). Pustaka thread menjadwalkan thread pengguna untuk berjalan pada LWP (lightweight process) yang tersedia.

� System Contention Scope (SCS). SCS berfungsi untuk memilih satu dari banyak thread ,kemudian menjadwalkannya ke satu thread tertentu(CPU / Kernel).

Satrio Yudho, 2010 20

Quiz.tion.are

� Jelaskan apa yang dimaksud dengan Threads?

� Jelaskan perbedaan proses dan threads ?� Apa yang dimaksud dengan Multithreading ?� Jelaskan keuntungan dari MultiThreading ?� Sebutkan model apa saja dari

MultiThreading ?

Satrio Yudho, 2010 21

Selesai

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

CPU Scheduling (Penjadwalan CPU)Sesi 5

Satrio Yudho, 2010 2

Tujuan� Memperkenalkan CPU Scheduling� Dasar multiprogramming� Algoritma penjadwalan

Satrio Yudho, 2010 3

CPU Scheduling

� Penjadwalan CPU adalah suatu proses pengaturan atau penjadwalan proses-proses yang ada di dalam komputer.

� multiprograming, bertujuan untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu yang digunakan oleh CPU, sehingga proses berjalan sepanjang waktu dan memperkecil waktu idle.

Satrio Yudho, 2010 4

CPU – I/O Burst Cycle

� Keberhasilan penjadwalan CPU bergantung dari proses yang ada.

� Eksekusi dalam proses disebut Burst� Terdapat dua point utama :

� CPU Burst� I/O Burst

Satrio Yudho, 2010 5

CPU – I/O Burst Cycle

� Cpu Burst merupakan proses awal, setelah itu adalah I/O Burst.

� Proses Burst akan terus berulang hingga tiada lagi instruksi.

Satrio Yudho, 2010 6

CPU – I/O Burst CycleLoad StoreAdd Store

Read from file

Wait For I/O

Store IncrementIndex

Write to file

Wait for I/O

Load StoreAdd Store

Read from file

CPU Burst

I/O Burst

CPU Burst

CPU Burst

I/O Burst

Satrio Yudho, 2010 7

CPU – I/O Burst Cycle

� Keberhasilan pengelolaan CPU burst bergantung pada algoritma penjadwalan yang tepat.

� Ingat, tidak diperkenankan CPU idle terlalu lama. (Tidak Produktif)!!

Satrio Yudho, 2010 8

Penjadwalan

� Penjadwalan secara garis besar terbagi dua :� Penjadwalan Preemptive� Penjadwalan Non Preemptive

� Dari dua hal tersebut akan “memaksa” kita untuk memikirkan algoritma penjadwalan yang tepat.

Satrio Yudho, 2010 9

Penjadwalan CPU

� Saat CPU sedang idle, system akan memilih proses yang sedang berada di ready queue untuk dijalankan.

� Pemilihan ini dilakukan oleh Short time scheduler (mengambil proses dari memori dan menempatkannya ke CPU)

Satrio Yudho, 2010 10

Preemptive Scheduling

� Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan:

� Berubah dari running ke waiting state.� Berubah dari running ke ready state.� Berubah dari waiting ke ready state.� Dihentikan.

Satrio Yudho, 2010 11

Preemptive Scheduling

� Penjadwalan Preemptive � mempunyai arti kemampuan sistem

operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi.

Satrio Yudho, 2010 12

Preemptive Scheduling

� Penjadwalan Preemptive� memungkinkan sistem untuk lebih bisa

menjamin bahwa setiap proses mendapat sebuah slice waktu operasi.

� Keuntungan, sistem menjadi lebih responsif

Satrio Yudho, 2010 13

Preemptive scheduling� Terdapat dua hal penting :

� I/O Bound (durasi proses yang lama pada I/O)� CPU Bound (durasi proses yang lama pada

CPU)� penjadwalan Preemptive = mekanisme interupsi yang menyela proses yang sedang berjalan dan memaksa sistem untuk menentukan proses mana yang akan dieksekusi selanjutnya.

Satrio Yudho, 2010 14

Penjadwalan Non Preemptive

� Penjadwalan Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.

Satrio Yudho, 2010 15

Penjadwalan Non Preemptive

� Penjadwalan Non Preemptive terjadi ketika proses hanya:

� Berjalan dari running state sampai waiting state.

� Dihentikan.

Satrio Yudho, 2010 16

Dispatcher

� Komponen yang lain yang terlibat dalam penjadwalan CPU adalah dispatcher.

� Dispatcher adalah modul yang memberikan kontrol CPU kepada proses yang sedang terjadwal.

Satrio Yudho, 2010 17

Dispatcher

� Berfungsi sebagai :� Context switching. Mengganti state dari suatu

proses dan mengembalikannya untuk menghindari monopoli CPU time.

� Switching to user mode dari kernel mode.� Lompat dari suatu bagian di progam user

untuk mengulang program.

Satrio Yudho, 2010 18

Dispatcher

� Dispatch Latency adalah waktu yang diperlukan dispatcher untuk menghentikan suatu proses dan memulai proses yang lain.

Satrio Yudho, 2010 19

Kriteria Penjadwalan

� CPU Utilization. (membuat CPU sesibuk mungkin)

� Throughput. (proses persatuan waktu)� Turnaround Time. (durasi proses)� Waiting Time. (ukuran waktu tunggu)� Response Time. (indikator performa pada real time system)

Satrio Yudho, 2010 20

Kriteria penjadwalan

� Fairness. (kendali untuk prioritas penggunaan CPU)

� Efisiensi. (minimalisir overhead)

Satrio Yudho, 2010 21

Quiz.tion.are

� Jelaskan konsep scheduling ?� Sebutkan dua jenis scheduling ?� Apa yang dimaksud dengan Burst time ?� Apa yang dimaksud dengan dispatcher ?� Apa yang dimaksud dengan dipatch latency ?

Satrio Yudho, 2010 22

Selesai

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Penjadwalan (Bagian 2)Sesi 6

Satrio Yudho, 2010 2

Tujuan� Memahami Algoritma FCFS� Penerapan FCFS dalam sistem batch

Satrio Yudho, 2010 3

Tujuan Penjadwalan

� Adil� Mendukung pekerjaan Berat� Prioritas� Adaptif� Efisiensi

Satrio Yudho, 2010 4

Kriteria performa

� Keadilan� Efisiensi: optimalisasi penggunaan sumberdaya

� Throughput: proses yg selesai dalam satuan waktu tertentu

� Waktu Turnaround (aka: elapse time): waktu yg diperlukan untuk menyelesaikan eksekusi sejak proses tersebut masuk

Satrio Yudho, 2010 5

Kriteria performa

� Waktu Tunggu: waktu yg diperlukan proses untuk menunggu diantrian ready

� Waktu Respon: jangka waktu sejak proses di-submit hingga memperoleh respon pertama

� Penerapan Kebijakan: sesuai dgn kebijakan yg telah ditetapkan

� Proporsionalitas: memenuhi keinginan user� Memenuhi Tenggat

Satrio Yudho, 2010 6

Fokus Penjadwalan pada Berbagai Sistem

� Sistem Batch – maks. troughput, minimal waktu turnaround, maksimal penggunaan CPU

� Sistem Interaktif – min. waktu respon, proporsionalitas

� Sistem Real-Time – dpt diprediksi, memenuhi tenggat

Satrio Yudho, 2010 7

First Come First Serve (FCFS)� Proses yg meminta CPU duluan yg dialokasikan CPU duluan

� Disebut juga FIFO� Non-preemptive� Digunakan pada sistem batch� Implementasi: antrian FIFO

� Proses baru memasuki belakang antrian� Scheduler memilih dari depan antrian

Satrio Yudho, 2010 8

First Come First Serve (FCFS)

� Contoh :� Terdapat tiga buah proses secara bersamaan

pada 0 milisecond dengan rincian sbb :� P1 dengan burst time 24 ms� P2 dengan burst time 3 ms� P3 dengan burst time 3 ms

� Hitunglah Average Waiting Time ?� Hitunglah Turn around time ?

Satrio Yudho, 2010 9

First Come First Serve (FCFS)

� Solusi :� P1 tidak perlu menunggu untuk mulai (0ms)� P2 menunggu P1 selesai, untuk mulai� P3 menunggu P2 selesai, untuk mulai� AWT = (0+24+27)/3 = 17 ms� ATT = (24+27+30)/3 = 27 ms

Satrio Yudho, 2010 10

First Come First Serve (FCFS)

P1 P2 P3

0 24 27 30

Burst time Burst time Burst time

Average waiting time = (0+24+27)/3 = 17 msAverage Turnaround Time = (24+27+30)/3 = 27 ms

Satrio Yudho, 2010 11

First Come First Serve (FCFS)

� Kelemahan� Sangat mungkin terjadi Average waiting time

yang lama� Terjadinya Convoy Effect, yaitu proses yang

memiliki burst time lama menyebabkan proses lain menunggu.

� Non preemptive, proses tidak dapat di interupsi.

Satrio Yudho, 2010 12

First Come First Serve (FCFS)

� Contoh :� Jika urutan proses diubah menjadi P3,P2 dan

P1� Maka

� AWT = (0+3+6)/3 = 3ms� ATT = (3+6+30)/3 = 13ms

Satrio Yudho, 2010 13

First Come First Serve (FCFS)

0 3 6 30

P3 P2 P1

Burst time Burst time Burst time

AWT = (0+3+6)/3 = 3msATT = (3+6+30)/3 = 13ms

Satrio Yudho, 2010 14

It's Time to wake you up....

Satrio Yudho, 2010 15

Quiz.tion.are

� Hitunglah Average waiting time dan Average turnaround time dari antrian proses berikut :

� P1 2ms, P2 5ms, P3 17ms, P4 12 ms, P5 9ms, P6 1ms, P7 4ms, P8 9ms, P9 15ms, P10 7ms

� Asumsi awal proses adalah 0ms� Cobalah untuk mengubah antrian proses untuk

mendapatkan AWT dan ATT yang lebih kecil

Satrio Yudho, 2010 16

Selesai

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Penjadwalan (Bagian 3)Sesi 7

Satrio Yudho, 2010 2

Tujuan� Memahami Algoritma penjadwalan Shortest Job First (SJF Non Preemptive)

� Memahami Algoritma penjadwalan Shortest Remaining Time First (SJF Preemptive)

Satrio Yudho, 2010 3

Karakteristik SJF

� Dahulukan job dengan waktu eksekusi tersingkat

� Digunakan pada sistem batch� Ada 2 tipe:

� Non-preemptive� Preemptive

Satrio Yudho, 2010 4

Karakteristik SJF

� Kebutuhan: waktu eksekusi harus diketahui terlebih dahulu

� Optimal jika semua job tersedia pada waktu yg sama

� Memberikan waktu tunggu rata-rata terbaik

Satrio Yudho, 2010 5

SJF Non Preemptive

� Setiap proses yang berada di ready queueakan di eksekusi berdasarkan burst timeterkecil

� Hasil yang diharapkan adalah waiting time yang sedikit mungkin.

Satrio Yudho, 2010 6

SJF Non Preemptive

Process Arrival time Burst time

P1 0 7

P2 2 4

P3 4 1

P4 5 4

� Contoh kasus pertama :

Satrio Yudho, 2010 7

SJF Non Preemptive

� Waktu tunggu = waktu mulai – waktu tiba� Waktu Turnaround = waktu selesai – waktu tiba

� Waktu selesai = burst time+waktu mulai

Satrio Yudho, 2010 8

SJF Non Preemptive

0 2

P24ms

P31ms

P44ms

7 8 12 161 3 4 5 6 9 10 11 151413

P17ms

WT=3ms

WT=6ms

WT=7 msAWT=(0+3+6+7)/4=4msATT =(7+4+10+11)/4=6.25ms

Satrio Yudho, 2010 9

SJF Non Preemptive

Process Arrival time

Bursttime

WaktuMulai

WaktuSelesai

Waktu Tunggu

WaktuTurn

ArroundP1 0 7 0 7 0 7P2 2 4 8 12 6 10

P3 4 1 7 8 3 4

P4 5 4 12 16 7 11Rata rata 4 8

� Tabel Solusi kasus pertama

Satrio Yudho, 2010 10

SJF Non Preemptive

� Kekurangan :� AWT tidak selalu optimal.� Sulit untuk memprediksi burst time proses

yang akan dieksekusi selanjutnya jika proses datang tidak serentak.

� Proses yang memiliki burst time yang besar mengakibatkan waiting time yang besar.

Satrio Yudho, 2010 11

SJF Non Preemptive

� Contoh kasus kedua :

Process Arrival time Burst time

P1 0 10

P2 2 2

Satrio Yudho, 2010 12

SJF Non Preemptive

0 1 2 3 4 5 6 7 8 9 10 11 12

P110ms

P22ms

Waktu tunggu : P1=0ms, P2 = 8msAWT = (0ms+8ms)/2= 4ms

SJF belum tentu Optimal

Satrio Yudho, 2010 13

SJF Non Preemptive

� Tabel solusi kasus kedua

Process Arrival time

Bursttime

WaktuMulai

WaktuSelesai

Waktu Tunggu

WaktuTurn

Arround

P1 0 10 0 10 0 10P2 2 2 10 12 8 10

Rata rata

4 10

Satrio Yudho, 2010 14

SJF Preemptive (SRJF)� Preemptive :

� Proses berada dalam ready queue� Proses dengan burst time terkecil akan dijalankan� Scheduler akan memberhentikan sementara

proses lain yang sedang berjalan, agar proses yang lebih kecil dapat berjalan.

� Preemptive SJF disebut juga Shortest-Remaining- Time-First scheduling.

Satrio Yudho, 2010 15

SJF Preemptive (SRTF)

� Contoh

Process Arrival time

Bursttime

WaktuMulai

WaktuSelesai

Waktu Tunggu

WaktuTurn

ArroundP1 0 10 ? ? ? ?

P2 2 2 ? ? ? ?

Rata rata ? ?

Satrio Yudho, 2010 16

SJF Preemptive (SRTF)

P110ms

P19ms

P18ms

P18ms

P22ms

0 1 2 3 4

P17ms

Hold

P21ms

P20ms

5 6 7

P16ms

8 9 10 11

P15ms

P14ms

P13ms

P12ms

P11ms

12

Burst time siapa yangLebih kecil ?P1 atau P2?

P1 < P2 ?

P10ms

Satrio Yudho, 2010 17

SJF Preemptive (SRTF)

� Waktu tunggu:� P1=0+(4ms-2ms)=2ms� P2=0

� Waktu tunggu rata rata : (2ms+0ms)/2=2ms� Waktu turnaround rata rata (12ms+0)/2=12ms

Lebih Efisien dari pada SJF Non Preemptive

Satrio Yudho, 2010 18

SJF Preemptive (SRTF)

� Tabel Solusi

Process Arrival time

Bursttime

WaktuMulai

WaktuSelesai

Waktu Tunggu

WaktuTurn

ArroundP1 0 10 0 12 2 12

P2 2 2 0 4 0 0

Rata rata 2 12

Satrio Yudho, 2010 19

Exercise

� Kerjakan soal selanjutnya dibawah ini dengan menggunakan SJF non preemptive dan SJF Preemptive ?

Satrio Yudho, 2010 20

Exercise

Process Arrival time

Bursttime

WaktuMulai

WaktuSelesai

Waktu Tunggu

WaktuTurn

ArroundP1 0 5

P2 1 2

P3 2 6

P4 3 8

P5 4 3Rata rata

Satrio Yudho, 2010 21

Selesai

Have a nice day

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Penjadwalan(akhir)Sesi 8

Satrio Yudho, 2010 2

Tujuan� Memahami Algoritma Prioritas� Memahami Algoritma Round Robin

Satrio Yudho, 2010 3

Priority Scheduling

� Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.

� Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik antara lain:

� Time limit.� Memory requirement.� Akses file.� Perbandingan antara burst I/O dengan CPU burst.� Tingkat kepentingan proses.

Satrio Yudho, 2010 4

Priority Scheduling

� Mekanisme:� Tiap proses diberi prioritas� Penjadwalan FCFS within each priority level.� Proses dgn prioritas lebih tinggi dijadwalkan

duluan� Preemptive� Non-preemptive

Satrio Yudho, 2010 5

Priority Scheduling

� Masalah:� Mungkin tidak menghasilkan waktu tunggu

rata-rata yang baik� Dapat menyebabkan indefinite blocking atau

starvation pada proses dengan prioritas rendah

Satrio Yudho, 2010 6

Priority Scheduling

� indefinite blocking (starvation)-> Suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi darinya.

Satrio Yudho, 2010 7

Penjadwalan Prioritas: Penentuan Prioritas

� Ada 2 pendekatan:� Statis (untuk sistem dgn perilaku aplikasi yang

teratur dan telah diketahui)� Dinamis (sebaliknya)

� Prioritas dapat ditentukan berdasarkan:� Biaya terhadap user� Tingkat kepentingan user� Umur proses (aging)� prosentase waktu CPU yg telah digunakan pada

jam terakhirSatrio Yudho, 2010 8

Penjadwalan Prioritas

� Contoh :

Process Arrival time Burst time Priority

P1 0 6 4

P2 0 8 1

P3 0 7 3

P4 0 3 2

Satrio Yudho, 2010 9

Penjadwalan Prioritas

P28ms

P43ms

P37ms

P16ms

0 8 11 18 24

Waktu tunggu: P1=18, P2=0, P3=11, P4=8Waktu tunggu rata-rata: (18+0+11+8)/4=9.25

Satrio Yudho, 2010 10

Round Robin

� Setiap proses mendapat jatah waktu CPU (time slice/quantum) tertentu misalkan 10 atau 100 milidetik.

� Setelah waktu tersebut maka proses akan di-preempt dan dipindahkan ke ready queue.

� Adil dan sederhana.

Satrio Yudho, 2010 11

Round Robin

� Jika terdapat n proses di “ready queue” dan waktu quantum q (milidetik), maka:

� Maka setiap proses akan mendapatkan 1/n dari waktu CPU.

� Proses tidak akan menunggu lebih lama dari: (n-1)q time units.

Satrio Yudho, 2010 12

Round Robin

� Performance :� q large -> FIFO� q small -> q must be large with respect to

context switch, otherwise overhead is too high.

Satrio Yudho, 2010 13

Round Robin

� Contoh

Process Arrival time Burst time urutan

P1 0 3 1

P2 0 4 2

P3 0 3 3

Satrio Yudho, 2010 14

Round Robin� Solusi (Asumsi Kuantum=1ms)

P1

P2

P3

0 1 2 3 4 5 6 7 8 9 10

Satrio Yudho, 2010 15

Round Robin

� Solusi :� Waktu tunggu:� P1=0+2+2=4,� P2=1+2+2+1=6� P3=2+2+2=6� Waktu tunggu rata rata = (4+6+6)/3=5.33

Satrio Yudho, 2010 16

Round Robin

� Tipikal:� lebih lama waktu rata-rata turnaround

dibandingkan SJF, tapi mempunyai response terhadap user lebih cepat.

Satrio Yudho, 2010 17

You turn

� Exercise #1 use round robin (asume q=2)

Process Arrival time Burst time urutan

P1 0 6 1

P2 0 3 2

P3 0 8 3

P4 0 6 4

Satrio Yudho, 2010 18

You Turn

� Exercise #2 use round robin (asume q=20)

Process Arrival time Burst time urutan

P1 0 53 1

P2 0 17 2

P3 0 68 3

P4 0 24 4

Satrio Yudho, 2010 19

Selesai

Hidup ini indah

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Penjadwalan Prosesor Jamak (Multiprocessor)Sesi 9

Satrio Yudho, 2010 2

Tujuan� Memahami konsep multiprosesor� Pengaturan kerja dalam sistem multiprosesor

Satrio Yudho, 2010 3

Before we start

� Untuk mempertinggi kinerja, kehandalan, kemampuan komputasi, paralelisme, dan ke ekonomisan dari suatu sistem, tambahan prosesor dapat diimplementasikan ke dalam sistem tersebut.

� Hal ini disebut multiprocessor

Satrio Yudho, 2010 4

Penjadwalan Master/Slave

� Nama lain Asymmetric multiprocessing� Terdapat dua kategori processor

� Master (processor utama)� Slave (processor pembantu)

Satrio Yudho, 2010 5

Penjadwalan Master/Slave

� Tugas Processor master:� Menentukan keputusan penjadwalan� Menentukan penggunaan I/O� Mencari dan menugaskan processor slave

untuk bekerja.

Satrio Yudho, 2010 6

Penjadwalan Master/Slave

� Tugas processor slave :� Menerima penugasan oleh processor master� Mengelola instruksi

Satrio Yudho, 2010 7

Penjadwalan Master/Slave

Satrio Yudho, 2010 8

Affinity dan Load Ballancing

� Affinity� mekanisme mencegah terjadinya migrasi

proses antar prosesor yang dapat menyebabkan proses berjalan di prosesor yang sama

Satrio Yudho, 2010 9

Affinity dan Load Ballancing

� Ada dua jenis afinitas prosesor, yakni:� Soft affinity yang memungkinkan proses

berpindah dari satu prosesor ke prosesor yang lain, dan

� Hard affinity yang menjamin bahwa suatu proses akan berjalan pada prosesor yang sama dan tidak berpindah. Contoh sistem yang menyediakan system calls yang mendukung hard affinity adalah Linux.

Satrio Yudho, 2010 10

Affinity dan Load Ballancing

� Load Balancing� Dalam sistem Symetric MultiProcessor (SMP),

sangat penting untuk menjaga keseimbangan workload antara semua prosesor untuk memaksimalkan keuntungan memiliki multiprocessor.

Satrio Yudho, 2010 11

Affinity dan Load Ballancing

� Load balancing� adalah usaha untuk menjaga workload

terdistribusi sama rata untuk semua prosesor dalam sistem SMP.

Satrio Yudho, 2010 12

Affinity dan Load Ballancing

� Ada dua jenis load balancing, yakni:� Push migration, pada kondisi ini ada suatu

task spesifik yang secara berkala memeriksa load dari tiap-tiap prosesor. Jika terdapat ketidakseimbangan, maka dilakukan perataan dengan memindahkan( pushing) proses dari yang kelebihan muatan ke prosesor yang idle atau yang memiliki muatan lebih sedikit.

Satrio Yudho, 2010 13

Affinity dan Load Ballancing

� Pull migration, kondisi ini terjadi saat prosesor yang idle menarik(pulling ) proses yang sedang menunggu dari prosesor yang sibuk.

Satrio Yudho, 2010 14

Affinity dan Load Ballancing

� Keuntungan dari affinity berlawanan dengan keuntungan dari load balancing,

� yaitu keuntungan menjaga suatu proses berjalan pada satu prosesor yang sama dimana proses dapat memanfaatkan data yang sudah ada pada memori cache prosesor tersebut berkebalikan dengan keuntungan menarik atau memindahkan proses dari satu prosesor ke prosesor lain.

Satrio Yudho, 2010 15

Symetric Multithreading

� Sebuah strategi alternatif yang lebih cenderung untuk menyediakan logical processor daripada physical processor. Strategi ini dikenal sebagai SMT (Symetric Multithreading). SMT juga biasa disebut teknologi hyperthreading dalam prosesor intel .

Satrio Yudho, 2010 16

Symetric Multithreading

� Ide dari SMT adalah untuk menciptakan banyak logical processor dalam suatu physical processor yang sama dan mempresentasikan beberapa prosesor kepada sistem operasi

� setiap logical prosesor bertanggung jawab pada penanganan interupsinya sendiri, yang berarti bahwa interupsi cenderung dikirimkan ke logical processor dan ditangani oleh logical processor bukan physical processor.

Satrio Yudho, 2010 17

Symetric Multithreading

Satrio Yudho, 2010 18

Multicore

� Multicore microprocessor adalah kombinasi dua atau lebih prosesor independen kedalam sebuah integrated circuit (IC).

� Umumnya, multicore mengizinkan perangkat komputasi untuk memeragakan suatu bentuk thread level paralelism (TLP) tanpa mengikutsertakan banyak prosesor terpisah. TLP lebih dikenal sebagai chip-level multiprocessing .

Satrio Yudho, 2010 19

Multicore

Satrio Yudho, 2010 20

Multicore� Keuntungan:

� Meningkatkan performa dari operasi cache snoop (bus snooping)

� Secara fisik, desain CPU multicore menggunakan ruang yang lebih kecil pada PCB (Printed Circuit Board) dibanding dengan desain multichip SMP

� Prosesor dual-core menggunakan sumber daya lebih kecil dibanding sepasang prosesor dual-core

� Desain multicore memiliki resiko design error yang lebih rendah daripada desain single-core

Satrio Yudho, 2010 21

Multicore

� Kerugian:� butuh penyesuaian kepada software yang ada untuk

memaksimalkan kegunaan dari sumberdaya komputasi yang disediakan oleh prosesor multicore.

� Dari sudut pandang arsitektur, pemanfaatan daerah permukaan silikon dari desain single-core lebih baik daripada desain multicore.

� Pengembangan chip multicore membuat produksinya menjadi menurun karena semakin sulitnya pengaturan suhu pada chip yang padat.

Satrio Yudho, 2010 22

Pengaruh multicore terhadap software

� Keuntungan software dari arsitektur multicore adalah kode-kode dapat dieksekusi secara paralel.

� Setiap aplikasi pada sistem berjalan pada prosesnya sendiri sehingga aplikasi paralel akan mendapatkan keuntungan dari arsitektur multicore

� Banyak aplikasi software tidak dituliskan dengan menggunakan thread-thread yang concurrent karena kesulitan dalam pembuatannya. Concurrency memegang peranan utama dalam aplikasi paralel yang sebenarnya.

Satrio Yudho, 2010 23

Pengaruh multicore terhadap software

� Langkah-langkah dalam mendesain aplikasi paralel adalah sebagai berikut:

� Partitioning.� Communication.� Agglomeration.� Mapping.

Satrio Yudho, 2010 24

Pengaruh multicore terhadap software

� Pada sisi server, prosesor multicore menjadi ideal karena server mengizinkan banyak user untuk melakukan koneksi ke server secara simultan. Oleh karena itu, Web server dan application server mempunyai throughput yang lebih baik.

Satrio Yudho, 2010 25

Selesai

Freaks a lot

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Proses dan sinkronisasi (Bagian 1)Sesi 10

Satrio Yudho, 2010 2

Tujuan� Memahami konsep sinkronisasi proses� Memahami konsep interaksi proses

Satrio Yudho, 2010 3

Konsep Interaksi

Sinkronisasi diperlukan untuk menghindari terjadinya ketidakkonsistenan data akibat adanya akses data secara konkuren

Satrio Yudho, 2010 4

Komunikasi Antar Proses

� Sistem Berbagi Memori� merupakan salah satu cara komunikasi antar

proses dengan cara mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses.

� Alamat dan besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program

Satrio Yudho, 2010 5

Komunikasi Antar Proses

� Sistem Berkirim Pesan� Sistem berkirim pesan adalah proses

komunikasi antar bagian sistem untuk membagi variabel yang dibutuhkan.

� Proses ini menyediakan dua operasi yaitu mengirim pesan dan menerima pesan.

Satrio Yudho, 2010 6

Komunikasi Antar Proses

� Sistem berkirim pesan� Terdapat dua macam cara berkomunikasi,

yaitu:� Komunikasi langsung.� Komunikasi tidak langsung.

Satrio Yudho, 2010 7

Komunikasi Antar Proses� Sistem berkirim pesan

� Komunikasi tidak langsung.� Dalam komunikasi langsung, setiap proses

yang ingin berkirim pesan harus mengetahui secara jelas dengan siapa mereka berkirim pesan. Hal ini dapat mencegah pesan salah terkirim ke proses yang lain.

Satrio Yudho, 2010 8

Komunikasi Antar Proses

� Sistem berkirim pesan:� Komunikasi tidak langsung

� Berbeda dengan komunikasi langsung, jenis komunikasi ini menggunakan sejenis kotak surat atau port yang mempunyai ID unik untuk menerima pesan. Proses dapat berhubungan satu sama lain jika mereka membagi port mereka.

Satrio Yudho, 2010 9

Komunikasi Antar Proses

� Sinkronisasi� Komunikasi antara proses membutuhkan

subroutine untuk mengirim dan menerima data primitif.

� Terdapat desain yang berbeda-beda dalam implementasi setiap primitif. Pengiriman pesan mungkin dapat diblok (blocking) atau tidak dapat dibloking (nonblocking) - juga dikenal dengan nama sinkron atau asinkron.

Satrio Yudho, 2010 10

Komunikasi Antar Proses

� Sinkronisasi� Ketika dalam keadaan sinkron, terjadi dua

kejadian:� Blocking send . Pemblokiran pengirim sampai

pesan sebelumnya diterima.� Blocking receive . Pemblokiran penerima

sampai terdapat pesan yang akan dikirim.

Satrio Yudho, 2010 11

Komunikasi antar proses

� Sinkronisasi� Sedangkan untuk keadaan asinkron, yang

terjadi adalah:� Non-blocking send . Pengirim dapat terus

mengirim pesan tanpa memperdulikan apakah pesan sebelumnya sampai atau tidak.

� Non-blocking receive . Penerima menerima semua pesan baik berupa pesan yang valid atau pesan yang salah (null).

Satrio Yudho, 2010 12

Komunikasi antar proses

� Client/Server� Server adalah komputer yang dapat

memberikan service ke server, sedangkan client adalah komputer yang mengakses beberapa service yang ada di client.

Satrio Yudho, 2010 13

Komunikasi antar proses

� Client /Server� Server dan client menggunakan Socket untuk

saling berhubungan.� Karakteristik Server

� Pasif� Menunggu request� Menerima request, memproses mereka dan

mengirimkan balasan berupa service

Satrio Yudho, 2010 14

Komunikasi antar proses

� Client / Server� Karakteristik Client

� Aktif� Mengirim request� Menunggu dan menerima balasan dari server

Satrio Yudho, 2010 15

Komunikasi antar proses

� Client/Server (Socket)� Socket adalah sebuah endpoint untuk

komunikasi didalam jaringan.� Sepasang proses atau thread berkomunikasi

dengan membangun sepasang socket, yang masing-masing proses memilikinya.

� Socket dibuat dengan menyambungkan dua buah alamat IP melalui port tertentu.

Satrio Yudho, 2010 16

Komunikasi antar proses

� RPC� Remote Procedure Call (RPC) adalah sebuah

metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain.

� Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure.

Satrio Yudho, 2010 18

Rangkuman

� Dalam menjalankan fungsinya dalam sistem operasi, dibutuhkan interaksi antara beberapa proses yang berbeda.

� Interaksi tersebut bertujuan agar terjadi kesinambungan antar proses yang terjadi sehingga sistem operasi dapat berjalan sebagaimana mestinya

� Dalam interaksi tersebut dikenal sebutan client dan server yang memungkinkan sistem yang berbeda untuk berinteraksi dengan menggunakan socket.

Satrio Yudho, 2010 19

Selesai

Don't forget to read the books

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

SinkronisasiSesi 11

Satrio Yudho, 2010 2

Tujuan� Memahami sinkronisasi� Memahami race condition� Sekilas tentang critical section

Satrio Yudho, 2010 3

Sinkronisasi

� Sinkronisasi diperlukan untuk menghindari terjadinya ketidak-konsistenan data akibat adanya akses data secara konkuren.

� Proses-proses disebut konkuren jika proses-proses itu ada dan berjalan pada waktu yang sama, proses-proses konkuren ini bisa bersifat independen atau bisa juga saling berinteraksi.

Satrio Yudho, 2010 4

Sinkronisasi

� Race Condition� Race condition adalah suatu kondisi dimana

dua atau lebih proses mengakses shared memory/sumber daya pada saat yang bersamaan dan hasil akhir dari data tersebut tergantung dari proses mana yang terakhir selesai dieksekusi sehingga hasil akhirnya terkadang tidak sesuai dengan yang dikehendaki.

Satrio Yudho, 2010 5

Sinkronisasi (race condition)

//counter++

register1 = counterregister1 = register1 + 1counter = register1

//counter--register2 = counterregister2 = register2 - 1counter = register2

Berapa nilai counter sebenarnya ?Satrio Yudho, 2010 6

Sinkronisasi

� Race conditionAsumsi nilai inisial “count = 5” S0: producer execute register1 = count {register1 = 5}S1: producer execute register1 = register1 + 1 {register1 = 6} S2: consumer execute register2 = count {register2 = 5} S3: consumer execute register2 = register2 - 1 {register2 = 4} S4: producer execute count = register1 {count = 6 } S5: consumer execute count = register2 {count = 4}Harusnya nilai count berapa ?

Satrio Yudho, 2010 7

Sinkronisasi

� Cara untuk menghindari race condition adalah kita harus dapat menjamin bahwa jika suatu proses sedang menjalankan critical section,maka proses lain tidak boleh masuk ke dalam critical section tersebut.

Satrio Yudho, 2010 8

Sinkronisasi

� Critical Section� Critical section adalah segmen kode yang

mengakses data yang digunakan proses secara bersama-sama yang dapat membawa proses itu ke bahaya race condition.

Satrio Yudho, 2010 9

Sinkronisasi� Ilustrasi critical section

Proses A

Proses B

1 2 3 4

A memasuki area critical A meninggalkan area critical

B akan masukArea critical

B ditahan

B masukArea critical

B meninggalkanArea critical

Satrio Yudho, 2010 10

Sinkronisasi

� Solusi dari masalah critical section harus memenuhi tiga syarat berikut:

� Mutual Exclusion. Mutual Exclusion merupakan sebuah jalan yang menjamin jika sebuah proses sedang menggunakan variabel atau berkas yang digunakan bersama-sama, proses lain akan dikeluarkan dari pekerjaan yang sama.

Satrio Yudho, 2010 11

Sinkronisasi� Terjadi kemajuan (progress)

� hanya proses-proses yang tidak sedang menjalankan remainder section-nya yang dapat berpartisipasi dalam memutuskan siapa yang berikutnya yang akan masuk ke critical section

� Ada batas waktu tunggu (bounded waiting)� Dengan adanya batas waktu tunggu akan

menjamin proses dapat mengakses ke critical section (tidak mengalami starvation: proses seolah-olah berhenti, menunggu request akses ke critical section diperbolehkan)

Satrio Yudho, 2010 12

Sinkronisasi

� Critical Section dalam Kernel� Problem untuk kernel muncul karena berbagai

tasks mungkin mencoba untuk mengakses data yang sama.

Satrio Yudho, 2010 13

Sinkronisasi

� Beberapa action dalam kernel:� Interupsi.� Page Fault.� Kernel code memanggil fungsi penjadwalan

sendiri.� Preemptive kernel.� Non preemptive kernel.

Satrio Yudho, 2010 14

Sinkronisasi

� Interupsi� Interupsi adalah suatu masalah bila mengandung

critical section-nya sendiri.� Timer interrupt tidak secara langsung menyebabkan

terjadinya penjadwalan ulang suatu proses; hanya meminta suatu jadwal untuk dilakukan kemudian, jadi kedatangan suatu interupsi tidak mempengaruhi urutan eksekusi dari kernel code.

Satrio Yudho, 2010 15

Sinkronisasi

� Page Fault.� jika sebuah kernel routine mencoba untuk

membaca atau menulis ke user memory, akan menyebabkan terjadinya page fault yang membutuhkan I/O, dan proses yang berjalan akan di tunda sampai I/O selesai.

Satrio Yudho, 2010 16

Sinkronisasi

� Kernel code memanggil fungsi penjadwalan sendiri

� setiap waktu banyak proses yang berjalan dalam kernel mode,akibatnya sangat mungkin untuk terjadi race condition

� Contoh : buka dan tutup file secara bersamaan

Satrio Yudho, 2010 17

Finishyou really need to read the books

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

DeadLockSesi 12

Satrio Yudho, 2010 2

Tujuan� Memahami konsep deadlock

� Penyebab deadlock� Solusi deadlock

� Memahami starvation

Satrio Yudho, 2010 3

Before we start

Dalam sistem komputer, terdapat banyak sumber daya yang hanya bisa dimanfaatkan oleh satu proses pada suatu waktu.Contoh :penggunaan sumber daya seperti printer, tape drives dan CD-ROM drives

Satrio Yudho, 2010 4

Deadlock

� Deadlock secara bahasa berarti buntu atau kebuntuan.� Dalam definisi lebih lengkap, deadlock berarti suatu

keadaan dimana sistem seperti terhenti dikarenakan setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Keadaan seperti ini hanya dapat terjadi pada akses terhadap sumber daya yang tidak bisa dibagi atau non-sharable.

Satrio Yudho, 2010 5

Contoh kasus deadlock pada lalu lintas di jembatan

Deadlock

Satrio Yudho, 2010 6

Contoh kasus deadlock pada lalu lintas di persimpangan

Where do you go today ?

Satrio Yudho, 2010 7

Starvation

Starvation adalah keadaan dimana satu atau beberapa proses 'kelaparan' karena terus dan terus menunggu kebutuhan sumber dayanya dipenuhi. Namun, karena sumber daya tersebut tidak tersedia atau dialokasikan untuk proses lain, akhirnya proses yang membutuhkan tidak bisa memilikinya.Kondisi seperti ini merupakan akibat dari keadaan menunggu yang berkepanjangan

Satrio Yudho, 2010 8

Model Sistem

Keadaan dimana suatu proses yang meminta sumber daya pasti terjadi dalam suatu sistem. Untuk itu dibutuhkan cara pemodelan terhadapnya.Contoh :

� R =resource (Memori/disk/file/CPU)

Satrio Yudho, 2010 9

Model sistem

� Sebuah proses dalam melakukan penggunaan terhadap suatu sumber daya melalui langkah-langkah sebagai berikut:

� Request.� Use.� Release.

Satrio Yudho, 2010 10

Karakteristik dari terjadinya deadlock

� Mutual Exclusion.� Hold and Wait� No Preemption.� Circular Wait.

Satrio Yudho, 2010 11

Karakteristik dari terjadinya deadlock

� Penanganan� Pengabaian

� Ctrl+Alt+Del / tekan tombol restart� Pencegahan� Penghindaran� Pendeteksian dan Pemulihan

Satrio Yudho, 2010 12

Karakteristik dari terjadinya deadlockPencegahan

� Mutual Exclusion. � Kondisi mutual exclusion pada sumber daya

adalah sesuatu yang wajar terjadi, yaitu pada sumber daya yang tidak dapat dibagi (non-sharable). Sedangkan pada sumber daya yang bisa dibagi tidak ada istilah mutual exclusive. Jadi, pencegahan kondisi yang pertama ini sulit karena memang sifat dasar dari sumber daya yang tidak dapat dibagi.

Satrio Yudho, 2010 13

Karakteristik dari terjadinya deadlockPencegahan

� Hold and Wait. � Untuk kondisi yang kedua, sistem perlu

memastikan bahwa setiap kali proses meminta sumber daya, ia tidak sedang memiliki sumber daya lain. Atau bisa dengan proses meminta dan mendapatkan sumber daya yang dimilikinya sebelum melakukan eksekusi, sehingga tidak perlu menunggu.

Satrio Yudho, 2010 14

Karakteristik dari terjadinya deadlockPencegahan

� No Preemption. � Pencegahan kondisi ini dengan cara membolehkan

terjadinya preemption. Maksudnya bila ada proses yang sedang memiliki sumber daya dan ingin mendapatkan sumber daya tambahan, namun tidak bisa langsung dialokasikan, maka akan preempted. Sumber daya yang dimiliki proses tadi akan diberikan pada proses lain yang membutuhkan dan sedang menunggu. Proses akan mengulang kembali eksekusinya setelah mendapatkan semua sumber daya yang dibutuhkannya, termasuk sumber daya yang dimintanya terakhir.

Satrio Yudho, 2010 15

Karakteristik dari terjadinya deadlockPencegahan

� Circular Wait. � Kondisi 'lingkaran setan' ini dapat 'diputus' dengan

jalan menentukan total kebutuhan terhadap semua tipe sumber daya yang ada. Selain itu, digunakan pula mekanisme enumerasi terhadap tipe-tipe sumber daya yang ada. Setiap proses yang akan meminta sumber daya harus meminta sumber daya dengan urutan yang menaik. Misalkan sumber daya printer memiliki nomor 1 sedangkan CD-ROM memiliki nomor 3. Proses boleh melakukan permintaan terhadap printer dan kemudian CD-ROM, namun tidak boleh sebaliknya.

Satrio Yudho, 2010 16

Karakteristik dari terjadinya deadlockPenghindaran

� Inti dari penghindaran adalah jangan sembarangan membolehkan proses untuk memulai atau meminta lagi.

� Kedua, jangan memberikan kesempatan pada proses untuk meminta sumber daya tambahan jika penambahan tersebut akan membawa sistem pada keadaan deadlock.

Satrio Yudho, 2010 17

Karakteristik dari terjadinya deadlockPendeteksian

� pendeteksian kondisi deadlock adalah cara penanganan deadlock yang dilaksanakan apabila sistem telah berada pada kondisi deadlock

� Mekanisme pendeteksian adalah dengan menggunakan detection algorithm yang akan memberitahu sistem mengenai proses mana saja yang terkena deadlock.

Satrio Yudho, 2010 18

Karakteristik dari terjadinya deadlockPemulihan

� Cara-cara yang ditempuh untuk memulihkan sistem dari deadlock adalah sebagai berikut:

� Terminasi proses.� Rollback and Restart.

Satrio Yudho, 2010 19

Selesai

Have you read the books ?

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Diagram GrafSesi 13

Satrio Yudho, 2010 2

Tujuan� Overview deadlock� Pemodelan graf untuk deadlock

Satrio Yudho, 2010 3

Deadlock

Deadlock adalah suatu kondisi dimana proses tidak berjalan lagi ataupun tidak ada komunikasi antar proses di dalam sistem operasi.Contoh :

� Proses1 menunggu sumber daya yang sedang dipegang oleh proses2, sedangkan proses2 itu sedang menunggu sumber daya yang dipegang oleh proses1

Satrio Yudho, 2010 4

Grafgraf adalah suatu struktur diskrit yang terdiri dari simpul dan edge, dimana edge menghubungkan simpul-simpul yang ada.Dua jenis graf :� Sederhana� Tidak sederhana

Satrio Yudho, 2010 5

Graf

� Berdasarkan arah terdapat dua jenis :� Graf berarah� Graf tidak berarah

Satrio Yudho, 2010 6

Graf dan Deadlock

� Dengan visualisasi dari graf tersebut, maka masalah deadlock pada sistem operasi dapat dideteksi dan diselesaikan

Satrio Yudho, 2010 7

Komponen Alokasi Sumber Daya

� Graf alokasi sumber daya mempunyai komponen-komponen layaknya graf biasa. Hanya saja dalam graf alokasi sumber daya ini, vertex dibagi menjadi 2 jenis yaitu:

� Proses� Resource

Satrio Yudho, 2010 8

Komponen Alokasi Sumber Daya

� Vertex Proses seperti berikut :

Pi

P={P0,P1,P2,P3,....Pi}

Satrio Yudho, 2010 9

Komponen Alokasi Sumber Daya

� Vertex resource, digambarkan sebagai segi empat dengan titik ditengahnya yang menunjukkan jumlah instans yang dapat dialokasikan serta nama sumber dayanya.

Rj R={R0,R1,R2,R3,....Rj}

Satrio Yudho, 2010 10

Komponen Alokasi Sumber Daya

� Proses dan resource dihubungkan oleh sebuah edge (sisi). Untuk edge, terdiri dari dua jenis yaitu:

� Edge permintaan� Edge Alokasi sumberdaya

Satrio Yudho, 2010 11

Komponen Alokasi Sumber Daya

� Edge permintaan Pi → Rj

Pi�

Rj

Proses Pi meminta sumberdaya Rj

Satrio Yudho, 2010 12

Komponen Alokasi Sumber Daya

� Edge Alokasi Sumber Daya: Rj->Pi.

Pi�

Rj

Resource Rj meminta sumber daya Pi

Satrio Yudho, 2010 13

Komponen Alokasi Sumber Daya� Contoh graf alokasi sumber daya Graf

R0

P0

P1

P2

R1

R2

use

use

use

Request

use

Satrio Yudho, 2010 14

Komponen Alokasi Sumber Daya

� Deskripsi Contoh graf alokasi sumber daya GrafGraf diatas terdiri dari 6 vertex dan 5 edge, V= {P0, P1, P2, R0, R1, R2}

E = {P0-> R0, R0-> P1, R1-> P1, R2-> P0, R2-> P2}.

Keterangan Graf tersebut adalah :

1. P0 meminta sumber daya dari R0

2. R0 memberikan sumber dayanya kepada P1

3. R1 memberikan salah satu instans sumber dayanya kepada P1

4. R2 memberikan salah satu instans sumber dayanya kepada P0

5. R2 memberikan salah satu instans sumber dayanya kepada P2

Satrio Yudho, 2010 15

Komponen Alokasi Sumber Daya

� Sebuah proses menggunakan resource dengan urutan sebagai berikut :

� Mengajukan permohonan (request).- menunggu hingga resource tersedia-.

� Menggunakan resource (use).� Melepaskan resource (release).

Satrio Yudho, 2010 16

Komponen Alokasi Sumber Daya

� metode prevention lebih menekankan pada cara permintaan sehingga keempat kondisi yang dapat menyebabkan deadlock tidak terjadi bersamaan

� maka metode avoidance lebih mengarah pada perlunya informasi tambahan dari proses mengenai bagaimana resource akan diminta.

Satrio Yudho, 2010 17

Komponen Alokasi Sumber Daya

� Algoritma Graf Alokasi Sumber Daya Untuk Mencegah Deadlock

� Algoritma ini dapat dipakai untuk mencegah deadlock jika sumber daya hanya memiliki satu instans. Pada algoritma ini ada komponen tambahan pada edge yaitu Claimed Edge. Sama halnya dengan edge yang lain, claimed edge menghubungkan antara sumber daya dan simpul.

Satrio Yudho, 2010 18

Komponen Alokasi Sumber Daya

� Contoh� Claimed edge Pi ---> Rj berarti bahwa proses Pi

akan meminta sumber daya Rj pada suatu waktu.

� Digambarkan dengan garis putus putus� Claimed edge akan diubah menjadi edge

permintaan� Setelah selesai edge alokasi diubah kembali

menjadi claimed edge

Satrio Yudho, 2010 19

Komponen Alokasi Sumber Daya

� Graf Alokasi Sumber Daya dalam status aman

R0

R1

P0 P1

Claimed Edge Claimed

Edge

Satrio Yudho, 2010 20

Komponen Alokasi Sumber Daya

� Lanjutan Status aman ..� Pada saat ini R1 sedang tidak mengalokasikan

sumber dayanya, sehingga P1 dapat memperoleh sumber daya R1. Namun, jika claimed edge diubah menjadi edge permintaan dan kemudian diubah menjadi edge alokasi, hal ini dapat menyebabkan terjadinya perputaran.

Satrio Yudho, 2010 21

Komponen Alokasi Sumber Daya

� Contoh Graf dengan Deadlock

R0

P0

R1

R2�

R3

P1 P2

Satrio Yudho, 2010 22

Komponen Alokasi Sumber Daya� Deksripsi graf dengan deadlock

� terjadinya deadlock yang disebabkan oleh P0 memerlukan sumber daya R0 untuk menyelesaikan prosesnya, sedangkan R0 dialokasikan untuk P1. Di lain pihak P1 memerlukan sumber daya R1 sedangkan R1 dialokasikan untuk P2. P2 memerlukan sumber daya R2 akan tetapi R2 mengalokasikan sumber dayanya pada P1.

� R2 ->P0 ->R0 ->P1 -> R1 -> P2 -> R2� R2 -> P1-> R1 -> P2 -> R2

Satrio Yudho, 2010 23

Komponen Alokasi Sumber Daya� Contoh Graf tanpa Deadlock

R0

R1

R2

P0 P1

P2 P3

Satrio Yudho, 2010 24

Komponen Alokasi Sumber Daya

� Deksripsi graf tanpa deadlock� P0 meminta sumber daya dari R1� R1 memberikan sumber dayanya kepada P1� R1 memberikan satu instans sumber dayanya kepada P2� P2 meminta sumber daya pada P0� R0 memberikan sumber daya pada P3� P3 meminta sumber daya pada R2� R2 mengalokasikan sumber daya pada P0

Satrio Yudho, 2010 25

SelesaiHave You read the books ?

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Banker AlgorithmSesi 14

Satrio Yudho, 2010 2

Tujuan� Memahami Algoritma Bankir untuk deadlock� Metode deteksi deadlock

Satrio Yudho, 2010 3

Algoritma bankir

� Algoritma ini dapat digambarkan sebagai seorang bankir (Resources) di kota kecil yang berurusan dengan kelompok orang yang meminta pinjaman (Proses)

Satrio Yudho, 2010 4

Algoritma Bankir

� Mekanisme� Bankir adalah pemilik dana� Peminjaman disesuaikan dengan dana yang

ada� Pinjaman harus dikembalikan tepat waktu� Kehabisan dana adalah penyebab deadlock

Satrio Yudho, 2010 5

Algoritma Bankir

� Untuk sumber daya dengan instan banyak, ketika sebuah proses meminta sumber daya ia harus menunggu terlebih dahulu. Ketika sebuah proses telah mendapatkan semua sumber dayanya ia harus mengembalikannya dalam suatu batasan waktu.

Satrio Yudho, 2010 6

Implementasi Algoritma Bankir� Diketahui:

� Set P terdiri dari 2 proses (P1 &P2). � Set R terdiri dari 2 sumber daya(R1 & R2). R1 = 5

instan ; R2 = 2 instan � Implementasi menggunakan Algoritma Bankir.

Prioritas pada proses dengan indeks kecil Setelah semua sumber daya terpenuhi, proses akan mengembalikan semua sumber daya tsb. Gambarkan kondisi saat T0 sampai Tn saat kondisi semua sumber daya sudah dikembalikan ke R masing-masing!

Satrio Yudho, 2010 7

Implementasi Algoritma Bankir

R1

R2

P1

T0

P1

Satrio Yudho, 2010 8

Algoritma Bankir

R1

R2

P1 P1

T1

Satrio Yudho, 2010 9

Algoritma Bankir

R1

R2

P1 P1

T2

Satrio Yudho, 2010 10

Algoritma Bankir

R1

R2

P1 P1

T3

Satrio Yudho, 2010 11

Algoritma Bankir

� Pada saat T0, P1 mendapatkan 2 resource dari R1 pada saat bersamaan P1 meminta 2 resource ke R1 dan 1 resource ke R2. Sedangkan P2 mendapatkan 2 resource dari R1 dan pada waktu yang bersamaan P2 meminta 1 resource ke R1 dan 1 resource ke R2.

Satrio Yudho, 2010 12

Algoritma Bankir

� Pada saat T1, P1 belum mendapatkan resource yang dimintanya pada waktu T0 dari R2, karena P1 masih belum mendapatkan seluruh resource R1 . Alokasi dari R1 masih tetap terjadi karena pada P1 masih terjadi proses meminta resource R1. P1 masih belum mendapat alokasi karena resource R1 tidak mencukupi untuk diberikan ke P1. Sedangkan pada P2, request edge-nya ke R1 pada waktu T0 telah berubah menjadi assignment edge, karena request P2 dapat dipenuhi oleh R1. P2 juga memperoleh resource yang dimintanya pada waktu T0 dari R2

Satrio Yudho, 2010 13

Algoritma Bankir

� Pada saat T2 , P1 telah mendapatkan semua resource yang dimintanya dari R1, karena P2 telah melepaskan semua resource R1 yang dimilikinya.

� Pada saat T3, P1 telah melepaskan semua resource yang dimilikinya sehingga R1 dan R2 sudah mendapatkan semua resource-nya kembali dan sudah dapat digunakan oleh proses yang lain.

Satrio Yudho, 2010 14

Metode Pendeteksian

� Deadlock akan terjadi, jika dan hanya jika grafik tunggu memiliki siklus di dalamnya.Untuk mendeteksi deadlock, sistem harus memiliki grafik tunggu dan menjalankan algoritma deteksi deadlock secara periodik.

� Faktor faktor yang harus diperhatikan :� Frekuensi terjadinya deadlock pada umumnya� Jumlah proses yang akan terpengaruh ketika deadlock

terjadi

Satrio Yudho, 2010 15

Metode Pendeteksian

� Bila deadlock terjadi :� Jalankan algoritma deteksi� Kunci resource yang berada dalam deadlock� Cegah proses semakin bertambah

Satrio Yudho, 2010 16

Metode Pendeteksian

� Salah satu ciri terjadinya deadlock adalah ketika beberapa proses mengajukan permohonan untuk resource, tetapi permohonan ini tidak dapat dipenuhi dengan segera. Sistem dapat saja memanggil algoritma deteksi setiap kali permohonan untuk resource tidak dapat diperoleh dengan segera. Namun,semakin sering algoritma deteksi dipanggil, maka waktu overhead yang dibutuhkan untuk komputasi menjadi semakin besar.

Satrio Yudho, 2010 17

rangkuman

� Deadlock adalah suatu kondisi dimana proses tidak berjalan lagi ataupun tidak ada komunikasi lagi antar proses di dalam sistem operasi.deadlockdisebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang sedang menunggu sumber daya yang dipegang oleh proses tersebut.

� Untuk mendeteksi deadlock dan menyelesaikannya dapat digunakan graf sebagai visualisasinya. Jika dalam graf terlihat adanya perputaran, maka proses tersebut memiliki potensi terjadi deadlock . Namun, jika dalam graf tidak terlihat adanya perputaran, maka proses tersebut tidak akan terjadi deadlock.

Satrio Yudho, 2010 18

Selesai

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Pengelolaan MemoriSesi 15

Satrio Yudho, 2010 2

Tujuan� Memahami konsep memori� Alokasi memori

Satrio Yudho, 2010 3

Konsep memori

� Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu:

� Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU.

� Primary Memory (executable memory), berada di level tengah.

� Secondary Memory, berada di level bawah.

Satrio Yudho, 2010 4

Hirarki memori

Satrio Yudho, 2010 5

Memory manager

Bagian dari sistem operasi yang mengatur hirarki memori disebut dengan memory manager. Di era multiprogramming ini, memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses.

Satrio Yudho, 2010 6

Memory manager

Tujuan dari manajemen ini adalah untuk:� Meningkatkan utilitas CPU� Data dan instruksi dapat diakses dengan cepat oleh CPU

Satrio Yudho, 2010 7

Memory manager

Tujuan dari manajemen ini adalah untuk:1)Meningkatkan utilitas CPU

2)Data dan instruksi dapat diakses dengan cepat oleh CPU

3)Efisiensi dalam pemakaian memori yang terbatas

4) Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien

Satrio Yudho, 2010 8

Swap

� Proses swapping menukarkan sebuah proses keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi

Satrio Yudho, 2010 9

Swap

Satrio Yudho, 2010 10

Swap

� Teknik swapping roll out, roll in menggunakan algoritma berbasis prioritas dimana ketika proses dengan prioritas lebih tinggi tiba maka memory manager akan mengeluarkan proses dengan prioritas yang lebih rendah serta me-load proses dengan prioritas yang lebih tinggi tersebut.

Satrio Yudho, 2010 11

Swap

Sebagian besar waktu swapping adalah waktu transfer. Sebagai contoh kita lihat ilustrasi berikut ini:sebuah proses pengguna memiliki ukuran 5 MB, sedangkan tempat penyimpanan sementara yang berupa harddisk memiliki kecepatan transfer data sebesar 20 MB per detiknya. Maka waktu yang dibutuhkan untuk mentransfer proses sebesar 5 MB tersebut dari atau ke dalam memori adalah sebesar 5000 KB / 20000 KBps = 250 ms

Satrio Yudho, 2010 12

swap

� Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat mengurangi waktu swap.

Satrio Yudho, 2010 13

Pemetaan Memori

� Sistem operasi dan berbagai proses pengguna terletak di dalam memori utama. Oleh karena itu, kita harus menjaga agar proses diantara keduanya tidak bercampur dengan cara mengalokasikan sejumlah bagian memori tersebut untuk sistem operasi dan proses pengguna. Memori ini biasanya dibagi menjadi 2 bagian. Satu untuk sistem operasi, dan satu lagi untuk proses pengguna.

Satrio Yudho, 2010 14

Pemetaan Memori� Pada gambar dibawah ini kita dapat melihat bahwa sebuah proses

yang memiliki base register 30004 dan limit register 12090 akan dipetakan ke memori fisik dengan alamat awalnya sesuai dengan base register (30004) dan berakhir pada alamat (30004 + 12090 = 42094).

Satrio Yudho, 2010 15

Partisi memori

Satrio Yudho, 2010 16

Partisi memori

� Cara yang paling mudah mengatur memori adalah dengan membagi memori ke dalam beberapa partisi dengan ukuran yang tetap. Cara ini memungkinkan pembagian yang tidak sama rata. Tiap partisi dapat terdiri dari hanya satu buah proses. Sehingga derajat multiprogramming-nya dibatasi oleh jumlah partisi tersebut.

Satrio Yudho, 2010 17

Fragmentasi

� Fragmentasi merupakan fenomena munculnya lubang-lubang (ruang memori kosong) yang tidak cukup besar untuk menampung permintaan alokasi memori dari proses. Fragmentasi terdiri dari dua jenis:

� Fragmentasi Eksternal.� Fragmentasi Internal

Satrio Yudho, 2010 18

Berbagi Memori

� Berbagi halaman atau berbagi memori merupakan salah satu teknik yang dapat digunakan untuk menghemat pengalokasian memori. Keuntungan yang dapat diperoleh dari teknik berbagi halaman ini adalah suatu kode dapat digunakan secara bersama-sama.

Contoh :

Penggunaan program text editor membutuhkan 150KB kode dan 50KB data, jika 40 orang pengguna akan menjalankan text editor tersebut, butuh 8000KB space memori, terlalu besar ?

Satrio Yudho, 2010 19

Berbagi memori

� Cara efisiensi adalah dengan men share memori untuk kode 150KB, dan menduplikasi space data 50KB x 40 penguna

� Sehingga space yang diperlukan hanya 2150KB

Satrio Yudho, 2010 20

Berbagi memori

Satrio Yudho, 2010 21

Finish

Have you read the FaceBooks ?

Satrio Yudho, 2010 1

Sistem Operasi(Panduan Mudah Untuk Orang Biasa)

Keamanan SistemSesi 16

Satrio Yudho, 2010 2

Tujuan� Membahas aspek aspek keamanan sistem komputer dalam masyarakat

Satrio Yudho, 2010 3

Start before we ???

� Pada dasarnya seorang pengguna komputer sangat membutuhkan rasa kenyamanan ketika sedang mengoperasikannya. Kenyamanan tersebut dapat diperoleh salah satunya dari keamanan sistem yang dipakai.

Satrio Yudho, 2010 4

Masyarakat dan Etika

� Manusia memiliki etika� Manusia memiliki karakter

� Baik� Jahat

� Dalam konteks keamanan komputer, karakter jahat disebut intruder

Satrio Yudho, 2010 5

Masyarakat dan Etika

� Terdapat dua macam intruder :� Passive intruder, intruder yang hanya ingin

membaca berkas yang tidak boleh mereka baca.

� Active intruder, Lebih berbahaya dari passive intruder. Mereka ingin membuat perubahan yang tidak diizinkan (unauthorized) pada data.

Satrio Yudho, 2010 6

Masyarakat dan Etika

� Ketika merancang sebuah sistem yang aman terhadap intruder, penting untuk mengetahui sistem tersebut akan dilindungi dari intruder macam apa. Empat contoh kategori:

� Keingintahuan seseorang tentang hal-hal pribadi orang lain

� Penyusupan oleh orang-orang dalam� Keinginan untuk mendapatkan uang.� Keinginan untuk mendapatkan uang.

Satrio Yudho, 2010 7

Kebijaksanaan Keamanan

� Kebijaksanaan pengamanan yang biasa digunakan yaitu yang bersifat sederhana dan umum Dalam hal ini berarti tiap pengguna dalam sistem dapat mengerti dan mengikuti kebijaksanaan yang telah ditetapkan

� Ada tiga aspek dalam mekanisme pengamanan (proteksi):� Identifikasi user (Autentikasi)� Penentuan autorisasi� Pemakaian akses

Satrio Yudho, 2010 8

Keamanan Fisik� Keamanan fisik menyangkut tindakan mengamankan lokasi

adanya sistem komputer terhadap intruder yang bersenjata atau yang mencoba menyusup ke dalam sistem komputer. Pertanyaan yang harus dijawab dalam menjamin keamanan fisik antara lain:

� Siapa saja yang memiliki akses langsung ke dalam sistem?

� Apakah mereka memang berhak?� Dapatkah sistem terlindung dari maksud dan tujuan

mereka?� Apakah hal tersebut perlu dilakukan?

Satrio Yudho, 2010 9

Keamanan Perangkat Lunak

� Contoh dari keamanan perangkat lunak yaitu BIOS. BIOS merupakan perangkat lunak tingkat rendah yang mengkonfigurasi atau memanipulasi perangkat keras tertentu. BIOS dapat digunakan untuk mencegah penyerang mereboot ulang mesin dan memanipulasi sistem LINUX.

Satrio Yudho, 2010 10

Keamanan Jaringan

� Pada dasarnya, jaringan komputer adalah sumber daya (resources) yang dibagi dan dapat digunakan oleh banyak aplikasi dengan tujuan berbeda. Kadang-kadang, data yang ditransmisikan antara aplikasi-aplikasi merupakan rahasia, dan aplikasi tersebut tentu tidak mau sembarang orang membaca data tersebut.

� Sebagai contoh,

� Penggunaan key di transaksi online� Secure login� Secure shell� dsb..

Satrio Yudho, 2010 11

Operasional

� Keamanan operasional (operations security) adalah tindakan apa pun yang menjadikan sistem(Jaringan, komputer, lingkungan) beroperasi secara aman, terkendali, dan terlindung.

� Keamanan sistem dalam 24 jam 7 hari seminggu�

Satrio Yudho, 2010 12

Operasional

Kategori utama dari kontrol keamanan operasional antara lain:� Kendali Pencegahan (Preventative Control).� Kontrol Pendeteksian (Detective Control).� Kontrol Perbaikan (Corrective/Recovery Control)

Satrio Yudho, 2010 13

rangkuman

Data atau informasi penting yang seharusnya tidak dapat diakses oleh orang lain mungkin dapat diakses, baik dibaca ataupun diubah oleh orang lain. Kita harus mempunyai suatu mekanisme yang membuat pelanggaran jarang terjadi. Ketika merancang sebuah sistem yang aman terhadap intruder, penting untuk mengetahui sistem tersebut akan dilindungi dari intruder macam apa. Untuk menjaga sistem keamanan sebuah komputer dapat dicapai dengan berbagai cara, antara lain:

Satrio Yudho, 2010 14

rangkuman

� Keamanan Fisik. Hal ini tergantung oleh anggaran dan situasi yang dihadapi.

� Keamanan Perangkat Lunak. Contoh dari keamanan perangkat lunak yaitu BIOS.

� Keamanan Jaringan. Yaitu dengan cara kriptografi.DRP (Disaster Recovery Plan) terkandung di dalam BCP (Business Continuity Plan). Konsep dasar DRP harus dapat diterapkan pada semua perusahaan. Proses audit bertujuan untuk memeriksa apakah sistem komputer berjalan dengan semestinya.