Anda di halaman 1dari 35

MAKALAH

MANAJEMEN PROSES
Disusun Untuk Memenuhi Tugas Mata Kuliah Sistem Operasi
Dosen: DEWI LUQI PUSPITASARI

Oleh
Kelompok 1 kelas 2KB04 :

 HERU FADILAH SATYAPUTRA (20122593)


 MUHAMMAD ARIL HIDAYAT (20122849)
 MUHAMMAD FADEL RENDY SYAHPUTRA (20122888)
 NANANG ARIF (21122054)
 SHAFA SEKAR CHANDRAYANI (21122365)
 TARISHA ADDINNYA PRIADI (20122010)
 ZEFANYA ANDAR BILEAM HUTABARAT (21122507)

UNIVERSITAS GUNADARMA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
JURUSAN SISTEM KOMPUTER
2023/2024

1
KATA PENGANTAR

Puji Syukur kami panjatkan kepada Tuhan Yang Maha Esa, karena atas berkat dan
Rahmat-NYAlah makalah ini dapat diselesaikan tepat pada waktunya. Penulisan makalah
yang berjudul “Manajemen Proses Dalam Sistem Operasi” ini dalam rangka dan tujuan untuk
dapat memahami apa yang dimaksud manajemen proses dalam sistem operasi dan apa saja
yang ada didalamnya.

Kami menyadari bahwa tulisan ini tidak luput dari segala kesalahan ataupun
kekurangan. Hal ini disebabkan oleh keterbatasan pengetahuan dan kemampuan yang kami
miliki. Oleh karena itu segala kritik maupun saran pembaca akan kami terima dengan senang
hati demi perbaikan makalah lebih lanjut.

Bekasi, September 2023

Penulis

2
DAFTAR ISI
Kata Penghantar.......................................................................................................................2

Daftar isi......................................................................................................................................3

BAB I PENDAHULUAN............................................................................................................4

 Manajemen Proses.............................................................................................4
1.1 .Latar belakang....................................................................................................5
1.2 .Rumusan masalah.............................................................................................6
1.3 .Tujuan Penulisan................................................................................................6

BAB II PEMBAHASAN.............................................................................................................7

2.1.Model Proses........................................................................................................7

2.2 .Status Proses........................................................................................................8


2.3 .Implementasi Proses.........................................................................................8
 Komunikasi Antar Proses..............................................................9
2.4 .Race Condition...................................................................................................9
2.5 .Sleep and Awake................................................................................................11
2.6 Semaphore............................................................................................................12
 Proses dalam sistem terdistribusi................................................15
2.7 .Thread....................................................................................................................16

BAB III KESIMPULAN DAN SARAN....................................................................................21

A. Kesimpulan............................................................................................................21
B. Saran........................................................................................................................21

CONTOH PERTANYAAN DAN JAWABAN........................................................................22

BAB IV PENUTUP......................................................................................................................24

DAFTAR PUSTAKA....................................................................................................................25

3
BAB 1
PENDAHULUAN

MANAJEMEN PROSES
Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan
instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses
membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut
dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem
operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau
sedang diproses/dijalankan.
Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua
sumber daya agar bisa digunakankembali oleh proses lainnya. Sistem operasi bertanggung
jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
• Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas
mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil
sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses
lainnya.
• Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus
dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada.
Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan
mendahulukan proses yang memiliki prioritas paling besar.
• Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya
beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya
inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya
proses agar setiap proses berjalan dengan lancer.
• Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan
mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya
berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses
lainnya.
• Menyediakan mekanisme untuk penanganan deadlock. Deadlock adalah suatu keadaan
dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bias
dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses
lain.Saling menunggu inilah yang disebut deadlock. Sistem operasi harus bisa mencegah,
menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga
harus dapat memulihkan kondisi sistemnya.

4
1.1 LATAR BELAKANG
Sistem operasi dapat dikatakan adalah perangkat lunak yang sangat kompleks. Hal-hal yang
ditangani oleh sistem operasi bukan hanya satu atau dua saja, melainkan banyak hal. Dari
menangani perangkat keras, perangkat lunak atau program yang berjalan, sampai menangani
pengguna. Hal tersebut menyebabkan sebuah sistem operasi memiliki banyak sekali
komponenkomponen tersendiri yang memiliki fungsinya masing-masing. Seluruh komponen
yang Menyusun sistem operasi tersebut saling bekerjasama untuk satu tujuan, yaitu efisiensi
kerja seluruh perangkat komputer dan kenyamanan dalam penggunaan sistem operasi. Oleh
karena itu, penting bagi kita untuk mengetahui komponen-komponen apa saja yang ada
didalam sebuah sistem operasi, agar kita bisa mempelajari sistem operasi secara menyeluruh.
Tanpa satu saja dari komponen-komponen tersebut, bisa dipastikan sebuah sistem operasi
tidak akan berjalan dengan maksimal. Bayangkan jika kita memiliki sistem operasi yang
tidak memiliki kemampuan untuk menangani program-program yang berjalan sekaligus. Kita
tak akan bisa mengetik sambil mendengarkan lagu sambil berselancar di internet seperti yang
biasa kita lakukan saat ini. Mempelajari komponen sistem operasi secara umum dapat
mempermudah pemahaman untuk mengetahui hal-hal yang lebih detail lagi tentang sistem
operasi.
Pengertian secara umum adalah pengelola seluruh sumberdaya yang terdapat pada system
komputer dan menyediakan sekumpulan layanan ke pemakai sehingga memudahkan dan
menyamankan penggunaan serta pemanfaatan sumberdaya sistem komputer.
Dari berbagai macam sistem operasi yang ada, tidak semuanya memiliki
komponenkomponen penyusun yang sama. Pada umumnya sebuah sistem operasi modern
akan terdiri dari komponen sebagai berikut:
• Manajemen Proses.
• Manajemen Main Memory.
• Manajemen File.
• Manajemen Sistem I/O.
• Manajemen Penyimpanan Sekunder.
• Proteksi dan Keamanan.
Dalam kegiatannya sehari-hari, sistem operasi memiliki sebuah mekanisme proteksi untuk
memastikan dirinya, semua program yang berjalan, dan data-data penggunanya berjalan
dengan baik. Untuk melakukan hal tersebut, sistem operasi memiliki dua jenis mode operasi
yang saling terpisah. Dua operasi tersebut, yaitu user mode, eksekusi program dikendalikan
oleh pengguna, dan kernel mode, eksekusi program dikendalikan oleh sistem operasi,
dinamakan dual-mode operation.Dual-mode operation diimplementasikan pada arsitektur
perangkat keras. Sebuah bit yang disebut mode bit ditambahkan ke perangkat keras untuk
menunjukkan mode operasi saat itu: 0 untuk kernel mode dan 1 untuk user mode. Dengan
adanya dual-mode operation, eksekusi sebuah program atau sebuah proses bisa dibedakan
sumbernya, apakah dieksekusi oleh sistem operasi atau dieksekusi oleh pengguna. Hal ini
akan sangat berguna dalam berjalannya sistem operasi.
5

