Anda di halaman 1dari 13

Anissa Diva Ayu Firmansyah

PENGENALAN UMUM SISTEM OPERASI 2MI02M – 30422068


Sistem Operasi
1. KONSEP PROSES
1.1. Definisi Proses
Proses adalah abstraksi penting yang digunakan oleh sistem operasi untuk
mengelola dan mengendalikan eksekusi program. Proses adalah instansi dari program
yang sedang berjalan. Setiap proses memiliki lingkungan eksekusi yang terisolasi,
termasuk area memori, register, dan sumber daya sistem lainnya. Dalam sistem operasi
yang mendukung multitasking, banyak proses dapat berjalan secara bersamaan.
Proses dalam sistem operasi adalah konsep penting yang memungkinkan sistem
komputer untuk menjalankan banyak tugas secara bersamaan, mengoptimalkan
penggunaan sumber daya, dan memberikan isolasi antara program-program yang
berjalan agar mereka tidak saling mengganggu.

1.2. Status Proses


Dalam sistem operasi, status proses adalah kondisi atau keadaan suatu proses
pada suatu waktu tertentu. Status proses menggambarkan apa yang sedang terjadi
dengan proses tersebut, apakah sedang berjalan, siap untuk dieksekusi, tidur, sedang
menunggu atau dalam keadaan lainnya.
Status proses adalah alat penting bagi sistem operasi untuk mengkoordinasi dan
menjadwalkan berbagai proses yang berjalan dalam sistem komputer. Sistem operasi
menggunakan status ini untuk menjadwalkan proses, memutuskan proses mana yang
harus dieksekusi selanjutnya, ketika proses harus tidur atau bangun dari tidur dan
mengelola sumber daya dengan efisien. Pemantauan status proses juga membantu dalam
pemecahan masalah dan analisis kinerja sistem.
Keadaan suatu proses adalah sebagai berikut :
 Baru (Buat) : Pada langkah ini, proses akan dibuat tetapi belum
dibuat. Ini adalah program yang ada di memori sekunder yang akan diambil oleh OS
untuk membuat proses.
 Siap : Baru -> Siap dijalankan. Setelah pembuatan suatu proses,
proses memasuki keadaan siap yaitu proses dimuat ke dalam memori utama. Proses
di sini siap dijalankan dan menunggu waktu CPU untuk eksekusinya. Proses yang
siap dieksekusi oleh CPU disimpan dalam antrian yang disebut antrian siap untuk
proses siap.
 Jalankan : Proses dipilih dari antrian siap oleh CPU untuk
dieksekusi dan instruksi dalam proses dijalankan oleh salah satu inti CPU yang
tersedia.
 Diblokir atau Tunggu : Setiap kali proses meminta akses ke I/O atau memerlukan
masukan dari pengguna atau memerlukan akses ke wilayah kritis (kunci yang sudah
diperoleh), proses memasuki status diblokir atau menunggu. Prosesnya terus
menunggu di memori utama dan tidak memerlukan CPU. Setelah operasi I/O selesai,
proses masuk ke status siap.
 Dihentikan atau Selesai : Proses dihentikan dan PCB dihapus. Sumber daya yang
dialokasikan untuk proses akan dilepaskan atau dibatalkan alokasinya.
 Suspend Ready : Proses yang awalnya dalam keadaan siap tetapi ditukar
keluar dari memori utama (lihat topik Memori Virtual) dan ditempatkan ke
penyimpanan eksternal oleh penjadwal dikatakan dalam keadaan siap
ditangguhkan. Proses akan bertransisi kembali ke keadaan siap setiap kali proses
dibawa kembali ke memori utama.
 Tangguhkan tunggu atau tangguhkan diblokir : Mirip dengan tangguhkan siap
tetapi menggunakan proses yang melakukan operasi I/O dan kurangnya memori
utama menyebabkannya berpindah ke memori sekunder. Ketika pekerjaan selesai
mungkin akan ditangguhkan.

 Proses Terikat CPU dan I/O: Jika prosesnya intensif dalam hal operasi CPU, maka
ini disebut proses terikat CPU. Demikian pula, jika prosesnya intensif dalam hal
operasi I/O maka disebut proses terikat I/O.
1.3. Process Control Block (PCB)
Process Control Block (PCB) dalam sistem operasi adalah struktur data yang
digunakan untuk menyimpan informasi penting tentang suatu proses yang sedang
berjalan di dalam sistem komputer. PCB adalah elemen kunci dalam manajemen dan
pengendalian proses, serta berperan dalam koordinasi proses-proses tersebut. Informasi
yang disimpan dalam PCB meliputi :

1. Process ID (PID) : Identifikasi unik yang diberikan kepada setiap proses


dalam sistem. PID memungkinkan sistem operasi untuk mengidentifikasi dan
merujuk proses secara unik.
2. Status Proses : Menyimpan informasi tentang status proses, seperti
apakah proses tersebut sedang berjalan (running), siap untuk dieksekusi (ready),
tidur (blocked), atau telah selesai (terminated).
3. Counter Program : Mengacu pada counter yang menghitung jumlah instruksi
yang telah dieksekusi oleh proses. Ini digunakan dalam penjadwalan dan pemantauan
kinerja.
4. Pointer Register : Menyimpan nilai dari semua register CPU yang relevan,
seperti nilai akumulator, counter, dan register lainnya. Ini memungkinkan proses
untuk dijeda dan dilanjutkan dengan benar.
5. Informasi Penjadwalan : Data tentang prioritas proses, waktu CPU yang telah
digunakan, dan informasi penjadwalan lainnya yang diperlukan untuk menentukan
urutan eksekusi proses.
6. Informasi Memori : Menunjukkan lokasi memori yang digunakan oleh proses,
termasuk alamat awal dan batas memori yang diizinkan.
7. Informasi Sumber Daya: Menyimpan informasi tentang sumber daya yang
digunakan oleh proses, seperti file terbuka, hak akses, dan hak kepemilikan.
8. Keamanan : Data tentang hak akses dan izin proses terhadap sumber
daya dan area memori tertentu.
Elemen – elemen dari Process Control Block (PCB) :
 Identifier : menjelaskan proses yang sedang terjadi.
 State : kondisi yang terjadi pada proses.
 Prioritas : urutan perintah yang jelas pada suatu proses.
 Program counter : proses pada proses.
 Memory pointer : media penyimpanan (penunjuk alamat) pada proses.
 Data konteks : data yang berkaitan dengan proses.
 Informasi status I/O : berisi masukan dan keluaran yang diinginkan.
 Informasi akuntansi : memberikan informasi yang dibutuhkan
PCB adalah bagian integral dari manajemen proses dalam sistem operasi.
Informasi dalam PCB memungkinkan sistem operasi untuk menjadwalkan proses,
mengelola alokasi sumber daya, dan memonitor kinerja proses. PCB diperbarui saat
proses berubah status, dan ini memungkinkan sistem operasi untuk mengendalikan
proses dengan efisien serta memberikan isolasi antara proses-proses yang berjalan.
2. KONSEP PENJADWALAN
Konsep penjadwalan dalam sistem operasi merujuk pada proses pemilihan proses
mana yang akan dieksekusi oleh CPU (Central Processing Unit) pada suatu waktu tertentu.
Penjadwalan adalah bagian penting dalam manajemen proses yang bertujuan untuk
mengoptimalkan penggunaan sumber daya, memastikan respon yang cepat terhadap
pengguna, dan menjaga efisiensi sistem. Terdapat 3 konsep dasar penjadwalan proses yaitu :
2.1. Schedulling Queue
Scheduling queue (antrian penjadwalan), dalam konsep penjadwalan sistem
operasi adalah struktur data yang digunakan untuk mengelompokkan dan mengatur
proses-proses yang siap untuk dieksekusi berdasarkan kriteria tertentu, seperti prioritas
atau waktu tiba. Antrian penjadwalan digunakan oleh algoritma penjadwalan CPU untuk
menentukan urutan eksekusi proses dalam sistem. Terdapat beberapa jenis antrian
penjadwalan yang umum digunakan:
1. Antrian Siap (Ready Queue) : Ini adalah antrian yang berisi proses-
proses yang siap untuk dieksekusi oleh CPU. Proses dalam antrian siap memiliki
status "siap" dan menunggu giliran untuk menggunakan CPU. Algoritma
penjadwalan akan memilih proses dari antrian siap untuk dieksekusi berdasarkan
prioritas atau kriteria lainnya.
2. Antrian Prioritas (Priority Queue) : Proses dikelompokkan ke
dalam antrian berdasarkan prioritas. Proses dengan prioritas yang lebih tinggi
ditempatkan dalam antrian yang lebih tinggi, sehingga mereka akan dieksekusi lebih
dahulu. Algoritma penjadwalan akan memilih proses dari antrian prioritas tertinggi.
3. Antrian Multilevel (Multilevel Queue) : Dalam sistem dengan
berbagai tingkat prioritas, proses dikelompokkan dalam beberapa antrian dengan
tingkat prioritas yang berbeda. Antrian ini memungkinkan pemisahan proses-proses
berdasarkan sifat mereka atau kebutuhan sistem tertentu.
4. Antrian Round Robin (Round Robin Queue) : Dalam algoritma
penjadwalan Round Robin, proses ditempatkan dalam antrian yang mengantri secara
bergiliran. Setiap proses diberi waktu CPU selama satu putaran (quantum) sebelum
dipindahkan ke akhir antrian. Ini membantu dalam memberikan keadilan dalam
alokasi CPU.
5. Antrian Prioritas Dinamis (Dynamic Priority Queue) : Dalam beberapa
algoritma penjadwalan, proses dapat memasuki atau meninggalkan antrian prioritas
tertentu berdasarkan perilaku atau kondisi mereka. Ini memungkinkan penyesuaian
dinamis terhadap prioritas proses.
Antrian penjadwalan memungkinkan sistem operasi untuk mengelola dan
mengendalikan urutan eksekusi proses sesuai dengan kebijakan penjadwalan yang
diterapkan. Ini juga memungkinkan sistem operasi untuk mengoptimalkan pemanfaatan
sumber daya CPU dan memberikan respons yang baik kepada pengguna. Algoritma
penjadwalan CPU menggunakan antrian penjadwalan ini untuk memilih proses mana
yang harus dieksekusi selanjutnya, berdasarkan prioritas atau kriteria lain yang
ditentukan oleh sistem operasi.

