SlideShare a Scribd company logo
MODUL 4 SISTEM OPERASI
Threads
1. Pokok Bahasan
1. Threads
2. Implementasi Multiple Threads pada sebuah prosesor
3. Komunikasi Multiple Threads
4. Scheduling
2. Threads
2.1 Definisi
 Thread adalah sebuah konteks eksekusi yang terjadwal
o Program counter, stack, register
 Program sederhana menggunakan satu thread per proses
 Terdapat pula program multi-threaded.
o Multiple threads berjalan pada ruamg alamat proses yang sama
Mengapa Perlu Thread?
o Abstraksi yang paling populer untuk concurrency
o Abstraksi yang lebih ringan daripada proses
o Semua thread dalam satu proses berbagi memori, deskriptor file dll.
o Memungkinkan satu proses untuk menggunakan multiple CPU atau core
o Memungkinkan program untuk overlap I/O dan komputasi
o Memiliki manfaat yang sama dengan S.O menjalankan emacs dan gcc secara
serentak.
o Mis. Threaded web server melayani client secara serentak :
for ( ; ; ) {
fd = accept_client ( ) ;
thread_create ( se r vi c e _ c l i e nt , &fd);
}
o Kebanyakan kernel memiliki threads juga
o Biasanya paling tidak satu kernel thread untuk tiap proses.
Jenis Thread
 Kernel thread
 One to one user-space thread
 Many to one
 Many to many
Jangan dicampurkan dengan hardware threads/SMT/Hyperthreading  Pada ini CPU memberikan lebih
banyak sumber daya fisik untuk thread
Thread package API
• t i d thread_create (void (*fn) (void * ) , void * ) ;
- Create a new thread, run fn with arg
• void thread_exit ( ) ;
- Destroy currentthread
• void thread_join ( t i d th rea d );
- Wait for thread thread to exit
2.2 Kernel thread
 Merupakan konteks eksekusi multiple (multiple execution context) di dalam kernel
o Seperti dalam Java Virtual machine (JVM)
 Dapat mengimplementasikan thread_create sabagai sebuah system call
 Lebih cepat dari sebuah proses tapi lebih berat
 Tidak berkaitan atau menyatakan apapun tentang user space
o Memerlukan pergantian konteks (context switch) dari/ke proses user.
 Arsitektur Kernel
o Berapa banyak stack terdapat pada kernel?
o Unix edisi 6 memiliki satu kernel stack per proses.
 Pada stack yang manakah penjadwal thread (thread scheduler) berjalan? Jawab: Pada
