SlideShare a Scribd company logo
1 of 7
Download to read offline
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

Membuat Desain Jaringan Lokal (LAN)
Membuat Desain Jaringan Lokal (LAN)Membuat Desain Jaringan Lokal (LAN)
Membuat Desain Jaringan Lokal (LAN)PT.INDONESIA MERDEKA
 
Network Layer
Network LayerNetwork Layer
Network Layerrosmida
 
JARINGAN KOMPUTER - kelas 7.pptx
JARINGAN KOMPUTER - kelas 7.pptxJARINGAN KOMPUTER - kelas 7.pptx
JARINGAN KOMPUTER - kelas 7.pptxRizaKurniawan25
 
IP Address,Sistem Bilangan dan Konversinya
IP Address,Sistem Bilangan dan KonversinyaIP Address,Sistem Bilangan dan Konversinya
IP Address,Sistem Bilangan dan KonversinyaRefita Dinda
 
Pert 04 clustering data mining
Pert 04 clustering   data miningPert 04 clustering   data mining
Pert 04 clustering data miningaiiniR
 
8 modul 8-dts-fitur dan cleaning data-univ-gunadarma
8 modul 8-dts-fitur dan cleaning data-univ-gunadarma8 modul 8-dts-fitur dan cleaning data-univ-gunadarma
8 modul 8-dts-fitur dan cleaning data-univ-gunadarmaArdianDwiPraba
 
Sistem Berkas 1
Sistem Berkas 1Sistem Berkas 1
Sistem Berkas 1Mrirfan
 
Pengenalan cloud-computing
Pengenalan cloud-computingPengenalan cloud-computing
Pengenalan cloud-computingPoss Upi
 
Tugas 2 Rangkuman OSI Layer & TCP/IP
Tugas 2 Rangkuman OSI Layer & TCP/IPTugas 2 Rangkuman OSI Layer & TCP/IP
Tugas 2 Rangkuman OSI Layer & TCP/IPRobby Firmansyah
 
MATERI JARINGAN NIRKABEL TKJ.pptx
MATERI JARINGAN NIRKABEL TKJ.pptxMATERI JARINGAN NIRKABEL TKJ.pptx
MATERI JARINGAN NIRKABEL TKJ.pptxrosminailham02
 
MATERI ROUTING STATIS (2).pptx
MATERI ROUTING STATIS (2).pptxMATERI ROUTING STATIS (2).pptx
MATERI ROUTING STATIS (2).pptxRamziNadhifHakim
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOahmad haidaroh
 

What's hot (20)

Membuat Desain Jaringan Lokal (LAN)
Membuat Desain Jaringan Lokal (LAN)Membuat Desain Jaringan Lokal (LAN)
Membuat Desain Jaringan Lokal (LAN)
 
Network Layer
Network LayerNetwork Layer
Network Layer
 
JARINGAN KOMPUTER - kelas 7.pptx
JARINGAN KOMPUTER - kelas 7.pptxJARINGAN KOMPUTER - kelas 7.pptx
JARINGAN KOMPUTER - kelas 7.pptx
 
Basis Data Terdistribusi
Basis Data TerdistribusiBasis Data Terdistribusi
Basis Data Terdistribusi
 
IP Address,Sistem Bilangan dan Konversinya
IP Address,Sistem Bilangan dan KonversinyaIP Address,Sistem Bilangan dan Konversinya
IP Address,Sistem Bilangan dan Konversinya
 
Pert 04 clustering data mining
Pert 04 clustering   data miningPert 04 clustering   data mining
Pert 04 clustering data mining
 
8 modul 8-dts-fitur dan cleaning data-univ-gunadarma
8 modul 8-dts-fitur dan cleaning data-univ-gunadarma8 modul 8-dts-fitur dan cleaning data-univ-gunadarma
8 modul 8-dts-fitur dan cleaning data-univ-gunadarma
 
Sistem Berkas 1
Sistem Berkas 1Sistem Berkas 1
Sistem Berkas 1
 
Pengenalan cloud-computing
Pengenalan cloud-computingPengenalan cloud-computing
Pengenalan cloud-computing
 
KD Menerapkan pengalamanatan ip pada jaringan komputer
KD Menerapkan pengalamanatan ip pada jaringan komputerKD Menerapkan pengalamanatan ip pada jaringan komputer
KD Menerapkan pengalamanatan ip pada jaringan komputer
 
