SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Sistem Operasi - Thread -




                                  S ISTEM O PERASI
                                      - T HREAD -

                                    Arya Adhyaksa Waskita

                                          Fakultas Ilmu Komputer
                            Universitas Pembangunan Nasional Veteran Jakarta


                                          24 Maret 2012
Sistem Operasi - Thread -




AGENDA

          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      KONSEP

          4      M ODEL THREAD

          5      P USTAKA THREAD

          6      I SU DALAM THREAD

          7      C ONTOH : S ISTEM O PERASI
Sistem Operasi - Thread -
    Review




O UTLINE

          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      KONSEP

          4      M ODEL THREAD

          5      P USTAKA THREAD

          6      I SU DALAM THREAD

          7      C ONTOH : S ISTEM O PERASI
Sistem Operasi - Thread -
    Review




P ERTEMUAN KE -3



                   Konsep proses: program yang sedang dieksekusi
                            layout memory untuk proses
                            Process Control Block
                   Penjadwalan:
                            Latar belakang: multiprogramming & multitasking
                            Elemen:
                                 antrian: job, ready, device
                                 penjadwal (scheduler): long, short & medium term
                                 context switch: membuat CPU idle
Sistem Operasi - Thread -
    Review




P ERTEMUAN KE -3


                   Operasi: creation & termination
                            Ruang memory: saling menggunakan (sebagian / seluruhnya), saling
                            bebas
                            Eksekusi: saling tunggu / parallel
                            Terminasi proses → de-alokasi resource
                   Komunikasi antar proses yang saling tergantung
                            Model: shared memory & message passing
                            Komunikasi: langsung & tidak langsung
                            Sinkronisasi & Buffer
                   Client-Server: Socket, RPC, RMI
Sistem Operasi - Thread -
    Overview & Obyektif




O UTLINE

          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      KONSEP

          4      M ODEL THREAD

          5      P USTAKA THREAD

          6      I SU DALAM THREAD

          7      C ONTOH : S ISTEM O PERASI
Sistem Operasi - Thread -
    Overview & Obyektif




T HREAD




                   Mempelajari konsep thread
                   Mempelajari berbagai pustaka thread: Pthread, Win32, Java
                   Mempelajari berbagai isu terkait thread
Sistem Operasi - Thread -
    Konsep




O UTLINE

          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      KONSEP

          4      M ODEL THREAD

          5      P USTAKA THREAD

          6      I SU DALAM THREAD

          7      C ONTOH : S ISTEM O PERASI
Sistem Operasi - Thread -
    Konsep




T ENTANG THREAD




                   Lightweight process: satuan penggunaan CPU
                   Berbagi resource dengan thread lain dalam sebuah proses
                   Proses (heavyweight process), memilki kontrol tunggal eksekusi
Sistem Operasi - Thread -
    Konsep




I LUSTRASI




                            G AMBAR : Perbedaan proses dengan thread tunggal dan jamak
Sistem Operasi - Thread -
    Konsep




K EUNTUNGAN MODEL MULTITHREAD




                   Responsif → web browser
                   Resource sharing: aplikasi dengan beberapa thread dapat
                   menggunakan lokasi memori yang sama
                   Ekonomis: tanpa alokasi dan dealokasi resource → resource sharing
                   Skalabilitas: selain optimasi penggunaan prosesor multicore,
                   perpindahan antar thread lebih cepat pada single core daripada proses
Sistem Operasi - Thread -
    Konsep




I SU TERKAIT PEMROGRAMAN MULTICORE




                   Berbagi aktifitas
                   Penyeimbangan beban
                   Memecah data
                   Ketergantungan data
                   Pengujian dan debug
Sistem Operasi - Thread -
    Konsep




I LUSTRASI : MULTITHREAD SERVER




                            G AMBAR : Server dengan model multithread
Sistem Operasi - Thread -
    Konsep




I LUSTRASI : ARSITEKTUR SINGLE CORE




                            G AMBAR : Penjadwalan thread pada arsitektur single core
Sistem Operasi - Thread -
    Konsep




