Sistem Operasi - Satrio Yudho
-
Upload
khangminh22 -
Category
Documents
-
view
1 -
download
0
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 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 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 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 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 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 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 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.