Proses

Otline

1.Pengertian Proses
2.Pembentukan dan Terminasi Proses
3.Status Proses
4.Process Control Block (PCB)
5.Process Switching


Penertian Proses

Fungsi utama sebuah prosesor adalah mengeksekusi instruksi mesin yang terdapat dalam memori utama. Eksekusi suatu program dikenal dengan nama proses atau task. Proses berisi instruksi dan data, program counter dan semua register pemroses, dan stack berisi data sementara. Proses merupakan unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan sistem operasi.
Tanggung jawab utama dari system operasi adalah mengontrol eksekusi proses. Tanggung jawab ini mencakup pola penggiliran eksekusi dan pengalokasian sumber daya.
Progam meruparam bukanlah proses, progrkan serangkaian instruksi yang belum dieksekusi oleh processor dan merupakan komponen pasif.
Berikut adalah beberapa defenisi dari proses.
Sebuah program yang dieksekusi
Sebuah program yang berjalan pada sebuah computer
Sebuah entitas yang diberikan ke dan dieksekusi pada processor
Sebuah aktifitas unit yang ditandai dengan eksekusi serangkaian instruksi, state saat ini (current state) dan terhubung dengan serangkaian sumber daya sistem.

Ada 2 elemen penting dari sebuah proses yaitu:

Kode program  (bisa di share dengan proses lain yang mengeksekusi program yang sama)Serangkaian data yang dihubungkan dengan kode program tersebut
      Pada saat processor mulai mengeksekusi kode program, maka program berubah menjadi
 proses,
dimana proses akan dikenali dengan sejumlah

    elemen- elemen berikut:
    •Identifier à identitas unik dari proses, untuk membedakan antara 1 proses dengan   proses lain.
    State à Selama proses dieksekusi, maka akan terjadi perubahan state pada proses tersebut. State merupakan aktifitas yang sedang dilakukan oleh sebuah proses.   Contoh, jika proses sedang dieksekusi, maka proses berada pada running state. 
     •Priority à Tingkat prioritas suatu proses terhadap proses lainnya
     •Program counter à alamat dari instruksi berikutnya dalam program yang akan dieksekus 
     •Memory pointers à melibatkan pointers ke kode program dan data yang terkait dengan 
 
sebuah proses, dan juga pointer ke  beberapa blok memori yang di share ke proses lain.  
     •Context data à data yang ada dalam register processor, pada saat proses dieksekus
     •I/O status information à melibatkan I/O requests, I/O devices (misalnya disk drives)   yang diberikan ke sebuah proses, sebuah list dari file-file yang digunakan oleh   proses, dan lain-lain 
     •Accounting information à melibatkan jumlah waktu processor yang digunakan,
 
batas waktu, jumlah account, dll
    Pembentukan dan Terminasi Proses

Diagram
s state  prose
Diagram state dasar terdiri dari 2 keadaan : proses akan berada padasalah satu dari dua state yaitu running atau tidak running.
J   jika system operasi membuat proses baru maka system operasi akan memasukkan proses tersebut dalam kondisi tidak running. Proses yang keluar akan diketahui oleh system operasi dan menunggu kesempatan untuk dieksekusi. Tetapi ada juga suatu proses yang sedang running akan diinterrupt jika ada proses lain yang mempunyai prioritas lebih bagus. Proses yang diinterrup tersebut akan kembali ke posisi not running.
-   - Proses yang baru diciptakan akan segera mempunyai state ready
    - Proses ready menjadi running karena penjadwal memutuskan penggunaan pemroses
      untuk proses itu.-Proses running menjadi ready karena penjadwalan  memutuskan eksekusi proses lain karena jatah waktu telah habis (time out)-Proses
 running
menjadi blocked karena sumber daya yang diminta belum tersedia, proses  menunggu alokasi sumber daya (event wait)-Proses blocked menjadi ready saat sumber  daya yang diminta
 tersediaStatus Proses



Penundaan proses (suspended process) yaitu suatu kondisi dimana proses mengalami penundaan pada saat running, kondisi ini disebabkan oleh beberapa hal :
Swapping = system operasi perlu membebaskan memori utama untuk dapat membawa 
                    proses lain yang
siap untuk diekasekusi kedalamnya

R     request OS = Sistem operasi dapat menunda proses yang dianggap bermasalah
User request = User dapat menunda eksekusi program untuk tujuan debugging atau yang                                             berhubungan dengan sumber daya
        Timer = Proses dapat ditunda untuk interval waktu tertentu
 Request by Process = penundaan proses dapat terjadi karena adanya sinkronisasi dari                                                               induk proses itu sendiri
S       

   Process Control Block (PCB)
Sistem operasi memerlukan banyak informasi men Sistem  genai proses dalam pengelolaanproses, informasi ini berada di PCB. Process Control Block adalah informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi beragam proses aktifDalam PCB informasi dibagi atas 3 kelompok :

A.Informasi identifikasi proses : identifikasi berkaitan dengan proses yang unik. Identifier
   
numerik yang meliputi : prose situ sendiri, siapa proses yang menciptakan dan yang
   pemakaiB.Informasi status pemroses : berisi register – register pemroses. Jumlah dan      jenis register    tergantung arsitek komputer. Register tersebut terdiri :
register yang terlihat pemakai : dapat ditunjuk instruksi bahasa assembly untuk diproses
                                                  pemroses

register kendali dan status : untuk mengendalikan operasi pemroses seperti: program
                                             counter, PSW 
dsb.

Pointer stack : untuk parameter atau alamat prosedur pemanggil dan system call,                        pointer stack menujuk posisi paling atas dari stack.

