PROSES
Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat
komputer berjalan, terdapat banyak proses yang berjalan secara
bersamaan. Sebuah proses dibuat melalui system call create-process yang
membentuk proses turunan ( child process) yang dilakukan oleh proses
induk ( parent process). Proses turunan tersebut juga mampu membuat
proses baru 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 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.
Konsep 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.
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. Suatu proses diterminasi ketika proses tersebut telah selesai mengeksekusi
perintah terakhir serta meminta sistem operasi untuk menghapus perintah tersebut dengan
menggunakan system call .
STATUS PROSES
Proses yang dieksekusi mempunyai lima status yang terdiri dari:
- New : pembentukan suatu proses
- Running : instruksi-instruksi yang sedang dieksekusi
- Waiting : proses menunggu untuk beberapa event yang terjadi
- Ready : menunggu untuk dialirkan ke pemroses (processor)
- Terminated : proses telah selesai dieksekusi
INFORMASI PROSES
- Data struktur dari OS dalam bentuk table :
- Satu entry table/linked list => struktur data untuk menampung informasi satu proses (array of structure )
- Setiap entry pada tabel proses menyimpan satu proses. Contoh: MINIX (src/kernel/proc.h) => struct proc { … };
- Informasi yang disimpan:
- Informasi internal CPU: isi register-register, program counter, status CPU dll (umumnya dalam bentuk stack frame).
- Identifikasi proses: nama proses, proses number/index, proses id.
- Identifikasi proses: nama proses, proses number/index, proses id.
- Accounting dan timer: user time, system time, alarm etc.
- Resources: memory & file management
Proses Control Block adalah bentuk informasi-informasi lain yang
diperlukan sistem operasi untuk mengendalikan dan mengoordinasikan
beragam proses aktif dalam suatu proses. Dalam kenyataannya, proses
banyak mengalami gangguan dalam menjalankan tugasnya oleh karena itu ada
PCB (Proses Control Block) untuk membantu dan memberikan dukungan
kepada proses itu.
Setiap proses digambarkan dalam sistem operasi oleh sebuah process
control block(PCB), juga disebut sebuah control block. PCB berisikan
banyak bagian dari informasi yang berhubungan dengan sebuah proses yang
spesifik, seperti status proses, program counter, CPU register,
Informasi manajemen memori, informasi pencatatan, informasi status I/O.
Berikut adalah gambar diagram PCB.
Penjadwalan Proses
Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem
operasi yang berkaitan dengan urutan kerja yang dilakukan sistem
komputer. Proses penjadwalan yang akan dibahas disini adalah proses
penjadwalan sistem operasi SOLARIS, LINUX, dan WINDOWS XP.
Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara lain :
Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara lain :
- Agar semua pekerjaan memperoleh pelayanan yang adil (firness).
- Agar pemakaian prosesor dapat dimaksimumkan.
- Agar waktu tanggap dapat diminimumkan.
- Agar pemakaian sumber daya seimbang.
- Turn arround time, waktu sejak program masuk ke system sampai proses selesai.
- Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
- Agar terobosan (thoughput) dapat dimaksimumkan.
Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
- Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready
di memori utama Penjadwalan dijalankan setiap terjadi pengalihan proses
untuk memilih proses berikutnya yang harus dijalankan.
- Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah
eksekusi karena membuat permintaan layanan masukan/keluaran atau
memanggil suatu system call. Proses-proses tertunda tidak dapat membuat
suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan
tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses
dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk
proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah
proses aktif. Aktivitas pemindahan proses yang tertunda dari memori
utama ke memori sekunder disebut swapping. Proses-proses mempunyai
kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu
kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori
utama dan ready.
- Penjadwal jangka panjang (long term scheduller)
Penjadwal ini bekerja terhadap antrian batch dan memilih batch
berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses
dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses,
memori, masukan/keluaran), program-program ini berprioritas rendah,
digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas
job-job interaktif rendah.
Pembuatan Proses (Create Process)
Create Process yaitu tindakan yang dilakukan sistem operasi pada saat sebuah proses akan ditambahkan ke proses yang sedang dikelola, sistem operasi membuat struktur data yang digunakan untuk mengelola proses dan mengalokasikan ruang alamat ke proses itu.
Alur Pembuatan Proses adalah sebagai berikut:
- Memberi identitas (nama) pada proses yang dibuat
- Menyisipkan proses pada list proses atau tabel proses
- Menentukan prioritas awal proses
- Membuat PCB
- Mengalokasikan resource awal bagi proses tersebut.
- Batch Job Baru. Sistem Operasi diberikan dengan suatu aliran batch job control, biasanya pada pita atau disk. Pada saat disiapkan untuk mengambil job yang baru, sisitem operasi akan membaca rangkain job control command berikutnya.
- Logon interaktif. Seorang pengguna di sebuah terminal masuk kesistem
- Dibuat oleh OS untuk menyediakan layanan. Sistem operasi dapat membuat suatu proses untuk melakukan fungsi atas naa program pengguna, tanpa mengharuskan pengguna menunggu (misalnya, pencetakan)
- Dibiakan (spawned) oleh proses yang telah ada.Untuk memenuhi tujuan modularitas atau untuk memanfaatkan paralelisme, sebuah program pengguna dapat mengatur pembiakan sejumlah proses
Terminasi Proses
Suatu proses diterminasi ketika proses tersebut
telah selesai mengeksekusi perintah terakhir serta meminta sistem
operasi untuk menghapus perintah tersebut dengan menggunakan system call
exit. Pada saat itu, proses dapat mengembalikan data keluaran kepada
proses induk-nya melalui system call wait. Semua sumber-daya yang
digunakan oleh proses akan dialokasikan kembali oleh system operasi agar
dapat dimanfaatkan oleh proses lain. Suatu proses juga dapat
diterminasi dengan sengaja oleh proses lain melalui system call abort.
Biasanya proses induk melakukan hal ini pada turunannya. Alasan
terminasi tersebut seperti:
- Turunan melampaui penggunaan sumber-daya yang telah dialokasikan. Dalam keadaan ini, proses induk perlu mempunyai mekanisme untuk memeriksa status turunannya-nya.
- Task yang ditugaskan kepada turunan tidak lagi diperlukan.
- Proses induk selesai, dan sistem operasi tidak mengizinkan proses turunan untuk tetap berjalan.
Jadi, semua proses turunan akan berakhir pula. Hal ini yang disebut cascading termination
Komunikasi Antar-Proses (Inter-process communication)
• Sistem Terdistribusi
– terdiri dari komponen (processes, objects) yang berkomunikasi untuk kooperasi dan sinkronisasis
– melakukan pengeiriman pesan (message passing) karena tidak terdapat shared memory
• Middleware menyediakan dukungan bahasa pemrograman, yang memiliki sifat
– tidak mendukung low-level untyped data primitives (yg merupakan fungsi sistem operasi)
– mengimplementasikan higher-level language primitives + typed data
Silahkan menyaksikan video berikut untuk sistem operasi “proses”
Semoga bermanfaat untuk semua #STTPLN
0 Response to "Proses dalam Sistem Operasi"
Post a Comment