Pengaturan Prosesi.

advertisement
PENGATURAN PROSES
A. Konsep proses dalam sistem operasi
Process:
 Program yang sedang dieksekusi
 Proses tidak hanya sekedar suatu kode program (text section), melainkan
meliputi beberapa aktivitas yang bersangkutan seperti program counter dan
stack.
 Sebuah proses juga melibatkan stack yang berisi data sementara (parameter
fungsi/metode, return address, dan variabel lokal) dan data section yang
menyimpan variabel-variabel global..
Sistem Operasi mengeksekusi proses dengan dua cara yaitu Batch System yang
mengeksekusi jobs dan Time-shared System yang mengatur pengeksekusian
program pengguna (user) atau tasks.
Perbedaan antara program dengan proses adalah program merupakan entitas
yang pasif, yaitu suatu file yang berisi kumpulan instruksi-instruksi yang disimpan
di dalam disk (file executable), sedangkan proses merupakan entitas yang aktif,
dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang
akan dieksekusi dan seperangkat sumber daya (resource) yang dibutuhkan agar
sebuah proses dapat dieksekusi.
Peran sistem operasi dalam kegiatan proses adalah mengelola semua proses di
sistem dan mengalokasikan sumber daya ke proses tersebut. Banyak proses
yang dijalankan bersamaan, dimana setiap proses mendapat bagian memori dan
kendali sendiri-sendiri (peran SO), sehingga setiap proses (program) memiliki
prinsip :
a. Independent, artinya program-program tersebut berdiri sendiri, terpisah dan
saling tidak bergantung.
b. One program at any instant, artinya hanya terdapat satu proses yang dilayani
pemroses pada satu saat.
Dalam multiprogramming, teknik penanganan proses adalah denganM
mengeksekusi satu proses dan secara cepat beralih ke proses lainnya
(bergiliran), sehingga menimbulkan efek paralel semu (pseudoparallelism).
Status Proses
Meskipun tiap-tiap proses terdiri dari suatu kesatuan yang terpisah namun
adakalanya proses-proses tersebut butuh untuk saling berinteraksi. Satu proses
bisa dibangkitkan dari output proses lainnya sebagai input.
Pada saat proses dieksekusi, akan terjadi perubahan status. Status proses
didefiniskan sebagai bagian dari aktivitas proses yang sedang berlangsung saat
itu.
1/13
Status proses terdiri dari :
a. New: proses sedang dibuat.
b. Running: proses sedang dieksekusi.
c. Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti
menunggu untuk menyelesaikan I/O atau menerima sinyal).
d. Ready: proses menunggu jatah waktu dari CPU untuk diproses.
e. Terminated: proses telah selesai dieksekusi.
Gambar 3.1 menunjukkan diagram status proses.
Terminasi Proses
 Suatu proses diterminasi ketika proses tersebut telah selesai
mengeksekusi perintah terakhir serta meminta sistem operasi untuk
menghapus perintah tersebut dengan menggunakan system call exit.
 Proses dapat mengembalikan data keluaran kepada proses induk-nya
melalui system call wait
Process Control Block (PCB)
Masing-masing proses direpresentasikan oleh Sistem Operasi dengan
menggunakan Process Control Block (PCB), seperti yang terlihat pada Gambar
3-2.
2/13
Informasi yang terdapat pada setiap proses meliputi :
a. Status Proses. New, ready, running, waiting dan terminated.
b. Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi
oleh proses tersebut.
c. CPU Registers. Register bervariasi tipe dan jumlahnya tergantung
arsitektur komputer yang bersangkutan. Register-register tersebut terdiriatas: accumulator, index register, stack pointer, dan register serbaguna
dan beberapa informasi tentang kode kondisi. Selama Program Counter
berjalan, status informasi harus disimpan pada saat terjadi interrupt.
Gambar 3-3 menunjukkan switching proses dari satu proses ke proses
berikutnya.
d. Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu
proses, pointer ke antrian penjadwalan, dan beberapa parameter
penjadwalan yang lainnya.
e. Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan
limit register, page table, atau segment table tergantung pada sistem
memory yang digunakan oleh SO.
f. Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time
yang digunakan, time limits, account numbers, jumlah job atau proses, dll.
g. Informasi Status I/O. Informasi tersebut berisi deretan I/O device (seperti
tape driver) yang dialokasikan untuk proses tersebut, deretan file yang
dibuka, dll.
3/13
B. Penjadwalan proses
Dalam pemroses tunggal, hanya satu proses yang dapat dijalankan pada saat
tertentu, sedangkan yang lain harus menunggu CPU bebas dan dijadwal ulang.
Multiprogramming merupakan cara untuk menjalankan proses setiap waktu
sehingga memaksimalkan penggunaan CPU.
Penjadwalan merupakan salah satu fungsi dasar dari sistem operasi. Hampir
semua sumber daya komputer dijadwalkan sebelum digunakan.
 Penjadwalan adalah suatu pekerjaan yang dilakukan untuk mengalokasikan
