proses lanjutan

implementasi proses
Implementasi Proses
                tiap proses mempunyai state yang perlu diperhatikan oleh sistem operasi. Sistem operasi mencatat state proses dengan beragam tabel atau senarai antara lain:

1. Tabel informasi manajemen memori, untuk menjaga keutuhan memori utama dan memori sekunder. Tabel ini memuat informasi berikut
-         Alokasi memori utama yang dipakai pemroses
-         Alokasi memori skunder yang dipakai proses (bila menggunakan manajemen memori dengan swapping)
-         Atribut segmen memori utama dan sekunder
-         Informasi-informasi lain yang digunakan untuk pengolahan memori


2. Tabel informasi manajemen I/O
                    tabel ini untuk mengelola perangkat I/O. pada satu saat I/O digunakan proses tertentu, perlu dijaga agar proses lain tidak memakainya. Sistem operasi perlu mengetahui status operasi I/O dan lokasi memori utama yang digunakan untuk transfer  data
    1. Tabel informasi sistem lain
                    tabel ini berisi informasi mengenai ekstensi file, lokasi pada memori skunder, status pada saat itu dan menyimpan atribut-atribut lainya
    1. Tabel proses
                    tabel proses mengelola informasi proses di sistem operasi, lokasinya di memori, tabel juga berisi status dan atribut-atribut proses yang lain.
                    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 ditambah atribut-atribut lain berkaitan penempatanya pada suatu lokasi memori dan status eksekusi pada saat itu


    Tabel berikut menunjukan isi dari citra proses






    Pengalihan Proses

    Pada suatu saat proses running diinterupsi dan sistem operasi memberi proses lain (state running) dan menggilir kendali ke proses itu. Dalam hal ini muncul beberapa masalah yaitu:
    1. kejadian-kejadian apa yang memicu alih proses
    2. Masalah lain adalah terdapatnya perbedaan antara alih proses (process switching) dan alih konteks (context-switching)
    3. Apa yang harus dilakukan sistem operasi terhadap beragam struktur data yang  dibawah kendalinya dalam alih proses

    Kejadian-Kejadian Penyebab Pengalihan Proses
    1. Interupsi sistem, disebabkan kejadian eksternal dan tak bergantung proses yang sedang running
                    contoh: selesainya operasi I/O
                    Pada kejadian interupsi, kendali lebih dulu ditransfer ke interrupt handler yang melakukan penyimpanan data-data dan kemudian beralih ke rutin sistem operasi yang berkaitan dengan tipe interupsi itu
    Tipe-tipe interupsi antara lain:
           interupsi clock, os (penjadwal) menentukan apakah proses yang sedang running telah mengeksekusi selama jatah waktunya. Jika telah mencapai jatahnya maka proses dialihkan ke  state ready dan proses lain dijadwalkan running
           Interupsi I/O, kejadian dimana peralatan I/O melakukan interupsi meminta layanan sistem operasi. Os segera menentukan aksi-aksi I/O yang harus dilakukan
           Page memory fault, pemroses menemui pengacuan alamat memori maya yang tidak terdapat di memori utama (fisik). OS segera memerintahkan untuk mengambil page yang terdapat alamat yang dimaksud untuk dipindah ke memori utama.

    1. Trap adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian (exception conditions) yang dihasilkan proses yang running, seperti usaha illegal dalam mengakses file.
                    Dengan adanya trap, os menentukan apakah kesalah yang dibuat merupakan kesalahan fatal?
           Jika fatal, proses yang saat itu running disingkirkan dan terjadi alih proses
           Jika kesalahan tidak fatal maka bergantung sifat kesalahan dan rancangan os.
                    kemungkinan yang dilakukan adalah menjalankan prosedur pemulihan tau memperingatkan ke pemakai.
           Saat terjadi trap, mungkin terjadi pengalihan proses mungkin pula resume proses
    1. Supervisor call, yaitu panggilan meminta atau mengaktifkan bagian sistem operasi

    Pengalihan Proses dan Pengalihan Konteks
           Pengalihan Konteks
                    pengalihan konteks dapat terjadi tanpa pengalihan state proses yang sedang running, sedang pengalihan proses pasti melibatkan juga pengalihan konteks
                    siklus penangan interupsi
    1. Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack
    2. Pemroses men-set register PC dengan alamat awal program untuk interrupt handler
    Jadi  pengalihan konteks adalah untuk pengalihan sementara yang singkat, misalnya untuk mengeksekusi program interupt handler.
    Setelah selesai penanganan interupsi maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain
    Pengalihan proses adalah terjadi jika proses yang running beralih menjadi state lain, kemudian sistem operasi harus membuat perubahan-perubahan berarti terhadap lingkunganya.
           Pengalihan Proses
                    Langkah-langkah yang terlibat dalam pengalihan proses sebagi berikut:
    1. Simpan konteks pemroses, termasuk register PC dan register-register lain
    2. Perbarui PCB proses yang running. Pelaksanaan termasuk mengubah state proses menjadi salah satu state
    3. Pindahkan PCB proses ke senarai yang cocok
    4. Pilih satu proses lain untuk dieksekusi sesuai dengan teknik penjadwalan
    5. Perbarui PCB proses yang dipilih termasuk perubahan state menjdai running
    6. Perbarui struktur data manajemen memori. Pekerjaan ini sesuai dengan pengelolaan tranlasi alamat
    7. Kembalikan konteks pemroses dengan konteks simpanan yang memberitahu konteks proses terakhir saat dialihkan dari state running. Pengembalian konteks ini dilakukan dengan memuatkan nilai-nilai register PC dan register-register lain dengan nilai konteks yang tersimpan
    Pengalihan proses melibatkan pengalihan kontekks dan perubahan state, memerlukan usaha lebih besar besar daripada pengalihan konteks

    Kedudukan Sistem Operasi
    Kedudukan os dibanding dengan proses-proses lain:
           os sebagai kernel tersendiri yang berbeda dengan proses-proses lain (kernel-non proses)
           Fungsi-fungsi os dieksekusi dalam proses pemakai
           Os juga sebagai kumpulan proses (process-based operating system)

    Karnel sebagai non proses

    Kernel sistem operasi adalah diluar proses, digambarkan berikut



    Gambar 3.6Eksekusi Kernel sebagai non proses

           Ketika proses running diinterupsi atau memanggil system call, maka konteks pemroses proses disimpan dan kendali dilewatkan ke kernel. Os mempunyai daerah memori stack sendiri untuk pemangilan prosedur. Fungsi OS melakukan fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi. Eksekusi proses pemakai yang diinterupsi dilanjutkan
           Alternatif lain, os menyimpan lingkungan proses, melakukan penjadwalan dan menjadwalkan proses lain


    Dieksekusi Dalam Proses Pemakai
    Eksekusi Os juga 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


    Gambar 3.7 Eksekusi dalam proses pemakai

    Sistem Operasi Sebagai Kumpulan Proses

    Pendekatan ini mengimplementasikan os sebagai kumpulan proses. Varianya adalah perangkat lunak bagian kernel dieksekusi dalam mode kernel


    Gambar 3.8 Eksekusi sistem operasi sebagai proses



    Fungsi-fungsi kernel utama diorganisasi sebagai proses-proses terpisah. Terdapat kode kecil pengalihan proses yang dieksekusi di luar proses.
    Pendekatan ini mempuyai keunggulan:
           perancangan modular dapat diterapkan ke peracangan sistem operasi.  Os menjadi modul-modul dengan interface yang bersih dan minimal antar modul-modul itu
           Mudah diterapkan pada lingkungan multiprocessor atau multicomputer dimana beberapa layanan sistem operasi ditaruh di pemroses-pemroses tertentu. Teknik ini akan meningkatkan kinerja

    Microkernel
           Mirokernel adalah inti sistem operasi yang menyediakan landasan perluasan sistem operasi
           Pendekatan mikrokernel dipopulerkan sistem operasi MACH, secara teoritis pendekatan mikrokernel menyediakan derajat fleksibilitas dan modularitas tinggi. Os yang memakai pendekatan mirokernel adalah MS Windows NT
           Landasan pendekatan mikrokomputer adalah hanya fungsi-fungsi sistem operasi inti yang secara mutlak esensi yang harus berada di kernel.
           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 ini antara lain sistem file, sistem windowing dan layanan keamanan
           Komponen-komponen sistem operasi di luar mikrokernel saling berinteraksi melalui pesan yang dilewatkan melalui mikrokernel
           Fungsi miikrokernel adalah sebagai mediator pertukaran pesan
           Mikrokernel memvalidasi pesan, melewatkan pesan antara komponen-komponen dan meberi hak pengaksesan perangkat keras
           Struktur ini ideal untuk lengkungan pemroses terdistribusi karena mikrokernel dapat melawatkan pesan baik secara lokal atau jarak jauh tanpa perubahan komponen-komponen sistem operasi lain.

    Tidak ada komentar:

    Posting Komentar