2.2. Schedulers
Schedulers adalah sebuah proses berpindah-pindah di antara berbagai
penjadualan antrian seumur hidupnya. Sistem operasi harus memilih dan memproses
antrian-antrian ini berdasarkan kategorinya dengan cara tertentu. Oleh karena itu, proses
seleksi ini harus dilakukan oleh scheduler yang tepat. Dalam konsep penjadwalan
sistem operasi, terdapat tiga jenis utama dari schedulers (penjadwal) yang digunakan
untuk mengatur urutan eksekusi proses :
1. Long-Term Scheduler (Penjadwal Jangka Panjang) : Schedulers ini bertanggung
jawab untuk memilih proses-proses yang akan dimasukkan ke dalam antrian siap
(ready queue). Ini adalah tugas jangka panjang yang dilakukan secara periodik.
Penjadwal jangka panjang mempertimbangkan faktor-faktor seperti tingkat beban
sistem dan sumber daya yang tersedia, dan memutuskan proses mana yang harus
dimasukkan ke dalam antrian siap. Keputusan ini memengaruhi pertumbuhan
populasi proses dalam sistem.
2. Short-Term Scheduler (Penjadwal Jangka Pendek) : Penjadwal jangka pendek,
juga dikenal sebagai CPU scheduler, adalah yang paling sering digunakan. Tugas
penjadwal jangka pendek adalah memilih proses dari antrian siap (ready queue)
untuk dieksekusi oleh CPU. Tujuannya adalah untuk mengoptimalkan pemanfaatan
CPU, memberikan respons yang cepat kepada pengguna, dan menjalankan proses
sesuai dengan kebijakan penjadwalan yang telah ditetapkan. Penjadwal jangka
pendek berjalan secara terus-menerus dan membuat keputusan dalam hitungan
milidetik.
3. Medium-Term Scheduler (Penjadwal Jangka Menengah) : Schedulers ini
berfokus pada manajemen memori fisik dan alokasi sumber daya. Mereka
bertanggung jawab untuk menentukan mana proses-proses yang harus dimuat ke
dalam memori fisik dan mana yang harus di-swapping ke penyimpanan sekunder.
Penjadwal jangka menengah membantu mengelola penggunaan memori dengan
menghapus proses-proses yang tidak aktif dari memori untuk memberikan tempat
bagi proses-proses lain yang akan dieksekusi. Ini juga dapat membantu mengatasi
masalah kekurangan memori fisik.
Dalam penggunaan praktis, seringkali "scheduler" merujuk khusus kepada
penjadwal jangka pendek yang beroperasi pada level yang paling terdekat dengan CPU.
Penjadwal jangka pendek adalah yang paling kritis karena pengaruhnya terhadap respons
sistem terhadap pengguna dan efisiensi penggunaan CPU. Karena itu, pemilihan proses
oleh penjadwal jangka pendek sering berdasarkan algoritma penjadwalan seperti Round
Robin, Shortest Job Next, atau algoritma-algoritma lainnya yang sesuai dengan
kebutuhan sistem operasi dan kebijakan yang diterapkan.
2.3. Context Switch
Context switch (pertukaran konteks) dalam konsep penjadwalan sistem operasi
adalah proses di mana sistem operasi menyimpan status dan informasi eksekusi proses
yang sedang berjalan saat ini, menghentikan proses eksekusi tersebut, dan memulai
eksekusi proses lain yang telah dipilih untuk eksekusi selanjutnya. Context switch
diperlukan ketika algoritma penjadwalan memutuskan bahwa proses lain harus
mengambil alih CPU setelah proses yang sedang berjalan selesai atau harus dihentikan
sementara. Proses peralihan konteks melibatkan beberapa langkah penting, termasuk :
1. Penyimpanan Konteks Proses Aktif : Informasi konteks dari proses yang
sedang berjalan saat ini disimpan. Ini mencakup nilai-nilai register CPU, instruksi
pointer, dan status lainnya yang diperlukan untuk menjalankan dan melanjutkan
proses eksekusi ini nanti.
2. Pemilihan Proses Selanjutnya : Algoritma penjadwalan (seperti Round
Robin, Shortest Job Next, dll.) digunakan untuk memilih proses selanjutnya yang
akan dieksekusi.
3. Pemulihan Konteks Proses Berikutnya : Informasi konteks dari proses yang telah
dipilih untuk eksekusi selanjutnya disiarkan dari penyimpanan. Ini mencakup nilai-
nilai register dan status yang diperlukan.
4. Perubahan Konteks (Context Switch) : CPU beralih dari eksekusi proses yang
sedang berjalan ke proses yang baru dipilih. Ini sebenarnya di mana informasi
konteks yang disimpan sebelumnya digunakan untuk mengembalikan keadaan proses
baru yang akan dieksekusi.
Context switch adalah operasi yang mahal dalam waktu dan sumber daya, karena
melibatkan banyak memori operasi dan perpindahan data. Oleh karena itu, algoritma
penjadwalan yang efisien dan optimal harus dirancang untuk meminimalkan peralihan
konteks frekuensi. Meskipun demikian, saklar konteks adalah bagian integral dari
pengendalian proses dalam sistem operasi dan diperlukan untuk menjaga keadilan dalam
alokasi CPU dan memberikan respons yang baik kepada pengguna.
3. OPERASI PADA PROSES
3.1. Pembuatan Proses
Operasi pembuatan proses (process creation) adalah proses di mana sistem
operasi menciptakan proses baru. Ini adalah salah satu operasi dasar dalam manajemen
proses dalam sistem operasi. Operasi pembuatan proses terjadi ketika pengguna atau
aplikasi meminta sistem operasi untuk menjalankan program baru atau ketika sistem
operasi memulai proses-proses sistemnya. Berikut adalah langkah-langkah umum dalam
operasi pembuatan proses :
1. Penciptaan Entitas Proses : Saat operasi pembuatan proses dimulai, sistem
operasi membuat struktur data yang disebut Process Control Block (PCB) untuk
merepresentasikan proses baru. PCB ini akan menyimpan informasi penting tentang
proses, seperti ID proses, konteks CPU awal, status awal, dan sumber daya yang
dialokasikan.
2. Alokasi Memori : Sistem operasi menentukan lokasi di memori fisik
di mana kode dan data program yang akan dieksekusi oleh proses tersebut akan
disimpan. Ini melibatkan alokasi ruang memori untuk program dan data, serta
pengaturan hak akses.
3. Inisialisasi Konteks : Konteks CPU awal untuk proses baru diatur. Ini
mencakup pengaturan nilai-nilai register CPU, pointer instruksi, dan kondisi awal
lainnya yang diperlukan untuk memulai eksekusi program.
4. Mulai Eksekusi : Setelah semua persiapan selesai, sistem operasi
memulai eksekusi program yang akan dieksekusi oleh proses. CPU diberikan kepada
proses tersebut untuk eksekusi.
5. Pengembalian Nilai Kembali : Setelah proses selesai atau berhenti, sistem
operasi akan mengumpulkan hasilnya dan mengembalikan nilai-nilai tersebut kepada
proses pemanggil atau aplikasi yang memulai proses tersebut.
Proses pembuatan proses dapat terjadi dalam beberapa konteks yang berbeda,
termasuk :
 Permintaan Pengguna : Pengguna dapat meminta sistem operasi untuk
