StatCounter




Free Website Visitors

Manajemen Proses dalam Sistem Operasi



  1. PENGERTIAN PROSES
Proses adalah sebuah program yang sedang dieksekusi atau program yang sedang di jalankan atau software yang sedang dilaksanakan termasuk sistem operasi yang disusun menjadi sejumlah proses sequential.
Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Proses berisi instruksi dan data. program counter dan semua register pemroses, dan stack berisi data sementara seperti parameter rutin, alamat pengiriman dan variabel-variabel lokal.
Secara Umum proses adalah program dalam esekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan

Hal – hal yang berkaitan dengan proses yaitu :
    1. MULTIPROGAMMING ( MULTITASKING )
Multiprogramming adalah manajemen banyak proses pada satu pemroses. Istilah yang digunakan multiprogramming (multitasking) bukan multiprocessing. Mulitprocessing telah digunakan untuk konsep lain, yaitu komputer dengan banyak pemroses di satu sistem komputer dengan masing-masing pemroses melakukan pemrosesan secara independen. Saat ini, kebanyakan komputer pribadi, workstation adalah sistem pemroses tunggal yang menjalankan sistem operasi multiprogramming (multitasking) seperti MS-Windows 3.0, MS-Windows NT, OS/2 dan Macintosh System 7.

Banyak proses dijalankan bersamaan, masing-masing proses mendapat bagian memori dan kendali tersendiri. Program yang dijalankan bersifat :
·         Tidak bergantung (Independent)
·         Proses terpisah satu dari lainnya & tidak berpengaruh
·         Satu program pada satu saat (one program at any instant)
·         Pada satu waktu hanya satu proses yang dilayani pemroses, menggunakan interleave bukan overlap diantara program-program
Oleh karena perpindahan dari satu proses ke proses dilakukan secara cepat bagi bagi pemakai seolah-olah bekerja secara paralel. Hal ini dikenal dengan paralel semu (pseudoparallelism).
    1. MULTIPROCESSING
Multiprocessing adalah manajemen banyak proses di komputer multiprocessor (banyak pemroses di dalamnya). Dengan kata lain komputer dengan banyak pemroses di satu sistem komputer dengan masing-masing pemroses melakukan pemrosesan secara independen. Dulunya sistem ini hanya terdapat di sistem besar, mainframe dan minikomputer. Saat ini komputer workstation telah dapat dilengkapi multiprocessor. Menggunakan komputer semaksimal mungkin dengan beberapa CPU sehingga beberapa program bisa dijalankan secara bersama-sama, masing-masing dengan menggunakan prosesornya sendiri-sendiri. Sistem operasi yang mendukung multiprocessing yaitu : Microsoft Windows NT, UNIX, Linux.
    1. DISTRIBUTED PROCESSING / COMPUTING
Distributed Processing adalah manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi). Trend masa datang adalah menuju komputasi tersebar (distributed computing). Banyak riset dan pengembangan sistem operasi tersebar di antaranya AMOEBA, MACH, dan sebagainya.

Sistem Operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses, seperti :
·         Membuat dan menghapus proses pengguna dan sisitem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya
·         Menunda atau melanjutkan proses. Sistem Operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan prioritas dari proses-proses yang ada
·         Menyediakan mekanisme untuk proses sinkronisasi. Sistem Operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan
·         Menyediakan mekanisme untuk proses komunikasi. Sistem Operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi satu sama lain tanpa menyebabkan terganggunya prosoes lainnya
·         Menyediakan mekanisme untuk penangan deadlock. Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain

  1. KEBUTUHAN PENGENDALIAN SUATU PROSES
Kebutuhan utama pengendalian proses oleh Sistem Operasi dapat dinyatakan dengan mengacu ke proses yaitu :
·         Saling melanjutkan (Interleave).
Dikatakan interleave (bersambung/ melanjutkan) maksudnya pemroses mengeksekusi satu proses setiap saat dan secara cepat beralih ke proses lainnya secara bergiliran. Sistem Operasi harus interleave (saling melanjutkan) eksekusi proses-proses agar memaksimumkan penggunaan pemroses sambil masih memberi waktu tanggap yang memadai.
·         Mengikuti kebijaksanaan tertentu.
Sistem Operasi harus mengalokasikan sumber daya ke proses-proses mengikuti kebijaksanaan yang ditentukan (misal suatu aplikasi memiliki prioritas lebih tinggi) sambil menghindari deadlock .
·         Mendukung komunikasi antar proses dan penciptaan proses.
·         Sistem Operasi harus mendukung komunikasi antar proses dan penciptaan proses oleh pemakai sehingga membantu menstrukturkan aplikasi. Jadi pada sistem dengan banyak proses aktif, proses-proses pada satu saat berada dalam beragam tahap eksekusinya yaitu proses mengalami beragam state selama siklus hidupnya sebelum berakhir dan keluar dari sistem.

  1. DIAGRAM STATE DASAR
v  Diagram 3 kondisi (state) Proses
Status proses atau bagian keadaan proses memiliki tiga elemen yaitu:
    1. Running
Running / kerja, benar-benar menggunakan CPU pada saat itu (sedang mengeksekusi instruksi proses itu).
Ada tiga kemungkinan bila sebuah proses memiliki status Running:
·         Jika program 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 M / K) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.
2.       Blocked
Blocked / terhenti, tidak dapat berjalan sampai kegiatan eksternal terlaksana (proses menunggu kejadian untuk melengkapi tugasnya) Bisa berupa proses menunggu : Selesainya operasi perangkat I/O; Tersedianya memori; Tibanya pesan jawaban
3.       Ready
Ready / siap, proses siap dikerjakan tetapi menunggu giliran dengan proses lain yang sedang dikerjakan (bisa berjalan, sementara berhenti untuk memungkinkan proses lain dikerjakan).

Suatu proses dapat berada pada salah satu state, dimana hubungan dari ketiga state untuk proses digambar sebagai berikut:


Keterangan:
·         Proses baru diciptakan berada pada state ready
·         Proses dari running menjadi blocked karena sumberdaya yang diminta belum tersedia atau meminta layanan perangkat masukan/ keluaran (I/O) sehingga menunggu kejadian yang muncul. Proses ini dikenal dengan event wait.
·         Proses dari running jadi ready karena penjadwal memutuskan eksekusi proses lain oleh karena jatah waktu telah habis (timeout).
·         Proses dari blocked jadi ready karena sumber daya yang diminta tersedia atau layanan I/O selesai/ terpenuhi. Proses ini dikenal event occur
·         Proses dari ready jadi running
Dalam status proses terdapat dua status tambahan, yaitu saat pembentukan danterminasi:
·         New adalah status yang dimiliki pada saat proses baru saja dibuat.
·         Terminated adalah status yang dimiliki pada saat proses telah selesai dieksekusi.

v  Diagrarn State Lanjut (5 Keadaan)
Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses‑proses tertentu guna mereduksi beban sistem selama beban puncak.
Proses yang ditunda (suspended process) tidak berlanjut sampai proses lain me‑resume. Untuk jangka panjang, sumber daya‑sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya‑sumber daya bergantung sifat masing‑masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.

D.      PCB (Program Control Block)
Sistem Operasi memerlukan banyak informasi mengenai proses guna pengelolaan proses. Informasi ini ada di PCB. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, yaitu:

Gambar Diagram PCB


Struktur datanya menyimpan informasi lengkap mengenai proses sehingga dapat terjadi siklus hidup proses. Informasi di PCB dikelompokkan menjadi 3, yaitu :
1.       Informasi Identifikasi Proses
-          Identifier proses
-          Identifier proses yang menciptakan
-          Identifier pemakai
2.       Informasi Status Pemroses
-          Register-register yang terlihat pemakai yang dapat diakses dengan bahasa assembly untuk diproses pemroses
-          Register-register kendali dan status. Register-register yang digunakan untuk mengendalikan operasi proses. Antara lain: program counter, PSW, Dsb
-          Pointer Stack. Tiap proses mempunyai satu stack atau lebih. Stack digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjuk posisi paling atas dari stack
3.       Informasi Kendsali Proses
-          Informasi penjadwalan
-          Penstrukturan data
-          Komunikasi antar proses
-          Kewenanganproses
-          Kepemilikan dan utilisasi sumber daya

E.       OPERASI-OPERASI PADA PROSES
·         Pembuatan Proses (Create)
Penciptaan proses karena terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.
Penciptaan proses melibatkan banyak aktivitas, yaitu:
o   Menamai (memberi identitas proses)
o   Menyisipkan proses pada senarai proses atau tabel proses
o   Menentukan prioritas awal proses
o   Menciptakan PCB
o   Mengalokasikan sumber daya awal bagi proses
Penyebab penciptaan proses antara lain :
o   Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job).
o   Pada lingkungan interaktif, ketika pemakai baru berusaha log on.
o   Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, sistem operasi dapat menciptakan proses yang akan mengelola pencetakan itu.
o   Proses menciptakan proses lain (proses anak). Proses yang menciptakan proses disebut proses induk (parent process). Proses anak-pun kembali dapat menciptakan proses-proses anak. Proses-proses dapat membentuk pohon hirarki proses.
·         Penghancuran proses (Destroyed)
Penghancuran proses terjadi karena:
o   Selesainya proses secara normal.
o   Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses telah berjalan secara lengkap.
o   Batas waktu telah terlewati.
o   Proses telah berjalan melebihi batas waktu total yang dispesifikasikan
o   Memori tidak tersedia.
o   Pelanggaran terhadap batas memori
o   Terjadinya kesalahan karena pelanggaran proteksi, dan sebagainya.
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
o    Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
o    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 :
o    Sumber daya-sumber daya yang dipakai dikembalikan.
o    Proses dihancurkan dari senarai atau tabel sistem.
o    PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
·         Penundaan Proses (suspend a process)
Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain. Penundaan biasanya berlangsung singkat dan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak. Proses yang ditunda (suspended process) tidak berlanjut sampai proses lain me-resume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan. Pada sistem monoprocessor, proses running dapat men-suspend dirinya sendiri karena lak ada proses lain yang juga running yang dapat memerintahkan suspend. Pada sistem multiprocessor, proses running dapat di-suspend proses running lain pada pemroses berbeda. Proses ready hanya dapat di-suspend oleh proses lain.
·         Proses Pelanjutan Kembali (resume a process)
Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat di- suspend agar di-resume setelah masalab diselesaikan. Pemakai yang ragu / khawatir mengenai basil proses dapat men-suspend proses [bukan membuang (abort) proses]. Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat di-suspend) proses yang di-suspend.
Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapal di-suspend dan di- resume saat beban kembali ke tingkat normal.
·         Proses Blocked
Pada proses blocked terdapat transisi menjadi suspendedblocked. Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau kejadian yang membual proses ready atau suspendedready? Bukankah state blocked, readyblocked, suspendedblocked sama-sama tidak mendapatjatah waktu pemroses? Kenapa dibedakan ?. Jawabannya adalah karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik di-suspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses-proses lain.
Proses blocked di-suspend sistem atau secara manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.
·         Penjadwalan Proses
Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
o   Adil (fairness)
Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu  pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
o   Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
o   Waktu tanggap (response time)
Waktu tanggap berbeda untuk :
-          Sistem interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal respons time.
-          Sistem waktu nyata
Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.
-          Turn around time
Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu eksekusi + waktu menunggu.
-          Throughput
Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu
·         SINKRONISASI
Komunikasi antara proses membutuhkan place by calls untuk mengirim dan menerima data primitive. Terdapat design yang berbeda-beda dalam implementasi setiap primitive. Pengiriman pesan mungkin dapat diblok (blocking) atau tidak dapat dibloking (nonblocking) – juga dikenal dengan nama sinkron atau asinkron.
o   Pengiriman yang diblok : Proses pengiriman di blok sampai pesan diterima oleh proses penerima (receiving process) atau oleh mailbox.
o   Pengiriman yang tidak diblok : Proses pengiriman pesan dan mengkalkulasi operasi.
o   Penerimaan yang diblok : Penerima mem blok sampai pesan tersedia.
o   Penerimaan yang tidak diblok : Penerima mengembalikan pesan valid atau null.
Ketika dalam keadaan sinkron, terjadi dua kejadian:
o   Blocking send, yaitu pemblokiran pengirim sampai pesan sebelumnya diterima.
o   Blocking receive, yaitu pemblokiran penerima sampai terdapat pesan yang akan dikirim.
Sedangkan untuk keadaan asinkron, yang terjadi adalah:
o   Non-blocking send, yaitu pengirim dapat terus mengirim pesan tanpa memperdulikan apakah pesan sebelumnya sampai atau tidak.
o   Non-blocking receive, yaitu penerima menerima semua pesan baik berupa pesan yang valid atau pesan yang salah (null).

F.       IMPLEMENTASI PROSES :
1.       Tabel-tabel untuk proses
o   Tabel memori
o   Tabel I/O
o   Tabel berkas
o   Tabel proses

·         Tabel manajemen memori
Menjaga keutuhan antara memori utama & memori sekunder
Informasi:
o   Alokasi memori utama yang dipakai proses
o   Alokasi memori sekunder yang dipakai proses
o   Atribut segmen memori utama dan sekunder
o   Informasi2 lain yang digunakan utk pengelolaan memori
·         Tabel I/O
Pada waktu digunakan proses tertentu, dijaga agar tidak digunakan proses lain
Informasi:
o   Status operasi I/O
o   Lokasi memori utama
o   Transfer data dengan perangkat I/O
·         Tabel sistem file
Berisi informasi mengenai ekstensi berkas, lokasi pada memori sekunder, status saat itu & atribut berkas lainnya
·         Tabel proses
Mengelola informasi proses pada SO
o   Proses -> memori utama -> lokasi ruang alamat tertentu/tersendiri -> Ruang alamat = process image (citra proses)
-          Data pemakai
-          Program pemakai
-          Stack sistem
-          PCB (Program Control Block)

Gambar struktur umum tabel kendali Sistem Operasi


2.       Elemen Citra Proses
·         PCB
·         Stack pemakai (user stack)Ruang alamat proses eksklusif
·         Ruang alamat -> dipakai bersama proses lain
·         Lihat gambar.

1 Response to "Manajemen Proses dalam Sistem Operasi"

Adsense Indonesia