Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Pemrosesan Paralel
Process
Haddad Sammir, M.Kom
March 25, 2015
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Konsep Proses
• Proses didefinisikan sebagai program yang sedang
dieksekusi.
• Menurut Silberschatz proses tidak hanya sekedar suatu
kode program (text section), melainkan meliputi beberapa
aktivitas yang bersangkutan seperti program counter dan
stack.
• Tanenbaum juga berpendapat bahwa proses adalah sebuah
program yang dieksekusi yang mencakup program counter,
register, dan variabel di dalamnya.
• Sistem operasi mengeksekusi proses dengan dua cara yaitu
batch system yang mengeksekusi jobs secara serial tanpa
intervensi manual dan time-shared system yang mengatur
pengeksekusian program pengguna (user) atau tasks.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Konsep Proses
• Sebuah program tidak sama dengan proses.
• Program merupakan sebuah entitas pasif; serupa isi dari
sebuah berkas di dalam disket. Sedangkan sebuah proses
adalah suatu entitas aktif, dengan sebuah program counter
yang menyimpan alamat instruksi yang selanjutnya akan
dieksekusi dan seperangkat sumber daya (resource) yang
dibutuhkan agar sebuah proses dapat dieksekusi.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Status Proses
Diagram Status Proses:
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Status Proses
Sebuah proses dapat memiliki tiga status utama yaitu:
• Running. Status yang dimiliki pada saat
instruksi-instruksi dari sebuah proses dieksekusi.
• Waiting. Status yang dimiliki pada saat proses menunggu
suatu sebuah event seperti proses I/O.
• Ready. Status yang dimiliki pada saat proses siap untuk
dieksekusi oleh prosesor.
Terdapat dua status tambahan, yaitu saat pembentukan dan
terminasi:
• New. Status yang dimiliki pada saat proses baru saja
dibuat.
• Terminated. Status yang dimiliki pada saat proses telah
selesai dieksekusi.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Status Proses
• Hanya ada satu proses yang dapat dieksekusi satu prosesor
/ core pada satu waktu.
• Banyak proses dapat berstatus Ready atau Waiting.
• Ada tiga kemungkinan apabila sebuah proses berada pada
status Running:
• Jika proses telah selesai dieksekusi maka status dari proses
tersebut akan berubah menjadi Terminated.
• Jika waktu yang disediakan oleh OS untuk proses tersebut
sudah habis maka akan terjadi interrupt dan proses
tersebut kini berstatus Ready.
• Jika suatu event terjadi pada saat proses dieksekusi
(seperti ada permintaan I/O) maka proses tersebut akan
menunggu event tersebut selesai dan proses berstatus
Waiting.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Process Control Block
Setiap proses digambarkan dalam sistem operasi oleh sebuah
process control block (PCB).
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Process Control Block
PCB berisikan banyak bagian dari informasi yang berhubungan
dengan sebuah proses yang spesifik, termasuk hal-hal di bawah
ini:
• Status Proses. Status new, ready, running, waiting,
halted.
• Program Counter. Suatu stack yang berisi alamat dari
instruksi selanjutnya untuk dieksekusi untuk proses ini.
• 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.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Process Cntrol Block
Cont.
• Informasi manajemen memori. Informasi ini dapat
termasuk suatu informasi sebagai nilai dari dasar dan batas
register, tabel halaman, atau tabel segmen tergantung
pada sistem memori yang digunakan oleh sistem operasi.
• Informasi pencatatan. Informasi ini termasuk jumlah
dari CPU dan waktu riil yang digunakan, batas waktu,
jumlah akun, jumlah job atau proses, dan lain-lain.
• Informasi status I/O. Informasi termasuk daftar dari
perangkat I/O yang digunakan pada proses ini, suatu
daftar berkas-berkas yang sedang diakses.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Konsep Proses
• Pada saat sebuah program dijalankan, pada dasarnya
komputer sedang menjalankan sebuah proses yang
dideskripsikan oleh program tersebut.
• Sebuah proses juga dapat dibuat melalui system call
create-process yang membentuk proses turunan (child
process) yang dilakukan oleh proses induk (parent
process).
• Ketika sebuah proses dibuat maka proses tersebut dapat
memperoleh sumber-daya seperti waktu CPU, memori,
berkas, atau perangkat I/O.
• 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.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Konsep Proses
Forking
• Sistem operasi UNIX mempunyai system call fork yang
berfungsi untuk membuat proses baru.
• Proses yang memanggil system call fork ini akan dibagi
jadi dua, proses induk dan proses turunan yang identik.
• Proses induk dan turunan independen satu sama lain dan
berjalan bersamaan.
• Untuk proses anak return code-nya adalah 0 sementara
untuk proses induk return code-nya adalah nomor
identifikasi proses (PID) dari turunannya.
• Ada juga system call exec yang berguna untuk membuat
proses turunan yang terbentuk memiliki instruksi yang
berbeda dengan proses induknya.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Contoh Forking
#i n c l u d e <s t d i o . h> /∗ standard M/K∗/
#i n c l u d e <u n i s t d . h> /∗ f o r k ()∗/
#i n c l u d e <s y s / types . h> /∗ p i d t ∗/
i n t main ()
{
p i d t pid ;
pid = f o r k ( ) ;
i f ( pid < 0) {
// t e r j a d i e r r o r
f p r i n t f ( s t d e r r ,” Fork Gagal ” ) ;
e x i t ( −1);
} e l s e i f ( pid == 0) {
// p r o s e s anak
e x e c l p (”/ bin / l s ” ,” l s ” ,NULL ) ;
} e l s e {
// p r o s e s induk
wait (NULL ) ;
p r i n t f (” Proses anak s e l e s a i ” ) ;
e x i t ( 0 ) ;
}
}
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Terminasi Proses
• Suatu proses diterminasi ketika proses tersebut telah
selesai mengeksekusi perintah terakhir atau diterminasi
dengan sengaja oleh proses lain (biasanya proses parent).
• Pada saat terminasi, semua sumber-daya yang digunakan
oleh proses akan dialokasikan kembali oleh sistem operasi
agar dapat dimanfaatkan oleh proses lain.
• Suatu proses yang diterminasi karena selesai melakukan
tugasnya, sistem operasi akan memanggil system call
exit() sedangkan proses yang diterminasi dengan sengaja
oleh proses lain melalui system call abort().
• Alasan proses induk melakukan terminasi terhadap proses
turunannya adalah sebagai berikut:
• Turunan melampaui penggunaan sumber-daya yang telah
dialokasikan.
• Task yang ditugaskan kepada turunan tidak lagi diperlukan.
• Proses induk selesai, dan sistem operasi tidak mengizinkan
proses turunan untuk tetap berjalan (cascading
termination).
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Sekian
Terima Kasih

