Dwie Purnamasari. Diberdayakan oleh Blogger.
RSS

Konsep Proses

Pengertian Proses
     Merupakan abstraksi atau pemodulan terhadap eksekusi program. Sebuah proses memerlukan
sumber daya (resource) tertentu seperti waktu CPU, memori, file dan perangkat I/O untuk menyelesaikan tugasnya.
Untuk mengatur proses yang ada, sistem operasi bertanggung jawab pada aktrifitas-aktifitas yang berhubungan denagn manajemen proses berikut :
a. Pembuatan dan penghapusan proses yang dibuat oleh user atau sistem.
b. Menghentikan proses sementara dan melanjutkan proses.
c. Menyediakan kelengkapan mekanisme untuk sinkronisasi proses dan komunikasi
proses.

Pengertian Multitasking
    Merupakan istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumberdaya CPU yang sama. Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut. Multitasking memecahkan masalah ini dengan memjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan. Kondisi mengalokasikan CPU dari pekerjaan satu ke pekerjaan yang lain disebut context switch. Ketika context switch terjadi dengan sangat cepat, kondisi ini cukup untuk memberikan ilusi pengolahan-paralel. Bahkan dalam komputer yang memiliki lebih dari satu CPU (disebut multi-prosesor), multitasking memperbolehkan lebih banyak pekerjaan dijalankan dibanding dengan jumlah CPU yang tersedia.

Pengertian Konkurensi
    adalah proses-proses (lebih dari satu proses) yang terjadi pada saat bersamaan. Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Pada proses-proses konkuren yang berinteraksi mempunyai beberapa masalah yang harus diselesaikan:
1.    Mutual Exclusion
2.    Sinkronisasi
3.    Deadlock
4.    Startvation
Prinsip-prinsip Konkurensi
Konkurensi meliputi hal-hal sbb:
•    Alokasi waktu pemroses untuk proses-proses
•    Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
•    Komunikasi antarproses
•    Sinkronisasi aktivitas banyak proses.
Konkurensi dapat muncul pada konteks berbeda, antara lain:
1.    Banyak aplikasi (multiple application).
Multiprogramming memungkinkan banyak proses sekaligus dijalankan. Proses-proses dapat berasal dari aplikasi-aplikasi berbeda. Pada sistem multiprogramming bisa terdapat banyak aplikasi sekaligus yang dijalankan di sistem komputer.
2.    Aplikasi terstruktur.
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses, maka tiap proses menyediakan satu layanan spesifik tertentu.
3.    Struktur sistem operasi.
Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem. Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses. Sistem operasi bermodelkan client/server menggunakan pendekatan ini.
4.    Untuk Strukturisasi Satu Proses.
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerjasama untuk mencapai tujuan proses.

Kesulitan-kesulitan yang ditimbulkan konkurensi
 
Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1.    Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:

a)    Aktivitas proses-proses lain
b)    Cara sistem operasi menangani interupsi
c)    Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.

2.    Beberapa kesulitan yang dapat muncul, di antaranya adalah:

a)    Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.
b)    Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.
c)    Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemrograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.
  1. Proses-proses konkuren mengharuskan beberapa hal yang harus ditangani, antara lain:
a)    Sistem operasi harus mengetahui proses-proses yang aktif
b)   Sistem operasi harus mengalokasikan dan mendealokasikan beragam sumber daya untuk tiap proses aktif. Sumber daya yang harus dikelola, antara lain:
(1)    Waktu pemroses.
(2)    Memori
(3)    Berkas-berkas
(4)    Perangkat I/O
c)    Sistem operasi harus memproteksi data dan sumber daya fisik masing-masing proses dari gangguan proses-proses lain.
d)    Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses lain dimana eksekusi dilakukan.

Tiga katagori interaksi dengan banyak proses (konkuren)


    1. Proses-proses tidak saling peduli (independent) => Prosesproses tidak dimaksudkan untuk bekerja bersama untuk mencapai tujuan tertentu.
    2. Proses-proses saling mempedulikan secara tidak langsung => Prosesproses tidak perlu saling mempedulikan identitas proses-proses lain tapi sama-sama mengakses objek tertentu (seperti buffer Input/Output). Prosesproses itu perlu bekerja sama dalam memakai bersama objek tertentu.
    3. Proses-proses saling mempedulikan secar langsung Prosesproses dapat saling bekomunikasi dan dirancang bekerja sama untuk suatu aktivitas.

    Siklus Hidup Proses


    Struktur Kendali Sistem Operasi

    a. Pembuatan dan penghapusan file.
    b. Pembuatan dan penghapusan direktori.
    c. Primitif-primitif yang mendukung untuk manipulasi file dan direktori.
    d. Pemetaan file ke memori sekunder.
    e. Backup file ke media penyimpanan yang stabil (nonvolatile).

    Manajemen I/O

    Sistem operasi bertanggung-jawab pada aktifitas-aktifitas sistem I/O sebagai
    berikut:
    a. Sistem buffer-caching.
    b. Antarmuka device-driver secara umum.
    c. Driver untuk device hardware-hardware tertentu.

    Manajemen Penyimpan Sekunder

    Karena memori utama (primary storage) bersifat volatile dan terlalu kecil untuk mengakomodase semua data dan program secara permanen, sistem komputer harus menyediakan penyimpan sekunder (secondary storage) untuk back up memori utama. Beberapa sistem komputer modern menggunakan disk untuk media penyimpan on-lin, baik program maupun data. Sistem operasi bertanggung jawab pada aktifitas-aktifitas manajemen penyimpan sekunder sebagai berikut:
    a. Pengaturan ruang bebas.
    b. Alokasi penyimpanan.
    c. Penjadwalan disk.

    Sistem Jaringan (Sistem Terdistribusi)

    Sistem terdistribusi adalah kumpulan prosessor yang tidak menggunakan memori atau clock bersama-sama. Setiap prosessor mempunyai local memori sendiri. Prosessor-prosessor pada sistem dihubungkan melalui jaringan komunikasi. Komunikasi dilakukan dengan menggunakan protocol.

    Sistem operasi menyediakan layanan untuk programmer sehingga dapat melakukan pemrograman dengan mudah.
    a. Eksekusi Program. Sistem harus dapat memanggil program ke memori dan menjalankannya. Program tersebut harus dapat mengakhiri eksekusinya dalam bentuk normal atau abnormal (indikasi error).
    b. Operasi-operasi I/O. Pada saat running program kemungkinan dibutuhkan I/O, mungkin berupa file atau peralatan I/O. Agar efisien dan aman, maka user tidak boleh mengontrol I/O secara langsung, pengontrolan dilakukan oleh sistem operasi.
    c. Manipulasi sistem file. Kapabilitas program untuk membaca, menulis, membuat dan menghapus file.
    d. Komunikasi. Komunikasi dibutuhkan jika beberapa proses yang sedang dieksekusi saling tukar-menukar informasi. Penukaran informasi dapat dilakukan oleh beberapa proses dalam satu komputer atau dalam komputer yang berbeda melalui sistem jaringan. Komunikasi dilakukan dengan cara berbagi memori (shared memory) atau dengan cara pengiriman pesan (message passing).
    e. Mendeteksi kesalahan. Sistem harus menjamin kebenaran dalam komputasi dengan melakukan pendeteksian error pada CPU dan memori, perangkat I/O atau pada user program.

    Gambar Struktur Kendali Sistem Operasi




  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar