SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à 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
 
MATA KULIAH GANJIL ARSITEKTUR KOMPUTER.ppt
MATA KULIAH GANJIL ARSITEKTUR KOMPUTER.pptMATA KULIAH GANJIL ARSITEKTUR KOMPUTER.ppt
MATA KULIAH GANJIL ARSITEKTUR KOMPUTER.pptkaruniaman
 
MATERI PERKULIAHAN ARSITEKTUR KOMPUTER.pptx
MATERI PERKULIAHAN ARSITEKTUR KOMPUTER.pptxMATERI PERKULIAHAN ARSITEKTUR KOMPUTER.pptx
MATERI PERKULIAHAN ARSITEKTUR KOMPUTER.pptxkaruniaman
 

Similaire à 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
 
MATA KULIAH GANJIL ARSITEKTUR KOMPUTER.ppt
MATA KULIAH GANJIL ARSITEKTUR KOMPUTER.pptMATA KULIAH GANJIL ARSITEKTUR KOMPUTER.ppt
MATA KULIAH GANJIL ARSITEKTUR KOMPUTER.ppt
 
MATERI PERKULIAHAN ARSITEKTUR KOMPUTER.pptx
MATERI PERKULIAHAN ARSITEKTUR KOMPUTER.pptxMATERI PERKULIAHAN ARSITEKTUR KOMPUTER.pptx
MATERI PERKULIAHAN ARSITEKTUR KOMPUTER.pptx
 

Dernier

PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...MetalinaSimanjuntak1
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatanssuser963292
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)PUNGKYBUDIPANGESTU1
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptAgusRahmat39
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdfanitanurhidayah51
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...asepsaefudin2009
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxRizkyPratiwi19
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfChananMfd
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSdheaprs
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...Kanaidi ken
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxsyahrulutama16
 

Dernier (20)

PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdf
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNS
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 

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