Selain itu, sistem operasi memiliki sebuah mekanisme untuk melindungi prosesor dari
berbagai macam program yang berjalan. Bayangkan jika ada sebuah proses mengalami
infinite loop. Tentu saja prosesor akan terus menerus melayani program itu dan menghambat
proses lainnya yang akan dieksekusi prosesor, dan hal ini bisa dipastikanakan mengurangi
kinerja dari komputer. Perlindungan prosesor tersebut dilakukan dengan timer. Timer diset
untuk melakukan interupsi prosesor setelah beberapa periode waktu. Dengan adanya timer,
sebuah program bisa Handout Komputer Teknologi Informasi | 58 dicegah dari berjalan
terlalu lama. Misalkan sebuah program memiliki time limit 7 menit. Setelah 7 menit tersebut
terlewati, sistem operasi akan menginterupsi prosesor dan menghentikan eksekusi program
tersebut.

1.2 Rumusan Masalah


 Apa yang dimaksud dengan Manajemen Sumber Daya Data?
 Apa yang dimaksud dengan organisasi data?
 Bagaimana struktur Basis data?
 Bagaimana contoh basis data relasional?
 Bagaimana membuat dan menggunakan basis data?
 Bagaimana personel basis data?
 Bagaimana menempatkan sistem manajemen basis data dalam perspektif?
1.3 Tujuan Penulisan
 Untuk menyelesaikan tugas kelompok mata kuliah Sistem operasi
 Untuk mengetahui apa itu Manajemen basis data
 Untuk mengetahui bagaimana struktur data
 Untuk mengetahui bagaimana contoh basis data
 Untuk mengetahui bagaimana personel basis data dan bagaimana menempatkan
sistem manajemen basis data dalam perspektif
6

BAB 2
PEMBAHASAN

2.1 Model Proses


Model proses dalam sistem operasi adalah cara untuk mengorganisasi dan mengelola
eksekusi program atau tugas dalam lingkungan komputer. Ini adalah konsep fundamental
dalam manajemen proses di sistem operasi. Model ini membantu sistem operasi mengatur
dan mengendalikan bagaimana proses-proses ini berinteraksi satu sama lain dan dengan
sumber daya komputer. Berikut adalah penjelasan lebih lanjut tentang model proses dalam
sistem operasi:

 Program: Semua proses dimulai dengan program. Program adalah entitas perangkat
lunak yang berisi instruksi-instruksi yang harus dieksekusi oleh komputer. Contoh
program dapat berupa aplikasi, skrip, atau bahkan sistem operasi itu sendiri.
 Proses: Proses adalah instansi eksekusi dari program. Setiap proses memiliki ruang
alamatnya sendiri yang berisi instruksi dan data yang diperlukan untuk eksekusi.
Proses juga memiliki atribut seperti ID proses, status, dan informasi lainnya yang
diperlukan untuk pengelolaan.
 Alokasi Sumber Daya: Model proses mencakup alokasi sumber daya, termasuk
alokasi CPU time, alokasi memori, hak akses ke perangkat keras, dan sumber daya
lainnya yang diperlukan oleh proses untuk menjalankan tugasnya.
 Penjadwalan: Sistem operasi bertanggung jawab untuk menentukan urutan eksekusi
proses-proses yang berjalan. Ini dikenal sebagai penjadwalan. Tujuan penjadwalan
adalah memaksimalkan penggunaan CPU, mengurangi waktu tunggu, dan
memprioritaskan proses sesuai dengan aturan tertentu.
 Komunikasi Antar Proses: Dalam beberapa situasi, proses perlu berkomunikasi satu
sama lain. Sistem operasi menyediakan mekanisme komunikasi antar proses seperti
shared memory, message passing, dan IPC (Inter-Process Communication) untuk
mendukung interaksi ini.

 Sinkronisasi: Proses yang berjalan bersamaan sering kali perlu disinkronkan untuk
menghindari konflik sumber daya. Ini melibatkan penggunaan semafor, mutex, dan
alat sinkronisasi lainnya untuk memastikan akses yang aman ke sumber daya
bersama.
 Pemantauan dan Pengendalian: Sistem operasi dapat memantau kinerja proses dan
mengambil tindakan jika proses tersebut bermasalah, seperti menghentikan proses
yang tidak responsif atau berjalan tidak semestinya.
 Penghentian Proses: Ketika proses telah menyelesaikan tugasnya atau tidak lagi
dibutuhkan, sistem operasi akan mengakhiri proses tersebut dan menghapus sumber
daya yang digunakan oleh proses.
7

