Please enable JavaScript.
Coggle requires JavaScript to display documents.
Konsep Proses - Coggle Diagram
Konsep Proses
Konkurensi
Utilitas prosesor yang rendah pada sistem sekuensial melahirkan konsep konkurensi (multitasking)
Konkurensi merupakan keadaan dimana 2 atau lebih proses berjalan pada saat yang “bersamaan”.
Bersamaan disini berarti suatu proses bisa aktif berjalan tanpa harus menunggu proses lainnya selesai seluruhnya.
Konkurensi dan Multiprogramming
Konkurensi merupakan landasan dari multiprogramming.
Pada sistem komputer dengan jumlah prosesor lebih dari satu atau satu prosesor multicore, proses-proses dieksekusi secara bersamaan pada saat yang bersamaan pula. Sistem ini dikenal dengan sebutan sistem paralel atau multiprocessing.
Pada sistem single prosesor, konkurensi diimplementasikan dengan menjadwal eksekusi proses-proses secara bergantian (interleaving) multitasking/multiprogramming
sedangkan pada sistem multiprosesing, proses-proses yg aktif di interleave dan di overlap.
Permasalahan: proses-proses yang konkurens memerlukan penanganan khusus seperti penjadwalan (karena kompetisi waktu prosesor), sinkronisasi (jika saling mempengaruhi), komunikasi (jika saling bekerja sama), dan penanganan deadlock (karena terjadi kompetisi pengggunaan resource).
Hubungan antar proses-proses konkuren
Saling bebas atau terpisah (independence), yaitu proses-proses tidak saling bekerja sama dan tidak mempengaruhi satu sama lain.
Contoh: aplikasi Ms Word dan Ms Media Player yang berjalan bersamaan.
Saling mempengaruhi secara tidak langsung, yaitu proses-proses tidak saling bekerja sama namun saling mempengaruhi karena saling berbagi pakai resource.
Contoh: aplikasi Ms Word dan Notepad yang sedang membuka suatu berkas yang sama.
Saling bekerja sama (Cooperate), yaitu proses –proses secara sadar bekerja sama dan saling mempengaruhi satu sama lain untuk mencapai suatu tujuan khusus.
Contoh: aplikasi akuntansi yang mengakses aplikasi server basis data lokal seperti MS SQL Server, aplikasi browser internet, seperti Internet Explorer (IE), yang mengakses dokumen pada suatu situs
Masalah Perebutan Sumber Daya
Race Condition
Suatu kondisi dimana ada dua atau lebih proses yang berusaha mengakses sumber daya yang sama, sehingga ada kemungkinan status sumber daya tersebut menjadi tidak valid
Deadlock
suatu kondisi dimana 2 proses atau lebih tidak bisa meneruskan eksekusinya karena saling menunggu aksi dari proses lainnya
Starvasion
kondisi dimana satu proses atau lebih selalu kalah dalam kompetisi untuk mendapatkan sumber daya yang diperlukannya, sehingga eksekusinya tertunda terus menerus.
Komplesitas Multitasking
Mengawasi berbagai proses aktif lewat PCB (Process Control Block)
Melakukan penjadualan
Alokasi/dealokasi berbagai sumber daya
Melindungi sumber daya yang sedang digunakan
Menjaga aliran data ke sumber daya secara konstan
Komunikasi antar proses
Status Proses
bisa diartikan sebagai keadaan aktivitas yang sedang berlangsung dari suatu proses.
new: Proses sedang diciptakan atau diinisialisasi.
running: Instruksi dari proses sedang dieksekusi.
waiting: Proses lagi menunggu suatu event
ready: Proses siap diaktifkan (ke status running).
terminated: Proses sudah selesai dieksekusi.
Multi-programming OS menggilir eksekusi proses-proses secara bergantian (interleaving), sehingga suatu proses mengalami beragam status dalam siklus hidupnya.
Konsep Thread
Unit of resource ownership (process/task)
Unit of dispatching (thread/lightweight process)
Thread adalah sebuah alur kontrol dari sebuah proses.
Secara konsep, thread ada di dalam sebuah proses.
User - running Program - SO membuat proses - Thread yang mengerjakan.
Dalam sebuah proses tunggal dimungkinkan terdapat lebih dari satu thread
Masing-masing thread memiliki informasi status eksekusi, program counter, stack, variabel lokal serta konteks prosesornya sendiri-sendiri. Sedangkan akses ke berkas, variabel global, memori utama dibagi pakai antar thread tersebut.
Struktur Kendali Sistem Operasi
I/O Table
Mencatat status piranti I/O dan saluran (channel) sistem komputer
Memory Table
Mencatat alokasi dan proteksi main memory dan virtual memory
File Table
Mencatat lokasi penyimpanan, status, hak akses dan atribut lainnya
Process Table
Mencatat status setiap proses
Image Process
adalah keseluruhan ruang memori utama yang dialokasi untuk suatu proses.
mage proses terdiri atas elemen
PCB (Process Control Block)
menyimpan atribut dari proses, dibutuhkan OS untuk mengontrol proses
User Program
menyimpan kode program yang dieksekusi
User Data
menyimpan data program (nilai variabel), data termodifikasi
System Stack
Menyimpan parameter dr prosedur atau system call
PCB
PCB (Process Control Block) berisi deskripsi atribut dari proses.
Informasi dlm suatu PCB dpt dikategorikan
Informasi Identitas proses
ID proses, ID parent, ID pemakai
Informasi pengontrolan proses
tatus proses, prioritas penjadwalan, privileges proses, penggunaan sumber daya (memori, I/O, cpu time, file),dll
PCB memiliki peranan sangat penting bagi SO karena berisi semua informasi mengenai proses2 yang aktif.
Informasi status CPU proses
Isi PC dan Register
Proses
Definisi
Proses/job/task adalah abstraksi atau pemodelan terhadap eksekusi program
Proses vs program
Suatu proses lebih dari sekadar kode program itu sendiri. Dua proses yang berbeda bisa menjalankan kode program yang sama di memori, tapi memiliki status and atribut proses yang berbeda. Jadi, program adalah entitas pasif, sedang proses adalah entitas aktif.
meliputi kode program, data, stack dan atribut proses (informasi id proses, status proses, penggunaan sumber daya seperti memori, I/O, file,dll).
Sistem Sekuensial
Suatu proses dieksekusi sampai selesai, baru kemudian proses berikutnya dieksekusi
Ketika proses yang sedang dieksekusi melakukan operasi I/O, prosesor harus menunggu sampai operasi tersebut selesai (prosesor tidak bisa dialihkan ke proses lain)
Kelemahannya adalah tingkat utilitas prosesor rendah (idle time CPU besar)
Modus Eksekusi Proses
System/Monitor/Kernel Mode
Berlaku untuk eksekusi rutin-rutin (proses) dari SO, sepertin rutin untuk manajemen memori, piranti I/O atau manajemen proses.
User Mode
Berlaku untuk eksekusi program (proses) dari pengguna (user)
Proteksi Proses
Instruksi program untuk mengakses sumber daya-sumber daya yang kritis haruslah bersifat trusted, yaitu kode-kode yang telah teruji dan aman, yang berarti menjamin tidak terjadinya monopoli pemakaian sumber daya oleh suatu proses tertentu.
Piranti I/O dan sumber daya kritis hanya boleh diakses oleh kode sistem operasi
Untuk memungkinkan mekanisme demikian, maka diperlukan dukungan pada level perangkat keras. Pada prosesor yang mendukung modus eksekusi secara protected, terdapat suatu bit yang menentukan apakah prosesor sedang berjalan dalam modus kernel atau modus user.