proses dan penjadwalan · konsep proses v proses adalah suatu program yang sedang dieksekusi ......
TRANSCRIPT
![Page 1: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/1.jpg)
Proses dan Penjadwalan
![Page 2: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/2.jpg)
Proses dan Penjadwalan
v Konsep Prosesv Penjadualan Prosesv Interaksi Prosesv Komunikasi Antar Prosesv Konsep Threadv Ilustrasi Thread dengan Linux dan Javav Konsep Dasar dan Kriteria Penjadualan;v Algoritma Penjadwalanv Penjadwalan Multiprocessorv Real Time System
![Page 3: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/3.jpg)
Konsep Proses
v Proses adalah suatu program yang sedang dieksekusiv Suatu proses meliputi:à Program counter
Tempat untuk menyimpan alamat suatu proses yang akan dieksekusi selanjutnya
à Stacktempat penyimpanan temporary data yang dibutuhkan selama program dieksekusi
à Data sectionmengandung variabel global dari suatu proses
![Page 4: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/4.jpg)
Status Proses
Suatu proses dapat berstatus:v New: pada saat proses pertama kali dibuatv Running: pada saat proses sedang dieksekusivWaiting: proses menunggu suatu event lain (contoh:
proses I/O)v Ready: proses siap untuk diekseskusiv Terminated: pada saat proses sudah selesai dieksekusi
![Page 5: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/5.jpg)
Diagram Status Suatu Proses
![Page 6: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/6.jpg)
PCB (Process Control Block)
v Setiap proses direpresentasikan kedalam sistem operasi oleh PCB
v PCB meliputi informasi yang berhubungan dengan proses:à Process stateà Program counterà CPU registersà CPU scheduling informationàMemory-management informationà Accounting informationà I/O status information
![Page 7: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/7.jpg)
PCB (Process Control Block)
![Page 8: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/8.jpg)
Penjadwalan Antrian
v Umumnya setiap proses akan berada dalam v beberapa tahap antrian :v job queue : ketika proses memasuki sistemv ready queue : proses yang hidup pada memori utama, siap
dan menunggu untuk di-eksekusiv device queue : bila proses tersebut menunggu peralatan
I/O tertentu
![Page 9: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/9.jpg)
Ready Queue dan BeberapaI/O Device Queue
![Page 10: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/10.jpg)
Diagram Antrian
![Page 11: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/11.jpg)
Penjadwal
Bertugas memproses antrian-antrianAda 2 macam :1. Long-term scheduler (or job scheduler) : menentukan
proses mana yang harus dimasukkan ke dalam ready queue.
2. Short-term scheduler (or CPU scheduler) : menentukan proses mana yang selanjutnya akan dieksekusi danmengalokasikan CPU
![Page 12: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/12.jpg)
Penjadwal Medium-term
![Page 13: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/13.jpg)
Yang perlu diketahui
v Short-term scheduler lebih sering dipanggil (hanya dalamwaktu millisecond).
v Long-term scheduler jarang dipanggil (dalam hitungandetik, menit).
v Proses dapat juga dibagi atas 2 macam :àI/O-bound process – menghabiskan waktu lebih banyak
untuk mengerjakan I/O daripada di CPUà short CPU bursts.
àCPU-bound process – jarang melakukan permintaanI/O, menggunakan lebih banyak waktunya di CPUà long CPU bursts
àSistem dengan kinerja yang terbaik akan memiliki kombinasi proses CPU bound dan I/O bound yang seimbang.
![Page 14: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/14.jpg)
Context Switch
![Page 15: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/15.jpg)
Context Switch
v Pada saat CPU beralih ke proses lain, sistem harus menyimpan state dari proses lama dan mengambil state dari proses yang baru.
v Tugas ini dilakukan oleh context switch
![Page 16: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/16.jpg)
Interaksi Proses
v Sistem operasi akhir-akhir ini menjalankan program secara simultan (concurrent).
v Program yang dijalankan secara simultan itu dapat bekerja sama dengan proses lain ataupun bekerja sendiri.
![Page 17: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/17.jpg)
Cooperating Processes
v Proses yang independen : proses yang tidak bisa dipengaruhi dan tidak bisa mempengaruhi proses lain
v Proses yang cooperating : proses yang bisa mempengaruhi atau dipengaruhi oleh proses lain
![Page 18: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/18.jpg)
Alasan dipakainya Cooperating Processes
vInformation SharingvComputation SpeedupvModularityvConvenience
![Page 19: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/19.jpg)
Information sharing
Menggunakan informasi(resource) yang sama untuk beberapa proses
![Page 20: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/20.jpg)
Computation Speedup
Suatu task tertentu bisa dipecah menjadi beberapa cooperating processes sehingga bisa dikerjakan secara paralel sehingga menjadi lebih cepat selesai
![Page 21: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/21.jpg)
Modularity
Pembuatan suatu sistem yang moduler dengan memecahkan fungsi-fungsi dari sistem tersebut menjadi beberapa proses atau thread
![Page 22: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/22.jpg)
Convenience
v User bisa dengan mudah mengerjakan sesuatu yang berbeda dalam waktu yang sama
v Contoh : satu user bisa saja secara bersamaan mengetik dan mengedit serta mencetak suatu halaman tertentu
![Page 23: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/23.jpg)
Contoh Coop. Processes : Consumer-Producer problem
v Produsen : memproduksi barangv Konsumer : menghabiskan barang
v Perlu diperhatikan bahwa barang yang diproduksi oleh produsen dan yang dihabiskan oleh konsumer adalah sama
![Page 24: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/24.jpg)
Consumer-Producer problem
v Suatu paradigma yang umum untuk cooperating processes
v Terdapat 2 macam consumer-producer problem:à Unbounded-bufferà Bounded-buffer
![Page 25: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/25.jpg)
Unbounded-buffer
Tidak adanya batas bagi produsen untuk memproduksi barang
![Page 26: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/26.jpg)
Bounded-buffer
v Adanya suatu batas bagi produsen untuk memproduksi barang
v Consumer harus menunggu sampai buffer kosong dan producer harus menunggu sampai buffer penuh.
![Page 27: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/27.jpg)
Client mengirim pesan berisi
parameter dan prosedure yang akan
dipanggil
Client mengirim pesan berisi
parameter dan prosedure yang akan
dipanggil
Client
Server membaca parameter dan menjalankan
prosedur yang dipanggil
Server membaca parameter dan menjalankan
prosedur yang dipanggil
Server
Client menunggu response
Client menunggu response
Server menungguclient
Server menungguclient
Client mengirim pesan berisi
parameter dan prosedure yang akan
dipanggil
Client mengirim pesan berisi
parameter dan prosedure yang akan
dipanggil
Proses danparameter
Server mengirim hasilnya ke client
Server mengirim hasilnya ke client
Output
Server menungguclient
Server menungguclient
RPC (Remote Procedure Call)
![Page 28: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/28.jpg)
Kelebihan RPC (1)
v Relatif mudah digunakan:àPemanggilan remote procedure tidak jauh berbeda
dibandingkan pemanggilan local procedure. Sehingga pemrogram dpt berkonsentrasi pd software logic, tidak perlu memikirkan low level details spt soket, marshalling & unmarshalling.
v Relatively portable:à S/w developed using RPC is easier to be ported
compared to sockets.
![Page 29: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/29.jpg)
Kelebihan RPC (2)
vRobust:àSejak th 1980-an RPC telah banyak digunakan dlm
pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.
![Page 30: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/30.jpg)
Kekurangan RPC
v Tidak fleksibel thdp perubahan:àStatic relationship between client & server at run-time.
v Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.
![Page 31: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/31.jpg)
Format Pesan RPC
v Tipe Pesan. Bisa call(0) atau reply(1).v Status Pesan. Bisa berbeda tergantung jenis operasi call
atau reply. v Rpcvers. Versi RPC (integer tidak bertanda). v Prog, vers and proc. Menjelaskan semua detil dari remote
prosedur (integer tidak bertanda).v Cred. Credentials Autentikasi.v Verf. Verifikasi Autentikasi.v Prosedure parameter.
![Page 32: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/32.jpg)
Java RMI (1)
vMemungkinkan kita untuk menulis sebuah object yang dapat diakses secara remote.
v Stub dan skleton bertindak sebagai proxy antara client dan server
v Stub dan Skleton dapat dibuat/compile melalui interface yang kita buat menggunkan tool rmic (rmi compiler), dimana semua remote method didefinisikan.
![Page 33: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/33.jpg)
Java RMI (2)
v Interface mendifinisikan semua remote method yang kita sediakanpublic interface StatsInterface extends
Remote {int getNama(int uid) throws RemoteException;int SetNama(String nama) throws RemoteException;
}
v Untuk membuat Stub dan Skleton gunakan : RMIC StatsInterFace
![Page 34: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/34.jpg)
Server
ClientClient
Client
RMI RMI
RMI
DBJDBC
Remote Object
Java RMI (3)
![Page 35: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/35.jpg)
Stub & Skeleton
Proxy untukremoteObject.
Client Server
Stub class
Skeleton class
Register Pesan
Transport Layer
Remote object
Mengatur remote reference
![Page 36: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/36.jpg)
Socket
Apa itu Socket?v Sebuah programming interface ke OS yang
memungkinkan proses untuk saling berkomunikasi ke proses lainya
v Eksekusi TCP/UDP berlangsung di level kernel, socket bertindak sebagai jembatan ke user space.
v Di java ada 4 jenis socketàDatagramSocket – untuk UDPàMulticastSocket – turunan dari DatagramSocketàServerSocket – untuk TCP serveràSocket – endpoint dari TCP stream
![Page 37: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/37.jpg)
process
TCP withbuffers,variables
socket
DikendalikanOleh programer
ClientAtau server
process
TCP withbuffers,variables
socket
DikendalikanOleh programer
DikendalikanOleh OS
ClientAtau server
internetDikendalikanOleh OS
Ilustrasi Socket
![Page 38: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/38.jpg)
Threads
• Definisi: unit dasar dari penggunaan CPU, threadterdiri dari thread ID, program counter, setregister, dan stack.
• Thread juga sering disebut Lightweight process.• Thread berbagi code section, data section, dan
sumber daya sistem operasi dengan thread lain yang termasuk dalam proses yang sama.
• Proses tradisional ( Heavyweight process ) mempunyai thread tunggal yang berfungsi sebagai pengontrol.
![Page 39: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/39.jpg)
Keuntungan Thread (1)
v Responsiveness : Melakukan multithreading pada aplikasiyang interaktif dapat membuat program terus berjalan meskipun bagian dari program tersebut diblok atau sedang menjalankan operasi yang panjang, karena itu dapat meningkatkan respon kepada user.
v Resource sharing : sebuah aplikasi dapat mempunyai beberapa thread yang berbeda dalam sebuah alamat memori yang sama karena Thread berbagi memori dan sumber daya dari proses yang memilikinya.
![Page 40: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/40.jpg)
Keuntungan Thread (2)
v Economy: karena mahal untuk mengalokasikan memori dan sumber daya untuk pembuatan proses. Alternatifnya adalah dengan pengunaan thread sebab thread berbagi sumber daya dari proses yang memilikinya oleh sebab itu akan lebih ekonomis untuk membuat sebuah thread
v Utilization of multiproccesor architectures: keuntungan dari multithreading dapat meningkat secara drastis dalam arsitektur multiprosesor, dimana setiap threaddapat berjalan secara pararel pada prosesor yang berbeda.
![Page 41: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/41.jpg)
User dan Kernel Threads (1)User ThreadsUser threads didukung diatas kernel dan diimplementasikan oleh thread library pada level user. Library mendukung pembuatan thread, penjadwalan, dan manajemen tanpa dukungan dari kernel. Karena kernel tidak menyadari adanyauser-level threads maka pembuatan semua thread dan penjadwalan dilakukan di dalam user space tanpa intervensi dari kernel.
![Page 42: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/42.jpg)
User dan Kernel Threads (2)
Kernel ThreadsKernel threads didukung secara langsung dari sistem operasi. Pembuatan thread, penjadwalan, dan manajemen dilakukan oleh sistem operasi, secara umum kernel threads lebih lambat untuk dibuat dan diatur dibanding user thread.
![Page 43: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/43.jpg)
Multithreading Models( Many to One Model )
Many to One Model memetakan beberapa user-levelthreads ke satu kernel threads.
![Page 44: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/44.jpg)
Multithreading Models ( One to One Model )
One to One model memetakan setiap user thread ke kernel thread.
![Page 45: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/45.jpg)
Multithreading Models( Many to Many Model )
Many to many model memetakan banyak user-level thread ke kernel thread yang lebih sedikit atau sama.
![Page 46: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/46.jpg)
Fork
Bila sebuah thread di program memanggil fork maka ada dua skenario yang bisa terjadi :
1. Semua thread akan diduplikasi.2. Hanya thread yang memanggil fork yang akan
didupliakasi.
![Page 47: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/47.jpg)
Cancellationv Thread cancellation adalah sebuah tugas untuk
memberhentikan thread sebelum thread tersebut selesai.v Thread yang akan diberhentikan disebut target thread.v Dua skenario thread cancellationn :
1. Asynchronous cancellation : satu thread memberhentikan target thread seketika itu juga.
2. Deferred cancellation : target thread secara periodik dapat mengecek apakah ia harus berhenti, skenario ini memberi kesempatan kepada target thread untuk memberhentikan dirinya sendiri.
![Page 48: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/48.jpg)
Signal Handling (1)
v Sebuah sinyal digunakan di sistem UNIX untuk memberitahu sebuah proses kalau peristiwa tertentu sedang terjadi.
v Pola sinyal :- Sebuah sinyal diaktifkan oleh munculnya suatu peristiwa.- Sinyal yang diaktifkan dikirim ke proses.- Sesudah dikirim, sinyal tersebut harus ditangani.
![Page 49: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/49.jpg)
Signal Handling (2)
v Setiap sinyal bisa ditangani oleh salah satu dari 2 handleryang ada :1. A default signal handler2. A user defined signal handler
v Beberapa pilihan kemana sebuah sinyal seharusnya dikirim :1. Mengirim sinyal ke thread yang dituju.2. Mengirim sinyal ke semua thread dalam proses.3. Mengirim sinyal ke thread tertentu dalam proses.4. Menugaskan thread khusus untuk menerima semua sinyalyang ditujukan pada proses tersebut.
![Page 50: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/50.jpg)
Thread Pools (1)
v Gagasan umum :Membuat beberapa thread pada start-up proses dan menempatkan mereka ke dalam sebuah pool dimana mereka diam dan menunggu untuk bekerja.
v Keuntungan :à Biasanya lebih cepat untuk melayani sebuah
permintaan dengan thread yang ada dibanding menunggu thread tersebut dibuat.
à Thread pool membatasi jumlah thread yang ada pada suatu waktu. Hal ini penting pada sistem yang tidak bisa mendukung banyak concurrent thread
![Page 51: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/51.jpg)
Thread Pools (2)
v Thread specific dataDuplikat data tertentu dari suatu thread pada suatu situasi.
v PthreadsMerujuk kepada POSIX standard ( IEEE 1003 . 1 c ) mendefinisikan API untuk pembuatan thread dan sinkronisasi. Ini merupakan spesifikasi thread behaviourdan bukan merupakan implmentasi. Desainer OS boleh mengimplementasikan spesifikasi tersebut dalam cara apapun yang mereka mau.
![Page 52: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/52.jpg)
Linux Threads (1)
v Threads pada linux mulai digunakan di kernel versi 2.2
v Threads lebih dianggap sebagai tasks
![Page 53: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/53.jpg)
Linux Threads (2)
v Linux menyediakan 2 system call :àfork()àclone()
v clone() mirip seperti fork(), namun selain meng-copy proses yang memanggilnya, method ini membuat proses baru yang berbagi address space yang sama dengan prosesyang memanggilnya.
![Page 54: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/54.jpg)
Java Threads (1)
v Threads di Java dibuat dengan cara :àmeng-extends class Threadsàmen-implement interface Runnable
v Threads di Java diatur oleh Java Virtual Machine (JVM)
![Page 55: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/55.jpg)
Java Threads (2)
v Keunggulan Java Threads adalah:ÒJVM menggunakan prioritas preemptive berdasarkan
algoritma penjadualanÒSemua threads di Java mempunyai prioritas. Prioritas
tertinggi dijadualkan untuk dieksekusi oleh JVMÒJika ada 2 thread yang prioritasnya sama, digunakan
algoritma First In First Out (FIFO)
![Page 56: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/56.jpg)
Java Threads (3)
v Keadaan Threads di Java dibagi menjadi 4 keadaan :à new: sebuah thread pada keadaan ini ada ketika
objek dari thread tersebut dibuat
à runnable: memanggil start() method untuk mengalokasikan memori bagi thread baru dalam JVM dan memanggil run() method untuk membuat objek.
![Page 57: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/57.jpg)
Java Threads (4)
à block: sebuah thread akan diblok jika menampilkan sebuah kalimat pengeblokan. Contohnya: sleep() ataususpend()
à dead: sebuah thread dipindahkan ke keadaan dead ketikarun() method berhenti atau ketika stop() methoddipanggil.
![Page 58: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/58.jpg)
Konsep Dasar Kriteria Penjadwalan (1)
v Tujuan Utama : untuk mempunyai proses berjalan secara bersamaan, untuk memaksimalkan kinerja dari CPU.
v Pemanfaatan CPU maksimum diperoleh dengan multiprograming
v CPU-I/O Burst Cycle- Pelaksanaan proses terdiri dari suatu siklus tunggu I/O dan eksekusi CPU
![Page 59: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/59.jpg)
Konsep Dasar Kriteria Penjadwalan (1)
v Distribusi Burst CPU
![Page 60: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/60.jpg)
Penjadwal CPU (1)
v Penjadwal memilih dari sekian proses yang ada di memori yang sudah siap dieksekusi, dan mengalokasikan CPU untuk mengeksekusinya
v Penjadwalan CPU mungkin akan dijalankan ketika proses:
1. Berubah dari running ke waiting state.2. Berubah dari running ke ready state.3. Berubah dari waiting ke ready.4. Terminates.
![Page 61: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/61.jpg)
Penjadwal CPU (2)
• Penjadwalan 1 dan 4 adalah non preemptive; Maksudnya adalah Dalam penjadual nonpreemptive sekali CPU telah dialokasikan untuk sebuah proses, maka tidak bisa di ganggu, contoh pada windows 3.x
• Selain itu bersifat preemptive
![Page 62: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/62.jpg)
Dispatcher
vArti :Modul pemberi kontrol CPU ke proses, fungsi ini meliputi :à switching contextà switching to user modeà Lompat dari suatu bagian di progam user
untuk mengulang progam.vDispatch Latency :waktu yang dibutuhkan untuk
menstop satu proses dan menjalankan proses lainnya
![Page 63: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/63.jpg)
Kriteria Penjadwalan
v Adil (fairness)v Utilisasi CPU (utilization)v Throughput v Turnaround TimevWaktu Tunggu(waiting time)vWaktu Respon(respond time)
![Page 64: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/64.jpg)
Kriteria Optimasi
v Biasanya yang dilakukan adalahvMemaksimalkan CPU utilization dan throughputvMeminimalkan turnaround time, waiting time, dan
response timev Dalam situasi tertentu diambil rata-rata
![Page 65: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/65.jpg)
Algoritma Penjadwalan
v First-Come, First-Servedv Shortest-Job-Firstv Priorityv Round-RobinvMultilevel QueuevMultilevel Feedback Queue
![Page 66: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/66.jpg)
First-Come, First-Serve (1)
vProses pertama yg datang, mendapat alokasi CPU (implementasi antrian FIFO)
CPU
CPU
1 2 3 4 5
2 3 4 5
![Page 67: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/67.jpg)
First-Come, First-Serve (2)vAvg waiting time is often quite long
0 8 9 10
0 1 2 10
vEfek konvoivnonpreemptive
![Page 68: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/68.jpg)
Shortest-Job-First
vMendahulukan proses dengan burst time terkecil (shortest next CPU burst)
v Avg waiting time terkecil (optimal)
v Sulit menentukan panjang CPU burst (prediksi)
v Preemptive or not. Preemptive=shortest-remaining-time-first
![Page 69: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/69.jpg)
Priority
v Tiap proses diberikan skala prioritas
v Skala bisa ditentukan secara internal/eksternal
v Preemptive or not.
v Indefinite blocking (starvation), diatasi dengan aging
![Page 70: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/70.jpg)
Round-Robin
v Preemptive first-come, first-served
v Digilir selama time quantum
v Performa tergantung besar time quantum. Time quantum sangat besar (infinit), akan seperti FCFS. Kalau terlalu kecil, context switch terlalu banyak
![Page 71: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/71.jpg)
Multilevel Queue
v Terdiri dari beberapa antrian (queue)
v Tiap antrian mempunyai skala prioritas
v Antrian tidak akan mendapat jatah CPU, selama masih ada antrian dg prioritas lebih tinggi yg belum mendapat jatah
![Page 72: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/72.jpg)
![Page 73: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/73.jpg)
Multilevel Feedback Queue
v Proses bisa pindah antar antrian
v Umumnya antrian high priority menggunakan RR, yang rendah FCFS
v Parameternya1. Jumlah antrian2. Algoritma tiap antrian3. Kapan naik4. Kapan turun5. Yang mana yang mendapat jatah, jika diperlukan
![Page 74: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/74.jpg)
Penjadwalan Multiprocessor (1)
v Sistem yg dimaksud adalah homogen – dimana tiap prosesor memiliki fungsi yg sama.
v Asumsi bahwa tiap proses dapat mengakses memori dgn cara yg sama [Uniform Memory Access]
v Pembatasan dalam penjadwalan juga terjadi dalam Multi-Prosesor. Misalnya ; kemungkinan adanya load sharing.
v Untuk mengatasi hal itu maka tiap prosesor memiliki kemampuan penjadwalan mandiri [self-scheduling].
vMasalah lain yg mungkin terjadi, yaitu kemungkinan terlewatinya sebuah proses dari antrian [ready queue] atau beberapa prosesor memilih untuk mengeksekusi proses ygsama.
![Page 75: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/75.jpg)
Penjadwalan Multiprocessor (2)
v Sebuah Master-Slave Structure digunakan untuk menjawab permasalahan seperti itu.
vMaster-Slave structure adalah suatu struktur dimana satu prosesor ditunjuk sebagai Master. Master inilah yg akan bertanggung jawab dalam hal penjadwalan, memproses I/O, dan sebagainya. Sedangkan prosesor yg lain [Slave] hanya bertugas untuk mengeksekusi user code.
v Hal ini disebut juga sebagai Asymmetric multiprocessing, krn hanya satu prosesor yg dpt mengakses struktur data dari sistem.
![Page 76: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/76.jpg)
Real Time Scheduler
v Definisiv Pembagian Real Timev Diagram Real Time
![Page 77: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/77.jpg)
Pembagian Real Time
I. Hard-Real Time
v Menjamin proses dapat diselesaiken dengan tepat waktu.
v Pada saat proses dikirim,terdapat statement yang menyatakan jumlah waktu yang diperlukan untukmenyelesaikan proses tersebut.
v Scheduler memainkan peranan yang penting.
v Jika permintaan alokasi waktu terlalu besar,maka scheduler akan menolaknya.
![Page 78: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/78.jpg)
Pembagian Real Time
II. Soft-Real Time
v Memiliki keterbatasan yang lebih rendah dari hard-time system.
v Critical task diberikan prioritas yang lebih tinggi dari yang lainnya.
v Memerlukan desain scheduler yang lebih cermat, karena harus men-set prioritas.
v Dapat menyebabkan pembagian resource yang kurang adil, delay yang lama, sampai terjadinyastarvation.
![Page 79: Proses dan Penjadwalan · Konsep Proses v Proses adalah suatu program yang sedang dieksekusi ... simultan (concurrent). vProgram yang dijalankan secara simultan itu dapat bekerja](https://reader033.vdocuments.mx/reader033/viewer/2022052808/606fee9020c239650627d621/html5/thumbnails/79.jpg)
Diagram Real Time
# Setelah deadline, prosesberhenti bertahap.
# Setelah deadline,proses langsung berhenti.