Keamanan: Model proses juga mencakup aspek keamanan, seperti perlindungan memori, hak
akses, dan mekanisme keamanan lainnya untuk mencegah satu proses mengganggu proses
lainnya atau mengakses sumber daya yang tidak sah.
Model proses ini membantu sistem operasi menjalankan tugasnya dengan efisien, menjaga
isolasi antara proses, menghindari konflik, dan memastikan penggunaan sumber daya yang
optimal di lingkungan komputer yang multitasking. Ini merupakan dasar dari manajemen
proses di sistem operasi modern.
2.2 Status Proses
Dalam sebuah proses, tentunya ada tahapan-tahapan yang dilalui. Tahapan-tahapan ini
kemudian disebut status. Proses yang dieksekusi mempunyai lima status yang terdiri dari:
New : pembentukan suatu proses
Running : instruksi-instruksi yang sedang dieksekusi
Waiting : proses menunggu untuk beberapa event yang terjadi
Ready : menunggu untuk dialirkan ke pemroses (processor)
Terminated : proses telah selesai dieksekusi

Kelima status proses tersebut dapat digambarkan pada diagram berikut:

2.3 Implementasi proses


Tabel-tabel untuk proses
Masing-masing proses memiliki state yang perlu diperhatikan oleh sistem operasi. SO
mencatat state proses dengan beragam tabel atau senarai, antara lain :

8
1.Tabel informasi manajemen memori
2.Tabel informasi manajemen masukan/keluaran
3.Tabel informasi sistem file
4.Tabel proses
Keempat tabel tersebut saling berhubungan.

 Tabel informasi manajemen memori, untuk menjaga keutuhan memori utama dan
memori sekunder. Tabel ini memuat informasi berikut :

1,Alokasi memori utama yang dipakai proses


2.Alokasi memori sekunder yang dipakai proses (bila menggunakan manajemen memori
dengan swapping)
3.Atribut segmen memori utama dan sekunder
4.Informasi-informasi lain yang digunakan untuk pengelolaan memori

 Tabel informasi manajemen masukan/ keluaran, untuk mengelola perangkat


masukan/keluaran. Pada satu saat perangkat masukan/keluaran digunakan proses
tertentu. Dengan demikian perlu dijaga agar proses lain tidak memakainya. Sistem
operasi perlu mengetahui status operasi masukan/keluaran dan lokasi memori utama
yang digunakan untuk transfer data.
 Tabel Informasi Sistem File, berisi informasi mengenai ekstensi file, lokasi pada
memori sekunder, status saat itu dan menyimpan atribut-atribut file lainnya
 Tabel Proses, mengelola informasi proses di sistem operasi, lokasinya di memori,
berisi status dan atribut-atribut proses yang lain.
Proses ditempatkan di memori utama di lokasi tertentu, proses mempunyai satu ruang alamat
tersendiri. Ruang alamat yang digunakan proses disebut citra proses (process image) karena
selain seluruh kode biner program, proses ditambahi atribut-atribut lain berkaitan
penempatannya pada lokasi memori dan status eksekusi pada saat itu.

Komunikasi antar proses


Komunikasi antar proses dalam manajemen sistem operasi merujuk pada kemampuan proses-
proses yang berjalan di dalam sistem operasi untuk bertukar informasi, data, atau pesan satu
sama lain. Ini memungkinkan proses-proses tersebut untuk bekerja sama, berkoordinasi, dan
berbagi sumber daya dengan cara yang terstruktur. Komunikasi antar proses adalah konsep
penting dalam sistem operasi terutama dalam lingkup sistem terdistribusi dan multitasking.
2.4 Race Condition
Race Condition adalah situasi di mana beberapa proses mengakses dan memanipulasi data bersama
pada saat besamaan. Nilai akhir dari data bersama tersebut tergantung pada proses yang terakhir
selesai. Unutk mencegah race condition, proses-proses yang berjalan besamaan haus di
disinkronisasi. Dalam beberapa sistem operasi, proses-proses yang berjalan bersamaan mungkin
untuk membagi beberapa penyimpanan umum, masing-masing dapat melakukan proses baca (read)
dan proses tulis (write). Penyimpanan bersama (shared storage) mungkin berada di memori utama
atau berupa sebuah berkas bersama, lokasi dari memori bersama tidak merubah kealamian dari
komunikasi atau masalah yang muncul. Untuk mengetahui bagaimana
9

komunikasi antar proses bekerja, mari kita simak sebuah contoh sederhana, sebuah print
spooler. Ketika sebuah proses ingin mencetak sebuah berkas, proses tersebut memasukkan
nama berkas ke dalam sebuah spooler direktori yang khusus. Proses yang lain, printer
daemon, secara periodik memeriksa untuk mengetahui jika ada banyak berkas yang akan
dicetak, dan jika ada berkas yang sudah dicetak dihilangkan nama berkasnya dari direktori.

Bayangkan bahwa spooler direktori memiliki slot dengan jumlah yang sangat besar, diberi
nomor 0, 1, 2, 3, 4,… masing-masing dapat memuat sebuah nama berkas. Juga bayangkan
bahwa ada dua variabel bersama, out, penunjuk berkas berikutnya untuk dicetak, dan in,
menunjuk slot kosong di direktori. Dua vaiabel tersebut dapat menamgami sebuah two-word
berkas untuk semua proses. Dengan segera, slot 0, 1, 2, 3 kosong (berkas telah selesai
dicetak), dan slot 4, 5, 6 sedang terisi (berisi nama dari berkas yang antre untuk dicetak).
Lebih atau kurang secara besamaan, proses A dan B, mereka memutuskan untuk antre untuk
sebuah berkas untuk dicetak. Situasi seperti ini diperlihatkan oleh Gambar

Dalam Murphy’s Law kasus tesebut dapat terjadi. Proses A membaca in dan menyimpan nilai
“7” di sebuah variabel lokal yang disebut next_free_slot. Sebuah clock interrupt terjadi dan
CPU memutuskan bahwa proses A berjalan cukup lama, sehingga digantika oleh proses B.
Proses B juga membaca in, dan juga mengambil nilai 7, sehingga menyimpan nama berkas di
slot nomor 7 dan memperbaharui nilai in menjadi 8. Maka proses mati dan melakukan hal
lain.