menjalankan program atau aplikasi baru. Misalnya, dengan mengklik ikon aplikasi
pada antarmuka pengguna grafis atau melalui baris perintah.
 Operasi Sistem : Sistem operasi juga dapat menciptakan proses-
proses sistemnya sendiri, seperti proses penjadwalan, proses pemantauan, dan proses
manajemen sumber daya.
 Forking (Pembuatan Salinan) : Beberapa sistem operasi, seperti UNIX,
memungkinkan proses untuk menciptakan proses baru dengan melakukan operasi
fork. Proses anak yang dihasilkan adalah salinan dari proses induk, dan mereka dapat
berkomunikasi satu sama lain.
Operasi pembuatan proses adalah elemen kunci dalam manajemen proses dalam
sistem operasi. Ini memungkinkan sistem operasi untuk menjalankan banyak tugas
secara bersamaan, mengoptimalkan penggunaan sumber daya, dan memisahkan tugas-
tugas yang berbeda dalam entitas proses yang terisolasi.

3.2. Penghentian Proses


Operasi penghentian proses (process termination) dalam sistem operasi adalah
proses di mana sistem operasi mengakhiri atau menghentikan eksekusi dari suatu proses
yang sedang berjalan. Penghentian proses dapat terjadi karena berbagai alasan, seperti
selesai dengan sukses, kesalahan, atau berdasarkan kebijakan penjadwalan. Berikut
adalah beberapa alasan umum untuk menghentikan proses :
1. Selesai dengan Sukses : Proses telah menyelesaikan tugasnya sesuai
dengan rencana dan tidak ada kesalahan yang terjadi. Proses ini mengembalikan
kontrol dan hasil eksekusi ke sistem operasi.
2. Kesalahan : Proses telah mengalami kesalahan atau kegagalan
selama eksekusi. Penghentian proses bisa menjadi tindakan yang diperlukan untuk
mencegah kerusakan lebih lanjut pada sistem.
3. Dibatalkan oleh Pengguna : Pengguna atau administrator sistem dapat
memutuskan untuk menghentikan proses yang sedang berjalan, misalnya melalui
perintah terminasi atau melalui antarmuka pengguna.
4. Terminasi Oleh Proses Induk : Proses induk dapat memutuskan untuk
menghentikan proses anak yang telah diciptakannya.
5. Overhead atau Pertimbangan Efisiensi: Dalam beberapa kasus, sistem operasi atau
algoritma penjadwalan mungkin memutuskan untuk menghentikan proses yang
sedang berjalan untuk alasan efisiensi, seperti jika proses tersebut telah melebihi
batas waktu tertentu atau menggunakan sumber daya CPU secara berlebihan.
6. Kebijakan Keamanan : Sistem operasi atau kebijakan keamanan dapat
memerlukan penghentian proses yang mencoba melakukan operasi yang tidak
diizinkan atau mengancam keamanan sistem.
Langkah – langkah umum dalam operasi penghentian proses melibatkan :
1. Penghentian Eksekusi : CPU dihentikan dari menjalankan instruksi dari
proses yang akan dihentikan. Konteks CPU saat ini disimpan.
2. Pembebasan Sumber Daya : Sumber daya yang dialokasikan kepada proses,
seperti memori, perangkat I/O, dan file, dibebaskan untuk digunakan oleh proses lain
atau sistem.
3. Penghapusan PCB : Process Control Block (PCB) yang digunakan
untuk mengelola informasi tentang proses tersebut dihapus.
4. Penghapusan Proses Dari Antrian Penjadwalan : Jika proses berada dalam antrian
penjadwalan (seperti antrian siap), proses tersebut dihapus dari antrian.
5. Pengiriman Sinyal Akhir atau Hasil : Hasil eksekusi atau kode akhir dari proses
dapat dikirimkan atau diumumkan kepada proses lain atau ke pengguna.
Operasi penghentian proses penting dalam pengelolaan proses dalam sistem
operasi. Ini memastikan bahwa sumber daya sistem dibebaskan dengan benar, mencegah
proses-proses yang tidak aktif atau berbahaya tetap berjalan, dan memungkinkan sistem
operasi untuk menjalankan proses lain dengan efisien.

