Makalah Process Synchronization

KATA PENGANTAR

Puja dan puji syukur kehadirat ALLAH SWT yang telah memberikan rahmat dan hidayah serta inayah-Nya kepada kita. Sehingga dengan rahmat-Nya, Alhamdulillah makalah Sistem Operasi yang berjudul “proses ” ini dapat terselesaikan dangan tepat waktu. Makalah ini kami buat untuk memenuhi tugas dari mata kuliah sistem operasi.

Terima kasih kami ucapkan kepada semua  pihak yang telah membantu dalam bentuk materi dan saran, serta dibuat dengan segala masukan dan kekurangan yang telah diberikan pada saya sehingga makalah ini dapat selesai.

Saya berharap kepada semua pihak dengan segala kritik dan saran yang bersifat membangun, sangat kami harapkan untuk dimasa yang akan datang agar bisa menyempurnakan makalah ini, sebab makalah ini masih banyak kekurangannya.

Bandar Lampung, Maret 2021

BAB I

PENDAHULUAN

1.1  Latar Belakang

Sistem operasi merupakan suatu program yang memantau dan mengatur pemakaian sumber daya computer serta menjembatani antara user/pengguna dengan perangkat keras computer.Yang mana didalam sistem operasi tersebut memiliki banyak komponen – komponen yang sangat berperan didalamnya. Salah satu komponen yang ada didalamnya adalah proses dan thread (multithreading).

Hal tersebutlah yang melatar belakangi pembuatan makalah ini, yaitu untuk mengupas isi yang terkandung dalam proses dan thread (multithreading). Dengan tujuan mahasiswa sedikit banyaknya dapat memahami apa itu proses dan apa itu thread pada sebuah sistem operasi.

1.2  Rumusan Masalah

Dalam penulisan makalah ini membatasi permasalahan yang akan dibahas hanya pada:

v  Proses

v  Pengertian Proses

v  Keadaan Proses / Status Proses

v  Process Control Block

v  Penjadwalan Process

v  Operasi-operasi pada proses

v   Hubungan Antar Proses

v  Thread

v  Konsep dasar thread

v  Keuntungan Multithreading

v   Model Multithreading

v  Pustaka Thread

BAB II

PEMBAHASAN MATERI

2.1 PROSES

A.     Pengertian Proses

Proses merupakan aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor / procesor’s registry. Umumnya suatu proses juga termasuk proses stuck, yang berisikan data temporer (seperti parameter metoda, address yang kembali dan variable local) dan sebuah data section yang berisikan variable global.

B.     Keadaan Proses / Status 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 satu dari keadaan berikut ini :

v   New                 : Proses sedang dikerjakan/dibuat.

v   Running           : Intruksi sedang dikerjakan.

v   Waiting            : Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/signal).

v   Ready  : Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.

v   Terminated      : Proses telah selesai melaksanakan tugasnya/mengeksekusi.

C.     Process Control Block

Setiap proses dalam system operasi digambarkan oleh sebuah Process Control Block (PCB), yang disebut juga dengan Control Block. PCB berfungsi sebagai tempat menyimpan/gudang informasi apapun yang berfariasi dari proses ke proses.

PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal berikut :

v  Status proses

Status proses merupakan keadaan yang memungkinkan terjadinya aktivitas new, ready, running, waiting, halted,terminated dan banyak juga yang lainya.

v  rogram counter

Counter mengidentifikasikan address dari perintah selanjutnya untuk dijalankan dalam proses ini.

v  CPU register

Jumlah dan jenis register memiliki banyak fariasinya, tergantung pada rancangan komputernya. Register tersebut termasuk accumulator, index register, stack pointer, general popuses register, kode-kode informasi dalam bentuk apapun. Besertaan dengan program counter, keadaan/status informasi harus disimpan ketika terjadi gangguan, dan memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.

v   Informasi manajemen memori

Suatu informasi sebagai nilai dari dasar dan batas register, tabel page/halaman, atau tabel segmen yang tergantung pada system memori yang digunakan oleh system operasi.

v  Informasi pencatatan

Informasi yang menyatakan jumlah dari CPU dan waktu real yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan lainya.

v   Informasi status I/O

Informasi ini merupakan daftar dari perangkat I/O yang digunakan dalam suatu proses.

D.    Penjadwalan Process

Penjadwalan proses merupakan pembagian waktu yang dilakukan agar suatu proses dapat berjalan sepanjang waktu dan penggunaan CPU menjadi lebih maksimal. Tujuan dari pembagian waktu adalah untuk mengganti CPU diantara proses-proses yang begitu sering dilakukan sehingga pengguna dapat berinteraksi dengan program lain disaat CPU sedang bekerja.

v  Penjadwalan Antrian

Setiap proses yang memasuki sebuah sistem akan diletakan pada antrian job, yang terdiri dari seluruh proses dalam sistem. Meliputi proses yang  hidup pada memori utama, siap dan dan menunggu untuk dieksekusi yang disimpan dalam sebuah daftar antrian yang disebut ready queue. Dalam sebuah header queue berisikan penunjuk pada PCB-PCB awal dan akhir, dan setiap PCB memiliki pointer field ysng menunjuksn proses dalam ready queue.

Ketika sebuah proses mengalokasikan CPU, proses tersebut berjalan lalu berhenti, di intrupsi, atau menunggu suatu kejadian tertentu, seperti penyelesaian suatu permintaan I/O. Daftar dari proses yang menunggu untuk peralatan I/O tertentu disebut dengan device queue.

Representasi umum untuk suatu diskusi mengenai penjadwalan proses adalah diagram antrian, seperti gambar berikut:

Setiap kotak segi empat menunjukan sebuah antrian.Dua tipe antrian yang menunjukan antrian yang siap dan suatu perangkat device queue.Lingkaran menunuukan sumber-sumber yang melayani sistem. Satu dari beberapa kejadian dapat terjadi seperti berikut :

§  Proses dapat mengeluarkan permintaan I/O dan diletakan dalam antrian I/O.

§  Proses dapat membuka subproses yang baru dan menunggu terminasinya sendiri.

§  Proses dapat diganti secara paksa dari CPU, sebagai hasil dari intrupsi dan diletakan kembali dalam ready queue.

Dalam dua kasus pertama proses akhirnya berhenti dari waiting state menjadi ready state dan diletakan kembali kedalam ready queue.

v    Scheduler

Sebuah proses dapat mengeksekusi hanya untuk bebereapa milidetik debelum meminta permintaan I/O.  penjadwalan shorter mengeksekusi paling sedikit sekali dalam 100 milidetik. Penjadwalan longterm memiliki interval yang lebih panjang antara eksekusi, sehingga memakai waktu lebih lama untuk menentukan proses mana yang harus dipilih untuk dieksekusi.

Secara umum proses dapat dijelaskan sebagai I/O bound dan CPU bound. Proses I/O bound adalah salah satu proses yang membuang waktunya untuk mengerjakan I/O dari pada melakukan perhitungan. Sedangkan proses CPU bound adalah salah satu proses yang jarang menghasilkan permintaan I/O dan menggunakan lebih banyak waktunya untuk melakukan komputasi daripada yang digunakan oleh proses I/O bound.

Jika seluruh proses adalah I/O bound, ready queue hampir akan selalu kosong dan penjadwalan shorter akan memiliki sedikit tugas. Jika seluruh proses adalah CPU bound, I/O waiting queue hampir akan selalu kosong, peralatan tidak terpakai dan sistem akan menjadi tidak seimbang. Sistem yang memiliki kinerja yang baik adalah yang mengkombinasikan proses I/O bound dan proses CPU bound.

Penjadwal medium term memiliki tujuan untuk memindahkan proses dari memori (dari pengisian aktif dari CPU) dan untuk mengurangi derajat dari multi programming. Kemudian proses dapat diperkenalkan kedalam memori dan eksekusinya dapat dilanjutkan dimana proses tersebut diangkat. Skema ini disebut swapping. Proses di swapped out dan diswapped in oleh penjadwal jangka menengah untuk meningkatkan pencampuran proses atau suatu perubahan dalam persyaratan memori untuk dibebaskan.

v  Switch Context

