Thread, SMP, dan Microkernel - Telkom...
Transcript of Thread, SMP, dan Microkernel - Telkom...
![Page 1: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/1.jpg)
ThreadThread, SMP,, SMP,dandan
MicrokernelMicrokernel(Pertemuan ke(Pertemuan ke--6)6)
ThreadThread, SMP,, SMP,dandan
MicrokernelMicrokernel(Pertemuan ke(Pertemuan ke--6)6)
Agustus 2014
![Page 2: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/2.jpg)
Pokok BahasanPokok Bahasan
• Pokok Bahasan:– Thread, SMP, dan Microkernel
• Sub Pokok Bahasan:– Multithreading– Fungsionalitas thread– Jenis-jenis thread
• TIU:– Mahasiswa dapat memahami konsep dasar Thread,
SMP, dan Microkernel• TIK:
– Mahasiswa dapat menjelaskan prinsip multithreading– Mahasiswa dapat menjelaskan fungsionalitas thread– Mahasiswa dapat menjelaskan jenis-jenis thread
Sistem Operasi/2014 #2
• Pokok Bahasan:– Thread, SMP, dan Microkernel
• Sub Pokok Bahasan:– Multithreading– Fungsionalitas thread– Jenis-jenis thread
• TIU:– Mahasiswa dapat memahami konsep dasar Thread,
SMP, dan Microkernel• TIK:
– Mahasiswa dapat menjelaskan prinsip multithreading– Mahasiswa dapat menjelaskan fungsionalitas thread– Mahasiswa dapat menjelaskan jenis-jenis thread
![Page 3: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/3.jpg)
AgendaAgenda::• Proses dan Thread• Symmetric Multiprocessing (SMP)
– Arsitektur SMP– Organisasi SMP– Perancangan sistem operasi Multiprocessor
• Microkernel– Arsitektur microkernel– Kelebihan mikrokernel– Performansi mikrokernel– Perancangan mikrokernel
• Bedah OS– Windows– Solaris– Linux
Sistem Operasi/2014 #3
• Proses dan Thread• Symmetric Multiprocessing (SMP)
– Arsitektur SMP– Organisasi SMP– Perancangan sistem operasi Multiprocessor
• Microkernel– Arsitektur microkernel– Kelebihan mikrokernel– Performansi mikrokernel– Perancangan mikrokernel
• Bedah OS– Windows– Solaris– Linux
![Page 4: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/4.jpg)
Eksekusi Serial dan ParalelEksekusi Serial dan Paralel
• Benarkah eksekusi instruksi pada komputeruniprocessor dilakukan secara serial (bergantian) ?– Ya, jika dilihat dari sisi proses atau thread– Tidak, jika dilihat dari sisi operasi mikro yang
menerapkan metode pipelining (fetch instruksiberikutnya dilakukan bersamaan dengan saat instruksisekarang sedang dieksekusi)
• Mengapa eksekusi paralel digunakan ?– Teknologi telah tersedia– Harga hardware komputer telah turun– Untuk meningkatkan performansi komputer– Untuk meningkatkan kehandalan komputer
Sistem Operasi/2014 #4
• Benarkah eksekusi instruksi pada komputeruniprocessor dilakukan secara serial (bergantian) ?– Ya, jika dilihat dari sisi proses atau thread– Tidak, jika dilihat dari sisi operasi mikro yang
menerapkan metode pipelining (fetch instruksiberikutnya dilakukan bersamaan dengan saat instruksisekarang sedang dieksekusi)
• Mengapa eksekusi paralel digunakan ?– Teknologi telah tersedia– Harga hardware komputer telah turun– Untuk meningkatkan performansi komputer– Untuk meningkatkan kehandalan komputer
![Page 5: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/5.jpg)
ApakahApakah PipelinePipeline itu ?itu ?
• Pipeline adalah salah satu cara untukmeningkatkan performansi komputer dengan caramelakukan beberapa tahapan eksekusi instruksiberbeda dalam satu siklus
• Misal tahapan eksekusi instruksi sbb:– Fetch: Ambil instruksi dari memori– Decode: Terjemahkan arti dari instruksi– Execute: Eksekusi instruksi yang telah di-decode– Write: Simpan hasil eksekusi ke memori
• Dalam 12 siklus:– Sistem tanpa pipeline: dapat dieksekusi 3 buah instruksi– Sistem dengan pipeline: dapat diselesaikan 9 buah
instruksi + beberapa tahapan instruksi lainnyaSistem Operasi/2014 #5
• Pipeline adalah salah satu cara untukmeningkatkan performansi komputer dengan caramelakukan beberapa tahapan eksekusi instruksiberbeda dalam satu siklus
• Misal tahapan eksekusi instruksi sbb:– Fetch: Ambil instruksi dari memori– Decode: Terjemahkan arti dari instruksi– Execute: Eksekusi instruksi yang telah di-decode– Write: Simpan hasil eksekusi ke memori
• Dalam 12 siklus:– Sistem tanpa pipeline: dapat dieksekusi 3 buah instruksi– Sistem dengan pipeline: dapat diselesaikan 9 buah
instruksi + beberapa tahapan instruksi lainnya
![Page 6: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/6.jpg)
Sistem Dengan dan TanpaSistem Dengan dan Tanpa PipelinePipeline
•Tanpa Pipeline
Sistem Operasi/2014 #6
•Dengan Pipeline
![Page 7: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/7.jpg)
KarakteristikKarakteristik PipelinePipeline
• Pipeline merupakan bentuk eksekusiinstruksi spekulatif, instruksi berikutnyayang sudah diambil (fetch) belum tentudieksekusi (bila terjadi percabangan)
• Bagaimana dengan nasib instruksi yangsudah diambil jika terjadi interrupt ?– Instruksi yang sedang dieksekusi diselesaikan
hingga selesai– Instruksi yang sudah diambil:
• disimpan (lebih rumit)• dibuang (sederhana, preferred)
Sistem Operasi/2014 #7
• Pipeline merupakan bentuk eksekusiinstruksi spekulatif, instruksi berikutnyayang sudah diambil (fetch) belum tentudieksekusi (bila terjadi percabangan)
• Bagaimana dengan nasib instruksi yangsudah diambil jika terjadi interrupt ?– Instruksi yang sedang dieksekusi diselesaikan
hingga selesai– Instruksi yang sudah diambil:
• disimpan (lebih rumit)• dibuang (sederhana, preferred)
![Page 8: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/8.jpg)
Taksonomi Komputer ParalelTaksonomi Komputer Paralel (1)(1)
Sistem Operasi/2014 #8
![Page 9: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/9.jpg)
Taksonomi Komputer ParalelTaksonomi Komputer Paralel (2)(2)
• Single Instruction Single Data (SISD)– Sebuah prosesor mengeksekusi instruksi tunggal dan
menggunakan data yang disimpan pada memoritunggal
– Bukan termasuk multiprocesor• Single Instruction Multiple Data (SIMD)
– Sebuah instruksi mengontrol eksekusi yang dilakukansecara bersamaan pada sejumlah prosesor
– Setiap prosesor mengelola data masing-masing yangdisimpan pada memori masing-masing
– Contoh: prosesor array dan vektor
Sistem Operasi/2014 #9
• Single Instruction Single Data (SISD)– Sebuah prosesor mengeksekusi instruksi tunggal dan
menggunakan data yang disimpan pada memoritunggal
– Bukan termasuk multiprocesor• Single Instruction Multiple Data (SIMD)
– Sebuah instruksi mengontrol eksekusi yang dilakukansecara bersamaan pada sejumlah prosesor
– Setiap prosesor mengelola data masing-masing yangdisimpan pada memori masing-masing
– Contoh: prosesor array dan vektor
![Page 10: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/10.jpg)
Taksonomi Komputer ParalelTaksonomi Komputer Paralel (3)(3)
• Multiple Instruction Single Data (MISD)– Sederetan data dikirimkan ke sejumlah prosesor– Setiap prosesor mengeksekusi deretan instruksi yang
berbeda– Tidak pernah diimplementasikan
• Multiple Instruction Multiple Data (MIMD) – Sejumlah prosesor mengeksekusi deretan instruksi
berbeda secara bersama-sama menggunakan datamasing-masing
– Dibedakan menjadi 2 model:• distributed memory• shared memori
Sistem Operasi/2014 #10
• Multiple Instruction Single Data (MISD)– Sederetan data dikirimkan ke sejumlah prosesor– Setiap prosesor mengeksekusi deretan instruksi yang
berbeda– Tidak pernah diimplementasikan
• Multiple Instruction Multiple Data (MIMD) – Sejumlah prosesor mengeksekusi deretan instruksi
berbeda secara bersama-sama menggunakan datamasing-masing
– Dibedakan menjadi 2 model:• distributed memory• shared memori
![Page 11: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/11.jpg)
Multiple Instruction Multiple Data (MIMD)Multiple Instruction Multiple Data (MIMD)
• Menggunakan prosesor serbaguna• Jenis MIMD:
– Distributed-memory (loosely coupled)• Disebut juga Cluster (multicomputer)• Setiap prosesor mempunyai memori sendiri-sendiri• Komunikasi antar prosesor menggunakan saluran tersendiri
atau fasilitas jaringan
– Shared-memory multiprocessor (tightly coupled) • Setiap prosesor menggunakan memori bersama yang juga
digunakan sebagai sarana komunikasi antar prosesor• Dibedakan menjadi 2 model:
– Master/slave– Symmetric Multiprocessing (SMP)
Sistem Operasi/2014 #11
• Menggunakan prosesor serbaguna• Jenis MIMD:
– Distributed-memory (loosely coupled)• Disebut juga Cluster (multicomputer)• Setiap prosesor mempunyai memori sendiri-sendiri• Komunikasi antar prosesor menggunakan saluran tersendiri
atau fasilitas jaringan
– Shared-memory multiprocessor (tightly coupled) • Setiap prosesor menggunakan memori bersama yang juga
digunakan sebagai sarana komunikasi antar prosesor• Dibedakan menjadi 2 model:
– Master/slave– Symmetric Multiprocessing (SMP)
![Page 12: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/12.jpg)
ArsitekturArsitektur Master/SlaveMaster/Slave (1)(1)
• Termasuk model Shared-memory• Kernel sistem operasi selalu dijalankan
pada sebuah prosesor khusus (master)• Program aplikasi dan utility sistem operasi
dikerjakan oleh prosesor yang lain (slave)• Prosesor master bertanggung jawab
mengatur penjadualan proses atau thread• Proses/thread yang memerlukan layanan
(I/O call) harus mengirim request keprosesor master
Sistem Operasi/2014 #12
• Termasuk model Shared-memory• Kernel sistem operasi selalu dijalankan
pada sebuah prosesor khusus (master)• Program aplikasi dan utility sistem operasi
dikerjakan oleh prosesor yang lain (slave)• Prosesor master bertanggung jawab
mengatur penjadualan proses atau thread• Proses/thread yang memerlukan layanan
(I/O call) harus mengirim request keprosesor master
![Page 13: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/13.jpg)
ArsitekturArsitektur Master/SlaveMaster/Slave (2)(2)
• Kelebihan:– Implementasi sederhana– Sistem operasi multiprogramming untuk uniprocessor
masih dapat digunakan setelah dimodifikasi sedikit– Rebutan resource dapat diatasi karena semuanya
dikendalikan oleh prosesor master• Kerugian:
– Bila prosesor master gagal, maka seluruh sistem akangagal
– Dapat terjadi bottle neck bila prosesor masterkelebihan beban akibat melakukan penjadualan danmanajemen proses sendirian
Sistem Operasi/2014 #13
• Kelebihan:– Implementasi sederhana– Sistem operasi multiprogramming untuk uniprocessor
masih dapat digunakan setelah dimodifikasi sedikit– Rebutan resource dapat diatasi karena semuanya
dikendalikan oleh prosesor master• Kerugian:
– Bila prosesor master gagal, maka seluruh sistem akangagal
– Dapat terjadi bottle neck bila prosesor masterkelebihan beban akibat melakukan penjadualan danmanajemen proses sendirian
![Page 14: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/14.jpg)
Symmetric Multiprocessing (SMP)Symmetric Multiprocessing (SMP) (1)(1)
• Termasuk model Shared-memory• Kernel sistem operasi dapat dijalankan
pada sembarang prosesor• Setiap prosesor melakukan penjadualan
proses/thread sendiri-sendiri• Program kernel dapat dibuat menjadi
banyak proses atau banyak thread,sehingga dapat dieksekusi secara paralel
Sistem Operasi/2014 #14
• Termasuk model Shared-memory• Kernel sistem operasi dapat dijalankan
pada sembarang prosesor• Setiap prosesor melakukan penjadualan
proses/thread sendiri-sendiri• Program kernel dapat dibuat menjadi
banyak proses atau banyak thread,sehingga dapat dieksekusi secara paralel
![Page 15: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/15.jpg)
Symmetric Multiprocessing (SMP)Symmetric Multiprocessing (SMP) (2)(2)
• Kelebihan:– Sistem masih dapat berjalan meskipun ada prosesor yang gagal
(lebih handal)– Bottle neck dapat dihindari
• Kerugian:– Implementasi kompleks– Dapat terjadi rebutan resource dan rebutan proses/thread bila
sinkronisasi tidak ditangani secara baik• Permasalahan dalam perancangan pada SMP dan cluster:
– Organisasi secara fisik– Struktur interkoneksi– Komunikasi antar prosesor– Perancangan sistem operasi– Perancangan software aplikasi
Sistem Operasi/2014 #15
• Kelebihan:– Sistem masih dapat berjalan meskipun ada prosesor yang gagal
(lebih handal)– Bottle neck dapat dihindari
• Kerugian:– Implementasi kompleks– Dapat terjadi rebutan resource dan rebutan proses/thread bila
sinkronisasi tidak ditangani secara baik• Permasalahan dalam perancangan pada SMP dan cluster:
– Organisasi secara fisik– Struktur interkoneksi– Komunikasi antar prosesor– Perancangan sistem operasi– Perancangan software aplikasi
![Page 16: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/16.jpg)
Organisasi SMPOrganisasi SMP (1)(1)
Sistem Operasi/2014 #16
![Page 17: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/17.jpg)
Organisasi SMPOrganisasi SMP (2)(2)
• Setiap prosesor mempunyai control unit, ALU, register,dan cache memory sendiri-sendiri
• Setiap prosesor dapat mengakses memori dan I/O devicemelalui sistem bus
• Komunikasi antar prosesor menggunakan sarana memori(pesan dan status ditaruh di dalam ruang alamatbersama)
• Salinan data di memori dapat terletak pada beberapacache memory– Bagaimana cara menjaga validitas data jika salah satu prosesor
mengubah data tersebut ?– Solusi:
• Prosesor yang melakukan perubahan harus memberipemberitahuan
• Disebut cache coherenceSistem Operasi/2014 #17
• Setiap prosesor mempunyai control unit, ALU, register,dan cache memory sendiri-sendiri
• Setiap prosesor dapat mengakses memori dan I/O devicemelalui sistem bus
• Komunikasi antar prosesor menggunakan sarana memori(pesan dan status ditaruh di dalam ruang alamatbersama)
• Salinan data di memori dapat terletak pada beberapacache memory– Bagaimana cara menjaga validitas data jika salah satu prosesor
mengubah data tersebut ?– Solusi:
• Prosesor yang melakukan perubahan harus memberipemberitahuan
• Disebut cache coherence
![Page 18: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/18.jpg)
MasalahMasalah pada Perancanganpada PerancanganSistem OperasiSistem Operasi MultiprocessorMultiprocessor
• Bagaimana cara menangani:– Eksekusi proses atau thread secara konkuren dan bersama-
sama• Jika gagal: terjadi deadlock atau operasi tidak valid
– Penjadualan• Jika gagal: eksekusi proses atau thread tidak maksimal dan
starvation– Sinkronisasi
• Jika gagal: terjadi rebutan resource atau hasil eksekusi tidaksesuai dengan yang diharapkan
– Manajemen memori• Jika gagal: data tidak valid
– Kehandalan dan fault tolerance• Jika gagal: bila ada prosesor yang gagal tidak dapat segera
diketahui dan digantikan oleh prosesor yang lainSistem Operasi/2014 #18
• Bagaimana cara menangani:– Eksekusi proses atau thread secara konkuren dan bersama-
sama• Jika gagal: terjadi deadlock atau operasi tidak valid
– Penjadualan• Jika gagal: eksekusi proses atau thread tidak maksimal dan
starvation– Sinkronisasi
• Jika gagal: terjadi rebutan resource atau hasil eksekusi tidaksesuai dengan yang diharapkan
– Manajemen memori• Jika gagal: data tidak valid
– Kehandalan dan fault tolerance• Jika gagal: bila ada prosesor yang gagal tidak dapat segera
diketahui dan digantikan oleh prosesor yang lain
![Page 19: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single](https://reader033.fdocument.pub/reader033/viewer/2022061320/5c886f1709d3f21d318b4ecf/html5/thumbnails/19.jpg)
Referensi:Referensi:
[STA09] Stallings, William. 2009. OperatingSystem: Internal and Design Principles.6th edition. Prentice Hall
Sistem Operasi/2014 #19