8. Proses

  • 1.
  • 2.
    Pemrosesan Paralel Haddad Sammir, M.Kom Konsep Proses • Prosesdidefinisikan sebagai program yang sedang dieksekusi. • Menurut Silberschatz proses tidak hanya sekedar suatu kode program (text section), melainkan meliputi beberapa aktivitas yang bersangkutan seperti program counter dan stack. • Tanenbaum juga berpendapat bahwa proses adalah sebuah program yang dieksekusi yang mencakup program counter, register, dan variabel di dalamnya. • Sistem operasi mengeksekusi proses dengan dua cara yaitu batch system yang mengeksekusi jobs secara serial tanpa intervensi manual dan time-shared system yang mengatur pengeksekusian program pengguna (user) atau tasks.
  • 3.
    Pemrosesan Paralel Haddad Sammir, M.Kom Konsep Proses • Sebuahprogram tidak sama dengan proses. • Program merupakan sebuah entitas pasif; serupa isi dari sebuah berkas di dalam disket. Sedangkan sebuah proses adalah suatu entitas aktif, dengan sebuah program counter yang menyimpan alamat instruksi yang selanjutnya akan dieksekusi dan seperangkat sumber daya (resource) yang dibutuhkan agar sebuah proses dapat dieksekusi.
  • 4.
  • 5.
    Pemrosesan Paralel Haddad Sammir, M.Kom Status Proses Sebuah prosesdapat memiliki tiga status utama yaitu: • Running. Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi. • Waiting. Status yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses I/O. • Ready. Status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor. Terdapat dua status tambahan, yaitu saat pembentukan dan terminasi: • New. Status yang dimiliki pada saat proses baru saja dibuat. • Terminated. Status yang dimiliki pada saat proses telah selesai dieksekusi.
  • 6.
    Pemrosesan Paralel Haddad Sammir, M.Kom Status Proses • Hanyaada satu proses yang dapat dieksekusi satu prosesor / core pada satu waktu. • Banyak proses dapat berstatus Ready atau Waiting. • Ada tiga kemungkinan apabila sebuah proses berada pada status Running: • Jika proses telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated. • Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready. • Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan I/O) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.
  • 7.
    Pemrosesan Paralel Haddad Sammir, M.Kom Process Control Block Setiapproses digambarkan dalam sistem operasi oleh sebuah process control block (PCB).
  • 8.
    Pemrosesan Paralel Haddad Sammir, M.Kom Process Control Block PCBberisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini: • Status Proses. Status new, ready, running, waiting, halted. • Program Counter. Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini. • 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.
  • 9.
    Pemrosesan Paralel Haddad Sammir, M.Kom Process Cntrol Block Cont. •Informasi manajemen memori. Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi. • Informasi pencatatan. Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan lain-lain. • Informasi status I/O. Informasi termasuk daftar dari perangkat I/O yang digunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses.
  • 10.
    Pemrosesan Paralel Haddad Sammir, M.Kom Konsep Proses • Padasaat sebuah program dijalankan, pada dasarnya komputer sedang menjalankan sebuah proses yang dideskripsikan oleh program tersebut. • Sebuah proses juga dapat dibuat melalui system call create-process yang membentuk proses turunan (child process) yang dilakukan oleh proses induk (parent process). • Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. • 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.
  • 11.
    Pemrosesan Paralel Haddad Sammir, M.Kom Konsep Proses Forking • Sistemoperasi UNIX mempunyai system call fork yang berfungsi untuk membuat proses baru. • Proses yang memanggil system call fork ini akan dibagi jadi dua, proses induk dan proses turunan yang identik. • Proses induk dan turunan independen satu sama lain dan berjalan bersamaan. • Untuk proses anak return code-nya adalah 0 sementara untuk proses induk return code-nya adalah nomor identifikasi proses (PID) dari turunannya. • Ada juga system call exec yang berguna untuk membuat proses turunan yang terbentuk memiliki instruksi yang berbeda dengan proses induknya.
  • 12.
    Pemrosesan Paralel Haddad Sammir, M.Kom Contoh Forking #i nc l u d e <s t d i o . h> /∗ standard M/K∗/ #i n c l u d e <u n i s t d . h> /∗ f o r k ()∗/ #i n c l u d e <s y s / types . h> /∗ p i d t ∗/ i n t main () { p i d t pid ; pid = f o r k ( ) ; i f ( pid < 0) { // t e r j a d i e r r o r f p r i n t f ( s t d e r r ,” Fork Gagal ” ) ; e x i t ( −1); } e l s e i f ( pid == 0) { // p r o s e s anak e x e c l p (”/ bin / l s ” ,” l s ” ,NULL ) ; } e l s e { // p r o s e s induk wait (NULL ) ; p r i n t f (” Proses anak s e l e s a i ” ) ; e x i t ( 0 ) ; } }
  • 13.
    Pemrosesan Paralel Haddad Sammir, M.Kom Terminasi Proses • Suatuproses diterminasi ketika proses tersebut telah selesai mengeksekusi perintah terakhir atau diterminasi dengan sengaja oleh proses lain (biasanya proses parent). • Pada saat terminasi, semua sumber-daya yang digunakan oleh proses akan dialokasikan kembali oleh sistem operasi agar dapat dimanfaatkan oleh proses lain. • Suatu proses yang diterminasi karena selesai melakukan tugasnya, sistem operasi akan memanggil system call exit() sedangkan proses yang diterminasi dengan sengaja oleh proses lain melalui system call abort(). • Alasan proses induk melakukan terminasi terhadap proses turunannya adalah sebagai berikut: • Turunan melampaui penggunaan sumber-daya yang telah dialokasikan. • Task yang ditugaskan kepada turunan tidak lagi diperlukan. • Proses induk selesai, dan sistem operasi tidak mengizinkan proses turunan untuk tetap berjalan (cascading termination).
  • 14.