PROSES dan THREAD SISTEM OPERASI

 PROSES 

Proses adalah unit kerja terkecil yang secara individu mempunyai sumber daya dan dijadwalkan oleh sistem operasi.

Proses adalah sebuah konsep utama pada sistem operasi, sehingga masalah manajemen proses adalah masalah utama pada perancangan sistem operasi. Proses pada Sistem Operasi berisikan instruksi, program counter, data, register pemroses, alamat pengiriman, stack data dan variabel pendukung lainnya.

Untuk kegiatan proses, sistem operasi berperan untuk mengelola segala proses pada sistem dan mengalokasikan sumber daya ke proses tersebut. Berbagai proses berjalan secara bersamaan, dimana setiap proses mendapatkan bagian-bagian memori dan kendali sendiri-sendiri (peran SO), sehingga setiap proses (program) memiliki 2 prinsip di bawah ini :

  1. Independent, adalah program-program tersebut berdiri sendiri, tidak saling bergantung dan terpisah.
  2. One program at any instant, adalah hanya satu proses yang dilayani oleh pemroses pada satu waktu.
Dalam komputasi, sebuah proses  adalah contoh dari program komputer yang sedang dijalankan oleh satu atau banyak benang. Ini berisi kode program dan aktivitasnya. Bergantung pada sistem operasi(OS), suatu proses dapat terdiri dari beberapa thread eksekusi yang menjalankan instruksi secara bersamaan. 
Sementara program komputer adalah kumpulan instruksi pasif , proses adalah eksekusi sebenarnya dari instruksi tersebut. Beberapa proses dapat dikaitkan dengan program yang sama; misalnya, membuka beberapa program dari program yang sama sering kali menghasilkan lebih dari satu proses yang dijalankan.

Memori proses dibagi menjadi empat bagian untuk kerja yang efisien:
  1. TEKS. Bagian Teks terdiri dari kode program yang dikompilasi, dibaca dari penyimpanan non-volatile saat program diluncurkan.
  2. DATA. Bagian Data terdiri dari variabel global dan statis, dialokasikan dan diinisialisasi sebelum menjalankan utama.
  3. HEAP. Heap digunakan untuk alokasi memori dinamis, dan dikelola melalui panggilan ke baru, menghapus, malloc, bebas, dll.
  4. STACK. Stack digunakan untuk variabel lokal. Ruang di tumpukan dicadangkan untuk variabel lokal saat dideklarasikan.

THREAD

Dalam ilmu komputer sebuah thread esekusi adalah urutan terkecil instruksi diprogram yang dapat dikelola secara mandiri oleh scheduler , yang biasanya merupakan bagian dari sistem operasi .Implementasi thread dan proses berbeda antara sistem operasi, tetapi dalam banyak kasus thread adalah  komponen dari suatu proses. Beberapa thread dapat berada dalam satu proses, dijalankan secara bersamaan dan berbagi sumber daya seperti memori , sementara proses yang berbeda tidak berbagi sumber daya ini. Secara khusus, thread proses berbagi kode yang dapat dieksekusi dan nilai-nilainyavariabel yang dialokasikan secara dinamis dan variabel global non -thread-local pada waktu tertentu. 
Sebuah thread berbagi dengan thread lainnya beberapa informasi seperti segmen kode, segmen data, dan file terbuka. Ketika satu thread mengubah item memori segmen kode, semua thread lainnya melihatnya.

Sebuah thread juga disebut proses ringan . Thread menyediakan cara untuk meningkatkan kinerja aplikasi melalui paralelisme. Threads merupakan pendekatan perangkat lunak untuk meningkatkan kinerja sistem operasi dengan mengurangi overhead thread yang setara dengan proses klasik.

Setiap thread memiliki tepat satu proses dan tidak ada thread yang dapat berada di luar proses. Setiap utas mewakili aliran kontrol yang terpisah. Thread telah berhasil digunakan dalam mengimplementasikan server jaringan dan server web. Mereka juga menyediakan fondasi yang sesuai untuk eksekusi paralel aplikasi pada multiprosesor memori bersama.

Keuntungan dari Thread
  • Thread meminimalkan waktu peralihan konteks.
  • Penggunaan thread menyediakan konkurensi dalam suatu proses.
  • Komunikasi yang efisien.
  • Lebih ekonomis untuk membuat dan mengubah konteks thread sakelar.
  • Thread memungkinkan pemanfaatan arsitektur multiprosesor ke skala dan efisiensi yang lebih besar.
Perbedaan Proses dan Thread.
  • proses biasanya independen, sementara thread ada sebagai himpunan bagian dari suatu proses.
  • proses membawa lebih banyak informasi status daripada thread, sedangkan banyak thread dalam proses berbagi status proses serta memori dan sumber daya lainnya
  • proses memiliki ruang alamat yangterpisah , sedangkan Thread berbagi ruang alamatnya.
  • proses berinteraksi hanya melalui mekanisme komunikasi antar proses yang disediakan sistem
  • peralihan konteks antar Thread dalam proses yang sama biasanya terjadi lebih cepat daripada peralihan konteks antar proses.

Comments

Popular Posts