4. PROSES YANG SALING BEKERJASAMA (COOPERATING PROCESS)


Proses yang saling bekerjasama (cooperating process) dalam sistem operasi merujuk
pada dua atau lebih proses yang bekerja bersama-sama atau berinteraksi untuk mencapai
tujuan tertentu. Kerjasama antar proses ini dapat mencakup berbagi sumber daya,
komunikasi dan koordinasi untuk menyelesaikan tugas tertentu.
 Proses yang terpisah (independence) : proses yang tidak berakibat atau
diakibatkan oleh ekskusi dari proses lain.
 Proses yang saling bekerja sama (cooperate) : proses yang dapat berakibat atau
diakibatkan oleh ekskusi dari proses lain.
Keuntungan dari proses yang saling bekerja sama :
 Information sharing
 Computation speed-up
 Modularity
 Convenience
Proses yang saling bekerjasama memungkinkan sistem operasi untuk mendukung
berbagai jenis aplikasi dan layanan yang melibatkan kerjasama dan interaksi antarproses.
Penting untuk memahami mekanisme komunikasi dan sinkronisasi yang tepat untuk
memastikan bahwa proses yang saling bekerjasama dapat beroperasi dengan aman dan
efisien.

5. THREADS
Dalam sistem operasi, thread adalah unit eksekusi terkecil yang dapat berbagi sumber
daya dan memori dalam sebuah proses. Thread merupakan cara untuk menjalankan tugas-
tugas secara konkuren atau paralel di dalam satu proses. Mereka dapat berjalan dalam
konteks proses yang sama, berbagi memori dan sumber daya dengan thread-thread lain
dalam proses yang sama. Thread lebih ringan daripada proses tradisional (heavyweight
processes), karena mereka memiliki overhead yang lebih rendah dalam hal penggunaan
sumber daya.
1. Thread vs Proses :
 Proses adalah lingkungan eksekusi yang independen, sedangkan thread adalah