I LUSTRASI : ARSITEKTUR MULTICORE




                            G AMBAR : Penjadwalan thread pada arsitektur multicore
Sistem Operasi - Thread -
    Konsep




J ENIS THREAD




                   User thread:
                   Kernel thread
         Keduanya meliputi: pembuatan, penjadwalan dan pengelolaan di levelnya
         masing-masing
Sistem Operasi - Thread -
    Konsep




U SER THREAD




                   Selalu berasosiasi dengan kernel thread
                   Pustaka di level user → cepat
                   Salah satu thread yang melakukan blocking akan mencegah seluruh
                   proses di mana thread tersebut berasal untuk ditunda (single thread
                   kernel) → SC: read, sleep
                   Pthread (POSIX), Win32, Java
Sistem Operasi - Thread -
    Konsep




K ERNEL THREAD




                   Pengelolaan di level kernel
                            lambat
                            dianggap seperti proses
                   Salah satu thread yang melakukan blocking, tidak mencegah seluruh
                   proses tertunda
Sistem Operasi - Thread -
    Model thread




O UTLINE

          1        R EVIEW

          2        OVERVIEW & O BYEKTIF

          3        KONSEP

          4        M ODEL THREAD

          5        P USTAKA THREAD

          6        I SU DALAM THREAD

          7        C ONTOH : S ISTEM O PERASI
Sistem Operasi - Thread -
    Model thread




M ANY- TO - ONE

                   Konkurensi terbatas
                   Green (Solaris-2), GNU portable thread
Sistem Operasi - Thread -
    Model thread




One-to-one



                   Proses dicegah tertunda secara total
                   Mahal, satu user thread harus diwakili satu kernel thread
                   Windows NT/XP/2000, Linux, Solaris 9
Sistem Operasi - Thread -
    Model thread




Many-to-many

                   Banyak user thread dipetakan ke kernel thread
                   Konkurensi optimal
                   Solaris sebelum versi 9, Windows NT/2000 dengan paket ThreadFiber
Sistem Operasi - Thread -
    Pustaka thread




O UTLINE

          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      KONSEP

          4      M ODEL THREAD

          5      P USTAKA THREAD

          6      I SU DALAM THREAD

          7      C ONTOH : S ISTEM O PERASI
Sistem Operasi - Thread -
    Pustaka thread




KONSEP




                     Memberikan API untuk pengembang perangkat lunak mengelola thread
                     Implementasi:
                            sepenuhnya di user level (-to-one)
                            didukung oleh kernel level (-to-many)
Sistem Operasi - Thread -
    Pustaka thread




POSIX THREAD




                     Diimplementasi baik sebagai user maupun kernel level
                     Standar IEEE 1003.1c: API terkait pembuatan dan sinkronisasi thread
                     Umum digunakan pada keluarga UNIX
Sistem Operasi - Thread -
    Pustaka thread




I LUSTASI : POSIX THREAD


         #include <stdio.h>
         #include <stdlib.h>
         #include <pthread.h>
         int *a,*b;
         void *vector(void *vargp) {
              int temp,counter,start,finish,ptrNumber,*passVal ;
              ptrNumber=*((int *) vargp); free(vargp);
              start=(ptrNumber*25000);
              finish=start+25000;
              temp=0;
              for(counter=start;counter<finish;counter++)
                    temp+=a[counter]*b[counter];
              passVal=malloc(sizeof(int));
              *passVal=temp; pthread_exit(passVal);
         }
         dilanjutkan ...
Sistem Operasi - Thread -
    Pustaka thread




