Langsung ke konten utama

Thread & Proses

 Proses dan thread pada sistem operasi


1. Proses


Proses adalah konsep pokok dari sistem operasi. Berbagai macam defnisi mengenai proses 

telah dicetuskan. Secara sederhana, proses adalah sebuah program yang dieksekusi. Proses 

merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan 

dijadwalkan sistem operasi. Sistem operasi mengelola semua proses di sistem dan 

mengalokasikan sumber daya ke proses sesuai kebutuhan.

Secara informal; 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.




Process State

Status proses selalu berubah-ubah selama suatu program dieksekusi atau dijalankan. Beberapa status tersebut ialah :

- New : proses baru diciptakan

- Running : proses sedang dijalankan

- Waiting : proses sedang menunggu suatu kondisi tertentu untuk bisa berjalan. (misalkan menunggu respon dari perangkat I/O)

- Ready : proses menunggu untuk dilayani processor

- terminated : proses telah menyelesaikan eksekusi.

pst

Diagram status proses


1.2 Process Control Block (PCB)

Sistem operasi membutuhkan banyak informasi mengenai proses guna pengelolaan proses. Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :

1. Process State >> berisi informasi status proses. (new,running,waiting,ready,terminated)

2. Program counter >> berisi informasi mengenai alamat instruksi yang akan digunakan selanjutnya.

3. CPU register >> berisi register2 CPU apa saja yang digunakan

4. CPU scheduling information >> berisis penjadwalan proses beserta algoritmanya

5. Memory management information >> berisi informasi tentang berapa jumlah memory yang digunakan, limit register, tabel segment, dll berkenaan dengan penggunaan memory.

6. I/O status information >> berisi informasi tentang perangkat apa saja yang digunakan dalam proses

7. Accounting >> berisi informasi tentang statistik eksekusi proses seperti waktu yang diperlukan, jumlah proses, dll.


pcb

Diagram PCB



2. Thread

Program yang dieksekusi :

1.Proses berat (heavyweight) => proses tradisional

2.Proses ringan (lightweight) => THREAD

Thread terdiri dari ID thread, program counter,himpunan register dan stack. Thread dapat melakukan lebih dari satu

pekerjaan pada 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.

Keuntungan penggunaan thread :

1.Tanggap

2.Pemberdayaan resorce

3.Ekonomis

4.Pemberdayaan arsitektur multiprocessor



2.1 Single thread dan multi thread

1.Single thread >> process hanya mengeksekusi satu thread saja pada satu waktu

2.Multi thread >> process dapat mengeksekusi sejumlah thread dalam satu waktu.

snmthread



2.2 Model Multithread

Sebelumnya, perlu diketahui apa itu user thread dan kernel thread.

User thread >> pengelolaan thread dilakukan oleh user level (pengguna)

Kernel thread >> pengelolaan thread dilakukan oleh kernel komputer User tidak dapat menginterupsi.

Model-model multithreading :

1. Many to one.

- Beberapa thread user-lever dipetakan ke dalam single kernel thread

- Penggunaannya pada sistem tidak memerlukan dukungan kernel thread

many2one


2. One to one

- Setiap user-level thread dipetakan ke kernel thread.

- Contoh : Windows 95/98/NT/2000

one2one


3. Many to many

- Membolehkan setiap user-level thread dipetakan ke banyak kernel thread

- Membolehkan sistem operasi membuat sejumlah kernel thread

- Contoh : Windows NT/2000 dengan paket ThreadFiber 10, Solaris 2

Komentar

Postingan populer dari blog ini

Deadlock sistem operasi

 Ketika menggunakan komputer, pernah kah terjadi hang, not responding atau bahkan layar monitor hanya berwarna biru saja? Barangkali itu adalah salah satu jenis dari deadlock pada Sistem Operasi kita. Deadlock sering dianalogikan dengan keadaan jalan raya yang mogok(macet) ataupun jalan buntu. Masalah deadlock terjadi karena penggunaan sumberdaya (resources) yang digunakan secara bersama-sama. Penyebab terjadinya deadlock adalah : a. mutual exclusion, yaitu suatu keadaan dimana hanya ada satu proses saja yang boleh memakai resource, proses yang lain harus menunggu sampai proses tadi benar-benar selesai. contoh mutual exclusion adalah “buffering” ketika kita menonton video. b. Hold and Wait,yaitu keadaan dimana suatu proses ‘kelaparan’ sumberdaya. Suatu proses menunggu suatu sumberdaya dalam waktu yang lama hingga sumberdaya tersebut tidak terpakai oleh proses lainnya. c. No Pre-emption, yaitu keadaan dimana suatu sumberdaya tidak boleh diambil(dipakai) begitu saja/secara paksa oleh...

Pengurutan data dengan bubble sort

Untuk Console.WriteLine sendiri digunukan untuk menampilkan sesuatu pada layar hasil project kita nanti atau lebih tepatnya pada tampilan console nya . Dim digunakan untuk mendeklarasikan suatu variabel tertentu , untuk diaatas kita menggunakan Integer yang di gunakan untuk variabel angka atau value , jika non angka biasanya menggunakan String . untuk (4) sendiri berarti indeks dari variabel element akan sampai empat saja dan total nya ada 5 indeks yaitu indeks 0 sampai indeks 4 . ketika current kurang dari 5 maka pada setiap indeks di variabel element ( dimulai dari element indeks 0 ya seperti yang saya jelaskan diatas ) maka current akan ditambahkan 1 dan terus sampai indeks terakhir pada element yaitu indeks 4 . karena hanya ada 4 indeks saja pada element . Lalu kita menambahkan lagi sebuah variabel menjadi integer yaitu variabel kiri dan kanan Untuk step pertama atau posisi pertama yaitu dari kiri indeks pertama indeks 0 . Pada bagian Kanan current ...

Tipe Operating System

 1. BatchOS Digunakan pada komputer generasi ke-2 , saat itu komputer belum memiliki sistem operasi namun sistem pada sebuah sistem operasi sudah ada , yaitu dengan cara Job-job yang mirip akan dikumpulkan dan dijalankan secara kelompok lalu setalah selesai otomatis kelmpok lain akan dijalankan dalam Sistem operasi batch ini ada tanggung jawab operator untuk menyortir pekerjaan dengan kebutuhan yang sama contoh :Ada pada komputer generasi pertama yaitu FMS ( Fortarn Monitoring System ) dan IBSYS Keuntungan di BatchOs adalah : -Processor di sistem Batch akan mengetahui berapa lama pekerjaan akan dikerjakan ketika dalam antrian -Beberapa pengguna dapat berbagi sistem batch -waktu idle sistem batch sudah dikurangi sehingga mempercepat proses - sangat mudah melakukan pekerjaan besar secara berualang Kekurangan di BatchOs adalah : -Operator komputer harus menguasai sistem batch -mahal -sistem batch sangat sulit untuk di debug -mahal -pekerjaan lain harus menunggu untuk waktu yang tidak ...