Alih konteks atau switch context adalah kegiatan mengganti CPU ke proses lain dan kemudian beralih ke proses yang baru yang memerlukan penyimpanan suatu keadaan proses lama (state  of old process). Ketika alih konteks terjadi , karnel menyimpan konteks dari proses lama kedalam PCB nya dan mengisi konteks yang telah disimpan dari proses baru yang telah terjadwal untuk berjalan. Pergantian waktu konteks adalah murni overhead, karena sistem melakukan pekerjaan yang tidak perlu.Kecepatanya bervariasi dari masing-masing mesin, bergantung pada kecepatan memori, jumlah register yang harus dicopy, dan keberadaan instruksi khusus (seperti instruksi tunggal untuk mengisi atau menyimpan seluruh register).Tingkat kecepatan biasanya berkisar antara 1 – 1000 mikro detik.

E.     Operasi-operasi pada proses

Proses dalam sistem dapat dieksekusi secara bersamaan, proses tersebut harus dibuat dan dihapus secara dinamis. Maka sistem operasi harus menyediakan suatu mekanisme untuk pembuatan proses dari terminasi proses.

a.       Pembuatan Proses

Suatu proses dapat membuat beberapa proses baru melalui sistem pemanggilan pembuatan proses selama jalur eksekusi. Pembuatan proses dinamakan induk proses dan proses baru disebut anak proses dari proses tersebut. Secara umum suatu proses memerlukan sumber tertentu (waktu CPU, memori, berkas, perangkat I/O) untuk menyelesaikan tugasnya.

Ketika suatu proses membuat sebuah subproses, sehingga subproses mampu untuk memperoleh sumbernya secara langsung dari sistem operasi. Induk operasi harus membatasi sumber dan berbagi sumber (seperti memori berkas) diantara beberapa anaknya. Membatasi suatu anak proses menjadi subset sumber daya induknya mencegah proses apapun dari pengisian sistem yang terlalu banyak dengan menciptakan terlalu banyak subsistem.

Ketika suatu proses membuat proses baru, ada dua kemungkinan yang terjadi dalam term eksekusi :

v  Induk terus menerus mengeksekusi secara bersama-sama dengan anaknya.

v  Induk menunggu hingga sebagian dari anaknya telah diakhiri/terminasi. Selain itu juga ada dua kemungkinan yang terjadi dalam term dari address space pada proses baru, yaitu:

·         Anak proses adalah duplikat dari induk proses.

·         Anak proses memiliki program yang terisikan didalamnya.

b.      Terminasi Proses

Terminasi proses merupakan sebuah proses mengakhiri proses ketika proses tersebut selesai mengeksekusi pernyataan akhirnya dan meminta sistem operasi untuk menghapusnya dengan menggunakan sistem pemanggilan exit. Pada saat itu, proses dapat mengembalikan data (keluaran) pada induk prosesnya (melalui sistem pemanggilan wait). Seluruh sumber-sumber dari proses termasuk memori fisik dan virtual membuka berkas dan penyimpanan I/O di tempatkan kembali oleh sistem operasi. Suatu proses dapat menyebabkan terminasi dari proses ini melalui sistem pemanggilan yang tepat (contohnya abort). Biasanya hal tersebut hanya dapat dipanggil oleh induk proses tersebut yang akan diterminasi.

Induk proses dapat menterminasi/mengakhiri satu dari anaknya untuk beberapa alas an, seperti :

v  Anak telah melampaui kegunaanya atas sebagian sumber yang telah diperuntukan untuknya.

v  Pekerjaan yang ditugaskan pada anak telah keluar dan sistem operasi tidak memperbolehkan sebuah anak untuk meneruskan jika induknya berakhir.                               

F.     Hubungan Antar Proses

Ada sebab beberapa proses dapat saling berkomunikasi dan bekerja sama :

a.       Proses yang kooperatif

Proses yang bersifat simultan (concurrent) dijalankan pada sistem operasi dapat dibedakan menjadi dua, yaitu proses independent dan proses kooperatif. Suatu proses dikatakan independent apabila proses tersebut tidak dapat terpengaruh atau dipengaruhi oleh proses lain yang sedang dijalankan pada sistem. Sedangkan proses kooperatif adalah proses yang dapat dipengaruhi atau pun terpengaruhi oleh proses lain yang sedang dijalankan pada sistem. Ada empat alasan untuk penyediaan sebuah lingkungan yang dibolehkan terjadi proses kooperatif, yaitu:

·           Pembagian informasi, apabila beberapa pengguna tertarik pada bagian informasi yang sama (contohnya berkas bersama) dan harus tersedia tempat yang memungkinkan akses terus menerus ke tipe dari sumber-sumber tersebut.

·           Kecepatan penghitungan/komputasi, supaya sebuah tugas dapat berjalan lebih cepat kita harus membaginya kedalam subtask. Setiap bagian subtask akan dijalankan secara parallel dengan yang lainya. Dan peningkatan kecepatan dapat dilakukan jika computer tersebut memiliki elemen pemrosesan ganda (seperti CPU atau jalur I/O).

·           Modularitas, untuk membangun sebuah sistem pada sebuah model modular-modular, fungsi sistem perlu dibagi menjadi beberapa proses atau threads.

·           Kenyamanan, pengguna memiliki banyak tugas untuk dikerjakan secara bersamaan pada satu waktu, seperti mengedit, mencetak, dan mengcompile secara parallel.

b.      Komunikasi Proses dalam Sistem

Untuk berkomunikasi dengan yang lain perlu diediakan sebuah alat-alat proses kooperatif yaitu sebuah komunikasi dalam proses (IPC=Inter Process Comunication). IPC menyediakan mekanisme untuk mengizinkan proses-proses untuk berkomunikasi dan menyelaraskan aksi-aksi mereka tanpa berbagi ruang alamat yang sama. IPC merupakan penyedia layanan terbaik dengan menggunakan sebuah sistem penyampaian pesan, dan sistem-sistem pesan dapat diberikan dalam banyak cara :

Ø  Sistem penyampaian pesan

Sistem pesan berfungsi untuk mempperbolehkan komunikasi satu dengan yang lain tanpa menggunakan pembagian data. Fasilitas IPC menyediakan paling sedikit dua operasi yaitu kirim pesan dan terima pesan.

Berikut ada beberapa metode untuk mengimplementasikan sebuah jaringan dan operasi pengiriman/penerimaan secara logika :

·         Komunikasi langsung atau tidak langsung.

·         Komunikasi secara simetris/asimetris.

·         Buffer otomatis atau eksplisit.

·         Pengiriman berdasarkan salinan atau referensi.

·         Pesan berukuran pasti dan variable.

Ø  Komunikasi Langsung

Setiap proses yang ingin dikomunikasikan harus memiliki nama yang bersifat eksplisit baik penerima atau pengirim dari komunikasi tersebut. Pengiriman dan penerimaan pesan secara primitive dapat dijabarkan sebagai berikut :

·         Send (P,message), mengirim sebuah pesan ke proses P.

·         Receive (Q,message), menerima sebuah pesan dari proses Q.

Ada beberapa sifat jaringan komunikasi diantaranya adalah:

·         Sebuah jaringan yang didirikan secara otomatis diantara setiap pasang dari proses yang ingin dikomunikasikan. Proses tersebut harus mengetahui identitas dari semua yang akan dikomunikasikan.

·          Sebuah jaringan terdiri dari penggabungan dua buah proses.

·         Diantara setiap pesan dari proses terdapat tempat sebuah jaringan.

Ø  Komunikasi tidak langsung

Dengan komunikasi tidak langsung, pesan akan dikirimkan melalui mailbox (kotak surat) atau terminal-terminal, sebuah mailbox secara abstrak dapat dilihat sebagai sebuah objek dalam sebuah pesan yang dapat ditempatkan dari proses dan dari setiap pesan yang bisa dipindahkan.  Setiap mailbox memiliki identitas yang unik dan dapat berkomunikasi dengan beberapa pesan lain melalui nomor dari mailbox yang berbeda. Pengirim dan penerima dapat dijabarkan sebagai berikut :

·         Send (A,message), mengirim pesan ke mailbox A.

·         Receive (A,message), menerima pesan dari mailbox A.

Ada beberapa sifat yang dimiliki link komunikasi, diantaranya :

·         Sebuah link dibangun diantara sepasang proses dimana kedua proses tersebut membagi mailbox.

·         Sebuah link mungkin dapat berasosiasi dengan lebih dari dua proses.

·         Diantara setiap pasang proses komunikasi terdapat link yang berbeda-beda, dimana setiap link berhubungan pasa satu mailbox.

