Pages

Materi Thread dan Proses

Materi Thread dan Proses

Hasil gambar untuk thread sistem operasi

Secara informal proses dibagi menjadi dua tipe atau bentuk, yaitu diantaranya:
1.Proses berat (heavyweight) => proses tradisional
2.Proses ringan (lightweight) => THREAD
Proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor's register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global.
Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor.
Keadaan Proses: Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini:
New : proses baru di ciptakan
Running : proses sedang di jalankan
Waiting : proses sedang menunggu suatu proses tertentu untuk dijalankan
(misalkan sedang menunggu respon dari perangkat I/O)
Ready : proses sedang menunggu untuk dilayani processor
Terminated : proses telah menyelesaikan eksekusi Diagram process state
Process Control Block
Thread
Thread, atau kadang-kadang disebut proses ringan ( lightweight ), adalah unit dasar dari utilisasi CPU. Di dalamnya terdapat ID thread, program counter, register, dan stack. Dan saling berbagi dengan thread lain dalam proses yang sama. Dalam sebuah thrad yang pekerjaannya memerlukan waktu yang sama (multithreading), Thread bekerja sama dengan thread lain dalam penggunaan bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.
Pendekatan System Kerja Thread
Pendekatan Tunggal
Description: C:\Users\PC 1\Pictures\5.PNG
Sebuah program yang menjalankan eksekusi thread tunggal. Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.
Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu.
MS-DOS mendukung proses pengguna tunggal & thread tunggal. Beberapa UNIX, mendukung banyak proses pengguna (user process) tetapi hanya mendukung satu thread per-proses

Pendekatan multithreads
Multithreads digunakan agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem multithreads tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu.
Banyak proses & thread dijumpai di Windows, Solaris, & versi modern dari UNIX (termasuk Linux)
Perlu diketahui bahwa Multithreading terdapat beberapa model diantarannya sebagai berikut:
Many-to-One
Hasil gambar untuk thread sistem operasi
Model Many-to-One memetakan beberapa thread tingkatan pengguna ke sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna, sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Jadi, multiple thread tidak dapat berjalan secara paralel pada multiprocessor. Thread tingkat pengguna yang diimplementasi pada sistem operasi yang tidak mendukung thread kernel menggunakan model Many-to-One.
One-to-One
Hasil gambar untuk thread one to one
Model One-to-One memetakan setiap thread tingkatan pengguna ke thread kernel. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahannya model ini ialah setiap pembuatan thread pengguna memerlukan pembuatan thread kernel. Karena pembuatan thread dapat menurunkan kinerja dari sebuah aplikasi maka implmentasi dari model ini jumlah thread dibatasi oleh sistem. Contoh sistem operasi yang mendukung model One-to-One ialah Windows NT dan OS/2.
Many-to-Many
Hasil gambar untuk thread many to many
Model ini me-multipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna. thread. Jumlah thread kernel spesifik untuk sebagian aplikasi atau sebagian mesin. Many-to-One model mengizinkan developer untuk membuat user thread sebanyak yang ia mau tetapi concurrency (berjalan bersama) tidak dapat diperoleh karena hanya satu thread yang dapat dijadwal oleh kernel pada suatu waktu. One-to-One menghasilkan concurrency yang lebih tetapi developer harus hati-hati untuk tidak menciptakan terlalu banyak thread dalam suatu aplikasi (dalam beberapa hal, developer hanya dapat membuat thread dalam jumlah yang terbatas). Model Many-to-Many tidak mengalami kelemahan dari dua model di atas. Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang bersangkutan dapat bejalan secara paralel pada multiprocessor. Dan juga ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi. Contoh sistem operasi yang mendukung model ini adalah Solaris, IRIX, dan Digital UNIX.
Contoh Threading
Hasil gambar untuk contoh threading

Kelebihan Thread dibanding dengan Proses
1. Pembuatan thread baru lebih cepat dari pada proses baru
2. Penghentian thread lebih singkat daripada penghentian proses
3. Switching antara dua thread lebih singkat daripada switching antar proses
4. Thread dapat berkomunikasi  satu sama lain – Tanpa memanggil kernel
Kerugian dari Implementasi KLT
Transfer kontrol dari satu thread ke lainnya di dalam proses yang sama mengharuskan switch modus ke kernel.
Mensuspend suatu proses berarti mensuspend semua thread dari proses tersebut.
Kategori Implementasi Thread
User Level Thread (ULT)
Adalah pengelolaan thread yang dilakukan oleh user- level threads library.
Contoh - POSIX Pthreads - Mach C-threads - Solaris threads
Kernel level Thread (KLT) atau disebut: – kernel-supported threads – lightweight processes.
Adalah pengelolaan thread yang dilakukan dengan didukung dengan Kernel atau bisa dikatakan Kernel memelihara informasi konteks bagi proses & thread.
Contoh - Windows 95/98/NT/2000 - Solaris - Tru64 UNIX - BeOS - Linux

Negeriandri

Phasellus facilisis convallis metus, ut imperdiet augue auctor nec. Duis at velit id augue lobortis porta. Sed varius, enim accumsan aliquam tincidunt, tortor urna vulputate quam, eget finibus urna est in augue.

Tidak ada komentar:

Posting Komentar

Subscribe for free :)
Enter your email address to subscribe to this
blog & silahkan komentar dengan baik :)