C.Informasi Kendali proses yang terdiri atas :
  •informasi penjadwalan dan status : untuk menjalankan fungsi penjadwalan : status
    proses (running, ready, blocked dsb), prioritas (lama menunggu, lama proses dsb) dan
    kejadian (identitas kejadian yang ditunggu proses)
  •penstruktur data : satu proses dapat dikaitkan dengan proses lain dalam satu antrian
    atau ring atau struktur lainnya.
  •Komunikasi antar proses : beragam flag, sinyal dan pesan dapat diasosiasikan dengan
    komunikasi antara dua proses yang terpisah.
  •Kewenangan proses : kewenangan berkaitan dengan memori dan tipe instruksi yang
    dapat dijalankan.
  •Manajemen memori : berisi pointer ke tabel segmen atau page yang menyatakan
    memori maya proses.
  •Kepemilikan dan utilisasi sumber daya : sumber daya yang dikendalikan proses harus
   diberi tanda : berkas dibuka, pemakaian pemroses dan pemakaian sumber daya
   lainnya
Informasiinformasi dalam PCB adalah :
Keadaan proses: Keadaan new ,ready ,running, waiting, halted, dll.
Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk
                              dijalankan untuk ditambah code information pada kondisi apapun.
                              Bersamaan dengan program counter, status harus disimpan ketika 
                              ganggua terjadi, untuk memungkinkan proses tersebut
                              berjalan/bekerja dengan benar setelahnya.
Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai                                               nilai dari dasar dan batas register. tabel page/ halaman,
                                                   atau tabel segmen tergantung pada sistem memori 
                                                   yangdigunakan oleh sistem operasi.
Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang                                      digunakan batas waktu, jumlah akun, jumlah job atau proses, dll.
Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan                                 proses ini,suatu daftar open file, dll.
CPU register: isi dari register bervariasi dalam jumlah dan jenis, tergantung 
                       pada rancangan komputer. Register tersebut termasuk accumulator,
                       index register, stack pointer, general-purposes register

Process Switching

Penciptaan proses melibatkan banyak aktivitas seperti : menamaimenyisipkan,menentukan prioritas, menciptakan PCB dan mangalokasikan sumber daya proses.Kejadian

yang dapat menciptakan proses :
 pada lingkungan batch sebagai tanggapan atas job  •pada lingkungan interaktif, terjadi saat pemakai berusaha log on sebagai tanggapan suatu aplikasi •adanya penciptaan proses lain (anak proses)

Pada UNIX : proses diciptakan dengan system call fork : menciptakan kopian proses                    pemanggil (induk) yang identik. Pada MS-DOS : system call adalah memuatkan
        file
biner ke memori dan mengeksekusi sebagai anak proses. Pada sistem ini
        proses
induk dan proses anak tidak berjalan paralel.

Pada saat OS menciptakan sebuah proses baru, maka yang terjadi adalah sebagai berikut

  1.Memberikan sebuah proses identifier unik untuk setiap proses baruSebuah entry baru akan ditambahkan ke tabel proses, yang berisi satu entry
perproses.

  2.Alokasi ruang untuk proses. Melibatkan semua elemen dari proses image. OS harus mengetahui seberapa banyak ruang yang diperlukan untuk ruang alamat private user (program dan data) dan user stack. Nilai ini akan diberikan berdasarkan jenis dari proses, atau dapat diset berdasarkan permintaan user pada saat job diciptakan. Jika sebuah proses dilahirkan oleh proses lain, parent proses dapat memberikan nilai yang diperlukan ke OS sebagai bagian dari permintaan penciptaan proses. Jika ruang alamat tersedia, akan di-share ke proses baru, sebuah link di-set up. Ruang untuk sebuah PCB juga dialokasikan

      3.Inisialisasi PCB Bagian identifikasi proses berisi ID dari proses + IDs terkait (parent process).  Bagian processor state information akan meng-inisialisasi sebagian besar dengan nol (0), kecuali program counter (set ke program entry point) dan systam stack pointer (set ke nilai batas process stack).  Processor state information, di-inisialisasi berdasarkankan pada standar nilai default + attribut yang diminta untuk sebuah proses.  Sebagai contoh. Processe state akan diinisialisasi ke Ready atau Ready/suspend. Prioritas akan diset secara default ke prioritas terendah, kecuali untuk sebuah request tertentu yang dibuat untuk prioritas yang lebih tinggi.  Pada awalnya proses tidak memiliki sumber daya (I/O device, file), kecuali ada permintaan khusus atau warisan dari parent proses.
      4.Set linkages yang sesuai. Jika OS mengelola setiap penjadwalan antrian sebagailinked list, maka sebuah proses baru harus ditempatkan pada ready list.
      5.Create atau expand struktur data lain. OS akan mengelola sebuah file penghitungpada setiap proses yang digunakan sebagai billing dan/atau tujuan pengujian kinerja.
Penghancuran proses : pada penghancuran proses maka akan melibatkan kegiatan
                                  pembebasan proses dari system, antara lain  
                                     •sumber daya yang dipakai dikembalikan 
                                     •proses dihancurkan dari tabel sistem 
                                     •PCB dihapus
Penghancuran akan lebih rumit bila telah menciptakan proses. Untuk kondisi tersebut 
maka akan dilakukan pendekatan, antara lain : 
   •pada beberapa sistem proses-proses turunan dihancurkan saat proses induk 
    dihancurkan secara otomatis 
   •menganggap proses anak independen terhadap proses induk

Tidak ada komentar:

Posting Komentar