I LUSTRASI : POSIX THREAD


         int main() {
              pthread_t tid[4];
              int c=0,c1=0,i,*ptr,*passVal,tmp;
              a=malloc(100000*sizeof(int));
              b=malloc(100000*sizeof(int));
              for(i=0;i<1000;i++) {
                    a[i]=1+(rand()%1000);
                    b[i]=1+(rand()%1000);
                    c+=(a[i]*b[i]);
              }
              printf("C total (Sequential) = %dn",c);
              for(i=0;i<4;i++) {
                    ptr=malloc(sizeof(int));
                    *ptr=i; pthread_create(&tid[i],NULL,vector,ptr);
               }
         dilanjutkan ...
Sistem Operasi - Thread -
    Pustaka thread




I LUSTRASI : POSIX THREAD


               for(i=0;i<4;i++) {
                     if((pthread_join(tid[i], (void**) &passVal))==0) {
                           tmp=*passVal; c1+=tmp;
                     }
                     else {
                           printf("Threads %d can’t be joinedn",i);
                           printf("program terminatedn");
                           exit(0);
                     }
               }
               printf("C total (Parallel) = %dn",c1);
               printf("nComparing sequential and parallel resultn");
               if((c-c1)!=0)
                     printf("pthread failed...!n");
               else
                     printf("pthread success!n");
               return 0;
         }
Sistem Operasi - Thread -
    Pustaka thread




JAVA THREAD




                     Dikelola JVM
                     Dibuat dengan mengimplementasi Runnable
Sistem Operasi - Thread -
    Pustaka thread




I LUSTRASI : JAVA THREAD




         class MutableInteger {
             private int value;
             public int getValue() {
                  return value;
             }
             public void setValue(int value) {
                  this.value=value;
             }
         }
Sistem Operasi - Thread -
    Pustaka thread




I LUSTRASI : JAVA THREAD


         class Summation implements Runnable {
             private int upper;
             private MutableInteger sumValue;
             public Summation (int upper, MutableInteger sumValue) {
                  this.upper=upper; this.sumValue=sumValue;
             }
             public void run() {
                  int sum=0;
                  Thread thrd=new Thread();
                  thrd.start();
                  for(int i=0; i<upper; i++) {
                        sum=sum+2;
                  }
                  sumValue.setValue(sum);
             }
         }
Sistem Operasi - Thread -
    Pustaka thread




I LUSTRASI : JAVA THREAD
         public class Driver {
              public static void main(String[] args) {
                   if(args.length > 0) {
                         if(Integer.parseInt(args[0])<0) {
                               System.err.println(args[0]+" must be>=0.");
                         }
                         else {
                               MutableInteger sum=new MutableInteger();
                               int upper=Integer.parseInt(args[0]);
                               Thread thrd=new Thread(new Summation(upper,sum));
                               thrd.start();
                               try {
                                     thrd.join();
                                     System.out.println("The sum of "+ upper+ " is " + sum.getValue());
                               }
                               catch(InterruptedException e) {
                               }
                         }
                   }
                   else {
                         System.err.println("Usage: Driver <Integer Value>");
                   }
              }
         }
Sistem Operasi - Thread -
    Isu dalam thread




O UTLINE

          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      KONSEP

          4      M ODEL THREAD

          5      P USTAKA THREAD

          6      I SU DALAM THREAD

          7      C ONTOH : S ISTEM O PERASI
Sistem Operasi - Thread -
    Isu dalam thread




SC: fork & exec




                   Opsi saat thread dijalankan:
                            menduplikasi seluruh thread dalam sebuah proses
                            menduplikasi thread yang menjalankan fork
Sistem Operasi - Thread -
    Isu dalam thread




P EMBATALAN THREAD




                   Terkait terminasi thread sebelum seharusnya selesai
                   Opsi:
                            Asinkron: langsung melakukan terminasi
                            Deffered: safely cancelation,
Sistem Operasi - Thread -
    Isu dalam thread




P ENANGANAN SIGNAL


                   Digunakan untuk memberitahu proses bahwa ada sebuah kejadian.
                   Diterima secara
                            sinkron: dikirimkan ke proses penyebab munculnya SIGNAL (pembaian
                            dengan nol)
                            asinkron: dikirimkan oleh kejadian di luar proses (ctrl C)
                   Dikelola oleh:
                            default handler
                            user defined handler
                   Beberapa ada yang diabaikan (mengubah ukuran obyek window), ada
                   yang menyebabkan proses harus diterminasi (mengakses memori
                   secara ilegal)
Sistem Operasi - Thread -
    Isu dalam thread