thread pertama (#1)
 dua thread untuk setiap context switch.
o S.O lain (mis Barrelfish) memiliki satu kernel stack per CPU
2.3 User-spaceThreads
 Diimplementasikan sebagai pustaka tingkat user (user-level library )a.k.a green threads
o Satu kernel thread per proses
o thread_create, thread_exit dll hanyalah fungsi pustaka
Mengimplementasikan user-level threads
 Mengalikasikan sebuah stack baru untuk tiap thread_create
 Mengantrikan threads yang dapat dijalankan (runnable threads)
 Mengganti pemanggilan sistem jaringan (networking system call) (read/write/dll)
o Bila operasi akan mem-blok, mengganti (switch) dan berjalan (run) pada thread yang berbeda
 Menjadwalkan sinyal timer periodik (settimer)
o Pindah ke thread lain pada sinyal timer (preemption)
 Contoh server web multi_threaded :
o Thread memanggil read untuk mendapatkan data dari web browser remote
Opsi pada User Space Threads:
 Mengimplementasikan threads didalam sebuah proses (satu kernel thread)
 Multiple kernel threads dalam sebuah proses
 Kombinasi keduanya
Many –to-one threads
 Pustaka thread (thread libraries) awal (dulu) :
o Green Thread (Original Java VM)
o GNU portable thread
 Sering disebut sebagai thread level user murni (“pure user-level thread)
o Alias thread ringan (lightweight thread)
o Tidak diperlukan dukungan kernel
One-to-one User Threads
 Tiap user thread adalah/memiliki sebuah kernel thread
 Ekuivalen dengan :
o Lebih dari 1 proses berbagi satu addrece space
 Package thread S.O. paling moderen:
o Linnux, Solaris, Windows XP, MacOSX, etc
Perbandingan
User-level threads
 Murah untuk dibuat dan di-destroy
 Cepat dalam pergantian konteks (context switch)
 Dapat memblok keseluruhan proses (tidak hanya system call)
One-to-one threads
 Menggunakan memori (kernel stack)
 Lambat untuk melakukan switch
 Gampang dijadwalkan
 Menangani blocking dengan baik

Many-to-many Threads
 Me-multiplex-kan user-level thread dalam beberapa kernel-level thread.
 Satu langkah untuk sebuah multiprosesor
 Dapat “menempelkan” user thread kepada kernel thread untuk meningkatkan kinerja/
prediksi.
 Cost untuk migrasi thread “menarik”
Kuis 4.1 : Gambarkan bagan Jenis-jenis Thread dan berikan penjelasannya serta ilustrasi masing
masing jenis thread tsb.
Sumber :
http://www.inf.tu-dresden.de/index.php?node_id=1312&ln=en
http://spcl.inf.ethz.ch/Teaching/2016-osnet/
http://www.scs.stanford.edu/17wi-cs140/notes/

More Related Content

What's hot

power point Cloud computing
power point Cloud computingpower point Cloud computing
power point Cloud computing
Fajar Satrio
 
Pertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanPertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi Pengetahuan
Endang Retnoningsih
 
R2서버정진욱
R2서버정진욱R2서버정진욱
R2서버정진욱jungjinwouk
 
Discrete Event Simulation System
Discrete Event Simulation SystemDiscrete Event Simulation System
Discrete Event Simulation System
Givanny Permata Sari
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
Xionglong Jin
 
Ppt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem OperasiPpt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem Operasi
jahrataqim
 
Memory & object pooling
Memory & object poolingMemory & object pooling
Memory & object pooling
Nam Hyeonuk
 
Proses di Sistem Operasi
Proses di Sistem OperasiProses di Sistem Operasi
Proses di Sistem Operasi
eddie Ismantoe
 
Pengulangan dan Seleksi
Pengulangan dan SeleksiPengulangan dan Seleksi
Pengulangan dan Seleksi
STMIK Amikom Purwokerto
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)
rizki adam kurniawan
 
Deadlock
DeadlockDeadlock
Deadlock
eddie Ismantoe
 
Kriptografi - Data Encryption Standard
Kriptografi - Data Encryption StandardKriptografi - Data Encryption Standard
Kriptografi - Data Encryption Standard
KuliahKita
 
[RPL2] Activity Diagram
[RPL2] Activity Diagram[RPL2] Activity Diagram
[RPL2] Activity Diagram
rizki adam kurniawan
 
01 Pengatantar Basis Data
01 Pengatantar Basis Data01 Pengatantar Basis Data
01 Pengatantar Basis Data
Martin Arale
 
Laporan Project Pemrograman Berbasis Web
Laporan Project Pemrograman Berbasis WebLaporan Project Pemrograman Berbasis Web
Laporan Project Pemrograman Berbasis Web
smatrigger
 
XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
Publicis Sapient Engineering
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
Korteby Farouk
 
8 pengenalan input output
8 pengenalan input output8 pengenalan input output
8 pengenalan input output
Renol Doang
 
Socket Programming TCP Echo Client Server (Python)
Socket Programming  TCP Echo Client Server  (Python)Socket Programming  TCP Echo Client Server  (Python)
Socket Programming TCP Echo Client Server (Python)
Lusiana Diyan
 
Presentasi komputasi Pararel Procesing
Presentasi komputasi Pararel ProcesingPresentasi komputasi Pararel Procesing
Presentasi komputasi Pararel Procesing
Rahmawan06
 

What's hot (20)

power point Cloud computing
power point Cloud computingpower point Cloud computing
power point Cloud computing
 
Pertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanPertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi Pengetahuan
 
R2서버정진욱
R2서버정진욱R2서버정진욱
R2서버정진욱
 
Discrete Event Simulation System
Discrete Event Simulation SystemDiscrete Event Simulation System
Discrete Event Simulation System
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
 