·         Jika mailbox dimiliki oleh proses, maka mendefinisikan pemilik sebagai yang dapat menerima pesan melalui mailbox. Dan pengguna sebagai yang  dapat mengirim pesan ke mailbox. Sistem operasi memiliki mekanisme yang mengizinkan proses untuk melakukan hal-hal berikut :

·         Membuat mailbox baru.

·         Mengirim dan menerima pesan melalui mailbox.

·         Menghapus mailbox.

Ø  Sinkronisasi

Komunikasi antar proses membutuhkan place by calls untuk mengirim dan menerima data primitive. Yang dikenal sebagai sinkron atau asinkron adalah sebagai berikut :

·          Pengiriman yang diblock, proses pengiriman diblock sampai pesan diterima oleh proses penerima (receiving process) atau oleh mailbox.

·         Pengirim yang tidak diblock, proses pengiriman pesan dan mengkalkulasi operasi.

·         Penerimaan yang diblock, penerima memblock sampai pesan tersedia.

·          Penerimaan yang tidak diblock, penerima mengembalikan pesan valid atau null.

Ø  Buffering

Meskipun komunikasi itu langsung atau tidak langsung, penukaran pesan oleh proses memerlukan antrian sementara. Pada dasarnya terdapat tiga jalan dimana antrian tersebut diimplementasikan :

·         Kapasitas nol; antrian mempunyai panjang maksimum 0,dan link tidak mempunyai penungguan pesan (message waiting). Sehingga pengirim harus memblock sampai penerima menerima pesan.

·           Kapasitas terbatas; antrian mempunyai panjang yang telah ditentukan, paling banyak n pesan dapat dimasukan. Jika antrian tidak penuh ketika pesan dikirimkan, pesan baru akan menimpa dan pengirim dapat melanjutkan eksekusi tanpa menunggu. Jika link penuh maka pengirim harus memblock sampai terdapat ruang pada antrian.

·         Kapasitas tak terbatas; antrian mempunyai batas yang tak hingga, maka semua pesan dapat menunggu dan pengirim tidak akan pernah diblock.

G. Model proses

1. Model 2 status

Biasanya, dalam menjalankan tuganya, proses berada pada salah satu dua status yaitu running atau not running. Selain itu, terdapat suatu antrian untuk mendapatkan eksekusi yang akan dijalankan. Dibawah ini adalah diagram antrian suatu proses.

Keterangan : Proses dipindahkan oleh dispatcher dari SO ke CPU kemudian kembali ke antrian (Queue) sampai tugas tersebut selesai (lengkap) dan seterusnya.

2. Lima Status Model Proses

Keterangan: Prosesor lebih cepat dibandngkan I/O, sehingga semua proses dapat menunggu I/O. Dalam gambar diatas, status blocked berubah menjadi suspend ketika proses dialihkan ke disk.

Didalam proses sistem operasi windows, terdapat switc yaitu :memungkinkan berpindahnya proses. Suatu process switchdapat terjadi kapapun SO memperolehkontrol dari proses yang sedang (currently) berjalan. Event yang mungkin memberikan SO kontrol adalah :

H. Langkah-langkah dalam process switch:

1.        Simpan context dari processor termasuk program counter (PC) & register lain

2.        Update process control block (PCB) dariproses yang saat terkini dalam status Running

3.        Pindahkan PCB ke antrian yang tepat –ready; blocked; ready/suspend

4.         Pilih proses lain untuk dieksekusi

5.        Update PCB dari proses terpilih

6.        Update struktur data memorymanagement

7.        Restore (kembalikan) contextdari proses terpilih

I.         Alasan mengapa proses di Agar tersedia memori tambahan bagi proses yang

1.        Berada pada Ready/Suspended atau Ready queue

2.        Proses tersebut merupakan proses back ground atau prosesutility

3.        Proses tersebut menyebabkan masalah

4.        Untuk keperluan debug

5.        Untuk mengetahui penggunaan resource

6.        Sedang menunggu event berikutnya yang dating nya secara eriodik Proses anak dihentikan oleh proses induk untuk keperluan pemeriksaan, modifikasi, atau koordinasi

2.2  THREAD

A.     Konsep dasar thread

