PROSES
A. Tujuan Pembelajaran
3. Process Termination
4. Implementasi Proses
5. Hierarki Proses
B. Uraian Materi
1. Pengertian Proses
Saat sistem di-boot, banyak proses dimulai secara diam-diam, sering kali
tidak diketahui oleh pengguna. Misalnya, suatu proses dapat dimulai menunggu
email masuk. Proses lain mungkin berjalan atas nama antivirus program untuk
memeriksa secara berkala apakah definisi virus baru tersedia. Selain itu, proses
pengguna eksplisit mungkin sedang berjalan, mencetak file dan mencadangkan
file foto pengguna di stik USB, sambil menjelajahi web. Semua aktivitas ini harus
dikelola, dan sistem multi programming mendukung banyak proses sangat
berguna di sini.
Dalam sistem multi programming apa pun, CPU beralih dari satu proses ke
proses lainnya dengan cepat, menjalankan masing-masing selama puluhan atau
ratusan milidetik. Sementara, tegasnya, pada satu saat CPU hanya menjalankan
satu proses, dalam 1 detik CPU dapat bekerja pada beberapa di antaranya,
memberikan ilusi paralelisme. Terkadang orang berbicara tentang
pseudoparalelisme dalam konteks ini, untuk membedakannya dengan
paralelisme perangkat keras yang sebenarnya dari sistem multiprosesor (yang
memiliki dua atau lebih CPU yang berbagi memori fisik yang sama). Melacak
berbagai aktivitas parallel sulit dilakukan orang. Oleh karena itu, perancang
sistem operasi selama bertahun-tahun telah melakukannya mengembangkan
model konseptual (proses sekuensial) yang membuat paralelisme lebih mudah
berurusan dengan. Model itu, kegunaannya, dan beberapa konsekuensinya
membentuk subjek Bab ini.
2. Model Proses
Perlu dicatat bahwa jika sebuah program dijalankan dua kali, itu dihitung
sebagai dua proses. Misalnya, seringkali mungkin untuk memulai pengolah kata
dua kali atau mencetak dua file pada pada waktu yang sama jika dua printer
tersedia. Fakta bahwa dua proses terjadi menjalankan program yang sama tidak
masalah; mereka adalah proses yang berbeda. Sistem operasi mungkin dapat
berbagi kode di antara mereka sehingga hanya ada satu salinan yang masuk
memori, tetapi itu adalah detail teknis yang tidak mengubah situasi konseptual
dari dua proses yang sedang berjalan.
3. Process Creation
a. Inisialisasi sistem.
Selain proses yang dibuat pada saat boot, proses baru dapat dibuat setelah
itu juga. Seringkali proses yang sedang berjalan akan mengeluarkan panggilan
sistem untuk membuatnya atau lebih banyak proses baru untuk membantunya
melakukan tugasnya. Membuat proses baru sangat berguna ketika pekerjaan
yang harus diselesaikan dapat dengan mudah dirumuskan dalam beberapa hal
yang terkait, tetapi proses interaksi sebaliknya independen. Misalnya, jika jumlah
data sedang diambil melalui jaringan untuk pemrosesan selanjutnya, mungkin
lebih mudah untuk membuat satu proses untuk mengambil data dan
meletakkannya di buffer bersama sementara proses kedua menghapus item data
dan memprosesnya. Di multiprosesor, mengizinkan setiap proses untuk berjalan
pada CPU yang berbeda juga dapat membuat pekerjaan berjalan lebih cepat.
Situasi terakhir di mana proses dibuat hanya berlaku untuk sistem batch
yang ditemukan di mainframe besar. Pikirkan manajemen inventaris di akhir hari
di rantai toko. Di sini pengguna dapat mengirimkan tugas batch ke sistem
(mungkin dari jarak jauh). Ketika sistem operasi memutuskan bahwa ia memiliki
sumber daya untuk menjalankan pekerjaan lain, itu membuat proses baru dan
menjalankan pekerjaan berikutnya dari antrian masukan di dalamnya. Secara
teknis, dalam semua kasus ini, proses baru dibuat dengan memiliki yang sudah
ada proses menjalankan panggilan sistem pembuatan proses. Proses itu
mungkin pengguna yang sedang berjalan proses, proses sistem yang dipanggil
dari keyboard atau mouse, atau proses batch-manager. Apa yang dilakukan
proses itu adalah menjalankan panggilan sistem untuk membuat yang baru
proses. Panggilan sistem ini memberi tahu sistem operasi untuk membuat proses
baru dan menunjukkan, secara langsung atau tidak langsung, program mana
yang akan dijalankan di dalamnya.
4. Process Termination
Setelah proses dibuat, proses tersebut mulai berjalan dan melakukan apa
pun tugasnya. Namun, tidak ada yang bertahan selamanya, bahkan tidak proses.
Cepat atau lambat proses baru akan berhenti, biasanya karena salah satu kondisi
berikut :
5. Hierarki Proses
Dalam beberapa sistem, ketika suatu proses membuat proses lain, proses
induk dan proses anak terus dikaitkan dengan cara tertentu. Proses anak bisa itu
sendiri menciptakan lebih banyak proses, membentuk hierarki proses.
Sebagai contoh lain di mana hierarki proses memainkan peran kunci, mari
kita lihat tentang bagaimana UNIX menginisialisasi dirinya sendiri ketika
dijalankan, tepat setelah komputer di-boot. Proses khusus, yang disebut init, ada
di gambar boot. Saat mulai berjalan, itu membaca file yang memberitahukan
berapa banyak terminal yang ada. Kemudian itu membagi proses baru per
terminal. Proses ini menunggu seseorang untuk masuk. Jika proses masuk
berhasil, proses login menjalankan shell untuk menerima perintah. Perintah ini
mungkin dimulai up lebih banyak proses, dan sebagainya. Jadi, semua proses di
seluruh sistem adalah milik satu pohon, dengan init di akarnya.
6. Status Proses
Tampilan ini memberikan model yang ditunjukkan pada Gambar 2-3. Di sini
tingkat terendah sistem operasi adalah penjadwalan, dengan berbagai proses di
atasnya. Semua penanganan interupsi dan detail proses memulai dan
menghentikan sebenarnya tersembunyi di dalam apa yang disebut penjadwalan,
yang sebenarnya tidak banyak kode. Sistem operasi lainnya terstruktur dengan
baik dalam bentuk proses. Namun, beberapa sistem nyata terstruktur sebaik ini.
7. Implementasi Proses
Sekarang setelah kita melihat tabel proses, Anda dapat menjelaskan sedikit
lebih lanjut tentang bagaimana ilusi beberapa proses berurutan dipertahankan
pada satu proses (atau masing-masing) CPU. Terkait dengan setiap kelas I / O
adalah sebuah lokasi (biasanya di lokasi tetap di dekat bagian bawah memori)
yang disebut vektor interupsi. Ini berisi alamat dari prosedur layanan interupsi.
Misalkan proses pengguna 3 sedang berjalan ketika terjadi interupsi disk.
Penghitung program proses pengguna 3, status program word, dan terkadang
satu atau lebih register didorong ke tumpukan (saat ini) oleh perangkat keras
interupsi. Komputer kemudian melompat ke alamat yang ditentukan dalam vektor
interupsi. Hanya itu yang dilakukan perangkat keras. Mulai sekarang, terserah
perangkat lunaknya, khususnya, prosedur layanan interupsi.
8. Pemodelan Multiprogramming
𝐶𝑃𝑈 𝑢𝑡𝑖𝑙𝑖𝑧𝑎𝑡𝑖𝑜𝑛 = 1 – 𝑝𝑛
Demi akurasi, perlu ditunjukkan bahwa model probabilistic yang baru saja
dijelaskan hanyalah perkiraan. Ini secara implisit mengasumsikan bahwa semua
n proses independen, artinya cukup dapat diterima untuk sistem dengan lima
proses dalam memori untuk menjalankan tiga dan dua menunggu. Tapi dengan
satu CPU, kami tidak bisa menjalankan tiga proses sekaligus, jadi proses menjadi
siap sementara CPU sibuk harus menunggu. Jadi prosesnya tidak independen.
A lebih model yang akurat dapat dibangun dengan menggunakan teori antrian,
tetapi intinya kita ada making — multiprogramming memungkinkan proses
menggunakan CPU saat sebaliknya menjadi menganggur — tentu saja masih
valid, meskipun kurva sebenarnya pada Gambar 2-6 sedikit berbeda dari yang
ditunjukkan pada gambar.
Meskipun model Gambar 2-6 sederhana, model ini bisa saja digunakan
untuk membuat prediksi yang spesifik, meskipun hanya perkiraan, tentang kinerja
CPU. Misalkan, misalnya, komputer memiliki memori 8 GB, dengan
pengoperasian sistem dan tabelnya membutuhkan 2 GB dan setiap program
pengguna juga membutuhkan 2 GB. Ukuran ini memungkinkan tiga program
pengguna berada di memori sekaligus. Dengan menunggu I / O rata-rata 80%,
kami memiliki penggunaan CPU (mengabaikan overhead sistem operasi)
sebesar 1 - 0. 83 atau sekitar 49%. Menambahkan memori 8 GB lainnya
memungkinkan sistem berjalan dari multiprograming tiga arah menjadi
multiprogramming tujuh arah, sehingga meningkatkan pemanfaatan CPU hingga
79%. Dengan kata lain, tambahan 8 GB akan meningkatkan throughput sebesar
30%.
Untuk Mengetahui apakah anda telah mampu memahami materi Proses, kerjakan
latihan berikut :
D. Referensi