CPU time untuk tasks yang berbeda-beda dalam sistem operasi.
 Untuk linux ada aspek lain yang penting dalam penjadwalan: seperti
menjalankan dengan berbagai kernel tasks.
 Linux mempunyai dua algoritma penjadwalan yaitu
a. algoritma time-sharing untuk penjadwalan preemptive yang adil
diantara sekian banyak proses.
b. algoritma yang kedua didesain untuk tugas real-time dimana proritas
mutlak lebih utama daripada keadilan mendapatkan suatu pelayanan.
3 Konsep Penjadwalan
 Decision Mode
 Priority Function
 Arbitration Rule
Algoritma Penjadwalan :
 First In First Out
Algoritma ini merupakan algoritma penjadwalan yang paling sederhana yang
digunakan CPU. Dengan menggunakan algoritma ini seiap proses yang berada
pada status ready dimasukkan ke dalam antrian
FIFO sesuai dengan waktu kedatangannya. Proses yang tiba terlebih dahulu
yang akan dieksekusi terlebih dahulu.
Kelemahan dari algoritma ini:
a. Waiting time rata-ratanya cukup lama.
b. Terjadinya convoy effect, yaitu proses-proses menunggu lama untuk
menunggu satu proses besar yang sedang dieksekusi oleh CPU.
Algoritma ini juga menerapkan konsep non-preemptive, yaitu setiap proses yang
sedang dieksekusi oleh CPU tidak dapat di-interrupt oleh proses yang lain.
 Priority Scheduling
Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan
proses dengan nilai prioritas tertinggi. Setiap proses memiliki prioritasnya
masing-masing. Prioritas suatu proses dapat ditentukan melalui beberapa
karakteristik antara lain:
a. Batas waktu
b. Kebutuhan Memori
4/13
c. Akses file
d. Perbandingan antara I/O Burst dengan CPU Burst
e. Tingkat kepentingan proses
Kelemahan pada penjadwalan prioritas adalah dapat terjadinya indefinite
blocking (starvation) yaitu suatu proses dengan prioritas yang rendah memiliki
kemungkinan untuk tidak dieksekusi jika terdapatpros es lain yang memiliki
prioritas lebih tinggi darinya. Solusi dari permasalahan ini adalah aging,
yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam antrian
secara bertahap.
 Last In First Out
 Shortest Job Next
 Shortest Remaining Time
 Round Robin
Algoritma ini didesin untuk sistem time-sharing. Proses akan mendapat jatah
sebesar time quantum dengan nilai quantum umumnya sebesar 10-100 ms. Jika
time quantum-nya habis atau proses sudah selesai CPU akan dialokasikan ke
proses berikutnya. Tentu proses ini cukup adil karena tak ada proses yang
diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU (1/n),
dan tak akan menunggu lebih lama dari (n-1)/q.
Permasalahan utama pada Round Robin adalah menentukan besarnya time
quantum. Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar
proses tidak akan selesai dalam 1 time quantum. Hal ini tidak baik karena akan
terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu
proses ke proses lain (disebut dengan context switches time). Sebaliknya, jika
time quantum terlalu besar, algoritma Round Robin akan berjalan seperti
algoritma First Come First Served. Time quantum yang ideal adalah jika 80%
dari total proses memiliki CPU burst time yang lebih kecil dari 1 time quantum.
 Multilevel Feedback