P ENANGANAN SIGNAL



         Pada thread:
                   SIGNAL dikirimkan ke thread yang menyebabkannya
                   SIGNAL dikirimkan ke setiap thread pada proses
                   SIGNAL dikirimkan ke thread tertentu pada proses
                   Menugaskan sebuah thread untuk menangani semua SIGNAL yang
                   terjadi
Sistem Operasi - Thread -
    Isu dalam thread




T HREAD P OOLS



                   Multithreaded server: berpotensi membahayakan sistem jika diijinkan
                   membuat thread dalam jumlah sangat banyak (tak hingga)
                   Dibatasi jumlah thread yang diijinkan (pools)
                   Saat proses dijalankan, sejumlah thread telah disiapkan, menunggu
                   untuk memberi layanan pada client
                   Keuntungan:
                            lebih cepat daripada konsep on-demand
                            mencegah kegagalan operasi karena keterbatasan resource
Sistem Operasi - Thread -
    Isu dalam thread




Thread specific data




         Memungkinkan setiap thread memiliki datanya sendiri
         for(i=0;i<4;i++) {
               ptr=malloc(sizeof(int));
               *ptr=i; pthread_create(&tid[i],NULL,vector,ptr);
         }
Sistem Operasi - Thread -
    Contoh: Sistem Operasi




O UTLINE

          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      KONSEP

          4      M ODEL THREAD

          5      P USTAKA THREAD

          6      I SU DALAM THREAD

          7      C ONTOH : S ISTEM O PERASI
Sistem Operasi - Thread -
    Contoh: Sistem Operasi




W INDOWS XP



                    One-to-one mapping
                    Berisi:
                             identitas
                             register, stack (user & kernel), data khusus 1
                    Struktur data utama:
                             Executive thread block (ETHREAD)
                             Kernel thread block (KTHREAD)
                             Thread environment block (TEB)




              1
                  konteks thread
Sistem Operasi - Thread -
    Contoh: Sistem Operasi




I LUSTRASI




                             G AMBAR : Thread Windows XP
Sistem Operasi - Thread -
    Contoh: Sistem Operasi




L INUX THREAD


                   Dikenal sebagai task
                   Thread dibuat dengan clone () SC
                   Memungkinkan berbagi ruang memori antara child-parent, pointer ke
                   lokasi memori

Weitere ähnliche Inhalte

Ähnlich wie Os04

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
 
Modul SO : Threads
Modul SO : ThreadsModul SO : Threads
Modul SO : ThreadsDEDE IRYAWAN
 
Slide Jaringan Komputer ITB pertemuan 1
Slide Jaringan Komputer ITB pertemuan 1 Slide Jaringan Komputer ITB pertemuan 1
Slide Jaringan Komputer ITB pertemuan 1 Putu Shinoda
 
Presentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan TerdistribusiPresentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan TerdistribusiRahmawan06
 
Modul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem OperasiModul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem OperasiDEDE IRYAWAN
 
dokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptdokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptCrisnaLidya
 
Konsep proses dan penjadwalan
Konsep proses dan penjadwalanKonsep proses dan penjadwalan
Konsep proses dan penjadwalanDickdick Maulana
 
Anita dadi (sistem operasi)
Anita dadi (sistem operasi)Anita dadi (sistem operasi)
Anita dadi (sistem operasi)Anyta Pelophella
 
Materi pertemuan ke 4.ppt
Materi pertemuan ke 4.pptMateri pertemuan ke 4.ppt
Materi pertemuan ke 4.pptkhairan marzuki
 
Sistem operasi terdistribusi
Sistem operasi terdistribusiSistem operasi terdistribusi
Sistem operasi terdistribusihofidatur
 
MATERI KULIAH KONSEP PROSES dan PENJADWALAN.ppt
MATERI KULIAH  KONSEP PROSES dan PENJADWALAN.pptMATERI KULIAH  KONSEP PROSES dan PENJADWALAN.ppt
MATERI KULIAH KONSEP PROSES dan PENJADWALAN.pptDEDEALAMSYAHSPd
 
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
 

Ähnlich wie Os04 (20)

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
 
Modul SO : Threads
Modul SO : ThreadsModul SO : Threads
Modul SO : Threads
 
