https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3807041537198238 PROSES I. Deskripsi Proses Istilah lain untuk proses adalah Task. Proses adalah program yang sedang dieksekusi. Secara fisik proses berisi instruksi dan data, program counter, semua nilai register pemroses, serta stack yang berisi data yang bersifat sementara (temporer) seperti data parameter-parameter rutin, alamat kirim dan variabel-variabel lokal. Beberapa istilah penting berkaitan dengan proses, antara lain :
Manajemen banyak proses di satu pemroses. Contoh sistem pemroses tuggal yang menjalankan sistem operasi multiprogramming. Ex : MS-Windows 98, MS-Windows NT, MS-Windows XP, OS/2 dan Macintosh System 7. Pada multiprogramming, pemakai memandang terdapat banyak proses dijalankan bersamaan pada satu saat. Masing2 proses mendapat bagian memori dan kendali sendiri. SO mengalihkan layanan pemroses diantara proses-proses tsb. Proses yang dijalankan pada sistem multiprogramming sebenarnya bersifat sbb :
Pada satu saat sesungguhnya hanya satu proses yang dilayani pemroses, menggunakan interleave (saling melanjutkan/ bersambung) , bukan overlap diantara program-program. Manajemen banyak proses di komputer multiprosesor (banyak pemroses didalamnya). Dulunya multiprocessor hanya terdapat di sistem besar yaitu sistem mainframe dan minikomputer. Sekarang komputer workstation pun telah dapat dilengkapi multiprocessor yang dimaksudkan untuk peningkatan kinerja dan dapat memberikan kemampuan fault tolerant. Satu komputer dengan banyak pemroses dengan masing-masing pemroses melakukan pengolahan secara independen.
Distributed processing adalah manajemen banyak proses yang dieksekusi di banyak sistem komputer tersebar (terdistribusi) di satu jaringan. Pada sistem operasi tersebar yang ideal, pemrogram tidak perlu menyadari keberadaan banyak pemroses. Kecenderungan masa datang adalah menuju komputasi tersebar (distributed computing)_. Banyak riset dan pengembangan sistem operasi tersebar, diantaranya AMOEBA, MACH dsb. Kebutuhan utama pengendalian proses oleh sistem operasi dapat dinyatakan dengan mengacu ke proses, yaitu :
Pada sistem dengan banyak proses aktif, proses-proses pada satu saat berada di beragam tahap eksekusinya. Proses mengalami beragam state selama siklus hidupnya. Sistem operasi harus dapat mengetahui state masing-masing proses yang ada di sistem dan merekam semua perubahan yang terjadi. II. Diagram State Proses Proses melewati serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan/berpindahnya state proses. Diagram State Dasar Proses dapat berada di salah satu dari tiga state dasar. tabel berikut mendaftarkan state-state dasar yang dialami proses : Status Deskripsi Running Pemroses sedang mengeksekusi instruksi TProses itu Ready Proses siap(Ready) dieksekusi tapi pemroses tidak mengeksekusi proses ini Blocked Proses menuggu kejadian tertentu selesai. Contoh :
Transisi state-state selama siklus hidup proses :
Process Control Block (PCB) Informasi pada PCB dapat dikelompokkan menjadi 3 kelompok, yaitu :
SO dapat melakukan operasi-operasi terhadap proses. Operasi-operasi yang dapat dilakukan terhadap proses diantaranya :
Diagram State Lanjut (Lima Keadaan)
Operasi suspend dan resume penting karena :
III. IMPLEMENTASI PROSES Tabel-tabel untuk proses
Keempat tabel tersebut saling berhubungan.
Proses ditempatkan di memori utama di lokasi tertentu, proses mempunyai satu ruang alamat tersendiri. Ruang alamat yang digunakan proses disebut citra proses (process image) karena selain seluruh kode biner program, proses ditambahi atribut-atribut lain berkaitan penempatannya pada lokasi memori dan status eksekusi pada saat itu. Tabel berikut menunjukkan isi dari citra proses : Elemen Citra Proses Deskripsi Data Pemakai Bagian yang dapat dimodifikasi berupa data program, daerah stack pemakai Program Pemakai Program biner yang akan dieksekusi Stack Sistem Digunakan untuk menyimpan parameter dan alamat pemanggilan untuk prosedur dan system callsPCB (Program Control Block) Berisi informasi-informasi yang diperlukan oleh sistem operasi dalam mengendalikan proses. PCB DAN SENARAI PROSES Pengaksesan Informasi di PCB
Kedua masalah tsb memberi gagasan agar semua rutin sistem operasi melewati rutin penanganan PCB dalam mengakses PCB. Tugas rutin memproteksi PCB dan menjadi perantara pembacaan dan penulisan PCB .
Penciptaan proses dapat disebabkan beragam sebab, dan meliputi beberapa tahap.
Pengalihan Proses (Process switching)
Kejadian-kejadian penyebab pengalihan proses
Interupsi Sistem Adalah suatu permintaan khusus pada microprocessor untuk melakukan sesuatu, jika terjadi interupsi maka computer akan menghentikan dahulu apa yang sedang dikerjakan dan melakukan apa yang diminta oleh yang menginterupsi. Interupsi sistem disebabkan kejadian eksternal dan tidak bergantung proses saat itu sedang dalam state running. Contoh : selesainya operasi masukan/keluaran. Pada kejadian interupsi, kendali lebih dulu ditransfer ke interrupt handler yang melakukan penyimpanan data dan kemudian beralih ke rutin sistem operasi yang berkaitan dengan tipe interupsi itu. Tipe-tipe interupsi :
Trap
Saat terjadi trap, mungkin terjadi pengalihan proses mungkin pula resume terhadap proses. Supervisor Call Pengalihan proses dan pengalihan konteks
Langkah-langkah yang terlibat dalam pengalihan proses sbb [STA 95]
Pengalihan proses melibatkan pengalihan konteks dan perubahan state, memerlukan usaha yang lebih besar daripada pegalihan konteks.
Siklus penganganan interupsi adalah
Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan instruksi-instruksi berikutnya di interrupt handler yang melayani interupsi. Pelaksanaan interupsi ini belum tentu mengakibatkan pengalihan ke proses lain (yaitu pengalihan PCB proses dari senarai running ke senarai lain (blocked, ready dsb) dan sebaliknya. Kita menyebut pengalihan konteks adalah untuk pengalihan sementara yang dilakukan dengan singkat, misalnya untuk mengeksekusi interrupt handler. Setelah selesai penganganan interupsi maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain. Sistem operasi sebenarnya sama seperti perangkat lunak yang lain, yaitu program perlu dieksekusi pemroses. Kedudukan sistem operasi dibanding proses-proses lain dapat beraneka ragam, antara lain:
Kernel sistem operasi adalah diluar proses, digambarkan sbb : Ketika proses running diinterupsi , maka konteks pemroses disimpan melalui kernel. Sistem operasi mempunyai daerah memori dan stack sendiri untuk pemanggilan prosedur didalamnya. Sistem operasi melakukan fungsi yang diinginkan proses pemakai dan mengembalikan konteks proses yang diinterupsi. Eksekusi proses pemakai yang diinterupsi dilanjutkan kembali. Konsep proses hanya diterapkan untuk program-program pemakai, tidak berlaku bagi sistem operasi. Kode sistem operasi dieksekusi sebagai satu entitas yang terpisah, beroperasi pada mode kernel. Proses adalah non-kernel, sedangkan sistem operasi adalah kernel, bukan proses. Dieksekusi dalam proses pemakai Alternatif lain eksekusi sistem operasi adalah mengeksekusi sistem operasi di konteks proses pemakai. Pendekatan ini didasarkan terutama pada pandangan bahwa sistem operasi sebagai kumpulan rutin yang dipanggil pemakai untuk melakukan beragam fungsi dan dieksekusi dalam lingkungan proses pemakai. Pada seluruh waktu, sistem operasi mengelola N citra proses. Tiap citra tidak hanya mempunyai daerah untuk proses tapi juga daerah program, data dan stack untuk kernel. Terdapat juga ruang alamat yang dipakai bersama semua program proses. Jika sistem operasi telah menyelesaikan tugas, menentukan apakah proses berlanjut, maka alih konteks me-resume program yang diinterupsi dalam proses itu juga. Keunggulan pendekatan ini adalah program pemakai yang diinterupsi untuk memperoleh rutin sistem operasi dan di resume tidak mengalami overhead peralihan dua proses. Sistem Operasi Sebagai Kumpulan Proses Pendekatan ini mengimplementasikan sistem operasi sebagai kumpulan proses. Perangkat lunak bagian kernel dieksekusi dalam mode kernel. Pendekatan ini digambarkan sbb : Fungsi-fungsi kernel utama diorganisasi sebagai proses-proses terpisah. Terdapat kode kecil pengalihan proses yang dieksekusi diluar proses.
Mikrokernel Mikrokernel adalah inti sistem operasi yang menyediakan landasan perluasan sistem operasi. Pendakatan mikrokernel dipopulerkan sistem operasi Mach. Secara teoritis, pendekatan mikrokernel menyediakan derajat fleksibilitas dan modular tinggi. Sistem operasi yang memakai pendekatan mikrokernel adalah MS Windows NT. Landasan pendekatan mikrokernel adalah hanya fungsi-fungsi sistem operasi inti yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan dan aplikasi-aplikasi yang kurang esensi dibangun di atas mikrokernel itu. Meskipun pembagian antara mana yang perlu dan tidak, mikrokernel beragam. Terdapat ciri yang sama yaitu banyak layanan yang secara tradisional merupakan bagian sistem operasi menjadi subsistem eksternal. Subsistem ini berinteraksi dengan kernel dan subsistem-subsistem lain. Layanan-layanan itu antara lain sistem file, sistem windowing dan layanan-layanan keamanan. Komponen-komponen sistem operasi diluar mikrokernel saling berinteraksi melalui pesan yang dilewatkan melalui mikrokernel. Fungsi mikrokernel adalah sebagai mediator pertukaran pesan. Mikrokernel memvalidasi pesan, melewatkan pesan antara komponen-komponen dan memberi hak pengaksesan perangkat keras. Struktur ini ideal untuk lingkungan pemrosesan terdistribusi karena mikrokernel dapat melewatkan pesan baik secara lokal atau jarak jauh tanpa perubahan komponen-komponen sistem operasi yang lain. |