Thread disebut juga sebagai proses ringan (lightweight) yang merupakan unit dasar dari utilitas CPU, yang mana didalamnya terdapat id trhead, program counter, register, dan stuck. Thread saling berbagi bagian program, bagian data, dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama disebut dengan multithreading. Dengan banyak control thread proses dapat melakukan lebih dari satu pekerjaan dalam waktu yang sama.

B.     Keuntungan Multithreading

a.       Responsive

Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang diblok atau melakukan operasi lain yang panjang. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan gambar.

b.      Berbagi sumber daya

Beberapa thread yang melakukan proses yang sama akan berbagi sumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.

c.       Ekonomis

Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan contextswitching thread.

d.      Utilisasi arsitektur multiprosesor

Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi paralel, tetapi pada kenyataanya hanya satu thread yang dijalankan CPU pada satu-satuan waktu.

·         User Threads

Thread yang pengaturannya dilakukan oleh pustaka thread pada tingkatan pengguna. Karena pustaka yang menyediakan fasilitas untuk pembuatan dan penjadwalan thread, thread pengguna cepat dibuat dan dikendalikan.

·          Kernel Threads

Thread yang didukung langsung oleh kernel. Pembuatan, penjadwalan dan manajemen thread dilakukan oleh kernel pada kernel space. Karena dilakukan oleh sistem operasi, proses pembuatannya akan lebih lambat jika dibandingkan dengan thread pengguna.       

C.     Model Multithreading

a.       Model Many to One

Model ini 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 multiprosesor. Contoh: Solaris Green Threads dan GNU Portable Threads.

b.      Model One to One

Model ini memetakan setiap thread tingkatan pengguna ke setiap thread. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahan model ini ialah setiap pembuatan thread pengguna memerlukan tambahan thread kernel. Karena itu, jika mengimplementasikan sistem ini maka akan menurunkan kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem. Contoh: Windows NT/XP/2000 , Linux, Solaris 9.

c.       Model Many to Many

Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna. Model ini mengizinkan developer membuat thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu. Keuntungan dari sistem ini ialah kernel thread yang bersangkutan dapat berjalan secara paralel pada multiprosessor.

D.    Pustaka Thread

Pustaka Thread atau yang lebih familiar dikenal dengan Thread Library bertugas untuk menyediakan API untuk programmer dalam menciptakan dan memanage thread. Ada dua cara dalam mengimplementasikan pustaka thread:

·         Menyediakan API dalam level pengguna tanpa dukungan dari kernel sehingga pemanggilan fungsi tidak melalui system call. Jadi, jika kita memanggil fungsi yang sudah ada di pustaka, maka akan menghasilkan pemanggilan fungsi call yang sifatnya lokal dan bukan sistem call.

·         Menyediakan API di level kernel yang didukung secara langsung oleh sistem operasi. Pemanggilan fungsi call akan melibatkan sistem call ke kernel.

Ada tiga pustaka thread yang sering digunakan saat ini, yaitu: POSIX Pthreads, Java, dan Win32. Implementasi POSIX standard dapat dengan cara user level dan kernel level, sedangkan Win32 adalah kernel level. Java API thread dapat diimplementasikan oleh Pthreads atau Win32

BAB III

PENUTUP

3.1 Kesimpulan

A.      Proses merupakan aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor / procesor’s registry.

B.       Tiap proses mungkin satu dari keadaan berikut ini :

·           New

·           Running

·           Waiting

·            Ready

·           Terminated    

 disebut juga sebagai proses ringan (lightweight) yang merupakan unit dasar dari utilitas CPU, yang mana didalamnya terdapat id trhead, program counter, register, dan stuck.

3.2  Saran

Setelah makalah ini ditulis hendaknya dosen yang bersangkutan dapat menjalaskan ataupun menambahkan materi yang berkaitan dengan makalah ini kepada mahasiswa. Agar mahasiswa dapat lebih memahami materi pembahasan tentang proses dan thread.

3.3  daftar pustaka

http://kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch11s02.html

Sumber

https://gokilbistre.blogspot.com/2017/04/sistem-operasiprosesmakalah.html

NAMA    : SABDA ADJIE SAPUTRA
NPM       : 20312040
KELAS     : IF20DX

0 Response to "Makalah Process Synchronization"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel