Anda di halaman 1dari 15

MATERI 3

DESKRIPSI PROSES DAN


KONTROL SISTEM
OPERASI
Oleh :
Muhammad Adri, S.Pd., M.T
Email : mhd.adri@unp.ac.id
Lisensi Dokumen:
Copyright © 2020 Universitas Negeri Padang
Seluruh dokumen di e-Learning Universitas Negeri Padang, hanya digunakan untuk kalangan
Internal Universitas, untuk kebutuhan Perkuliahan Online. Penggunaan dokumen ini di luar UNP tidak
diizinka dan tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari
Penulis dan Universitas Negeri Padang.

Pembahasan sistem operasi pada Materi 3 ini, secara mendalam dengan


mempelajari cara representasi dan pengontrolan proses di dalam lingkungan
SistemOperasi. Pertama-tama akan dibahas struktur data yang diperlukan sistem
operasi dalam merepresentasikan keadaan setiap proses dan karakteristik proses
lainnya yang diperlukan sistem operasi dalam mencapai tujuan.

63 | B a b 3 . D e s k r i p s i P r o s e s d a n K o n t r o l
3.1 Keadaan Proses
A. Sebuah Model Proses Dua Keadaan
B. Pembuatan dan Penghentian Proses
C. Model Lima Keadaan
D. Penghentian Proses
3.2 Deskripsi Proses
A. Struktur Kontrol Sistem Operasi
B. Struktur Kontrol Proses
3.3 Kontrol Proses
A. Model Eksekusi
B. Pembuatan Proses
C. Perpindahan Proses
D. Eksekusi dari Sistem Operasi

Rancangan Sebuah sistem operasi harus merefleksikan kebutuhan yang


harus dipenuhinya.Semua sistem operasi multiprogramming,mulai sistem
pengguna tunggal seperti Windows 95 hingga mainframe seperti OS/390,yang
dapat mendukung ribuan pengguna,dibuat berdasarkan konsep
proses.Jadi,sebagian besar kebutuhan yang harus dipenuhi oleh sistem operasi
dapat diekpresikan dalam hubungannya dengan proses.

 Sistem Operasi harus melakukan penggiliran eksekusi proes untuk


memaksimalkan utilitas prosesor dengan waktu respons yang cukup baik.
 Sistem Operasi harus melakukan alokasi sumber daya kepada proses
dengan menggunakan aturan tertentu (misalnya,fungsi aplikasi tertentu
memiliki prioritas yang tinggi)sekaligus menghindarkan deadlock.
 Sistem Operasi dapat digunakan untuk mendukung interprocess
communication dan pembuatan proses oleh pengguna yang keduanya
dapat membantu dalam penstrukturan aplikasi.

3.1 KEAADAAN PROSES (PROCESS STATES)


Fungsi Utama sebuah prosesor adalah mengeksekusi instruksi mesin yang
terdapat di dalam memori utama.Instruksi tersebut diberikan dalam bentuk

64 | M a t e r i 3 . D e s k r i p s i P r o s e s d a n K o n t r o l
program.Seperti telah dijelaskan pada bab sebelumnya,dengan alasan efisien dan
kemudahan pemrograman,prosesor dapat menggilir eksekusi sejumlah program.
Berdasarkan sudut pandang
prosesor, prosesor
mengeksekusi instruksi dari
repertoire-nya dengan urutan
yang ditentukan oleh perubahan
nilai pada register program
counter.Pada suatu saat tertentu,
program counter (PC) dapat
mengacu ke kode yang berada di
dalam program lainnya yang
merupakan bagian aplikasi
berbeda.Dari sudut pandang
sebuah program,eksekusinya
melibatkan rangkaian instruksi yang terdapat didalam program itu. Eksekusi
sebuah program dikenal sebagai proses atau task.
Kita dapat merincikan perilaku sebuah proses dengan membuat daftar
rangkaian instruksi yang mengeksekusi proses tersebut.Pembuatan daftar seperti
itu dikenal sebagai trace sebuah proses.
Gambar 3.1 menunjukan suatu tata letak memori tiga proses. Untuk
menyederhanakan pembahasan, kita asumsikan tidak ada satu proses pun yang
menggunakan memori viryual; jadi ketiga proses tersebut direpresensikan oleh
program yang keseluruhannya dimuatkan ke dalam memori utama. Selain
itu,terdapat program dispatcher kecil yang memindahkan prosesor dari satu
proses ke prosesor lainnya. Gambar 3.2 menunjukkan trace ketiga proses tersebut
pada saat bagian awal eksekusinya.Ditunjukkan juga 12 instruksi pertama yang
dieksekusi di dalam proses A dan C. Proses B mengeksekusi empat instruksi,dan
kita mengasumsikan bahwa instruksi keempat memanggil operasi I/O yang
mengakibatkankan proses harus menunggu.

Gambar 3.1 Gambaran eksekusi Contoh (Gambar 3.3) pada siklus intruksi

M a t e r i 3 . D e s k r i p i P r o s e s d a n k o n t r o l |65
Sekarang kita perhatikan
trsece tersebut dari sudut
pandang prosesor. Gambar 3.3
menunjukkan trace yang
digilirkan yang dihasilkan dari 52
siklus instruksi pertama (untuk
memudahkan,siklus instruksinya
diberi nomor).
Diasumsikan bahwa sistem
operasi hanya mengizinkan
suatu proses melanjutkan
eksekusinya dalam waktu enam
siklus instruksi,setelah itu proses
akan diinsterupsi;interupsi ini
dimaksudkan untuk menghindarkan terjadinya monopoli waktu prosesor oleh
sebuah proses. Seperti ditunjukkan pada gambar,enam istruksi pertama proses A
dieksekusi, diikuti oleh sebuah time-out dan eksekusi beberapa kode di dalam
dispatcher,yang memindahkan control ke proses B. Setelah empat instruksi
dieksekusi, proses B meminta aksi I/O yang menyebabkan harus menunggu. Oleh
karena itu, proses berhenti melakukan eksekusi proses B dan beralih, melalui
dispatcher, ke proses C.

Gambar 3.2 Pelacakan dari proses gambar 3.1

Gambar 3.3. Trace yang dilakukan Proses Gambar 3.1

66 | M a t e r i 3 . D e s k r i p s i P r o s e s d a n K o n t r o l
Setelah time-out, proses beralih kembali ke proses A. Pada saat proses ini time-
out, proses B masih menunngu operasi I/O selesai, karena itu dispatcher beralih
ke proses C lagi.

A. Model Proses Dua Keadaan


Tanggung jawab utama sistem operasi adalah mengontrol eksekusi
proses;pengontrolan ini mencakup pembuatan pada pergiliran eksekusi dan
pengalokasian sumber daya kepada proses.
Gambar 3.4 Model Proses dua keadaan

Langkah pertama dalam merancang program untuk mengontrol proses adalah


menjelaskan sifat yang akan ditunjukkan oleh proses. Model yang paling
sederhana dengan cara mengamati bahwa pada saat tertentu suatu proses
sedang dieksekusi oleh prosesor atau tidak. Jadi, sebuah proses dapat
berada di dalam salah satu dari kedua keadan itu. Berjalan (Running) atau
tidak berjalan not (Not Running), seperti ditunjukan pada Gambar 3.4a.

Apabila sistem operasi membuat sebuah proses baru,sistem operasi akan


memasukkan proses
tersebut ke sistem
dalam keadan tidak
berjalan. Proses
keluar, diketahui
sistem operasi, dan
menunggu
kesempatan untuk
melakukan eksekusi.
Kadang-kadang,
proses yang sedang
berjalan akan
diinterupsi dan dispatcher sistem operasi akan memilih proses baru yang akan
berjalan. Proses sebelumnya akan beralih dari keadaan running ke keadaan
NOT RUNNING, dan salah satu proses lainnya beralih ke keadaan Running.

M a t e r i 3 . D e s k r i p i P r o s e s d a n k o n t r o l |67
Dari model yang sederhana ini, kita telah mendalami beberapa elemen
rancangan sistem operasi. Proses harus dipresentasikan dengan cara tertentu
sehingga sistem operasi dapat mengawasinya. Dengan kata lain, harus
terdapat informasi yang berkaitan dengan setiap proses, termasuk keadaan
saat itu dan lokasi didalam memori. Proses yang sedang tidak berjalan harus
disimpan didalam antrean menunggu gilirannya untuk dieksekusi. Gambar
3.4b menunjukkan sebuah struktur. Terdapat sebuah antrean tunggal dimana
entri-nya merupakan pointer ke proses tertentu. Atau antrean dapat terdiri dari
linked list blok data, dengan setiap blok mempresentasikan sebuah proses
kita akan membahas masalah tersebut setelah ini.

B. Pembuatan dan penghentian proses

Sebelum melanjutkan model dua keadaan diatas, akan sangat membantu


apabila membahas dan penghentian proses terlebih dahulu, akhirnya dan
terlepas dari model prilaku proses, maa hidup proses dibatasi oleh pembuatan
dan penghentiannya.

1. Pembuatan Proses

Pada saat sebuah proses akan ditambahkan keproses yang sedang dikelola,
sistem operasi membuat struktur data yang digunakan untuk mengelola
proses dan mengalokasikan ruang alamat ke proses itu. Tindakan ini
merupakan pembuatan proses baru.

Empat buah event umum akan menyebabkan pembuatan proses


sepertidijelaskanpada Tabel 3.1 pada lingkungan batch, sebuah proses dibuat
sebagai respon terhadap penyerahan job. Pada lingkungan interaktif, proses
dibuat apabila seseorang pengguna baru masuk(logon) ke sistem. Sistem
operasi dapat juga membuat proses atas nama sebuah aplikasi.

Tabel 3.1. Alasan-alasan pembuatan proses

Batch job baru Sstem operasi dengan suatu aliran batch job
control biasanya pada pita atau disk. Pada
saat disiapkan untuk mengambil job yang baru
, sistem operasi akan membaca rangkaian job
control command berikutnya.

68 | M a t e r i 3 . D e s k r i p s i P r o s e s d a n K o n t r o l
Logon interaktif Seorang pengguna disebuah terminal masuk
ke sistem
Dibuat oleh OS untuk Sistem operasi dapat membuat suatu proses
menyediakan layanan untuk melakuan fungsi atas nama program
pengguna tanpa mengharuskan pengguna
menunggu (misalnya pencetakan)
Dibiakkan (spawned) Untuk memenuhi tujuan modularitas atau
untukoleh proses yang tlah ada
memanfaatkan paralisme sebuah program
pengguna dapat pembiakan sejumlah proses

Secara tradisional, sistem operasi membuat seluruh proses dengan cara


transparan bagi pengguna atau sistem operasi, dan cara ini masih umum di
jumpai didalam banyak sistem operasi modern. Akan tetapi, akan berguna
apababila mengizinkan sebuah proses dapat melakukan pembuatan proses
lainnya. Misalnya , sebuah proses aplikasi dan menghasilkan proses lainnya
untuk menerima data yang dihasilkan oleh aplikasi dan untuk
mengorganisasikan data tersebut menjadi bentuk yang sesuai untuk analisis
selanjutnya. Proses baru itu berjalan parallel dengan aplikasi dan sekali-kali
diaktivasi apabila tersedia data yang baru. Cara seperti itu sangat berguna
dalam membuat struktur aplikasi. Sebagai contoh lainya, suatu proses server(
misalnya, print server, file server). Dapat menghasilkan proses baru bagi
setiap permintaan yang ditanganinya. Pada saat sistem operasi membuat
sebuah proses atas permintaan eksplisit sebuah proses lainya, aksinya
disebut sebagai proses spawning( pembiakan proses).

Pada sebuah proses pembiakan proses lainya, proses terdahulu dikenal


sebagai proses induk(prent proses) dan proses yang dibiakkan disebut proses
anak (child proses). Umumnya , proses-proses yang berkaitan perlu
terkomunikasi berkooperasi satu sama lain. Cara mendapatkan kooperasi ini
merupakan tugas yang sulit bagi program .topik ini akan dibahas pada bab 5.

2. Penghentian proses

Tabel 3.2 merangkum alas an penghentian proses. Semua sistem komputer


harus memiliki cara untuk mengindikasikan telah selesainya sebuah proses.
Sistem batch job harus memiliki intruksi halt atau pangilan layanan sistem
operasi ekplisit untuk penhentian proses. Pada batch job, intruksi halt akan

M a t e r i 3 . D e s k r i p i P r o s e s d a n k o n t r o l |69
menghasilkan suatu interrupt untuk meminta perhatian sistem operasi bahwa
suatu proses telah selesai. Pada aplikasi interaktif, aksi pengguna akan
mengindikasikan apabila proses telah selesai. Misalnya, pada sistem
interrupt, proses untuk pengguna tertentu tertentu akan dihentikan pada saat
pengguna log off atau mematikan terminalnya.Pada sistem komputer pribadi
atau workstation,seorang pengguna dapat keluar dari aplikasi.Semua aksi itu
pada akhirnya akan menghasilkan permintaan layanan ke sistem operasi agar
menghentikan proses.

Tabel 3.2 Alasan-alasan penghentian proses

Alasan Status
Selesai secara normal proses mengeksekusi suatu panggilan layanan
OS untuk mengindikasikan bahwa proses
tersebut telah selesai beroperasi

Batas waktu telah dilampaui proses telah berjalan lebih lama dari jumlah
batas waktu yang telah ditentukan. Terdapat
beberapa kemungkinan jenis waktu yang diukur.
Jenis jenis tersebut meliputi jumlah waktu yang
berjalan,jumlah waktu yang dibutuhkan untuk
melakukan eksekusi dan pada proses yang
interaktif, jumlah waktu sejak pengguna terakhir
diberi input
Memori tidak tersedia proses memerlukan memori lebih banyak dari
yang dapat disediakan oleh sistem
Pelanggan Batas Proses meencoba mengakses lokasi memori
yang tidak diizinkan untuk diakses
Error Proteksi Proses mencoba menggunakan sumber daya
atau file yang tidak diizinkan untuk digunakan
atau mencoba menggunakannya dengan cara
yang salah seperti melakukan penulisan ke
file yang hanya dapat dibaca (read only file)
Error Aritmetik Proses mencoba untuk melakukan kompulasi
yang tidak diizinkan seperti pembagian
dengan nol atau mencoba menyimpan
bilangan yang besarnya di luar kemampuan
perangkat keras. Kelebihan waktu proses
telah menunggu event tertentu lebih lama dari
waktu maksimum.
Kegagalan I/O error yang terjadi pada saat input atau output
seperti ketidakmampuan untuk menemukan
file, kegagalan membaca atau menulis
setelah beberapa kali mencoba (pada saat
misalnya ditemukan daerah yang telah rusak
pada pita magnetik) atau operasi yang invalid
Instruksi yang valid Proses mencoba mengeksekusi intruksi yang
tidak ada (sering kali akan mengakibatkan

70 | M a t e r i 3 . D e s k r i p s i P r o s e s d a n K o n t r o l
pencabangan ke suatu daerah data dan
berusaha mengeksekusi data)
Intruksi ber-privilege Proses berusaha menggunakan suatu intruksi
yang dicabangkan bagi sistem operasi
Pemakaian data yang salah Potongan datanya memiliki jenis yang salah
atau tidak diinisialisasi terlebih terlebih dahulu
Interverensi operator atau Dengan sesuatu alasan,operator atau sistem
OS operasi telah menghentikan proses (misalnya
apabila terjadi deadlock)
Penghentian induk Apabila induk berhenti,operator atau sistem
operasi telah menghentikan seluruh turunan
proses induk itu
Permintaan induk Proses induk umumnya memiliki otoritas
untuk menghentikan semua turunannya

Selain itu,error dan kondisi fault dapat menyebabkan penghentian proses.


Tabel 3.2 memberikan beberapa kondisi yang telah umum diketahui.

Terakhir dalam beberapa sistem operasi suatu proses dapat dihentikan oleh
proses yang dibuatnya atau apabila proses induknya itu sendiri yang
dihentikan.

C. Model Lima Keadaan

Apabila semua proses selalu berada dalam keadaan siap untuk melakukan
eksekusi,bentuk antrean yang ditunjukkan pada gambar 3.4b akan berlaku.
Antreannya adalah list yang first-in, first-out dan proses beroperasi dalam cara
round-robin terhadap proses yang ada. Bahkan dengan contoh yang
sederhana pun yang akan kita jelaskan,implementasi ini tidak memadai,
beberapa proses yang berada dalam keadaan not-running siap untuk
melakukan eksekusi,sedangkan proses lainnya diblokir, menunggu operasi i/o
selesai. Jadi, dengan memakai antrean tunggal, dispatcher tidak dapat hanya
memilih proses yang berada diujung yang tertua pada antrean didalam
antrean paling lama.

Cara yang lebih alami dalam menangani situasi ini dengan membagi keadaan
not running menjadi dua keadaan : ready(siap) dan blocked(dblokir). Hal ini
ditunjukkan pada Gambar 3.5.untuk memperoleh ukuran yang lebih baik,kita
telah menambahkan dua keadaan lagi yang terbukti akan berguna.Lima
keadaan didalam diagram yang baru ini sebagai berikut:

M a t e r i 3 . D e s k r i p i P r o s e s d a n k o n t r o l |71
 Running (berjalan): proses yang sedang dieksekusi. Pada bab ini kita