Ppt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem OperasiPpt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem Operasi
 
Memory & object pooling
Memory & object poolingMemory & object pooling
Memory & object pooling
 
Proses di Sistem Operasi
Proses di Sistem OperasiProses di Sistem Operasi
Proses di Sistem Operasi
 
Pengulangan dan Seleksi
Pengulangan dan SeleksiPengulangan dan Seleksi
Pengulangan dan Seleksi
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)
 
Deadlock
DeadlockDeadlock
Deadlock
 
Kriptografi - Data Encryption Standard
Kriptografi - Data Encryption StandardKriptografi - Data Encryption Standard
Kriptografi - Data Encryption Standard
 
[RPL2] Activity Diagram
[RPL2] Activity Diagram[RPL2] Activity Diagram
[RPL2] Activity Diagram
 
01 Pengatantar Basis Data
01 Pengatantar Basis Data01 Pengatantar Basis Data
01 Pengatantar Basis Data
 
Laporan Project Pemrograman Berbasis Web
Laporan Project Pemrograman Berbasis WebLaporan Project Pemrograman Berbasis Web
Laporan Project Pemrograman Berbasis Web
 
XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
8 pengenalan input output
8 pengenalan input output8 pengenalan input output
8 pengenalan input output
 
Socket Programming TCP Echo Client Server (Python)
Socket Programming  TCP Echo Client Server  (Python)Socket Programming  TCP Echo Client Server  (Python)
Socket Programming TCP Echo Client Server (Python)
 
Presentasi komputasi Pararel Procesing
Presentasi komputasi Pararel ProcesingPresentasi komputasi Pararel Procesing
Presentasi komputasi Pararel Procesing
 

Similar to Modul SO : Threads

Materi pertemuan ke 4.ppt
Materi pertemuan ke 4.pptMateri pertemuan ke 4.ppt
Materi pertemuan ke 4.ppt
khairan marzuki
 
Konsep dasar thread programming
Konsep dasar thread programmingKonsep dasar thread programming
Konsep dasar thread programming
cyberbebek
 
Chapter 6 - Sister
Chapter 6 - SisterChapter 6 - Sister
Chapter 6 - Sister
beiharira
 
Modul SO : Proses
Modul SO : ProsesModul SO : Proses
Modul SO : Proses
DEDE IRYAWAN
 
Os04
Os04Os04
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptxSistem_Operasi_Informatika_Thread_Kelompok B2.pptx
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx
11211058
 
dokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptdokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.ppt
CrisnaLidya
 
Sistem Operasi_Thread campur sari
Sistem Operasi_Thread campur sariSistem Operasi_Thread campur sari
Sistem Operasi_Thread campur sari
Eka Ariyansyah
 
Modul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem OperasiModul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem Operasi
DEDE IRYAWAN
 
Sistem operasi terdistribusi
Sistem operasi terdistribusiSistem operasi terdistribusi
Sistem operasi terdistribusi
hofidatur
 
Rtos Wimax OSS Workshop
Rtos Wimax OSS WorkshopRtos Wimax OSS Workshop
Rtos Wimax OSS WorkshopSugeng Widodo
 
THREAD SO KELOMPOK 5.pptx
THREAD SO KELOMPOK 5.pptxTHREAD SO KELOMPOK 5.pptx
THREAD SO KELOMPOK 5.pptx
SIJuandryLomboan
 
Manajemen jaringan server c kelompok 4-artayahonest
Manajemen jaringan server c   kelompok 4-artayahonestManajemen jaringan server c   kelompok 4-artayahonest
Manajemen jaringan server c kelompok 4-artayahonest
Artaya Honest
 
Os ppt.4
Os ppt.4Os ppt.4
Os ppt.4
Imhaa Blue
 
Pert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutanPert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutan
Ical Militanmannojack
 
Proses and thread
Proses and thread Proses and thread
Proses and thread
Gus Dan
 
Presentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan TerdistribusiPresentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan Terdistribusi
Rahmawan06
 
Sistem operasi6
Sistem operasi6Sistem operasi6
Sistem operasi6
Rudy Handoko
 
Memory
MemoryMemory

Similar to Modul SO : Threads (20)

