Tugas Individu Sistem Operasi

Manajemen Proses Sistem Operasi

Secara informal, 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.


Keterkaitan hubungan antara proses dengan sistem operasi terlihat dari cara sistem operasi menjalankan/ mengeksekusi proses. 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. Bahkan pada sistem pengguna tunggal (single user) seperti Microsoft Windows dan Mac OS, seorang pengguna mampu menjalankan beberapa program pada saat yang sama, seperti Spread Sheet, Web Browser, dan Web Email. Bahkan jika pengguna hanya menggunakan satu program saja pada satu waktu, sistem operasi perlu mendukung program internalnya sendiri, seperti manajemen memori. Dengan kata lain, semua aktivitas tersebut adalah identik sehingga kita menyebutnya ''proses''.


Keberadaan sistem operasi dalam sistem komputer adalah sebagai perangkat lunak yang mempunyai tugas mengendalikan dan mengkoordinasikan seluruh hardware dan software sebagai sumber daya komputer sekaligus memberikan pelayanan kepada program aplikasi dan pemrogram untuk memudahkan pemanfaatan sumber dayanya. Proses sebagai suatu entitas yang dinamis mengandung sejumlah instruksi, data, program counter, kumpulan register serta stack yang berisi alamat memori. Proses juga dapat dikatakan  sebagai program yang sedang dieksekusi (program aplikasi / sistem operasi). Proses dapat dikatakan sebagai unit kerja terkecil yang secara individu memiliki sumber daya – sumber daya dan dijadwalkan oleh sistem operasi.
Dengan demikian sistem operasi mempunyai kegiatan yang sangat kompleks dalam mengelola seluruh sumber daya dan memberikan pelayanan terhadap proses – proses sesuai kebutuhan. Kegiatan tersebut menjadikan sistem operasi membutuhkan suatu manajemen proses.


Sebuah proses dapat memiliki tiga status utama yaitu :

1.      1 . Running.
Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi.
2.      2.   Waiting.
Status yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses M/K.
3.       3. Ready.
Status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor
Terdapat dua status tambahan, yaitu saat pembentukan dan terminasi:
1.       4. New.
Status yang dimiliki pada saat proses baru saja dibuat
2.       5Terminated.
Status yang dimiliki pada saat proses telah selesai dieksekusi.

Hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu.Namun, banyak proses yang dapat berstatus Ready atau Waiting.
Ada tiga kemungkinan bila sebuah proses memiliki status Running:
1.       Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi
Terminated.
2.       Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
3.       Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan M/K) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.

Setiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB)  juga disebut sebuah control block. Process Control Block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini:
1.       Status Proses.
Status new, ready, running, waiting, halted, dan juga banyak lagi.
2.       Program Counter.
Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
3.       CPU register.
Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator,register indeks,stack pointer,general-purposes register,ditambah code information pada kondisi apa pun.Beserta dengan program counter,keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar.
4.       Informasi manajemen memori.
Informasi ini dapat termasuk suatu informasi sebagai nilai daridasar dan batas register, tabel halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.
5.       Informasi pencatatan.
Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
6.       Informasi status M/K.
Informasi termasuk daftar dari perangkat M/K yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi. PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain. Sehingga semua proses ini pada akhirnya membentuk pohon proses. Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat M/K. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi. Di dalam UNIX daftar dari proses yang sedang aktif berjalan bisa didapatkan dengan menggunakan perintah ps, contoh ps -el. Ada dua kemungkinan bagaimana jalannya (running) proses induk dan turunan. Proses-proses tersebut berjalan secara konkuren atau proses induk menunggu sampai beberapa/seluruh proses turunannya selesai berjalan. Juga terdapat dua kemungkinan dalam pemberian ruang alamat (address space) proses yang baru. Proses turunan dapat merupakan duplikasi. Bila UNIX menggunakan kemungkinan pertama (proses baru merupakan duplikasi induknya) maka sistem operasi DEC VMS menggunakan kemungkinan kedua dalam pembuatan proses baru yaitu setiap proses baru memiliki program yang di-load ke ruang alamatnya dan melaksanakan program tersebut. Sedangkan sistem operasi Microsoft Windows NT mendukung dua kemungkinan tersebut. Ruang alamat proses induk dapat diduplikasi atau proses induk meminta sistem operasi untuk me-load program yang akan dijalankan proses baru ke ruang alamatnya.

Kebutuhan utama dalam pengendalian proses oleh sistem operasi antara lain :
1.       Saling melanjutkan (interleave).
2.       Mendukung komunikasi antar proses dan penciptaan proses.
3.       Mengikuti kebijaksanaan tertentu (misal adanya sistem prioritas untuk menghindari deadlock).

Process Control Block (PCB)