Akhirnya proses A berjalan lagi, dimulai dari tempat di mana proses tersebut mati. Hal ini
terlihat dalam next_free_slot, ditemukan nilai 7 di sana, dan menulis nama berkas di slot
nomor 7, menghapus nama berkas yang bau saja diletakkan oleh proses B. Kemudian proses
A menghitung next_free_slot + 1, yang nilainya 8 dan memperbaharui nilai in menjadi 8.
Direktori spooler sekarang secara internal konsisten, sehingga printer daemon tidak akan
memberitahukan apa pun yang terjadi, tetapi poses B tidak akan mengambil output apa pun.
Situasi seperti ini, dimana dua atau lebih proses melakukan proses reading atau writing
beberapa shared data dan hasilnya bergantung pada ketepatan berjalan disebut race condition.

10
2.5 Sleep and Awake

Proses adalah program yang sedang dieksekusi atau sofware yang sedang dilaksanakan.
Sejumlah program yang sedang diproses perlu saling berinteraksi untuk menciptakan
komuniksai interproses. Contoh sederhana, sebuah print spooler. Ketika sebuah proses ingin
mencetak sebuah file, proses tersebut memasukkan nama file ke dalam sebuah spooler
directory yang khusus. Proses yang lain, printer daemon, secara peiodik memeiksa untuk
mengetahui jika ada banyak file yang akan dicetak, dan jika ada file yang sudah dicetak
dihilangkan nama filenya dari directori. Bayangkan bahwa spooler directory memiliki slot
dengan jumlah yang sangat besar, diberi nomor 0, 1, 2, 3, 4,.masing-masing dapat memuat
sebuah nama file. Juga bayangkan bahwa ada 2 shared variable,out,penunjukk file berikutnya
untuk dicetak, dan in, menunjuk slot kosong di direktori. Dua vaiabel tersebut dapat
menamgami sebuah two-word file untuk semua proses. Dengan segera, slot 0, 1, 2, 3 kosong
(file telah selesai dicetak), dan slot 4, 5, 6 sedang terisi (berisi nama dari file yang antre untuk
dicetak). Lebih atau kurang secara besamaan, proses A dan B, mereka memutuskan untuk
antre untuk sebuah file untuk dicetak. Situasi seperti ini diperlihatkan oleh gambar 2 Dalam
Murphy s law kasus tesebut dapat terjadi. Proses A membaca in dan menyimpan nilai, 7, di
sebuah variabel lokal yang disebut next_free_slot.

Sebuah clock interrupt terjadi dan CPU memutuskan bahwa proses A berjalan cukup lama,
sehingga digantika oleh proses B. Proses B juga membaca in, dan juga mengambil nilai 7,
sehingga menyimpan nama file di slot nomor 7 dan memperbaharui nilai in menjadi 8. Maka
proses mati dan melakukan hal lain. Akhirnya proses A berjalan lagi, dimulai dari tempat di
mana proses tersebut mati. Hal ini terlihat dalam next_free_slot, ditemukan nilai 7 di sana,
dan menulis nama file di slot nomor 7, menghapus nama file yang bau saja diletakkan oleh
proses B. Kemudian proses A menghitung next_free_slot + 1, yang nilainya 8 dan
memperbaharui nilai in menjadi 8. Spooler Directory sekarang secara internal konsisten,
sehingga printer daemon tidak akan memberitahukan apapun yang terjadi, tetapi poses B
tidak akan mengambil output apapun. Situasi seperti ini, dimana dua atau lebih proses
melakukan proses reading atau writing beberapa shared data dan hasilnya bergantung pada
ketepatan berjalan disebut race condition.

Dalam interaksi ini seringkali muncul masalah yaitu


1. Race condition: Yaitu beberapa proses mengakses dan memanipulasi data bersama pada
saat besamaan, hasil akhirnya tergantung pada eksekusi dilakukan.
2. Deadlock Yaitu proses saling menunggu akibat masing-masing memerlukan resource yang
dikuasai oleh proses yang lain.

Deadlock yang mungkin dapat terjadi pada suatu proses disebabkan proses itu menunggu
suatu kejadian tertentu yang tidak akan pernah terjadi. Dua atau lebih proses dikatakan berada
dalam kondisi deadlock, bila setiap proses yang ada
menunggu suatu kejadian yang hanya dapat dilakukan oleh proses lain dalam himpunan
tersebut. Mekanisme Sleep and Wake Up sebagai Metode Sinkronisasi Permasalahan dalam
multithreading diselesaikan dengan sinkronisasi. Sinkronisasi akan memutuskan thread mana
yang mengeksekusi dahulu dan menyimpan informasi eksekusi sehingga ketika tiba
gilirannya lagi informasi tersebut dapat dipanggil dan proses eksekusi dapat dilanjutkan.
Salah satu metode sinkronisasi yang paling sederhana adalah SLEEP and WAKE UP Sleep :
system call yang menyebabkan pemanggilnya masuk ke state blocked Wakeup: system call
yang

11
membangunkan proses yang sedang blocked (disebutkan sebagai parameter) Dalam tehap
SLEEP, sistem call membuat proses yang memanggil di blok (blocked) dan dalam WAKE
UP, sistem call yang membuat proses yang memanggil menjasi ready.

Analogi kasus yang terjadi dalam metode Sleep and Wake Up salah satunya adalah kasus
Procedure-Consumer Problem (bounded buffer). Dua proses berbagi sebuah kebiasaan, buffer
dengan ukuran yang tetap. Salah satunya produser, meletakkan informasi ke buffer yang
lainnya. Konsumen mengambil informasi dari buffer. ( ini juga dapat digeneralisasi untuk
masalah yang memiliki m buah produsen dan n buah konsumen, tetapi kita hanya akan
memfokuskan kasus dengan satu produsen dan satu konsumen karena diasumsikan dapat
menyederhanakan solusi). Masalah akan timbul ketika produsen ingin menaruh barang yang
baru tetapi buffer sudah penuh. Solusi untuk produsen adalah istirahat ( sleep) dan akan
dibangunkan ketika konsumen telah mengambil satu atau lebih barang dari buffer.

