MATAKULIAH SISTEM OPERASI – PENDIDIKAN TEKNIK INFORMATIKA 2008 PROSES Kelompok 4 • Nur Chabibah R. • Rika Milliyana • Kartikadyota K. • Akhmad Dwi N. • Risan Pratikto W. …PROSES… KONSEP PROSES THREAD Symmetric Multiprocessing (SMP) MANAJEMEN THREAD & SMP MIKROKERNEL 1. Pengertian • Program yang dieksekusi, dan terdapat program counter, stack dan data section. • Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. • Sumber daya tersebut dapat berupa CPU time, memori, berkas, dan perangkat M/K. KONSEP PROSES 1. Pengertian • Program counter Sebuah stack yg menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya. • Stack berisi data sementara (parameter fungsi/ metode, return address, dan variabel lokal). • Data section menyimpan variabel-variabel global. KONSEP PROSES 2. Status Proses Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. saat instruksi2 dari sebuah proses dieksekusi saat proses menunggu sebuah event saat proses siap untuk dieksekusi oleh sebuah prosesor • New saat proses baru saja dibuat • Terminated saat proses telah selesai dieksekusi • Running • Waiting • Ready KONSEP PROSES 2. Status Proses Jika status proses running… • Terminated, jika program telah selesai dieksekusi • Ready, jika waktu yang disediakan OS telah habis dan telah terjadi interrupt • Waiting, jika proses menunggu selesainya sebuah event yang terjadi KONSEP PROSES 3. Process Control Block (PCB) Menggambarkan setiap proses di dalam SO, menyimpan informasi mengenai suatu proses, yang dibutuhkan oleh sistem operasi. • • • • • • Status proses Program counter CPU register Informasi managemen memori Informasi pencatatan Informasi status M/K KONSEP PROSES …PROSES… KONSEP PROSES THREAD Symmetric Multiprocessing (SMP) MANAJEMEN THREAD & SMP MIKROKERNEL MENU THREAD... Definisi Thread Keuntungan Thread Status Thread Model Multithreading Manajemen Thread THREAD 1. Definisi Thread Thread merupakan unit dasar dari penggunaan CPU Thread terdiri dari Thread_ID, program counter, register set, dan stack Thread juga sering disebut lightweight process THREAD 1. Definisi Thread Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak (Multithreading) adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu THREAD 2. Keuntungan Thread Meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. THREAD 3. Status Thread • New Sebuah thread pada keadaan ini ada ketika objek dari thread tersebut dibuat • Runnable Memanggil start() method untuk mengalokasikan memori bagi thread baru. • Blocked Thread dihentikan namun dia tetap waspada jika sewaktu-waktu diperlukan kembali. • Dead Sebuah thread dipindahkan ke keadaan dead (mati) ketika run() method berhenti atau ketika stop() method dipanggil. THREAD 4. Model Multithreading Model many to one Model one to one Model many to many THREAD a. Many to One • Dalam model ini, hanya satu thread yang bisa diakses, jadi multiple thread tidak dapat berjalan secara paralel pada multiprocessor. • Kelemahan model ini adalah multi threading tidak dapat berjalan atau bekerja secara paralel di dalam multiprocessor dikarenakan hanya satu thread yang bisa mengakses kernel dalam satuan waktu. MODEL MULTITHREADING b. One to One • Model ini menyediakan lebih banyak concurrency dibandingkan model many to one • Model ini lebih sinkron dengan mengizinkan multiple thread untuk berjalan secara paralel dalam multiprocessor. • Kelemahan model ini adalah setiap pembuatan thread pengguna memerlukan pembuatan thread kernel, karena pembuatan thread dapat menurunkan kinerja dari sebuah aplikasi maka implementasi dari model ini, jumlah thread dibatasi oleh sistem. MODEL MULTITHREADING c. Many to Many • Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna. • Model ini tidak menderita kelemahan dari dua model diatas developer dapat membuat user thread sebanyak yang diperlukan • Kernel thread yang bersangkutan dapat berjalan secara paralel dalam multiprocessor, dan juga ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi. MODEL MULTITHREADING 5. ManajemenThread • Suspend() Berfungsi untuk menunda eksekusi dari thread yang sedang berjalan. • Sleep() Berfungsi untuk menempatkan thread yang sedang berjalan untuk tidur dalam beberapa waktu. • Resume() Hasil eksekusi dari thread yang sedang ditunda. • Stop() Menghentikan eksekusi dari sebuah thread; sekali thread telah dihentikan dia tidak akan memulainya lagi. THREAD …PROSES… KONSEP PROSES THREAD Symmetric Multiprocessing (SMP) MANAJEMEN THREAD & SMP MIKROKERNEL 1. Definisi SMP • Tightly Coupled System, – Mempunyai lebih dari satu prosesor • Dapat berkomunikasi • Membagi bus, clock, perangkat memory, dan peripheral. – Keuntungan : meningkatkan throughput, meningkatkan kehandalan sistem, serta ekonomis. “setiap prosesor menjalankan sistem operasi yang identik dan komunikasi antar prosesor jika diperlukan” • Ex: UNIX versi Encore’s dan Windows 2000 SYMMETRIC MULTIPROCESSING (SMP) 2. Perbedaan SMP & ASMP SYMMETRIC MULTIPROCESSING (SMP) 3. Organisasi SMP • Setiap prosesor memiliki akses ke memori utama dan perangkat-perangkat I/O bagi-pakai melalui mekanisme interkoneksi tertentu • Prosesor dapat berkomunikasi dengan prosesor lainnya melalui memori SYMMETRIC MULTIPROCESSING (SMP) …PROSES… KONSEP PROSES THREAD Symmetric Multiprocessing (SMP) MANAJEMEN THREAD & SMP MIKROKERNEL 1. Karakteristik Penting Proses W2K • Proses W2K diimplementasikan sebagai objek • Proses yang dapat dieksekusi dapat berisi sebuah thread atau lebih • Objek Proses dan objek thread memiliki kemampuan sinkronisasi bawaan. MANAJEMEN THREAD & SMP 1. Karakteristik Penting Proses W2K MANAJEMEN THREAD & SMP 2. Objek Proses & Objek Thread • W2K menggunakan dua jenis objek yang berkaitan dengan proses : proses dan thread – Sebuah proses adalah suatu entity yang berkenaan dengan user job atau aplikasi yang memeliki sumber daya, seperti memori, dan file yang terbuka. – Thread adalah satuan kerja yang dispatchable yang dapat melakukan eksekusi secara sekuential dan dapat diinterupsi, sehingga prosesor dapat beralih ke thread lainnya. MANAJEMEN THREAD & SMP OBJEK PROSES WINDOWS 2000 MANAJEMEN THREAD & SMP OBJEK THREAD WINDOWS 2000 MANAJEMEN THREAD & SMP 3. Keadaan Thread 2000 MANAJEMEN THREAD & SMP 4. Multithreading • W2K mendukung konkurensi proses-proses karena thread di dalam proses yang berbeda dapat melakukan eksekusi secara bersamaan. • Sejumlah thread yang terdapat di dalam sebuah proses dapat dialokasikan ke prosesor-prosesor yang berbeda dan melakukan eksekusi secara konkuren. • Thread yang berada dalam sebuah proses dapat saling melakukan tukar informasi melalui ruang alamat umumnya dan memiliki akses ke sumber daya bagi pakai proses tersebut. MANAJEMEN THREAD & SMP 5. Dukungan SMP • Thread setiap proses, termasuk thread milik executive, dapat beroperasi pada sembarang prosesor. • Dalam ketidakadaan keterbatasan afinitas, microkernel mengassign thread yang berada dalam kedaaan ready ke prosesor berikutnya yang tersedia. Hal ini akan menjamin bahwa tidak akan ada prosesor berada dalam keadaan idle atau sedang melakukan eksekusi thread berprioritas rendah pada saat thread berprioritas tinggi berada dalam keadaan siap. • Beberapa thread yang berasal dari sebuah proses yang sama dapat dieksekusi secara simultan pada sejumlah prosesor. MANAJEMEN THREAD & SMP …PROSES… KONSEP PROSES THREAD Symmetric Multiprocessing (SMP) MANAJEMEN THREAD & SMP MIKROKERNEL MENU MikroKernel... Definisi Kernel Desain Kernel Definisi Mikrokernel? Fungsi Mikrokernel Kelebihan Mikrokernel SO yang menggunakan Mikrokernel MIKROKERNEL 1. Definisi Kernel Apa itu kernel?? “Kernel adalah suatu perangkat lunak yang menjadi bagian utama(komponen sentral) dari sebuah sistem operasi.” Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras secara aman. Ia mengatur hal-hal seperti interrupt handler(untuk menyediakan layanan interupsi), process scheduler(membagi-bagi proses dalam prosesor), memory management, I/O, dan sebagainya. Atau dengan kata lain, ia adalah jembatan antara hardware dengan software. MIKROKERNEL 2. Desain Kernel Para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut: • Kernel monolitik • Mikrokernel • Kernel hibrida • Exokernel MIKROKERNEL 3. Definisi MikroKernel Apa itu mikrokernel?? Microkernel adalah inti (kernel) dari operating system yang paling sederhana, tidak ada fasilitas apapun, menjadikannya kernel ini berukuran sangat kecil dan biasanya sangat stabil (hampir bisa dipastikan tidak ada lagi bugs-nya). MIKROKERNEL 4. Fungsi MikroKernel Microkernel hanya memiliki fungsi manajemen sederhana untuk men-deliver services : • low-level address space management: sistem pengalamatan physical atau virtual untuk memory, network host, peripheral, dan lain-lain • thread management: pengaturan proses (='molekul') yang terpecah menjadi thread (='atom') dan dijalankan secara paralel. • inter-process communication (IPC) : pengaturan komunikasi antar thread pada satu atau beberapa proses. IPC bisa punya ruang lingkup di dalam atau antar komputer. MIKROKERNEL 5. Kelebihan MikroKernel • Interface yang seragam • Extensibility • Flexibility • Portability • Reliability • Support for object-oriendted OS MIKROKERNEL 6. SO yang Menggunakan MikroKernel • IBM AIX, sebuah versi UNIX dari IBM • Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi • Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X • Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi • Symbian OS, sebuah sistem operasi yang populer digunakan pada handphone, handheld device, embedded device, dan PDA Phone. MIKROKERNEL KONSEP DASAR – THREAD – SYMMETRIC MULTIPROCESSING – MIKROKERNEL Terima Kasih ...