Algoritma ini mirip sekali dengan algoritma Multilevel Queue. Perbedaannya ialah
algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses
menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang
lebih rendah. Ini menguntungkan proses interaksi, karena proses ini hanya
memakai waktu CPU yang sedikit. Demikian pula dengan proses yang
menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya.
Biasanya prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil,
dengan begitu CPU akan dimanfaatkan penuh dan I/O dapat terus sibuk.
Semakin rendah tingkatannya, panjang CPU burst proses juga semakin besar.
Antrian Penjadwalan
Penjadwalan direpresentasikan dalam bentuk antrian yang disimpan sebagai
linkedlist dan berisi pointer awal dan akhir PCB. Tiap-tiap PCB memiliki suatu
pointermfield yang menunjuk ke proses berikutnya.
5/13
Jenis-jenis antrian penjadwalan adalah sebagai berikut :
• Job Queue. Semua proses yang masuk pada suatu sistem akan diletakkan ke
dalam job queue.
• Ready Queue. Sedangkan proses-proses yang ada di memori utama dan
menunggu untuk dieksekusi diletakkan pada suatu list yang disebut dengan
ready queue.
• Device Queue. Deretan proses yang sedang menunggu peralatan I/O tertentu
disebut dengan device queue.
Setiap proses dapat berpindah dari satu antrian ke antrian lain. Gambar 3-4
menunjukkan contoh ready queue dan device queue. Representasi dari
penjadwalan proses dapat dilihat pada Gambar 3-5.
6/13
Penjadwal (Scheduler)
Terdapat dua bentuk penjadwal, yaitu:
a. Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang
harus dibawa ke ready queue.
b. Short-term Scheduler (CPU scheduler), memilih proses-proses yang siap
untuk dieksekusi, dan mengakolakasikan CPU ke salah satu dari proses-proses
tersebut.
Selain kedua jenis penjadwal diatas terdapat satu jenis penjadwal yang disebut
dengan medium-term scheduler.
Short-term scheduler terjadi sangat sering (dalam milidetik), jadi setiap proses
dijadwal dengan cepat, sedangkan long-term scheduler terjadi sangat jarang
(dalam detik atau menit), sehingga setiap proses dijadwal dengan lambat. Longterm scheduler digunakan untuk mengontrol tingkat multiprogramming.
Secara umum, proses dapat digambarkan sebagai :
• I/O bound process, yaitu proses-proses yang membutuhkan lebih banyak waktu
untuk menjalankan I/O daripada melakukan komputasi, sehingga CPU burst
yang dibutuhkan lebih singkat.
• CPU bound process, yaitu proses-proses yang membutuhkan lebih banyak
waktu untuk melakukan komputasi daripada menjalankan I/O sehingga CPU
burst yang dibutuhkan lebih lama.
Context Switch
Ketika CPU berpindah dari proses satu ke proses lainnya, sistem harus
menyimpan status dari proses yang lama dan membuka state proses baru yang
sudah disimpan. Contex switch adalah proses penyimpanan status proses dan
7/13
mengambil status proses yang baru pada saat terjadi switching. Pada saat terjadi
perpindahan proses, sistem tidak bekerja. Waktu context switch tergantung pada
perangkat keras yang digunakan.
C. Deadlock
Deadlock dalam arti sebenarnya adalah kebuntuan. Kebuntuan yang dimaksud
dalam sistem operasi adalah kebuntuan proses. Jadi Deadlock ialah suatu
kondisi dimana proses tidak berjalan lagi atau tidak ada komunikasi lagi antar
proses. Deadlock disebabkan karena proses yang satu menunggu sumber daya
yang sedang dipegang oleh proses lain, proses lain itu pun sedang menunggu
sumber daya yang dipegang olehnya. Dengan kata lain setiap proses dalam set
menunggu untuk sumber yang hanya dapat dikerjakan oleh proses lain dalam
set sedang menunggu.
Contoh: Deadlock yang terjadi pada persimpangan jalan.
Karakteristik Deadlock
Kondisi yang menyebabkan deadlock:
1. Mutual exclusion. Hanya ada satu proses yang boleh memakai sumber daya,
dan proses lain yang ingin memakai sumber daya tersebut harus menunggu
hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai
sumber daya tersebut.
2. Hold and wait. Proses yang sedang memakai sumber daya boleh meminta
sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang
diminta tidak dipakai oleh proses lain, hal ini dapat menyebabkan kelaparan
sumber daya sebab dapat saja sebuah proses tidak mendapat sumber daya
dalam waktu yang lama.
8/13
3. No preemption. Sumber daya yang ada pada sebuah proses tidak boleh
diambil begitu saja oleh proses lainnya. Untuk mendapatkan sumber daya
tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang
memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya
proses yang memiliki sumber daya yang boleh berjalan.
4. Circular wait. Kondisi seperti rantai, yaitu sebuah proses membutuhkan
sumber daya yang dipegang proses berikutnya.
Ketiga syarat pertama merupakan syarat perlu (necessary conditions) bagi
terjadinya deadlock. Keberadaan deadlock selalu berarti terpenuhi kondisikondisi diatas, tak mungkin terjadi deadlock bila tidak ada ketiga kondisi itu.
Deadlock terjadi berarti terdapat ketiga kondisi itu, tetapi adanya ketiga kondisi
itu belum berarti terjadi deadlock.
Deadlock baru benar-benar terjadi bila syarat keempat terpenuhi. Kondisi
keempat merupakan keharusan bagi terjadinya peristiwa deadlock. Bila salah
satu saja dari kondisi tidak terpenuhi maka deadlock tidak terjadi
Deadlock dapat digambarkan lebih presisi dengan menggunakan graph berarah
yang disebut resource allocation graph.
METODE MENANGANI DEADLOCK
Terdapat tiga metode untuk menangani permasalahan deadlock yaitu :
 Menggunakan protocol untuk menjamin bahwa sistem tidak pernah
