KONSEP PROSES
PROSES Kode-kode instruksi program di simpan sebagai berkas pada media penyimpanan sekunder seperti magnetik disk Eksekusi suatu program bukan sekedar eksekusi kode-kode instruksi tapi melibatkan pengelolan informasinya Proses adalah program yang sedang berjalan atau dieksekusi
Multiprocessing dan Konkurensi Konkurensi adalah sistem yang memiliki sejumlah aktifitas yang sedang berjalan secara “bersamaan”. Multiprosessing adalah sistem yang mengerjakan semuanya secara bersamaan (pararel) Konkurensi di implementasikan dengan : menjalankan proses secara bersamaan pada prosesor yang berbeda (overlapping) Menjalankan proses secara bergantian pada prosesor tertentu (interleaving)
Multitasking dan Konkurensi Multitasking sistem yang mengerjakan secara bergantian Konkurensi diimplementasikan dengan : Menjadwal eksekusi prose secara bergantian (interleaving) Pergantian proses berlangsung sangat cepat sekali sehingga pemakai tidak akan menyadari adanya pergantian proses. Contoh kasusnya Tukang bangunan A & B
Pengaruh pada proses konkuren Proses tidak saling mempengaruhi Terjadi pada proses yang tidak saling berhubungan keculai dalam hal pakai prosesor. Ms word dengan window media player Proses saling mempengaruhi secara tidak langsung terjadi pada proses yang tidak saling berkerja sama tapi tapi mengakses sumber daya yang sama. contohnya word & notepad yang membuka berkas yang sama Proses saling memperngaruhi secara langsung terjadi pada proses yang saling bekerjasama Contohnya IE dan server
Masalah yang harus diatasi SO Race Kondition Jika ada dua atau lebih proses yang berusaha mengakses dan melakukan operasi pada sumber daya yang sama Deadlock Terjadi pada saat proses membutuhkan sumber daya tetapi sedang digunakan oleh proses yang lain, karena tidaka ada yang mau mengalah maka berhenti semua Starvasiion Terjadi pada saat suatu proses selalu kalah dalam memperebutkan sumber daya sehingga prosesnya tertunda terus-menerus
Tugas so dalam kokurensi Mengawasi berbagai proses aktif (PSB) Melakukan penjadwalan prose secara adil Melakukan alokasi dan dealokasi berbagai sumber daya untuk masing-masing proses aktif Melindungi sumberdaya yang sedang digunakan oleh suatu proses terhadap proses lain Menjaga jumlah data yang dialirkan ke/dari piranti I/O selau konstan Mempasilitasi komunikasi proses konkuren satu dengan yang lainnya
I/O or event completion Siklus Hidup Proses Model 3 status New terminated admitted interrup exit Ready running schedule I/O or event completion I/O or event wait waiting
Penjelasan gambar New Masih dalam tahap inisiasi oleh prosedur Meliputi alokasi memory utama untuk proses Pengisian tabel proses Pembuatan struktur data kendali untuk menyimpan informasi dan status proses Belum siap untuk di eksekusi Kondisi yang memicu proses new Login ke sistem operasi Permintaaan eksekusi program Aplikasi yang menciptakan proses anak Penciptaan proses baru dari eksekusi batch
Penjelasan gambar Ready Proses yang telah berhasil di inisiasi Antrian penjadwalan prosesor dengan cara menyisipkan proses baru ke dalam antrian Berisi referensi atau pointer ke struktur data kendali proses Menandakan suatu proses siap berkompetisi untuk mendapatkan alokasi prosesor Schduler adalah sistem operasi yang bertugas untuk memilih proses yang berada dalam proses ready
Penjelasan gambar Running Proses menguasi prosesor sepenuhnya Memiliki tiga kemungkinan Teminated, proses yang telah selesai Ready, jika jatah waktu yang dialokasikan sudah habis blocked
Penjelasan gambar Blocked/Waiting Proses membutuhkan pembacaan data dari piranti I/O Proses ini akan disisipkan pada antrian penjadwalan peranti I/O atau event Jika I/O yang di tunggu sudah selesai makan proses akan kembali ke antrian ready dan menunggu pemillihan oleh schedule
Penjelasan gambar EXIT/Terminated Proses tersebut sudah dihentikan eksekusinya Proses telah selesai secara normal Batas waktu total sudah terlewati Kekurang ruang memory Pelanggaran batas memory Pelanggaran proteksi berkas Kesalahan aritmatika Waktu tunggu melebihi batas Terjadi kegagalan I/O Instruksi tidak benar Terjadi pemakaian instruksi yang tidak di izinkan
I/O completion atau event completion Siklus Hidup Proses Model 5 status TimeOut Submit Dispatch Completion Ready Running Event wait Event occur Blocked Resume Suspend Resume Suspend Dispatch Suspended Ready I/O completion atau event completion Suspended blocked
Penjelasan gambar Pada diagram 3 keadaan proses blocked dapat berlangsung lama dan ruang memory utama tidak dapat digunakan oleh proses yang lain Untuk mengatasi hal itu maka dibuat status suspended blocked Penundaan eksekusi proses yang bersatutus blocked yang dilakukan oleh sistem ataupun proses lain akan menyebabkan status proses beralih menjadi suspendedblocked
STRUKTUR KENDALI SO PENGERTIAN Gambar Struktur data yang dibentuk dan di pelihara oleh SO yang menyimpan informasi mengenai setiap sumber daya yang dikelolanya Gambar Memory Table Memory Device I/O Table Files Processor Files Table Proc Proc Proc Proc Process Image
Keterangan gambar Tabel Memory Tabel I/O Tabel Berkas Tabel proses Alokasi memory utama untuk proses-proses Alokasi memotu maya untuk proses Atribut proteksi terhadap memory Informasi yang diperlukan untuk mengatur memory Tabel I/O Mencatat status piranti I/O Mengetahui apakah saluran sistem komputer dalam keadaan bebas atau sedang terpakai Penyalinan/pembacaan data I/O di memory utama Tabel Berkas Mencatat informasi berkas yang diakses oleh proses: lakasinya di memory, statusnya , hak akses, serta atribut berkas lainnya Tabel proses Mencatat informasi mengenai status dari setiap proses
Image Proses Adalah keseluruhan lokasi memory yang digunakan untuk eksekusi suatu proses Proses image dapat berupa : Sebuah blog berurutan (contigous block) Blog dengan ukuran berpariasi (segmentasi) Blog denga ukuran sama (halaman) Kombinasi antara segmentas & halaman (hybrid)
Elemen image proses Data Pengguna (user data) Image proses yang dapat di modifikasi, meliputi data program Kode program (user program) Image proses yang menyimpan kode instruksi program yang akan di eksekusi Sistem Stack (user stack) Struktur data yang bekerja berdasarkan proses LIFO Process Control Block (PCB) Menyimpan informasi yang diperlukan SO untuk mengontrol/mengelola proses
STRUKTUR CITRA PROSES Identifikasi Proses Informasi status proses Informasi kendali proses Stack pemakai Ruang alamat yang khusus diperuntukkan pemakai (program, data) Ruang alamat bersama PCB
SO memerlukan banyak informasi mengenai proses, untuk ? Informasi ini ada di ? Struktur datanya menyimpan informasi lengkap mengenai proses sehingga dapat terjadi siklus hidup proses Informasi di PCB dikelompokkan Informasi identifikasi proses Informasi status proses Informasi kendali proses
INFORMASI IDENTIFIKASI PROSES Berkaitan dengan identitas proses yang unik Dengan identifier ini proses dikaitkan ke tabel-tabel lain Identifiernya adalah numerik yang meliputi Identifier proses Identifier proses yang menciptakan Identifier pemakai
INFORMASI STATUS PROSES Informasi ini esensinya terdiri dari register-register pemroses. Saat proses berstatus running, informasi-informasi ini berada di (register-register ?). Ketika proses diinterupsi semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali Jumlah dan ragam register bergantung pada arsitektur komputernya
INFORMASI KENDALI PROSES Adalah informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi beragam proses aktif
Elemen process control information : Schedulling & state infromartion Berisi infromasi untuk penjadwalan, status proses, prioritas,identitas event Data structuring Berisi link dengan proses lain dalam antion atau ring Interprocess communicario Flag, signal dan pesan yang digunakan untuk komunikasi antar proses. Process privilages Kewenangan proses atas memori dan tipe instruksi Memory management Pointer ke tabel segmen ataupun tabel halaman dari memori maya Resource ownership & utilization Berisi sejarah pengguanaan sumber daya yang akan digunakan untuk penjadwalan
Gambar Process Control Block Setiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) – juga disebut sebuah control block. Gambar Process Control Block
PROCESS CONTROL BLOCK (cont.) PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini: Status Proses Program counter CPU Register Informasi Manajemen Memori Informasi pencatatan
KARAKTERISTIK PROSES Unit of resource ownership Memakai sebuah alamat virtual, memakai memory utama selama proses dan diberi kedali terhadap sumber daya Unit of dispathing/thread Proses yang memakai satu jalur eksekusi(trace)
KONSEP THREAD Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID, program counter,register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama Thread juga sering disebut lightweight process.
KONSEP THREAD (cont.) Gambar Thread
THREAD KERNEL Thread kernel didukung langsung oleh sistem operasi. Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space. Thread diatur oleh kernel, karena itu jika sebuah thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain di aplikasi untuk melakukan eksekusi. Pada lingkungan multiprocessor, kernel dapat menjadwal thread-thread pada processor yang berbeda. Contoh sistem operasi yang mendukung kernel thread adalah Windows NT, Solaris, Digital UNIX.
MODEL MULTITHREADING Many To One One To One
MODEL MULTITHREADING (cont.) Many To Many
Pemahaman lanjut konsep proses Pada awal setiap siklus instruksi, CPU membaca instruksi dari memori. Sebuah register yang disebut Program Counter (PC) digunakan untuk menunjukkan alamat instruksi yang akan diambil dari memori. Setiap kali sebuah instruksi dibaca, isi PC akan ditambah sehingga CPU akan membaca instruksi selanjutnya secara berurutan. Misalkan isi PC=300
Pemahaman lanjut konsep proses Register internal CPU: Program Counter (PC) = menyimpan alamat instruksi Instruction Register (IR) = menampung instruksi yang sedang dieksekusi Accumulator (AC) = register penyimpanan temporer
Misalkan ada sebuah komputer yang memiliki karakteristik sebagai berikut : Instruksi dan data panjangnya 16 bit. Tiap alamat memori menyimpan 16 bit data atau instruksi. Format instruksi : Kode atau instruksi: 0001 = Isi memori, yang alamatnya dinyatakan pada bit 4 sampai bit 15 pada format instruksi, disalinkan ke Accumulator. 0010 = Simpan isi accumulator ke memori, yang alamatnya dinyatakan pada bit 4 sampai bit 15. 0101 = Tambahkan isi AC dengan isi memori, yang alamatnya dinyatakan pada bit 4 sampai bit 15. 3 4 16 Instruksi alamat
memory 300 1940 301 5941 302 2941 ….. 940 0003 941 0002 Register CPU PC 300 AC IR Proses 1 0003 1940 Register CPU PC AC IR Proses 2 301 0005 5941 0002+0003 Register CPU PC AC IR Proses 3 302 0005 0005 2941