Tugas 2 Rangkuman OSI Layer & TCP/IP
Tugas 2 Rangkuman OSI Layer & TCP/IPTugas 2 Rangkuman OSI Layer & TCP/IP
Tugas 2 Rangkuman OSI Layer & TCP/IP
 
Protocolo de capa 5
Protocolo de capa 5Protocolo de capa 5
Protocolo de capa 5
 
Memory
MemoryMemory
Memory
 
MATERI JARINGAN NIRKABEL TKJ.pptx
MATERI JARINGAN NIRKABEL TKJ.pptxMATERI JARINGAN NIRKABEL TKJ.pptx
MATERI JARINGAN NIRKABEL TKJ.pptx
 
C I D R
C I D RC I D R
C I D R
 
Laporan praktikum jarkom_3
Laporan praktikum jarkom_3Laporan praktikum jarkom_3
Laporan praktikum jarkom_3
 
Sistem bus komputer
Sistem bus komputerSistem bus komputer
Sistem bus komputer
 
MATERI ROUTING STATIS (2).pptx
MATERI ROUTING STATIS (2).pptxMATERI ROUTING STATIS (2).pptx
MATERI ROUTING STATIS (2).pptx
 
Standard IEEE
Standard IEEEStandard IEEE
Standard IEEE
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
 

Similar to MODUL 4 SISTEM OPERASI: THREADS

Materi pertemuan ke 4.ppt
Materi pertemuan ke 4.pptMateri pertemuan ke 4.ppt
Materi pertemuan ke 4.pptkhairan marzuki
 
Thread di Sistem Operasi
Thread di Sistem OperasiThread di Sistem Operasi
Thread di Sistem Operasieddie Ismantoe
 
Konsep dasar thread programming
Konsep dasar thread programmingKonsep dasar thread programming
Konsep dasar thread programmingcyberbebek
 
Chapter 6 - Sister
Chapter 6 - SisterChapter 6 - Sister
Chapter 6 - Sisterbeiharira
 
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.pptx11211058
 
dokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptdokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptCrisnaLidya
 
Sistem Operasi_Thread campur sari
Sistem Operasi_Thread campur sariSistem Operasi_Thread campur sari
Sistem Operasi_Thread campur sariEka Ariyansyah
 
Modul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem OperasiModul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem OperasiDEDE IRYAWAN
 
Sistem operasi terdistribusi
Sistem operasi terdistribusiSistem operasi terdistribusi
Sistem operasi terdistribusihofidatur
 
Rtos Wimax OSS Workshop
Rtos Wimax OSS WorkshopRtos Wimax OSS Workshop
Rtos Wimax OSS WorkshopSugeng Widodo
 
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-artayahonestArtaya Honest
 
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 TerdistribusiRahmawan06
 

Similar to MODUL 4 SISTEM OPERASI: 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
 
Thread di Sistem Operasi
Thread di Sistem OperasiThread di Sistem Operasi
Thread di Sistem Operasi
 
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
 

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 MiningDEDE IRYAWAN
 
APPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data PreprocessingAPPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data PreprocessingDEDE 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 PROYEKDEDE 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 PROYEKDEDE IRYAWAN
 
TOEFL Exercise 22 Slide
TOEFL Exercise 22 SlideTOEFL Exercise 22 Slide
TOEFL Exercise 22 SlideDEDE IRYAWAN
 
TOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMSTOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMSDEDE IRYAWAN
 
TOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITIONTOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITIONDEDE IRYAWAN
 
TOEFL EXERCISE 14 - Listen for WISHES
TOEFL EXERCISE 14 - Listen for  WISHESTOEFL EXERCISE 14 - Listen for  WISHES
TOEFL EXERCISE 14 - Listen for WISHESDEDE 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 SURPRISEDEDE 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 SUGGESTIONDEDE IRYAWAN
 
TOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENTTOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENTDEDE IRYAWAN
 
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVETOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVEDEDE IRYAWAN
 
TOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” ExpressionTOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” ExpressionDEDE IRYAWAN
 
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONSTOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONSDEDE IRYAWAN
 
TOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSIONTOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSIONDEDE IRYAWAN
 
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDSTOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDSDEDE 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 LINEDEDE IRYAWAN
 
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...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
 
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
 

MODUL 4 SISTEM OPERASI: 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/