memasuki status deadlock
 Mengijinkan sistem memasuki status deadlock dan kemudian
memperbaikinya.
 Mengabaikan permasalahan dan seakan-akan deadlock tidak pernah terjadi
pada sistem. Model ini yang banyak digunakan pada sistem operasi termasuk
UNIX.
MENCEGAH DEADLOCK
Metode ini berkaitan dengan pengkondisian sistem agar menghilangkan
kemungkinan terjadinya deadlock. Pencegahan merupakan solusi yang bersih
dipandang dari sudut tercegahnya deadlock. Metode ini sering menghasilkan
utilisasi sumber daya yang buruk. Pencegahan deadlock merupakan metode
yang banyak dipakai.
Untuk mencegah deadlock dilakukan dengan meniadakan salah satu dari syarat
perlu sebagai berikut :
• Mencegah Mutual Exclusion
Mutual exclusion benar-benar tak dapat dihindari. Hal ini dikarenakan tidak ada
sumber daya yang dapat digunakan bersama-sama, jadi sistem harus membawa
9/13
sumber daya yang tidak dapat digunakan bersama-sama.
• Mencegah Hold and Wait
Untuk mencegah hold and wait, sistem harus menjamin bila suatu proses
meminta sumber daya, maka proses tersebut tidak sedang memegang sumber
daya yang lain.
Proses harus meminta dan dialokasikan semua sumber daya yang diperlukan
sebelum proses memulai eksekusi atau mengijinkan proses meminta sumber
daya hanya jika proses tidak membawa sumber daya lain. Model ini mempunyai
utilitas sumber daya yang rendah dan kemungkinan terjadi starvation jika proses
membutuhkan sumber daya yang popular sehingga terjadi keadaan menunggu
yang tidak terbatas karena setidaknya satu dari sumber daya yang
dibutuhkannya dialokasikan untuk proses yang lain.
• Mencegah Non Preemption
Peniadaan non preemption mencegah proses-proses lain harus menunggu.
Seluruh proses menjadi preemption, sehingga tidak ada tunggu menunggu. Cara
mencegah kondisi non preemption :
a. Jika suatu proses yang membawa beberapa sumber daya meminta
sumber daya lain yang tidak dapat segera dipenuhi untuk dialokasikan
pada proses tersebut, maka semua sumber daya yang sedang dibawa
proses tersebut harus dibebaskan.
b. Proses yang sedang dalam keadaan menunggu, sumber daya yang
dibawanya ditunda dan ditambahkan pada daftar sumber daya.
c. Proses akan di restart hanya jika dapat memperoleh sumber daya yang
lama dan sumber daya baru yang diminta.
• Mencegah Kondisi Menunggu Sirkular
Sistem mempunyai total permintaan global untuk semua tipe sumber daya.
Proses dapat meminta proses kapanpun menginginkan, tapi permintaan harus
dibuat terurut secara numerik. Setiap proses yang membutuhkan sumber daya
dan memintanya maka nomor urut akan dinaikkan. Cara ini tidak akan
menimbulkan siklus.
Masalah yang timbul adalah tidak ada cara pengurutan nomor sumber daya yang
memuaskan semua pihak.
MENDETEKSI DEADLOCK
Jika sistem tidak menyediakan algoritma mencegah deadlock dan menghindari
deadlock, maka terjadi deadlock. Pada lingkungan ini sistem harus
menyediakan:
 Algoritma yang menguji state sistem untuk menentukan apakah deadlock