Sistem operasi dalam melaksanakan tugas pengendalian dan pelayanan proses (sebagai manajer dan pelayan) terhadap kerja sistem komputer memerlukan sejumlah informasi yang akurat. Informasi yang diperlukan sistem operasi tersedia dalam bentuk Process Control Block (PCB). Informasi dalam PCB dikelompokkan dalam tiga macam :
1.       Informasi identifikasi proses yaitu identifikasi proses yang berkaitan dengan identitas proses yang unik, identifikasi proses yang menciptakan identifikasi pemakai.
2.       Informasi status pemroses yaitu informasi tentang isi register yang berisi data saat running, register yang digunakan (AX,BX,CX,EAX,EBX). Register kendali dan status (program counter, PSW), Pointer stack.
3.       Informasi kendali proses yaitu informasi yang diperluakan sistem operasi untuk manajemen proses. Informasi penjadwalan dan status [ prioritas dan kejadian ] manajemen memori.

     Komunikasi antar proses (Inter Process Communinication / IPC) :
ü  Beberapa proses biasanya berkomunikasi dengan proses lainnya.  
Contohnya pada shell pipe line : output dari proses pertama harus diberikan kepada proses ke dua seterusnya.


ü    Pada beberapa sistem operasi, proses-proses yang bekerja bersama sering sharing (berbagi) media penyimpanan, dimana suatu proses dapat membaca dan menulis pada shared storage (main memory atau files).
Mekanisme proses untuk komunikasi dan sinkronisasi aksi
v     Sistem Pesan – komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data.
v    IPC menyediakan dua operasi :
·         send(message) – pesan berukuran pasti atau variabel
·         receive(message)
Jika P dan Q melakukan komunikasi, maka keduanya memerlukan :
  • Membangun jalur komunikasi diantara keduanya
  • Melakukan pertukaran pesan melaui send/receive
  • Implementasi jalur komunikasi
  • physical (shared memory, hardware bus)
  •  logical (logical properties)
  • Create and Destroyed Process


Pembuatan Proses (Create)
Penciptaan proses terjadi karena terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.

Penciptaan proses melibatkan banyak aktivitas, yaitu :

§  Menamai (memberi identitas) proses.
§  Menyisipkan proses pada senarai proses atau tabel proses.
§  Menentukan prioritas awal proses.
§  Menciptakan PCB.
§  Mengalokasikan sumber daya awal bagi proses.
§  Penghancuran Proses (Destroyed)
Penghancuran proses terjadi karena :
§  Selesainya proses secara normal.
§  Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses telah berjalan secara lengkap.
§  Batas waktu telah terlewati.
§  Proses telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang dijalani (“walk clock time”) jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses interaktif) .
§  Memori tidak tersedia.
§  Proses memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
§  Pelanggaran terhadap batas memori.
§  Proses memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses.
§  Terjadi kesalahan karena pelanggaran proteksi.
§  Proses berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukannya, seperti menulis file read only.
§  Terjadi kesalahan aritmatika.
§  Proses mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba menyimpan angka yang lebih besar daripada yang ddapat diakomodasi oleh H/W.
§  Waktu telah kadaluwarsa.
§  Proses telah menunggu lebih lama daripada maksimum yang telah ditentukan untuk terjadinya suatu kejadian spesfiik.
§  Terjadi kegagalan masukan/keluaran.
§  Kesalahan muncul pada masukan atau keluaran, seprti ketidakmampuan menemukan file, kegagalan membaca atau mennulis setelah sejumlah maksimum percobaan yang ditentukan (misalnya area rusak didapatkan pada tape,atau operasi tidak valid seperti membaca dari line printer).
§  Intruksi yang tidak benar.
§  Proses berusaha mengeksekusi instruksi yang tidak ada (sering sebagi akibat pencabangan ke daerah data dan berusaha mengeksekusi data tersebut).
§  Terjadi usaha memakai instruksi yang tidak diijinkan.
§  Proses berusaha mengeksekusi instruksi yang disimpan untuk SO.
§  Kesalahan penggunaan data.
§  Bagian data adalah tipe yang salah atau tidak diinisialisasi.
§  Diintervensi oleh SO atau operator.
§  Untuk suatu alasan, operator atau sistem operasi mengakhiri proses (misalnya terjadi deadlock).
§  Berakhirnya proses induk.
§  Ketika parent berakhir. So mungkin dirancannng secara otomatis mengakhiri semua anak proses dari parent itu.
§  Atas permintaan proses induk.
§  Parent process biasanya mempunyai otoritas mengakhiri suatu anak proses.

Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :

§  Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
§  Beberapa sistem lain menganggap proses anak independen terhadap proses induk Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.

Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :

§  Sumber daya-sumber daya yang dipakai dikembalikan.
§  Proses dihancurkan dari senarai atau tabel sistem.
§  PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).

0 komentar:

Posting Komentar

 
Powered By Blogger
Powered By Blogger

Easy Blog Tricks

Powered By Blogger
© Grunge Theme Copyright by Rhossy Kawaii (si chubby) | Template by Blogger Templates | Blog Trick at Blog-HowToTricks