unit eksekusi yang lebih kecil di dalam proses.
 Thread dalam satu proses berbagi memori dan sumber daya, sedangkan proses
memiliki sumber daya yang terpisah dan tidak dapat berbagi data secara
langsung.
2. Jenis-Jenis Threads :
 Terdapat dua jenis utama dari thread : user-level thread (ULT) dan kernel-level
thread (KLT).
 User-level thread diatur dan dikelola oleh aplikasi atau perpustakaan perangkat
lunak di lapisan pengguna, sedangkan kernel-level thread diatur oleh sistem
operasi.
3. Manfaat Threads :
 Threads memungkinkan proses untuk melakukan tugas konkuren yang dapat
meningkatkan efisiensi dan responsifitas program.
 Threads sangat berguna dalam aplikasi dengan tugas-tugas yang dapat dieksekusi
secara paralel, seperti pemrosesan data, tugas-tugas jaringan, dan pemrograman
berbasis peristiwa.
4. Sinkronisasi :
 Karena thread berbagi memori, pengaturan sinkronisasi diperlukan untuk
menghindari masalah akses bersamaan ke data. Hal ini mencakup penggunaan
semafor, mutex (kunci), dan variabel kondisi.
5. Keuntungan :
 Threads lebih efisien dalam hal penggunaan sumber daya daripada proses karena
overhead yang lebih rendah.
 Membuat dan menghentikan thread lebih cepat daripada menciptakan dan
menghentikan proses.
 Threads memungkinkan aplikasi untuk memanfaatkan multi-core dan multi-
processor sistem dengan lebih baik.
6. Kelemahan :
 Threads dalam satu proses dapat saling mempengaruhi dan menyebabkan
masalah kesalahan (bugs) yang sulit di identifikasi dan diperbaiki.
 Sinkronisasi antar-thread dapat kompleks dan memerlukan perhatian ekstra.
7. Thread dalam Bahasa Pemrograman :
 Bahasa pemrograman seperti Java, C++, dan Python memiliki dukungan untuk
thread dan menyediakan perpustakaan untuk mengelola thread.
 Pustaka standar POSIX Threads (threads) adalah pilihan umum untuk mengelola
thread dalam bahasa C.
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 per thread tanpa
menggunakan manajemen memori. Thread adalah cara yang efisien untuk mencapai
konkurensi dan paralelisme dalam aplikasi, tetapi juga memerlukan manajemen yang cermat
untuk menghindari masalah sinkronisasi dan deadlock. Thread sangat berguna dalam
pengembangan aplikasi yang membutuhkan tugas-tugas konkuren untuk mencapai kinerja
atau responsifitas yang optimal.
6. KOMUNIKASI ANTAR PROSES
Komunikasi antar proses (Inter-Process Communication atau IPC) dalam sistem
operasi adalah mekanisme yang memungkinkan proses yang berjalan secara terpisah untuk
saling berbagi data, berkomunikasi, dan berkoordinasi. IPC penting dalam situasi di mana
proses-proses perlu bekerjasama, berbagi informasi, atau saling berinteraksi untuk mencapai
tugas tertentu. Proses komunikasi dengan proses lain tanpa menggunakan variabel yang
dishare. Fasilitas IPC terdiri dari dua operasi:
 Send (pesan), ukuran pesan bisa berbeda-beda atau tetap
 Receive (pesan)
Dalam komunikasi antar proses ada dua jenis, yaitu pertama Komunikasi Langsung
(Direct Communication) merupakan bentuk komunikasi langsung ke proses lain. Lalu
kedua Komunikasi Tak Langsung (Indirect Communication) penerimaan pesan dilakukan
melalui mailbox (port). Mailbox memiliki identitas unik dan dua buah proses dapat saling
berkomunikasi hanya jika mereka sharing mailbox. Komunikasi antar proses adalah aspek
penting dalam pengembangan aplikasi terdistribusi dan paralel, serta dalam sistem yang
memerlukan kerjasama antar proses untuk mencapai tujuan tertentu.

7. BUFFERING
Buffering dalam sistem operasi adalah proses penyimpanan sementara (temporary
storage) data di dalam suatu buffer atau cache sebelum data tersebut dipindahkan atau
diakses oleh komponen yang membutuhkannya, seperti perangkat keras (misalnya, disk atau
jaringan) atau proses pemrosesan. Tujuan utama buffering adalah meningkatkan efisiensi
komunikasi atau akses data dengan mengurangi latensi dan meningkatkan throughput.
Terdapat dua cara dalam buffering, yaitu single buffering dan double buffering.

8. KONDISI – KONDISI PERKECUALIAN


8.1. Proses Dihentikan
Pengirim atau penerima menghentikan komunikasi setelah pesan diproses. Hal ini
mengakibatkan pesan tidak pernah diterima atau proses yangmenunggu pesan tersebut
tidak pernah dikirim. Dalam hal ini ada 2 kasus :
 Penerima proses P menunggu suatu pesan dari proses Q yang dihentikan, jika ada
aksi, maka P di block. Pada kasus ini system juga akan menghentikan P atau
memberitahu pada P bahwa Q dihentikan.
 Proses P mengirim pesan ke proses Q yang dihentikan. Pada system buffer otomatis,
tidak akan terjadi apa-apa. P melanjutkan esekusi. Jika P ingin mengetahui apakah
pesannya telah di proses oleh Q, maka P harus memprogram secara eksplisit suatu
pengetahuan. Jika tidak ada buffer, P akan di block seperti halnya kasus 1. Sistem
juga akan menghentikan P atau memberitahukan pada P bahwa Q dihentikan.
8.2. Kehilangan Pesan
Pesan pada proses P ke proses Q bisa jadi hilang entah kemana dalam
suatu jaringan komunikasi. Hal ini mengakibatkan kegagalan pada hardware,
Untuk mengatasi hal itu ada 3 metode yaitu :
 Sistem operasi mendeteksi adanya kejadian tersebut, kemudian mengirim
ulang pesan yang hilang.
 Proses yang mengirim pesan mendeteksi kejadian tersebut kemudian
mentransmisikan kembali pesan tersebut jika diminta.
 Sistem operasi mendeteksi adanya kejadian tersebut kemudian memberitahukan
kepada proses yang mengirim bahwa pesan yang disampaikan hilang di tengah jalan.
Proses pengiriman dapat melakukan sesuatu sesuai yang dipilihnya.
Untuk mendeteksi adanya pesan yang hilang maka digunakan timeout. Pada saat
satu pesan dikirim maka akan diberikan pesan jawaban bahwa pesan telah dikirim.
Sistem operasi / suatu proses akan menghitung interval waktu antara jawaban dengan
pesan yang diterima jika melebihi batas waktu yang telah ditentukan, maka pesan
tersebut dianggap hilang dan akan dikirim kembali. Kelemahan dari system ini adalah
terkadang pesan datang sedikit terlambat dari yang diperkirakan sehingga sistem operasi
mungkin menggangapnya hilang dan mengakibatkan kopiannya dikirim dan
penerima akan mendapatkan 2 pesan yang sama.

8.3. Proses Terganggu


Pesan yang dikirim sebelum sampai di tujuan kadang bisa mengalami gangguan
di tengah jalan, sama seperti pesan yang hilang. Jika hal in terjadi maka pesan akan
dikirim kembali.

Anda mungkin juga menyukai