Biasanya jika konsumen ingin mengambil barang dari buffer dan melihat bahwa buffer
sedang kosong, maka konsumen istirahat ( sleep ) sampai produsen meletakkan barang pada
buffer dan membangunkan ( wake up ) consumer. Pendekatan seperti ini terdengar cukup
sederhana, tetapi hal ini dapat menggiring kita ke jenis masalah yang sama seperti race
condition dengan spooler directory. Untuk mengetahui jumlah barang di buffer, kita
membutuhkan sebuah variabel kita namakan count. Jika jumlah maksimum dairi barang yang
dapat ditampung buffer adalah N, kode produser pertama kali akan mencoba untuk
mengetahui apakah nilai count sama dengan nilai N. Jika itu terjadi maka produsen akan
istirahat ( sleep ), tetapi jika nilai count tidak sama dengan N, produsen akan terus
menambahkan barang dan menaikkan nilai count. Sekarang mari kita kembali ke
permasalahan race condition. Ini dapat terjadi karena akses ke count tidak dipaksakan. Situasi
seperti itu mungkin dapat terjadi. Buffer sedang kosong dan konsumen baru saja membaca
count untuk melihat apakah count bernilai 0. Pada saat itu, penjadwal memutuskan untuk
mengentikan proses konsumen sementara dan menjalakan produsen. Produsen memasukkan
barang ke buffer, menaikkan nilai count, dan memberitahukan bahwa count sekarang bernilai
1. Pemikiran bahwa count baru saja bernilai 0 sehingga konsumen harus istirahat ( sleep ).
Produsen memanggil fungsi wake up untuk membangkitkan konsumen.

2.6 Semaphore

Semaphore adalah jenis data sinkronisasi khusus yang hanya dapat digunakan melalui
primitif sinkronisasi tertentu. Ketika suatu proses melakukan operasi tunggu pada
semaphore, operasi tersebut memeriksa apakah nilai semaphore >0. Jika demikian, maka
akan mengurangi nilai semaphore dan membiarkan proses melanjutkan eksekusinya; jika
tidak, itu akan memblokir proses di semaphore.Operasi sinyal pada semafor mengaktifkan
proses yang diblokir pada semafor jika ada, atau menambah nilai semafor sebesar 1. Karena
semantik ini, semafor juga disebut menghitung semafor. Nilai awal semaphore menentukan
berapa banyak proses yang dapat melewati operasi tunggu.
12
Semaphore terdiri dari dua jenis:

1. Binary Semaphore – Ini juga dikenal sebagai kunci mutex. Ini hanya dapat
memiliki dua nilai – 0 dan 1. Nilainya diinisialisasi ke 1. Ini digunakan untuk
mengimplementasikan solusi masalah bagian kritis dengan banyak proses.

2. Menghitung Semaphore – Nilainya dapat berkisar pada domain yang tidak


dibatasi. Ini digunakan untuk mengontrol akses ke sumber daya yang memiliki
banyak instance.

Sekarang mari kita lihat bagaimana hal itu terjadi.


Pertama, lihat dua operasi yang dapat digunakan untuk mengakses dan mengubah nilai
variabel semaphore.

Beberapa poin mengenai operasi P dan V:


1. Operasi P disebut juga operasi tunggu, tidur, atau turun, dan operasi V disebut
juga operasi sinyal, bangun, atau naik.
2. Kedua operasi bersifat atomik dan semaphore selalu diinisialisasi menjadi
satu. Disini atomik berarti variabel yang membaca, memodifikasi dan
memperbarui terjadi pada waktu/momen yang sama tanpa pre-emption yaitu di
antara membaca, memodifikasi dan memperbarui tidak ada operasi lain yang
dilakukan yang dapat mengubah variabel. Bagian penting dikelilingi Operasi
operasi untuk mengimplementasikan sinkronisasi proses. Lihat gambar di bawah
ini. Bagian kritis dari Proses P berada di antara operasi P dan V.
Misalkan ada dua proses P1 dan P2 dan sebuah semaphore s diinisialisasi 1. Sekarang
misalkan P1 masuk pada critical section-nya maka nilai semaphore s menjadi 0. Sekarang
jika P2 ingin masuk pada critical section-nya maka akan menunggu sampai s > 0, ini hanya
dapat terjadi ketika P1 menyelesaikan bagian kritisnya dan memanggil operasi V pada
semaphore s.Dengan cara ini saling pengecualian tercapai. Lihatlah gambar di bawah untuk
detailnya yang merupakan semafor Biner.

13

Keuntungan Semaphore:
 Mekanisme sederhana dan efektif untuk sinkronisasi proses
 Mendukung koordinasi antara berbagai proses
 Memberikan cara yang fleksibel dan tangguh untuk mengelola sumber daya
bersama.
 Ini dapat digunakan untuk mengimplementasikan bagian-bagian penting dalam
suatu program.
 Ini dapat digunakan untuk menghindari kondisi balapan.
Kekurangan Semaphore:
 Hal ini dapat menyebabkan penurunan kinerja karena overhead yang terkait
dengan operasi tunggu dan sinyal.
 Dapat mengakibatkan kebuntuan jika digunakan secara tidak benar.
 Diusulkan oleh Dijkstra pada tahun 1965 yang merupakan teknik yang sangat
signifikan untuk mengelola proses konkuren dengan menggunakan nilai integer
sederhana, yang dikenal sebagai semaphore. Semaphore hanyalah variabel
integer yang dibagikan antar thread. Variabel ini digunakan untuk memecahkan
masalah bagian kritis dan untuk mencapai sinkronisasi proses dalam lingkungan
multiprosesing.
 Ini dapat menyebabkan masalah kinerja dalam suatu program jika tidak