Materi pertemuan ke 4.ppt
Materi pertemuan ke 4.pptMateri pertemuan ke 4.ppt
Materi pertemuan ke 4.ppt
 
Sister 05 - proses
Sister   05 - prosesSister   05 - proses
Sister 05 - proses
 
Konsep dasar thread programming
Konsep dasar thread programmingKonsep dasar thread programming
Konsep dasar thread programming
 
Chapter 6 - Sister
Chapter 6 - SisterChapter 6 - Sister
Chapter 6 - Sister
 
Modul SO : Proses
Modul SO : ProsesModul SO : Proses
Modul SO : Proses
 
Os04
Os04Os04
Os04
 
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptxSistem_Operasi_Informatika_Thread_Kelompok B2.pptx
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx
 
dokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptdokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.ppt
 
Sistem Operasi_Thread campur sari
Sistem Operasi_Thread campur sariSistem Operasi_Thread campur sari
Sistem Operasi_Thread campur sari
 
Modul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem OperasiModul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem Operasi
 
Sistem operasi terdistribusi
Sistem operasi terdistribusiSistem operasi terdistribusi
Sistem operasi terdistribusi
 
Rtos Wimax OSS Workshop
Rtos Wimax OSS WorkshopRtos Wimax OSS Workshop
Rtos Wimax OSS Workshop
 
THREAD SO KELOMPOK 5.pptx
THREAD SO KELOMPOK 5.pptxTHREAD SO KELOMPOK 5.pptx
THREAD SO KELOMPOK 5.pptx
 
Manajemen jaringan server c kelompok 4-artayahonest
Manajemen jaringan server c   kelompok 4-artayahonestManajemen jaringan server c   kelompok 4-artayahonest
Manajemen jaringan server c kelompok 4-artayahonest
 
Os ppt.4
Os ppt.4Os ppt.4
Os ppt.4
 
Pert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutanPert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutan
 
Proses and thread
Proses and thread Proses and thread
Proses and thread
 
Presentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan TerdistribusiPresentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan Terdistribusi
 
Sistem operasi6
Sistem operasi6Sistem operasi6
Sistem operasi6
 
Memory
MemoryMemory
Memory
 

More from DEDE IRYAWAN

Riset Teknologi Informasi - Tugas 03 - Paper Review on “Naive Bayes Classifi...
Riset Teknologi Informasi - Tugas 03 -  Paper Review on “Naive Bayes Classifi...Riset Teknologi Informasi - Tugas 03 -  Paper Review on “Naive Bayes Classifi...
Riset Teknologi Informasi - Tugas 03 - Paper Review on “Naive Bayes Classifi...
DEDE IRYAWAN
 
APPLIED DATABASE III - Slide Arsitektur Data Mining
APPLIED DATABASE III - Slide Arsitektur Data MiningAPPLIED DATABASE III - Slide Arsitektur Data Mining
APPLIED DATABASE III - Slide Arsitektur Data Mining
DEDE IRYAWAN
 
APPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data PreprocessingAPPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data Preprocessing
DEDE IRYAWAN
 
Riset Teknologi Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
Riset Teknologi  Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...Riset Teknologi  Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
Riset Teknologi Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
DEDE IRYAWAN
 
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEKMANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
DEDE IRYAWAN
 
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEKMANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
DEDE IRYAWAN
 
TOEFL Exercise 22 Slide
TOEFL Exercise 22 SlideTOEFL Exercise 22 Slide
TOEFL Exercise 22 Slide
DEDE IRYAWAN
 
TOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMSTOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMS
DEDE IRYAWAN
 
TOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITIONTOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITION
DEDE IRYAWAN
 
TOEFL EXERCISE 14 - Listen for WISHES
TOEFL EXERCISE 14 - Listen for  WISHESTOEFL EXERCISE 14 - Listen for  WISHES
TOEFL EXERCISE 14 - Listen for WISHES
DEDE IRYAWAN
 
TOEFL Exercise 13 - Emphatic Expression of SURPRISE
TOEFL Exercise 13 - Emphatic Expression of SURPRISETOEFL Exercise 13 - Emphatic Expression of SURPRISE
TOEFL Exercise 13 - Emphatic Expression of SURPRISE
DEDE IRYAWAN
 
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTIONTOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
DEDE IRYAWAN
 
TOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENTTOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENT
DEDE IRYAWAN
 
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVETOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
DEDE IRYAWAN
 
TOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” ExpressionTOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
DEDE IRYAWAN
 
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONSTOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
DEDE IRYAWAN
 
TOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSIONTOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSION
DEDE IRYAWAN
 
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDSTOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
DEDE IRYAWAN
 
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINETOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
DEDE IRYAWAN
 
Kapita Selekta Applied Database : Slide 5 - Desain Penelitian
Kapita Selekta Applied Database : Slide 5 - Desain PenelitianKapita Selekta Applied Database : Slide 5 - Desain Penelitian
Kapita Selekta Applied Database : Slide 5 - Desain Penelitian
DEDE IRYAWAN
 

More from DEDE IRYAWAN (20)

Riset Teknologi Informasi - Tugas 03 - Paper Review on “Naive Bayes Classifi...
Riset Teknologi Informasi - Tugas 03 -  Paper Review on “Naive Bayes Classifi...Riset Teknologi Informasi - Tugas 03 -  Paper Review on “Naive Bayes Classifi...
Riset Teknologi Informasi - Tugas 03 - Paper Review on “Naive Bayes Classifi...
 
APPLIED DATABASE III - Slide Arsitektur Data Mining
APPLIED DATABASE III - Slide Arsitektur Data MiningAPPLIED DATABASE III - Slide Arsitektur Data Mining
APPLIED DATABASE III - Slide Arsitektur Data Mining
 
APPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data PreprocessingAPPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data Preprocessing
 
Riset Teknologi Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
Riset Teknologi  Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...Riset Teknologi  Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
Riset Teknologi Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
 
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEKMANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
 
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEKMANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
 
TOEFL Exercise 22 Slide
TOEFL Exercise 22 SlideTOEFL Exercise 22 Slide
TOEFL Exercise 22 Slide
 
TOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMSTOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMS
 
TOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITIONTOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITION
 
TOEFL EXERCISE 14 - Listen for WISHES
TOEFL EXERCISE 14 - Listen for  WISHESTOEFL EXERCISE 14 - Listen for  WISHES
TOEFL EXERCISE 14 - Listen for WISHES
 
TOEFL Exercise 13 - Emphatic Expression of SURPRISE
TOEFL Exercise 13 - Emphatic Expression of SURPRISETOEFL Exercise 13 - Emphatic Expression of SURPRISE
TOEFL Exercise 13 - Emphatic Expression of SURPRISE
 
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTIONTOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
 
TOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENTTOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENT
 
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVETOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
 
TOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” ExpressionTOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
 
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONSTOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
 
TOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSIONTOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSION
 
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDSTOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
 
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINETOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
 
Kapita Selekta Applied Database : Slide 5 - Desain Penelitian
Kapita Selekta Applied Database : Slide 5 - Desain PenelitianKapita Selekta Applied Database : Slide 5 - Desain Penelitian
Kapita Selekta Applied Database : Slide 5 - Desain Penelitian
 