Slide Jaringan Komputer ITB pertemuan 1
Slide Jaringan Komputer ITB pertemuan 1 Slide Jaringan Komputer ITB pertemuan 1
Slide Jaringan Komputer ITB pertemuan 1
 
Presentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan TerdistribusiPresentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan Terdistribusi
 
Modul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem OperasiModul SO : Pengenalan Sistem Operasi
Modul SO : Pengenalan Sistem Operasi
 
dokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.pptdokumen.tech_sistem-operasi-terdistribusi.ppt
dokumen.tech_sistem-operasi-terdistribusi.ppt
 
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
 
Sister 05 - proses
Sister   05 - prosesSister   05 - proses
Sister 05 - proses
 
Kelompok 1
Kelompok 1Kelompok 1
Kelompok 1
 
Konsep proses dan penjadwalan
Konsep proses dan penjadwalanKonsep proses dan penjadwalan
Konsep proses dan penjadwalan
 
Bab 4
Bab 4Bab 4
Bab 4
 
Anita dadi (sistem operasi)
Anita dadi (sistem operasi)Anita dadi (sistem operasi)
Anita dadi (sistem operasi)
 
Materi pertemuan ke 4.ppt
Materi pertemuan ke 4.pptMateri pertemuan ke 4.ppt
Materi pertemuan ke 4.ppt
 
Sistem operasi terdistribusi
Sistem operasi terdistribusiSistem operasi terdistribusi
Sistem operasi terdistribusi
 
MATERI KULIAH KONSEP PROSES dan PENJADWALAN.ppt
MATERI KULIAH  KONSEP PROSES dan PENJADWALAN.pptMATERI KULIAH  KONSEP PROSES dan PENJADWALAN.ppt
MATERI KULIAH KONSEP PROSES dan PENJADWALAN.ppt
 
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
 
Osi layer
Osi layerOsi layer
Osi layer
 
Jawaban 1
Jawaban  1Jawaban  1
Jawaban 1
 

Kürzlich hochgeladen

PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxHeruFebrianto3
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxSyaimarChandra1
 
SILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxSILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxrahmaamaw03
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiIntanHanifah4
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasHardaminOde2
 
polinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptpolinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptGirl38
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...MarwanAnugrah
 
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.aechacha366
 
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.pptPertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.pptNabilahKhairunnisa6
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxmtsmampunbarub4
 
Teknik Menjawab Kertas P.Moral SPM 2024.pptx
Teknik Menjawab Kertas P.Moral SPM  2024.pptxTeknik Menjawab Kertas P.Moral SPM  2024.pptx
Teknik Menjawab Kertas P.Moral SPM 2024.pptxwongcp2
 
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSKisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSyudi_alfian
 
PRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptxPRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptxPCMBANDUNGANKabSemar
 
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptxMTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptxssuser0239c1
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaNadia Putri Ayu
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxsyafnasir
 

Kürzlich hochgeladen (20)

PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
 
SILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxSILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docx
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajii
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
 
polinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptpolinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..ppt
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
 
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
 
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.pptPertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
Pertemuan 3-bioavailabilitas-dan-bioekivalensi.ppt
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
 
Teknik Menjawab Kertas P.Moral SPM 2024.pptx
Teknik Menjawab Kertas P.Moral SPM  2024.pptxTeknik Menjawab Kertas P.Moral SPM  2024.pptx
Teknik Menjawab Kertas P.Moral SPM 2024.pptx
 
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSKisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
 
PRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptxPRESENTASI EEC social mobile, and local marketing.pptx
PRESENTASI EEC social mobile, and local marketing.pptx
 
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptxMTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
MTK BAB 5 PENGOLAHAN DATA (Materi 2).pptx
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional Dunia
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
 

Os04

  • 1. Sistem Operasi - Thread - S ISTEM O PERASI - T HREAD - Arya Adhyaksa Waskita Fakultas Ilmu Komputer Universitas Pembangunan Nasional Veteran Jakarta 24 Maret 2012
  • 2. Sistem Operasi - Thread - AGENDA 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 M ODEL THREAD 5 P USTAKA THREAD 6 I SU DALAM THREAD 7 C ONTOH : S ISTEM O PERASI
  • 3. Sistem Operasi - Thread - Review O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 M ODEL THREAD 5 P USTAKA THREAD 6 I SU DALAM THREAD 7 C ONTOH : S ISTEM O PERASI
  • 4. Sistem Operasi - Thread - Review P ERTEMUAN KE -3 Konsep proses: program yang sedang dieksekusi layout memory untuk proses Process Control Block Penjadwalan: Latar belakang: multiprogramming & multitasking Elemen: antrian: job, ready, device penjadwal (scheduler): long, short & medium term context switch: membuat CPU idle
  • 5. Sistem Operasi - Thread - Review P ERTEMUAN KE -3 Operasi: creation & termination Ruang memory: saling menggunakan (sebagian / seluruhnya), saling bebas Eksekusi: saling tunggu / parallel Terminasi proses → de-alokasi resource Komunikasi antar proses yang saling tergantung Model: shared memory & message passing Komunikasi: langsung & tidak langsung Sinkronisasi & Buffer Client-Server: Socket, RPC, RMI
  • 6. Sistem Operasi - Thread - Overview & Obyektif O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 M ODEL THREAD 5 P USTAKA THREAD 6 I SU DALAM THREAD 7 C ONTOH : S ISTEM O PERASI
  • 7. Sistem Operasi - Thread - Overview & Obyektif T HREAD Mempelajari konsep thread Mempelajari berbagai pustaka thread: Pthread, Win32, Java Mempelajari berbagai isu terkait thread
  • 8. Sistem Operasi - Thread - Konsep O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 M ODEL THREAD 5 P USTAKA THREAD 6 I SU DALAM THREAD 7 C ONTOH : S ISTEM O PERASI
  • 9. Sistem Operasi - Thread - Konsep T ENTANG THREAD Lightweight process: satuan penggunaan CPU Berbagi resource dengan thread lain dalam sebuah proses Proses (heavyweight process), memilki kontrol tunggal eksekusi
  • 10. Sistem Operasi - Thread - Konsep I LUSTRASI G AMBAR : Perbedaan proses dengan thread tunggal dan jamak
  • 11. Sistem Operasi - Thread - Konsep K EUNTUNGAN MODEL MULTITHREAD Responsif → web browser Resource sharing: aplikasi dengan beberapa thread dapat menggunakan lokasi memori yang sama Ekonomis: tanpa alokasi dan dealokasi resource → resource sharing Skalabilitas: selain optimasi penggunaan prosesor multicore, perpindahan antar thread lebih cepat pada single core daripada proses
  • 12. Sistem Operasi - Thread - Konsep I SU TERKAIT PEMROGRAMAN MULTICORE Berbagi aktifitas Penyeimbangan beban Memecah data Ketergantungan data Pengujian dan debug
  • 13. Sistem Operasi - Thread - Konsep I LUSTRASI : MULTITHREAD SERVER G AMBAR : Server dengan model multithread
  • 14. Sistem Operasi - Thread - Konsep I LUSTRASI : ARSITEKTUR SINGLE CORE G AMBAR : Penjadwalan thread pada arsitektur single core
  • 15. Sistem Operasi - Thread - Konsep I LUSTRASI : ARSITEKTUR MULTICORE G AMBAR : Penjadwalan thread pada arsitektur multicore
  • 16. Sistem Operasi - Thread - Konsep J ENIS THREAD User thread: Kernel thread Keduanya meliputi: pembuatan, penjadwalan dan pengelolaan di levelnya masing-masing
  • 17. Sistem Operasi - Thread - Konsep U SER THREAD Selalu berasosiasi dengan kernel thread Pustaka di level user → cepat Salah satu thread yang melakukan blocking akan mencegah seluruh proses di mana thread tersebut berasal untuk ditunda (single thread kernel) → SC: read, sleep Pthread (POSIX), Win32, Java
  • 18. Sistem Operasi - Thread - Konsep K ERNEL THREAD Pengelolaan di level kernel lambat dianggap seperti proses Salah satu thread yang melakukan blocking, tidak mencegah seluruh proses tertunda
  • 19. Sistem Operasi - Thread - Model thread O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 M ODEL THREAD 5 P USTAKA THREAD 6 I SU DALAM THREAD 7 C ONTOH : S ISTEM O PERASI
  • 20. Sistem Operasi - Thread - Model thread M ANY- TO - ONE Konkurensi terbatas Green (Solaris-2), GNU portable thread
  • 21. Sistem Operasi - Thread - Model thread One-to-one Proses dicegah tertunda secara total Mahal, satu user thread harus diwakili satu kernel thread Windows NT/XP/2000, Linux, Solaris 9
  • 22. Sistem Operasi - Thread - Model thread Many-to-many Banyak user thread dipetakan ke kernel thread Konkurensi optimal Solaris sebelum versi 9, Windows NT/2000 dengan paket ThreadFiber
  • 23. Sistem Operasi - Thread - Pustaka thread O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 M ODEL THREAD 5 P USTAKA THREAD 6 I SU DALAM THREAD 7 C ONTOH : S ISTEM O PERASI
  • 24. Sistem Operasi - Thread - Pustaka thread KONSEP Memberikan API untuk pengembang perangkat lunak mengelola thread Implementasi: sepenuhnya di user level (-to-one) didukung oleh kernel level (-to-many)
  • 25. Sistem Operasi - Thread - Pustaka thread POSIX THREAD Diimplementasi baik sebagai user maupun kernel level Standar IEEE 1003.1c: API terkait pembuatan dan sinkronisasi thread Umum digunakan pada keluarga UNIX
  • 26. Sistem Operasi - Thread - Pustaka thread I LUSTASI : POSIX THREAD #include <stdio.h> #include <stdlib.h> #include <pthread.h> int *a,*b; void *vector(void *vargp) { int temp,counter,start,finish,ptrNumber,*passVal ; ptrNumber=*((int *) vargp); free(vargp); start=(ptrNumber*25000); finish=start+25000; temp=0; for(counter=start;counter<finish;counter++) temp+=a[counter]*b[counter]; passVal=malloc(sizeof(int)); *passVal=temp; pthread_exit(passVal); } dilanjutkan ...
  • 27. Sistem Operasi - Thread - Pustaka thread I LUSTRASI : POSIX THREAD int main() { pthread_t tid[4]; int c=0,c1=0,i,*ptr,*passVal,tmp; a=malloc(100000*sizeof(int)); b=malloc(100000*sizeof(int)); for(i=0;i<1000;i++) { a[i]=1+(rand()%1000); b[i]=1+(rand()%1000); c+=(a[i]*b[i]); } printf("C total (Sequential) = %dn",c); for(i=0;i<4;i++) { ptr=malloc(sizeof(int)); *ptr=i; pthread_create(&tid[i],NULL,vector,ptr); } dilanjutkan ...
  • 28. Sistem Operasi - Thread - Pustaka thread I LUSTRASI : POSIX THREAD for(i=0;i<4;i++) { if((pthread_join(tid[i], (void**) &passVal))==0) { tmp=*passVal; c1+=tmp; } else { printf("Threads %d can’t be joinedn",i); printf("program terminatedn"); exit(0); } } printf("C total (Parallel) = %dn",c1); printf("nComparing sequential and parallel resultn"); if((c-c1)!=0) printf("pthread failed...!n"); else printf("pthread success!n"); return 0; }
  • 29. Sistem Operasi - Thread - Pustaka thread JAVA THREAD Dikelola JVM Dibuat dengan mengimplementasi Runnable
  • 30. Sistem Operasi - Thread - Pustaka thread I LUSTRASI : JAVA THREAD class MutableInteger { private int value; public int getValue() { return value; } public void setValue(int value) { this.value=value; } }
  • 31. Sistem Operasi - Thread - Pustaka thread I LUSTRASI : JAVA THREAD class Summation implements Runnable { private int upper; private MutableInteger sumValue; public Summation (int upper, MutableInteger sumValue) { this.upper=upper; this.sumValue=sumValue; } public void run() { int sum=0; Thread thrd=new Thread(); thrd.start(); for(int i=0; i<upper; i++) { sum=sum+2; } sumValue.setValue(sum); } }
  • 32. Sistem Operasi - Thread - Pustaka thread I LUSTRASI : JAVA THREAD public class Driver { public static void main(String[] args) { if(args.length > 0) { if(Integer.parseInt(args[0])<0) { System.err.println(args[0]+" must be>=0."); } else { MutableInteger sum=new MutableInteger(); int upper=Integer.parseInt(args[0]); Thread thrd=new Thread(new Summation(upper,sum)); thrd.start(); try { thrd.join(); System.out.println("The sum of "+ upper+ " is " + sum.getValue()); } catch(InterruptedException e) { } } } else { System.err.println("Usage: Driver <Integer Value>"); } } }
  • 33. Sistem Operasi - Thread - Isu dalam thread O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 M ODEL THREAD 5 P USTAKA THREAD 6 I SU DALAM THREAD 7 C ONTOH : S ISTEM O PERASI
  • 34. Sistem Operasi - Thread - Isu dalam thread SC: fork & exec Opsi saat thread dijalankan: menduplikasi seluruh thread dalam sebuah proses menduplikasi thread yang menjalankan fork
  • 35. Sistem Operasi - Thread - Isu dalam thread P EMBATALAN THREAD Terkait terminasi thread sebelum seharusnya selesai Opsi: Asinkron: langsung melakukan terminasi Deffered: safely cancelation,
  • 36. Sistem Operasi - Thread - Isu dalam thread P ENANGANAN SIGNAL Digunakan untuk memberitahu proses bahwa ada sebuah kejadian. Diterima secara sinkron: dikirimkan ke proses penyebab munculnya SIGNAL (pembaian dengan nol) asinkron: dikirimkan oleh kejadian di luar proses (ctrl C) Dikelola oleh: default handler user defined handler Beberapa ada yang diabaikan (mengubah ukuran obyek window), ada yang menyebabkan proses harus diterminasi (mengakses memori secara ilegal)
  • 37. Sistem Operasi - Thread - Isu dalam thread P ENANGANAN SIGNAL Pada thread: SIGNAL dikirimkan ke thread yang menyebabkannya SIGNAL dikirimkan ke setiap thread pada proses SIGNAL dikirimkan ke thread tertentu pada proses Menugaskan sebuah thread untuk menangani semua SIGNAL yang terjadi
  • 38. Sistem Operasi - Thread - Isu dalam thread T HREAD P OOLS Multithreaded server: berpotensi membahayakan sistem jika diijinkan membuat thread dalam jumlah sangat banyak (tak hingga) Dibatasi jumlah thread yang diijinkan (pools) Saat proses dijalankan, sejumlah thread telah disiapkan, menunggu untuk memberi layanan pada client Keuntungan: lebih cepat daripada konsep on-demand mencegah kegagalan operasi karena keterbatasan resource
  • 39. Sistem Operasi - Thread - Isu dalam thread Thread specific data Memungkinkan setiap thread memiliki datanya sendiri for(i=0;i<4;i++) { ptr=malloc(sizeof(int)); *ptr=i; pthread_create(&tid[i],NULL,vector,ptr); }
  • 40. Sistem Operasi - Thread - Contoh: Sistem Operasi O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 M ODEL THREAD 5 P USTAKA THREAD 6 I SU DALAM THREAD 7 C ONTOH : S ISTEM O PERASI
  • 41. Sistem Operasi - Thread - Contoh: Sistem Operasi W INDOWS XP One-to-one mapping Berisi: identitas register, stack (user & kernel), data khusus 1 Struktur data utama: Executive thread block (ETHREAD) Kernel thread block (KTHREAD) Thread environment block (TEB) 1 konteks thread
  • 42. Sistem Operasi - Thread - Contoh: Sistem Operasi I LUSTRASI G AMBAR : Thread Windows XP
  • 43. Sistem Operasi - Thread - Contoh: Sistem Operasi L INUX THREAD Dikenal sebagai task Thread dibuat dengan clone () SC Memungkinkan berbagi ruang memori antara child-parent, pointer ke lokasi memori