digunakan dengan benar.
 Mungkin sulit untuk melakukan debug dan memelihara.
 Ini rentan terhadap kondisi balapan dan masalah sinkronisasi lainnya jika tidak
digunakan dengan benar.
 Ini bisa rentan terhadap jenis serangan tertentu, seperti serangan penolakan
layanan.

14

PROSES DALAM SISTEM TERDISTRIBUSI

Pengertian Sistem Terdistribusi


Sistem Terdistribusi terdiri dari dua kata yaitu “ Sistem” dan “Terdistribusi”. Sistem
terdistribusi merupakan sekumpulan elemen yang saling berhubungan satu dengan yang
lainnya dan membentuk satu kesatuan untuk menyelesaikan satu tujuan yang spesifik atau
menjalankan seperangkat fungsi. Adapun terdistribusi berasal dari kata “distribusi” yang
merupakan lawan kata “sentralisasi” yang artinya penyebaran, sirkulasi, penyerahan,
pembagian menjadi bagian-bagian kecil. Berawal dari pengertian kata-kata pembentuknya,
Sistem Terdistribusi dapat didefinisikan sebagai suatu kesatuan dari elemen-elemen yang
saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data

Sistem terdistribusi adalah sekumpulan prosesor yang tidak saling berbagi memori
atau clock dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui Local
Area Network ataupun melalui Wide Area Network dan dilengkapi dengan sistem software
tedistribusi untuk membentuk fasilitas komputer terintegrasi.

Proses dalam sistem terdistribusi dijalankan secara bersamaan (execute concurrently) dimana
proses berinteraksi untuk bekerjasama dalam mencapai tujuan yang sama dan
mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan yang dikirim melalui
15

jaringan komunikasi. Struktur sistem terdistribusi dapat dilihat dari gambar dibawah ini :

Dalam sistem terdistribusi prosesor yang dimiliki bervariasi, dapat berupa small
microprocessor, workstation, minicomputer, dan lain sebagainya. Sebenarnya ada beberapa
hal mendasar yang membedakan antara jaringan komputer yang merupakan dasar dari konsep
sistem terdistribusi dengan sistem terdistribusi itu sendiri yaitu komputer otonom yang secara
eksplisit terlihat, sedangkan pada sistem terdistribusi komputer otonom transparan dan juga
memiliki lebih banyak masalah dibanding dengan jaringan komputer. Ada beberapa contoh
umum yang merupakan aplikasi dari sistem terdistribusi, diantaranya

 Internet, merupakan global jaringan interkoneksi komputer yang berkomunikasi


melalui IP (Internet Protocol)
 Intranet, merupakan jaringan teradministrasi terpisah dengan batasan pada kebijakan
keamanan lokal
 Mobile dan komputasi diberbagai tempat, laptop, PDA, mobile phone, printer,
peralatan rumah, dll
 World Wide Web (www), sistem untuk publikasi dan akses sumber daya dan layanan
melalui Internet.

2.7 Thread
Thread merupakan cara dari komputer untuk menjalankan dua atau lebih task dalam waktu
bersamaan, sedangkan multithreading adalah cara komputer untuk membagi-bagi pekerjaan
yang dikerjakan sebagian-sebagian dengan cepat sehingga
1. Single-threading : Sebuah proses tradisional atau heavyweight process mempunyai thread
tunggal yang berfungsi sebagai pengendali.
2. Multi-threading : Sebuah proses dengan thread yang banyak dan mengerjakan lebih dari
satu tugas pada satu satuan waktu.
16

Thread adalah sebuah alur


kontrol dari sebuah proses.
Kontrol thread tunggal
ini hanya memungkinkan
proses untuk menjalankan
satu tugas pada satu waktu.
Banyak sistem operasi
modern telah memiliki
konsep yang dikembangkan
agar
memungkinkan sebuah
proses untuk memiliki
eksekusi multi-threads, agar
dapat
secara terus menerus
mengetik dan menjalankan
pemeriksaan ejaan didalam
proses
yang sama, maka sistem
operasi tersebut
memungkinkan proses
untuk menjalankan
lebih dari satu tugas pada
satu waktu. Suatu proses
yang multithreaded
mengandung
beberapa perbedaan alur
kontrol dengan ruang
alamat yang sama.
Keuntungan dari
multithreaded meliputi
peningkatan respon dari
pengguna,
pembagian sumber daya
proses, ekonomis, dan
kemampuan untuk
mengambil
keuntungan dari arsitektur
multiprosesor. Thread
merupakan unit dasar dari
penggunaan CPU, yang
terdiri dari Thread_ID,
program counter, register
set, dan
stack. Sebuah thread
berbagi code section, data
section, dan sumber daya
sistem
operasi dengan Thread lain
yang dimiliki oleh proses
yang sama. Thread juga
sering
disebut lightweight
process. Sebuah proses
tradisional atau
heavyweight process
mempunyai thread tunggal
yang berfungsi sebagai
pengendali.
Perbedaan antara proses
dengan thread tunggal dan
proses dengan thread yang
banyak adalah proses
dengan thread banyak
dapat mengerjakan lebih
dari satu tugas
pada satu satuan waktu
Thread adalah sebuah alur
kontrol dari sebuah proses.
Kontrol thread tunggal
ini hanya memungkinkan
proses untuk menjalankan
satu tugas pada satu waktu.
Banyak sistem operasi
modern telah memiliki
konsep yang dikembangkan
agar
memungkinkan sebuah
proses untuk memiliki
eksekusi multi-threads, agar
dapat
secara terus menerus
mengetik dan menjalankan
pemeriksaan ejaan didalam
proses
yang sama, maka sistem
operasi tersebut
memungkinkan proses
untuk menjalankan
lebih dari satu tugas pada
satu waktu. Suatu proses
yang multithreaded
mengandung
beberapa perbedaan alur
kontrol dengan ruang
alamat yang sama.
Keuntungan dari
multithreaded meliputi
peningkatan respon dari
pengguna,
pembagian sumber daya
proses, ekonomis, dan
kemampuan untuk
mengambil
keuntungan dari arsitektur
multiprosesor. Thread
merupakan unit dasar dari
penggunaan CPU, yang
terdiri dari Thread_ID,
program counter, register
set, dan
stack. Sebuah thread
berbagi code section, data
section, dan sumber daya
sistem
operasi dengan Thread lain
yang dimiliki oleh proses
yang sama. Thread juga
sering
disebut lightweight
process. Sebuah proses
tradisional atau
heavyweight process
mempunyai thread tunggal
yang berfungsi sebagai
pengendali.
Perbedaan antara proses
dengan thread tunggal dan
proses dengan thread yang
banyak adalah proses
dengan thread banyak
dapat mengerjakan lebih
dari satu tugas
pada satu satuan waktu.Thread
merupakan sebuah status eksekusi (running, ready, dll.), sering
disebut dengan lightweight process. Merupakan unit dasar dari
penggunaan CPU, yang terdiri dari thread_id, program counter,
register set, dan stack. Sebuah thread berbagi code section, data
section, dan sumber daya sistem operasi dengan Thread lain yang
dimiliki oleh proses yang sama.