Modul SO : Threads

  • 1. MODUL 4 SISTEM OPERASI Threads 1. Pokok Bahasan 1. Threads 2. Implementasi Multiple Threads pada sebuah prosesor 3. Komunikasi Multiple Threads 4. Scheduling 2. Threads 2.1 Definisi  Thread adalah sebuah konteks eksekusi yang terjadwal o Program counter, stack, register  Program sederhana menggunakan satu thread per proses  Terdapat pula program multi-threaded. o Multiple threads berjalan pada ruamg alamat proses yang sama Mengapa Perlu Thread? o Abstraksi yang paling populer untuk concurrency o Abstraksi yang lebih ringan daripada proses o Semua thread dalam satu proses berbagi memori, deskriptor file dll. o Memungkinkan satu proses untuk menggunakan multiple CPU atau core o Memungkinkan program untuk overlap I/O dan komputasi o Memiliki manfaat yang sama dengan S.O menjalankan emacs dan gcc secara serentak. o Mis. Threaded web server melayani client secara serentak :
  • 2. for ( ; ; ) { fd = accept_client ( ) ; thread_create ( se r vi c e _ c l i e nt , &fd); } o Kebanyakan kernel memiliki threads juga o Biasanya paling tidak satu kernel thread untuk tiap proses. Jenis Thread  Kernel thread  One to one user-space thread  Many to one  Many to many Jangan dicampurkan dengan hardware threads/SMT/Hyperthreading  Pada ini CPU memberikan lebih banyak sumber daya fisik untuk thread Thread package API • t i d thread_create (void (*fn) (void * ) , void * ) ; - Create a new thread, run fn with arg • void thread_exit ( ) ; - Destroy currentthread • void thread_join ( t i d th rea d ); - Wait for thread thread to exit 2.2 Kernel thread  Merupakan konteks eksekusi multiple (multiple execution context) di dalam kernel o Seperti dalam Java Virtual machine (JVM)  Dapat mengimplementasikan thread_create sabagai sebuah system call  Lebih cepat dari sebuah proses tapi lebih berat  Tidak berkaitan atau menyatakan apapun tentang user space o Memerlukan pergantian konteks (context switch) dari/ke proses user.
  • 3.  Arsitektur Kernel o Berapa banyak stack terdapat pada kernel? o Unix edisi 6 memiliki satu kernel stack per proses.  Pada stack yang manakah penjadwal thread (thread scheduler) berjalan? Jawab: Pada thread pertama (#1)  dua thread untuk setiap context switch. o S.O lain (mis Barrelfish) memiliki satu kernel stack per CPU
  • 4. 2.3 User-spaceThreads  Diimplementasikan sebagai pustaka tingkat user (user-level library )a.k.a green threads o Satu kernel thread per proses o thread_create, thread_exit dll hanyalah fungsi pustaka Mengimplementasikan user-level threads  Mengalikasikan sebuah stack baru untuk tiap thread_create  Mengantrikan threads yang dapat dijalankan (runnable threads)  Mengganti pemanggilan sistem jaringan (networking system call) (read/write/dll) o Bila operasi akan mem-blok, mengganti (switch) dan berjalan (run) pada thread yang berbeda  Menjadwalkan sinyal timer periodik (settimer) o Pindah ke thread lain pada sinyal timer (preemption)  Contoh server web multi_threaded : o Thread memanggil read untuk mendapatkan data dari web browser remote Opsi pada User Space Threads:  Mengimplementasikan threads didalam sebuah proses (satu kernel thread)  Multiple kernel threads dalam sebuah proses  Kombinasi keduanya Many –to-one threads  Pustaka thread (thread libraries) awal (dulu) : o Green Thread (Original Java VM) o GNU portable thread  Sering disebut sebagai thread level user murni (“pure user-level thread) o Alias thread ringan (lightweight thread) o Tidak diperlukan dukungan kernel
  • 5. One-to-one User Threads  Tiap user thread adalah/memiliki sebuah kernel thread  Ekuivalen dengan : o Lebih dari 1 proses berbagi satu addrece space  Package thread S.O. paling moderen: o Linnux, Solaris, Windows XP, MacOSX, etc
  • 6. Perbandingan User-level threads  Murah untuk dibuat dan di-destroy  Cepat dalam pergantian konteks (context switch)  Dapat memblok keseluruhan proses (tidak hanya system call) One-to-one threads  Menggunakan memori (kernel stack)  Lambat untuk melakukan switch  Gampang dijadwalkan  Menangani blocking dengan baik 
  • 7. Many-to-many Threads  Me-multiplex-kan user-level thread dalam beberapa kernel-level thread.  Satu langkah untuk sebuah multiprosesor  Dapat “menempelkan” user thread kepada kernel thread untuk meningkatkan kinerja/ prediksi.  Cost untuk migrasi thread “menarik” Kuis 4.1 : Gambarkan bagan Jenis-jenis Thread dan berikan penjelasannya serta ilustrasi masing masing jenis thread tsb. Sumber : http://www.inf.tu-dresden.de/index.php?node_id=1312&ln=en http://spcl.inf.ethz.ch/Teaching/2016-osnet/ http://www.scs.stanford.edu/17wi-cs140/notes/