telah terjadi.
 Algoritma untuk memperbaiki dari deadlock.
10/13
PERBAIKAN DARI DEADLOCK
Terdapat dua pilihan untuk membebaskan deadlock. Satu solusi sederhana
adalah dengan menghentikan satu atau beberapa proses untuk membebaskan
kondisi menunggu sirkular. Pilihan kedua adalah menunda beberapa sumber
daya dari satu atau lebih proses yang deadlock.
Terminasi Proses
Untuk memperbaiki deadlock dengan terminasi proses, dapat diguankan salah
satu dari dua metode di bawah ini :
• Menghentikan (abort) semua proses yang deadlock
• Menghentikan satu proses setiap waktu sampai siklus deadlock hilang.
Untuk menentukan urutan proses yang harus dihentikan ada beberapa faktor
yang harus diperhatikan :
• Prioritas proses.
• Berapa lama proses dijalankan dan berapa lama lagi selesai.
• Sumber daya yang digunakan proses.
• Sumber daya proses yang diperlukan untuk menyelesaikan task.
• Berapa proses yang perlu diterminasi.
• Apakah proses interaktif atau batch.
Menunda Sumber Daya
Untuk menghilangkan deadlock dengan menunda sumber daya, sumber daya
dari proses harus ditunda dan memberikan sumber daya tersebut ke proses lain
sampai siklus deadlock hilang.
Jika penundaan dibutuhkan untuk menghilangkan deadlock, terdapat tiga hal
yang perlu diperhatikan :
• Pilihlah korban (sumber daya) yang mempunyai biaya minimal.
• Lakukan rollback yaitu memulai kembali (restart) proses pada state yang
selamat.
• Harus dijamin starvation tidak akan terjadi karena kemungkinan beberapa
proses selalu terpilih sebagai korban termasuk jumlah rollback sebagai faktor
biaya.
D. Concurency
Pengertian kongkurensi
Kondisi dimana pada saat yang bersamaan terdapat lebih dari satu proses
disebut dengan kongkurensi (proses-proses yang kongkuren).
Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen)
atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau
koordinasi proses yang baik. Untuk penanganan kongkuren, bahasa
11/13
pemograman saat ini telah memiliki mekanisme kongkurensi dimana dalam
penerapannya perlu dukungan sistem operasi dimana bahasa berada.
Prinsip-prinsip kongkurensi
Kongkurensi merupakan kegiatan yang berhubungan dengan :
a. Alokasi waktu pemroses untuk proses-proses yang aktif.
b. Pemakaian bersama dan persaingan untuk mendapatkan sumber daya.
c. Komunikasi antar proses.
d. Sinkronisasi aktivitas banyak proses
Masalah kongkurensi dapat terjadi pada :
a. Banyak aplikasi.
Pada sistem multiprogramming bisa terdapat banyak aplikasi sekaligus yang
dijalankan di sistem komputer.
b. Strukturisasi sebuah aplikasi yang terdiri dari kumpulan proses.
Perluasan prinsip perancangan modular dan pemograman terstruktur adalah
suatu aplikasi dapat secara efektif diimplementasikan sebagai kumpulan proses.
Dengan sekumpulan proses, maka tiap proses menyediakan satu layanan
spesifik tertentu.
c. Strukturisasi sebuah proses.
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak
thread yang independen. Thread-thread tersebut harus dapat bekerjasama untuk
mencapai tujuan proses.
Strukturisasi satu aplikasi dapat dilakukan dengan banyak proses atau banyak
thread. Sistem operasi modern telah mendukung banyak thread yang berkinerja
lebih bagus dibanding proses dalam kondisi/lingkungan yang lebih terkendali.
Contoh : Suatu word processor antara lain mempunyai kemampuan :
Pemisahan kata-kata
Memformat baris menjadi rata kanan, kiri atau kanan-kiri.
Aplikasi ini dapat diterapkan dengan banyak proses atau thread yang masingmasing mempunyai tugas tertentu. Dengan demikian, saat dilakukan penataan
tampilan di layar, aplikasi sekaligus dapat menerima masukan dari mouse yang
segera akan diteruskan ke aplikasi untuk mendapat perhatian.
d. Strukturisasi sistem operasi
Keunggulan strukturisasi dapat diterapkan ke pemrograman sistem.
Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset
telah diimplementasikan sebagai kumpulan proses. Sistem operasi bermodelkan
client/server.
12/13
Kesulitan-kesulitan dalam kongkurensi
Kecepatan proses pada sistem dipengaruhi oleh :
a. Aktivitas-aktivitas proses-proses lain.
b. Cara sistem operasi menangani interupsi.
c. Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi
Beberapa kesulitan yang muncul :
a. Pemakaian bersama sumber daya global.
Apabila terdapat dua proses yang menggunakan variabel global yang sama serta
keduanya membaca dan menulis ke variabel itu,maka urutan terjadinya
pembacaan dan penulisan terhadap variabel itu menjadi kritis.
b. Pengelolaan alokasi sumber daya agar optimal.
Apabila proses A meminta suatu kanal masukan/keluaran tertentu dan dipenuhi
kemudian terjadi proses A di suspend sebelum menggunakan kanal tersebut.
Jika sistem operasi mengunci kanal (tidak memperbolehkan atau mencegah
proses lain untuk menggunakannya), maka tindakan tersebut menghasilkan
inefisiensi.
c. Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemograman kongkuren lebih sulit dibanding
pencarian kesalahan pada program-program sekuen.
Penanganan kongkurensi adalah dengan :
a. Mengetahui proses-proses yang aktif.
Sistem operasi mengelola senarai proses di sistem operasi. Senarai ini berupa
senarai PCB proses. Senarai berjumlah sesuai jumlah state yang
diimplementasikan sistem operasi.
b. Mengatur alokasi dan dealokasi beragam sumber daya untuk tiap proses yang
aktif.
Sumber daya yang harus dikelola antara lain :
 Waktu pemroses
 Memori
 Berkas-berkas (file)
 Peralatan masukan/keluaran
 Dan sebagainya
c. Proteksi data dan sumber daya fisik proses.
Proteksi data dan sumber daya fisik masing-masing proses dari gangguan
(interfensi) proses-proses lain.
d. Hasil-hasil proses harus independen.
Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses
lain dimana eksekusi dilakukan.
13/13
Download