mengamsumsikan sebuah komputer dengan prosesor tunggal karena itu
pada suatu saat paling banyak hanya sebuah proses berada dalam
keadaan ini.
 Ready (siap) : suatu proses yang disiapkan untuk melakukan ekseskusi
bila ada kesempatan
 Blocked (diblokir): suatu proses yang tidak dapat mengeksekusi sampai
beberapa event terjadi seperti selesainya operasi i/o
 New (baru): suatu proses yang baru saja dibuat namun belum pernah
diizinkan masuk ke pool proses-proses yang dapat dieksekusi oleh sistem
operasi
 Exit (keluar): suatu proses yang telah dibebaskan dari pool proses yang
dapat dieksekusi oleh sistem operasi baik karena dihentikan atau karerna
dibatalkan dengan alasan tertentu.

Gambar 3.5 Modul Proses Lima Keadaan ready (siap)

Gambar 3.5 menunjukan jenis-jenis event yang menyebabkan terjadinya


keadaan transisi bagi suatu proses,transisi yang mungkin terjadi sebagai
berikut :

72 | M a t e r i 3 . D e s k r i p s i P r o s e s d a n K o n t r o l
Gambar 3.6 Keadaan Proses untuk Trace Gambar 3.3

 Nul→ new : sebuah proses baru dibuat untuk mengeksekusi suatu


program. Event ini tejadi dengan alasan yang tertera pada Tabel 3.1
 New → Ready : Sistem operasi akan memindahkan sebuah proses dari
keadaan baru ke keadan Ready apabila disipkan untuk mengambil
sebuah proses tambahan.
 Ready→ Running : pada saat memilih proses untuk
dioperasikan,sistem operasi memilih salah satu proses yang berada
keadaan Ready.
 Running→Exit : proses yang sedang berjalan dihentikan oleh sistem
operasi apabila proses itu telah selesai atau dibatalkan.
 Running →Ready : Umumnya alasan untul transisi ini adalah dimana
proses yang sedang berjalan telah mencapai waktu maksimum yang
diizinkan bagi instruksi yang tidak diinterupsi; sebenarnya semua sistem
operasi multiprogramming mengadakan jenis disiplin waktu seperti ini.
 Running→Blocked : suatu proses di taruhkan didalam keadaan
blocked apabila proses itu meminta sesuatu yang akan menyebabkan
harus menunggu.
 Ready→Exit : Untuk memudahkannya, transisi ini tidak ditunjukan pada
diagram keadaan..
 Blocked→Exit : Suatu proses anak yang terblok dihentikan karena
proses induknya exit.

M a t e r i 3 . D e s k r i p i P r o s e s d a n k o n t r o l |73
Pengaturan yang disebutkan terakhir itu berarti, pada saat terjadi suatu event,
sistem operasi harus melarik seluruh antrean yang diblokir (blocked), untuk
menvari proses yang sedang menunggu event itu (Gambar 3.6b).

D. Proses yang ditunda


1. Kebutuhan akan Swapping

Tiga keadaan penting yang baru saja dijelaskan (Ready, Runing, Blocked)
memberikan cara sistemati tentang permodelan perilaku proses dan
menuntun implementasi sistem operasi. Banyak sistem operasi yang dibuat
dengan menggunakan hanya ketiga keaadan tersebut

Namun, terdapat pendapat yang cukup baik menambahkan keadaan lainnnya


ke dalam model. Untuk melihat keuntungan penggunaan keadaan-keadaan
yang baru itu, ambil sebuah sistem yang tidak menggunakan virtual memori.
Setiap proses yang akan di eksekusi harus dimuatkan seluruhnya kedalam
memori utama. Jadi, pada Gambar 3.6b, semua proses yang diseluruh
antrean harus berada di dalam memori utama.

Sekarang dengan mengingat alasan bagi seluruh mesin yang rumit ini adalah
aktivitas I/O menjadi jauh lebih lambat dibandingkan dengan kumputasi
sehingga sebagian besar waktu prosesor di dalam slstem
uniprogramingnyaidle. Namun pengaturan pada gambar 3.6b tidak
menyelesaikan seluruh persoalan.

Solusi lainnya adalah swapping, yang melibatkan pemindahan sebagian atau


seluruh proses dari memori utama ke dalam disk. Apabila tidak terdapat
proses sama sekali di dalam memori utama dalam keadaan Ready, sistem
operasi akan men-swap salah satu proses yang telah diblokir ke disk ke dalam
antrean suspend.