Sistem operasi telah mendukung proses multithreading. Setiap sistem operasi memiliki konsep

tersendiri dalam pengimplementasiannya. Sistem operasi dapat mendukung thread pada

tingkatan kernel maupun tingkatan pengguna. Adapun tipe dari thread ini adalah :

1. Thread pengguna: 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.Thread

pengguna didukung kernel serta diimplementasikan dengan pustaka (library)

thread pada tingkatan pengguna. Pustaka (library) menyediakan fasilitas untuk

pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan

dari kernel. Semua pembuatan dan penjadwalan thread dilakukan dalam ruang

pengguna tanpa campur tangan kernel. Thread pengguna biasanya dapat cepat

dibuat dan dikendalikan.

17
2. Thread Kernel: 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. Thread kernel didukung langsung

oleh sistem operasi. Pembuatan, penjadwalan, dan manajemen thread dilakukan

oleh kernel pada kernel space. Pengaturan thread dilakukan oleh sistem operasi,

sehingga pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user

thread.

 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 system call.

1. Menyediakan API di level kernel yang didukung secara langsung oleh sistem

operasi. Pemanggilan fungsi call akan melibatkan system 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

18
2. level, sedangkan Win32 adalah kernel level. Java API thread dapat

diimplementasikan oleh Pthreads atau Win32.

 Thread Cancellation

Thread Cancellation ialah pembatalan thread sebelum tugasnya selesai. Misalnya hendak

mematikan Java Virtual Machine (JVM) pada program Java. Maka sebelum JVM dimatikan

seluruh thread yang berjalan harus dibatalkan terlebih dahulu. Contoh lain adalah pada

masalah search. Apabila sebuah thread mencari sesuatu dalam database dan menemukan serta

mengembalikan hasilnya, thread sisanya akan dibatalkan. Thread yang akan diberhentikan

biasa disebut target thread. Pemberhentian target Thread dapat dilakukan dengan 2 cara:

1. Asynchronous cancellation. Suatu thread seketika itu juga membatalkan target thread.

2. Deferred cancellation. Suatu thread secara periodik memeriksa apakah ia harus batal, cara

ini memperbolehkan target thread untuk membatalkan dirinya secara terurut.

Hal yang sulit dari pembatalan thread ini adalah ketika terjadi situasi dimana sumber daya

sudah dialokasikan untuk thread yang akan dibatalkan. Selain itu kesulitan lain adalah ketika

thread yang dibatalkan sedang meng-update data yang ia bagi dengan thread lain. Hal ini akan

menjadi masalah yang sulit apabila digunakan asynchronous cancellation. Sistem operasi akan

mengambil kembali sumber daya dari thread yang dibatalkan tetapi seringkali sistem operasi

tidak mengambil kembali semua sumber daya dari thread yang dibatalkan. Alternatifnya

adalah dengan menggunakan deffered cancellation. Cara kerja dari deffered cancellation

adalah dengan menggunakan satu thread yang berfungsi sebagai pengindikasi bahwa target

thread hendak dibatalkan. Tetapi pembatalan hanya akan terjadi jika target thread memeriksa

apakah ia harus batal atau tidak. Hal ini memperbolehkan thread untuk memeriksa apakah ia

harus batal pada waktu dimana ia dapat dibatalkan secara aman yang aman. thread merujuk

sebagai cancellation points. Pada umumnya sistem operasi memperbolehkan proses atau

thread untuk dibatalkansecara asynchronous. Tetapi Pthread API menyediakan deferred

cancellation. Hal ini 19


berarti sistem operasi yang mengimplementasikan Pthread API akan mengizinkan deferred

cancellation.

 Thread Pools

Pada web server yang menerapkan multithreading ada dua masalah yang timbul: Ukuran
waktu yang diperlukan untuk menciptakan thread yang melayani permintaan yang diajukan
pada kenyataannya thread dibuang seketika sesudah ia menyelesaikan tugasnya. Pembuatan
thread yang tidak terbatas jumlahnya dapat menurunkan performa dari sistem. Solusinya
adalah dengan penggunaan Thread Pools, yaitu sekumpulan thread yang mengantri untuk
mengerjakan tugas Cara kerjanya adalah dengan membuat beberapa thread pada proses startup
dan menempatkan mereka ke pools, dimana mereka duduk diam dan menunggu untuk bekerja.
Jadi, ketika server menerima permintaan, ia akan membangunkan thread dari pool dan jika
thread tersedia maka permintaan tersebut akan dilayani. Ketika thread sudah selesai
mengerjakan tugasnya maka ia kembali ke pool dan menunggu pekerjaan lainnya. Bila tidak
ada thread yang tersedia pada saat dibutuhkan maka server menunggu sampai ada satu thread
yang bebas.

20
BAB III

KESIMPULAN DAN SARAN

A. Kesimpulan

Berdasarkan rumusan masalah, tujuan penelitian dan pemabahasan hasil analisis yang telah

diuraikan. Maka pada penelitian ini dapat dihasilkan kesimpulah bahwa dari hasil uji

noramiltas, uji hogenitas dan uji terhadap pengusaan konsep dasar mahasiswa pada materi

management proses basis data antara kelas eksperimen dengan yang menggunakan

pembelajaran kontekstual dan kelas control yang menggunakan pembelajaran konvensional

menujukkan bahwa terdapat perbedaan yang signifikan. Kemudian dilajutkan dengan ujian

ternormalisasi Sebagai tindak lanjut dari penelitian, berikut ini dikemukakan beberapa saran

yang diharapkan dan pembaca dapat memberi sumbangan pemikiran dalam penelitian

selanjutnya. Dari uraian diatas dapat disimpulkan bahwa manejemen basis data merupakan

kumpulan data yang saling berhubungan satu dengan yang lainnya yang diaorganisasikan

sesuai struktur tertentu dan disimpan dengan baik.

B. Saran

Dari hasil penelitian yag dilakukan bahwa penerapan pembelajaran kontekstual dapat

memeberikan peningkatan terhadap kemampuan pengusaan konsep dasar mahasiswa. oleh

sebab itu dosen harus mengupayakan adanya inovasiinovasi untuk meningkatkan kulaitas

pembelajaran dikelas baik dari pendekatan, model pembelajaran, media pembelajaran ataupun

alat evaluasi hasil belajar yang dicapai. Sebaiknya pada saat menggunakan diperlukan

kapasitas penyimpanan yang besar baik eksternal disc maupun internal memory agar dapat

bekerja cepat dan efisien.

21
Contoh dan Jawaban Manajemen Proses

1. apa yang dimaksud dengan sistem operasi? sistem operasi adalah perangkat lunak

yang mengelola sumber daya perangkat keras komputer dan menyediakan layanan

yang diperlukan untuk aplikasi pengguna.

2. apa perbedaan antara proses dan theard dalam konteks sistem operasi? proses adalah

unit eksekusi independen dengan sumber daya sendiri, sementara thread adalah unit

eksekusi yang lebih kecil salam sebuah prosws yang berbagi sumber daya proses

tersebut.

3. apa itu managemen prosws dalam sistem operasi operasi? managemen proses adalah

bagian dari sistem operasi yang bertanggung jawab untuk mengatur dan mengawasi

eksekusi proses dan thread

4. suatu atribut yang dihasilkan dari atribut lain disebut? Derivatif

5. Model yang menjelaskan hub antar data dalam basis data berdasarkan suatu persepsi
bahwa real word terdiri dari obyek-obyek dasar yang mempunyai relasi antara obyek-

obyek tersebut disebut? ER-Model

6. Cara untuk menghindari kehilangan data atau informasi akibat kerusakan atau

kehilangan perangkat penyimpanan dilakukan dengan? Melakukan backup

data/informasi secara rutin

7. Memeriksa apakah data dan informasi hasil yang Anda peroleh telah memenuhi

tujuan dan kebutuhan dan jika tidak memuaskan mencari sumber data/informasi baru

merupakan tahapan? Evaluasi data dan informasi dalam ruang digital

22
8. Teknologi keamanan yang digunakan dalam pengamanan data dan informasi di

ruang digital saat memindai file dan program untuk mendeteksi dan menghapus virus

dan malware adalah? Analisis data

9. Model yang dikembangkan untuk dijadikan sebagai struktur database adalah model?

Fisik

10. suatu proses menggunakan / mengambil kembali Database dari media

penyimpanan cadangan untuk mengembalikan data pada kondisi yang benar karena

terjadi kerusakan / kehilangan data akibat kerusakan media penyimpan, program

aplikasi, OS, Database, hardware, disebut dengan? recovery

23
BAB 4
PENUTUP

Manajemen proses juga berperan penting dalam menjaga keamanan dan stabilitas
sistem operasi. Dengan melakukan kontrol yang tepat terhadap proses yang berjalan,
kita dapat mencegah konflik sumber daya, serangan keamanan, dan kegagalan
sistem yang dapat mengganggu operasi normal.

Selain itu, efisiensi proses dapat memberikan dampak positif pada kinerja sistem
secara keseluruhan. Dengan mengoptimalkan penjadwalan dan alokasi sumber daya,
kita dapat meningkatkan responsivitas sistem terhadap permintaan pengguna dan
mengurangi waktu pemrosesan.

Dalam mengakhiri makalah ini, mari kita ingatkan bahwa manajemen proses dalam
sistem operasi adalah fondasi yang penting untuk menjalankan aplikasi dan layanan
modern. Teruslah memperbarui pengetahuan dan praktik terbaik dalam bidang ini
untuk memastikan sistem operasi tetap efisien, aman, dan handal dalam menghadapi
tantangan masa depan.

24
DAFTAR PUSTAKA
 https://g.co/kgs/HUAcSq

 https://sisopkitakita.wordpress.com/2014/09/07/status-proses/

 https://1drv.ms/b/s!AuD9dNb1cPBtgiZ3u6oFyhfhN8hI

 https://tugasso.wordpress.com/2010/04/22/definisi-dari-proses-thread-
mutual-exclution-race-condition-sinkronisasi-deadlock-starvation-
monitor-dan-semaphore/

 https://aristysaputri3.wordpress.com/sistem-operasi/manajemen-proses/

 https://www.academia.edu/9618783/
MANAJEMEN_PROSES_Modul_Praktikum_Sistem_Operasi

 https://docplayer.info/amp/34802142-Sleep-and-wake-up-tugas-kuliah-
mata-kuliah-cf-1310-sistem-operasi-disusun-oleh-uzlina-rahmawati-fia-
mahanani.html

25

Anda mungkin juga menyukai