Manajemen Proses
Proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.
rocess Control Block(PCB)
Masing-masing proses direpresentasikan oleh Sistem Operasi dengan menggunakan Processs Control Block(PCB).
1. Status Proses. New, Ready, running, waiting, terminated, dll.
2. Program Counter, Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.
3. CPU Registers. Registyer bervariasi tipe dan jumlahnya tergantung arsitektur computer yang bersangkutan. Register-register tersebut terdiri atas:accumulator, index register, stack pointer, dan register serbaguna dan beberpa informasi tentang kode kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada saat terjadi interrupt.
Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan bebarpa parameter penjadwalan yang lainnya.
Informasi Manajemen Memori
Informasi tersebut berisi nilai(basis) dan limit register, page table atau segment table tergantung pada system memory yang digunakan oleh SO.
Informasi Accounting
Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses, dll.
Informasi Status I/O
Informasi tersebut berisi deretan I/O device(sperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka, dll.
Scheduling Queue
Proses-proses yang masuk pada suatu proses akan diletakkan ke dalam job queue. Sedangkan proses-proses yang ada di memori utama dan menunggu untuk dieksekusi diletakkan pada suatu list yang disebut dengan ready queue. Queue ini disimpan sebagai linked list dan berisi pointer awal dan akhir PCB. Tiap-tiap PCB memiliki suatu pointer field yang menunjukkan ke proses berikutnya dalam ready queue. Deretan proses yang sedang menunggu peralatan I/O tertentu disebut dengan device queue. Gambar 3.4 menunjukkan contoh ready queue dan device queue.
Schedulers
Ada 2 bentuk scheduler, yaitu:
1. The Longterm Scheduler(job scheduler), menyeleksi proses-proses dari suatu pool dan membawanya ke memori utama untuk dieksekusi.
2. The Short-term Scheduler(CPU scheduler). Menyeleksi proses-proses yang siap untuk dieksekusi, dan mengalokasikan CPU ke salah satu dari proses-proses tersebut.
Context Switch
Context Switch adalah proses penyimpanan status proses dan mengambil status proses yang baru pad asst terjadi switching.
Pembuatan Proses
Ada beberapa aktifitas berkenaan dengan pembuatan proses, antara lain:
1. Memberi identitas(nama) pada proses yang dibuat
2. Menyisipkan proses pada list proses atau table proses
3. Menentukan prioritas awal proses
4. Membuat PCB
5. Mengalokasikan resource awal bagi proses tersebut
Ada beberapa kejadian yang menyebabkan pembuatan suatu proses baru, antara lain:
1. Pada lingkungan batch sebagai tambahan atas pemberian job. Setelah menciptakan proses baru, system operasi melanjutkan untuk membaca job selanjutnya.
2. Pada lingkungan interaktif, pada saat user baru saja login
3. Sebagai tanggapan attas suatu aplikasi(seperti:mencetak file, system operasi dapat menciptakan proses yang akan mengelola pencetakan itu).
4. Proses menciptakan proses lain(child).
Selama eksekusi, suatu proses mungkin akan membuat suatu proses yang baru. Proses tersebut dinamakan parent, sedangkan proses yang dibuat dinamakan child.
Pada UNIX, parenta akan membentuk child dengan menggunakan FORK system call. Setelah pemanggilan FORK, paret kembali berjalan secara parallel dengan child. Demikian pula, child dapat meanggil FORK untuk membentuk child lainnya. Lain halnya dengan DOS, pada MS-DOS, system call akan memanggil binary file tertentu yang ada pada memori dan mengeksekusinya sebagai child. Parent akan running kembali setelah child selesai eksekusi. Dengan demikian parent dan child tidak dapat berjalan secara parallel.
Bentuk eksekusi:
- Parent melanjutkan eksekusi beriringan dengan children
- Parent menunggu hingga beberapa atau seluruh children selesai
Bentuk ruang alamat:
- Child proses adalah duplikat dari parent proses
- Child proses telah memanggil program ke dirinya
Pada akhir proses, child mengembalikan hasil proses pada parent-nya untuk mengantisipasi hal ini, suaut proses hanya boleh memiliki satu parent tapi satu parent boleh memiliki lebih dari satu child.
Penghentian Proses
Suatu proses berhenti jika telah menyelesaikan pernyataan terakhir, dan meminta pada system operasi untuk menghapusnya dengan menggunakan exit system call. Proses mengembailkan semua data (output) ke parent proses. Kemudian proses dihapus dari list atau table system, dilanjtukan dengan menghapus PCB.
Penghapusan proses ini akan menjadi sangat kompleks jika teryata proses yang akan dihentikan tersebut membuat proses-proses yang lain, Pada beberapa system, proses-proses anak akan dihentikan secara otomatis jika proses induknmya dihentikan. Namun, ada beberapa system yang menganggap bahwa proses anak ini tidak iktu dihentikan secara otomatis pada saat proses induk dihentikan.
Proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.
rocess Control Block(PCB)
Masing-masing proses direpresentasikan oleh Sistem Operasi dengan menggunakan Processs Control Block(PCB).
1. Status Proses. New, Ready, running, waiting, terminated, dll.
2. Program Counter, Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.
3. CPU Registers. Registyer bervariasi tipe dan jumlahnya tergantung arsitektur computer yang bersangkutan. Register-register tersebut terdiri atas:accumulator, index register, stack pointer, dan register serbaguna dan beberpa informasi tentang kode kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada saat terjadi interrupt.
Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan bebarpa parameter penjadwalan yang lainnya.
Informasi Manajemen Memori
Informasi tersebut berisi nilai(basis) dan limit register, page table atau segment table tergantung pada system memory yang digunakan oleh SO.
Informasi Accounting
Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses, dll.
Informasi Status I/O
Informasi tersebut berisi deretan I/O device(sperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka, dll.
Scheduling Queue
Proses-proses yang masuk pada suatu proses akan diletakkan ke dalam job queue. Sedangkan proses-proses yang ada di memori utama dan menunggu untuk dieksekusi diletakkan pada suatu list yang disebut dengan ready queue. Queue ini disimpan sebagai linked list dan berisi pointer awal dan akhir PCB. Tiap-tiap PCB memiliki suatu pointer field yang menunjukkan ke proses berikutnya dalam ready queue. Deretan proses yang sedang menunggu peralatan I/O tertentu disebut dengan device queue. Gambar 3.4 menunjukkan contoh ready queue dan device queue.
Schedulers
Ada 2 bentuk scheduler, yaitu:
1. The Longterm Scheduler(job scheduler), menyeleksi proses-proses dari suatu pool dan membawanya ke memori utama untuk dieksekusi.
2. The Short-term Scheduler(CPU scheduler). Menyeleksi proses-proses yang siap untuk dieksekusi, dan mengalokasikan CPU ke salah satu dari proses-proses tersebut.
Context Switch
Context Switch adalah proses penyimpanan status proses dan mengambil status proses yang baru pad asst terjadi switching.
Pembuatan Proses
Ada beberapa aktifitas berkenaan dengan pembuatan proses, antara lain:
1. Memberi identitas(nama) pada proses yang dibuat
2. Menyisipkan proses pada list proses atau table proses
3. Menentukan prioritas awal proses
4. Membuat PCB
5. Mengalokasikan resource awal bagi proses tersebut
Ada beberapa kejadian yang menyebabkan pembuatan suatu proses baru, antara lain:
1. Pada lingkungan batch sebagai tambahan atas pemberian job. Setelah menciptakan proses baru, system operasi melanjutkan untuk membaca job selanjutnya.
2. Pada lingkungan interaktif, pada saat user baru saja login
3. Sebagai tanggapan attas suatu aplikasi(seperti:mencetak file, system operasi dapat menciptakan proses yang akan mengelola pencetakan itu).
4. Proses menciptakan proses lain(child).
Selama eksekusi, suatu proses mungkin akan membuat suatu proses yang baru. Proses tersebut dinamakan parent, sedangkan proses yang dibuat dinamakan child.
Pada UNIX, parenta akan membentuk child dengan menggunakan FORK system call. Setelah pemanggilan FORK, paret kembali berjalan secara parallel dengan child. Demikian pula, child dapat meanggil FORK untuk membentuk child lainnya. Lain halnya dengan DOS, pada MS-DOS, system call akan memanggil binary file tertentu yang ada pada memori dan mengeksekusinya sebagai child. Parent akan running kembali setelah child selesai eksekusi. Dengan demikian parent dan child tidak dapat berjalan secara parallel.
Bentuk eksekusi:
- Parent melanjutkan eksekusi beriringan dengan children
- Parent menunggu hingga beberapa atau seluruh children selesai
Bentuk ruang alamat:
- Child proses adalah duplikat dari parent proses
- Child proses telah memanggil program ke dirinya
Pada akhir proses, child mengembalikan hasil proses pada parent-nya untuk mengantisipasi hal ini, suaut proses hanya boleh memiliki satu parent tapi satu parent boleh memiliki lebih dari satu child.
Penghentian Proses
Suatu proses berhenti jika telah menyelesaikan pernyataan terakhir, dan meminta pada system operasi untuk menghapusnya dengan menggunakan exit system call. Proses mengembailkan semua data (output) ke parent proses. Kemudian proses dihapus dari list atau table system, dilanjtukan dengan menghapus PCB.
Penghapusan proses ini akan menjadi sangat kompleks jika teryata proses yang akan dihentikan tersebut membuat proses-proses yang lain, Pada beberapa system, proses-proses anak akan dihentikan secara otomatis jika proses induknmya dihentikan. Namun, ada beberapa system yang menganggap bahwa proses anak ini tidak iktu dihentikan secara otomatis pada saat proses induk dihentikan.
Comments