MANAJEMEN PROSES
Disusun Untuk Memenuhi Tugas Mata Kuliah Sistem Operasi
Dosen: DEWI LUQI PUSPITASARI
Oleh
Kelompok 1 kelas 2KB04 :
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.
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
A. Kesimpulan............................................................................................................21
B. Saran........................................................................................................................21
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.
BAB 2
PEMBAHASAN
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
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 :
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.
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.
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
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
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
Sistem operasi telah mendukung proses multithreading. Setiap sistem operasi memiliki konsep
tingkatan kernel maupun tingkatan pengguna. Adapun tipe dari thread ini adalah :
1. Thread pengguna: Thread yang pengaturannya dilakukan oleh pustaka thread pada
dari kernel. Semua pembuatan dan penjadwalan thread dilakukan dalam ruang
pengguna tanpa campur tangan kernel. Thread pengguna biasanya dapat cepat
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
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
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
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
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
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
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
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
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
B. Saran
Dari hasil penelitian yag dilakukan bahwa penerapan pembelajaran kontekstual dapat
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
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
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
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-
6. Cara untuk menghindari kehilangan data atau informasi akibat kerusakan atau
7. Memeriksa apakah data dan informasi hasil yang Anda peroleh telah memenuhi
tujuan dan kebutuhan dan jika tidak memuaskan mencari sumber data/informasi baru
22
8. Teknologi keamanan yang digunakan dalam pengamanan data dan informasi di
ruang digital saat memindai file dan program untuk mendeteksi dan menghapus virus
9. Model yang dikembangkan untuk dijadikan sebagai struktur database adalah model?
Fisik
penyimpanan cadangan untuk mengembalikan data pada kondisi yang benar karena
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