Dengan menggunakan swapping,harus ditambahkan sebuah keadaan modul


perilaku sisitem (Gambar 3.7a); keadaan Suspend. Pada saat seluruh proses
di dalam memori utama berada di dalam keadaan block,sistem operasi akan
menunda sebuah proses dengan cara menaruhnya di dalam keaadan
Suspend dan dikirimkan ke disk. Ruang yang dibebaskan pada memori utama
selanjutnya dapat digunakan unutk proses lainnya.

74 | M a t e r i 3 . D e s k r i p s i P r o s e s d a n K o n t r o l
Gambar 3.7 Model Antrian dari Gambar 3.5

Karena itu, perlu dipikirkan kembali ospek rancangan ini,disini terdapat dua
konsep yang independen:apakah suatu proses sedang menunggu suatu
event atau tidak(di blokir atau tidak),dan apakah suatu proses telah di swap
out dari memori utama(ditunda atau tidak),Untuk mengakomodasi kombinasi
2x2 ini,kita memerlukan empat keadaan

 Ready:Proses berada di dalam memori utama dan di eksekusi.


 Blocked:proses berada di dalam memori utama dan sedang
menunuggu event
 Ready-suspend:Proses berada did ala memeori sekunder,namun
dapat dieksekusi setelah dimuatkan ke dalam memori utama

M a t e r i 3 . D e s k r i p i P r o s e s d a n k o n t r o l |75
Gambar 3.8 Diagram Transisi Keadaan Proses dengan Keadaan Tertunda

2. Penggunaan Penundaan yang Lain

Sejauh ini, kita telah menyamakan konsep suatu proses yang di tunda dengan
konsep proses yang tidak ada di dalam memori utama. Suatu proses yang
tidak berada didalam memori utama tidaklah dapat langsung dieksekusi, baik
prose situ sedang menunggu suatu event atau tidak.

Kita dapat melakukan gineralisai konsep proses yang di tunda ini. Kita
tentukan proses seperti itu memilki karakteristik berikut.

a. Proses tidak langsung dapat dieksekusi


b. Proses dapat menunggu suatu event atau tidak menunggu suatu
event.
c. Proses di tempatkan dikeadaan yang ditunda oleh suatu agent
d. Proses tidak dapat dipindahkan dari keadaan ini sampai agent tersebut
memerintahkan pemindahan secara eksplisit.

76 | M a t e r i 3 . D e s k r i p s i P r o s e s d a n K o n t r o l
Tabel 3.3 Alasan-alasan Penundaan Proses
Alasan Penundaan Keterangan
Swapping Sistem operasi perlu membebaskan memori utama
untuk dapat membawa proses yang siap untuk
dieksekusi ke dalamnya
Alasan OS lainnya Sistem operasi dapat menunda background proses
atau proses utilitas atau suatu proses yang dianggap
sebagai penyebab masalah.
Permintaan pengguna Seorang pengguna dapat menunda eksekusi suatu
program interaktif untuk tujuan debugging atau yang
berhubungan dengan penggunaan sumber daya
Pewaktuaan Suatu proses dapat dieksekusi secara teratur (misalkan,
proses pengawasan accounting atau sistem) dan dapat
ditunda sementara menunggu interval waktu berikutnya
Permintaan proses Proses induk dapat menunda eksekusi proses
induk turunan untuk memeriksa atau mengubah proses
yang ditunda, atau untuk mengkoordinasikan
aktivitas berbagai proses turunan.

REFERENSI UTAMA :

Kifer, Michael and Smolka, Scott A. (2007). Introduction to Operating System


Design and Implementation, The OSP Approach, New York : Springer
Naghibzadeh, Mahmoud. (2005). Operating System, Concept and Techniques,
New York : iUniverse, Inc.
Silberschatz et.al (2014). Operating System Concept Essentials, 2nd Edition, New
Jersey, USA : John Wiley & Sons, Inc
Stalling, William. (2012). Operating Systems : Internals and Design Principles, 7th
Edition, Boston, USA : Prentice-Hall.Inc
Tanenbaum , Andrew S. and Bos, Herbert. (2014). Modern Operating System, 4th
Edition, New Jersey : Pearson Education, Inc.

M a t e r i 3 . D e s k r i p i P r o s e s d a n k o n t r o l |77

Anda mungkin juga menyukai