thread, smp, dan microkernel - telkom...

19
Thread Thread, SMP, , SMP, dan dan dan dan Microkernel Microkernel (Pertemuan ke (Pertemuan ke-6) 6) Agustus 2014

Upload: lynhu

Post on 13-Mar-2019

395 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Thread, SMP, dan Microkernel - Telkom Universitycdndata.telkomuniversity.ac.id/pjj/z1414641222ebf15306fc46330db1f8... · Taksonomi Komputer Paralel (2) • Single Instruction Single

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Referensi:Referensi:

[STA09] Stallings, William. 2009. OperatingSystem: Internal and Design Principles.6th edition. Prentice Hall

Sistem Operasi/2014 #19