Anda di halaman 1dari 14

2.

PROSES

Pendahuluan
Rancangan sebuah sistem operasi harus merefleksikan kebutuhankebutuhan yang harus dipenuhinya. Sistem operasi multiprogramming, yang dapat mendukung ribuan pengguna, dibuat berdasarkan konsep proses. Sebagian besar kebutuhan yang harus dipenuhi oleh SO dapat diekspresikan dalam hubungannya dengan proses.
SO harus melakukan penggiliran eksekusi proses untuk memaksimalkan utilisasi prosesor dengan waktu respons yang cukup baik SO harus melakukan alokasi sumber daya kepada proses dengan menggunakan aturan tertentu (misal, fungsi atau aplikasi tertentu memiliki prioritas tinggi) sekaligus menghindarkan deadlock SO dapat digunakan untuk mendukung interprocess communication dan pembuatan proses oleh pengguna yang keduanya dapat membantu dalam penstrukturan aplikasi.

Pengertian Proses
Proses didefinisikan sebagai berikut:
Program yang sedang dieksekusi Entity yang dapat di-assign ke prosesor dan dapat dieksekusi pada prosesor Suatu unit dari karakteristik oleh sekuensial (thread tunggal pada eksekusi, stack langsung, dan kumpulan pada sumber-sumber sistem)

Perkembangan komputer menyebabkan munculnya masalah pada run time dan sinkronisasi Ini berkontribusi pada perkembangan konsep proses:
Multiprogramming batch operation Time-sharing Transakski real time

Multiprogramming dirancang untuk menjaga agar prosesor dan perangkat I/O, termasuk penyimpan, tetap dalam kondisi sibuk untuk memperoleh efesiensi yang maksimum. General purpose time sharing bertujuan agar SO responsif terhadap kebutuhan para pengguna yang lebih efisien. Komputer mampu digunakan oleh multi user secara simultan. Misal pemanfaatan dalam jaringan komputer, beribu-ribu user bisa memanfaatkan sistem jaringan. Transaction processing system:
Menangani updating database (mengubah, menghapus, menambah, dsb.nya)

Time sharing (TS) vs Transaction Processing System (TPS)


TS, mampu menangani:
Program aplikasi Perkembangan program Eksekusi job

TPS: hanya menangani pada program aplikasi TS dan TPS sangat responsif dengan waktu respon Interrupt: aktivitas suatu job yang diberhentikan karena terjadinya event tertentu, misalnya selesainya operasi I/O

Error

Kondisi dimana terjadi apabila koordinasi dan kooperatif aktivitas sistem tidak ada. Error sangat sulit dideteksi Penyebab utama terjadinya error:
Sinkronisasi yang salah:
Suatu routine terhenti karena harus menunggu suau event harus menunggu Misal sebuah program sedang menginisiasi pembacaan I/O dan harus menunggu sampai data tersedia dalam bufffer sebelum melanjutkan kembali pembacaan tersebut.

Mutual exclusion yang gagal:


Contoh beberapa pengguna mau memakai program yang sama.

Operasi program nondeterminate:


Biasanya terjadi pada pemanfaatan bersama dari sebuah sumberdaya.

Deaadlock
Akan terjadi apabila dua program atau lebih saling menunggu

Beberapa Cara Mengatasi Error


Melakukan monitor dan kontrol secara sistematik ketika program melakukan eksekusi Konsep proses dapat dijadikan dasar. Proses terdiri dari tiga komponen:
Program yang executable Data terkait yang diperlukan oleh program (misal variabel, buffer, ruang kerja, dll.) Konteks eksekusi program tersebut (sangat penting)

Konteks eksekusi mencakup seluruh informasi yang diperlukan oleh SO untuk mengatur proses dan diperlukan proses untuk mengeksekusi proses secara benar

Terdapat dua proses A dan B dalam memori utama, artinya masing-masing dialokasikan pada blok memori yang berisi suatu program, data adan informasi konteks. Setiap diproses dalam list yaitu entri proses yang berupa ponter ke lokasi blok memori yang berisi proses. Entri proses dapat mencakup sebagian atau keseluruhan konteks eksekusi program. Konteks eksekusi disimpan dalam proses itu sendiri, Registeri indeks proses berisi indeks list proses yang sedang mengontrol prosesor Program Counter (PC) menunjuk ke instruksi berikutnya yang berisi proses yang akan dieksekusi Register baris dan register limit menentukan daerah di dalam memori yang ditempati oleh proses Semua referensi data diintepretasikan relatif terhadap register basis dan tidak boleh melebihi register limit

Manajemen Memori
Pengguna perlu lingkungan komputasi yang mendukung pemrograman modular dan pemakaian data yang fleksibel. Manajer sistem perlu pengontrolan alokasi penyimpanan yang efisien Untuk memenuhi kebutuhan tersebut, SO memiliki tanggungjawab sbb.:
Isolasi proses: sistem operasi harus mencegah agar proses independen, tidak saling mengganggu data dan memori Alokasi otomatis dan manajemen: program harus secara otomatis dialokasikan dalam hirarki memori apabila diperlukan. Dukungan program modular: programmer harus mampumembuat dan menghapus modul-modl program, serta mengubah ukuran model secara dinamis Proteksi dan control access: penggunaan memori memori secara bersama-sama pada sembarang tingkat hirarki memori, akan memungkinkan sebuah program menunjuk ruang memori program lainnya. SO harus mengatur penempatan program pada memori Penyimpanan jangka lama

Virtual memori dan sistem file


Umumnya, SO memenuhi persyaratan menggunakan virtual memori dan sistem file. Virtual memori adalah suatu fasilitas yang memungkinkan program dapat menunjuk memori berdasarkan sudut pandang logika, tanpa mempertimbangkan jumlah memori utama yang tersedia secara fisik. Pada saat program sedang melakukan eksekusi Sistem file menerapkan penyediaan jangka panjang dengan susunan penyimpanan informasi dalam nama objek, disebut file. Memori utama mengandung sejumlah frame panjang tetap Memori sekunder dapat menyimpan pages dengan ukuran tetap

2.1 Keadaan Proses (Process States)


Fungsi utama sebuah prosesor adalah mengeksekusi instruksi mesin yang terdapat di dalam memori utama. Instruksi tersebut diberikan dalam bentuk program Berdasarkan sudut pandang prosesor:
prosesor mengeksekusi instruksi, dengan urutan yang ditentukan oleh perubahan nilai register program counter. Pada saat tertentu, PC akan mengacu ke kode yang berada di dalam program lainnya yang merupakan bagian dari aplikasi yang berbeda.

Berdasar dari sudut pandang program:


Eksekusi melibatkan rangkaian instruksi yang terdapat di dalam program Eksekusi sebuah program disebut sebuah proses atau taks

Pencirian terhadap perilaku proses dilakukan dengan membuat daftar rangkaian instruksi yang mengeksekusi proses tersebut

Dispatcher digunakan oleh prosesor untuk memindahkan satu proses ke proses lainnya Contoh trace ketiga proses A, B, dan C ditunjukkan sbb.:
8000. 5000. 8001. 5001. 8002. 5002. 8003. 5003. 5004. Trace Proses B 5005. 5006. 5007. 5008. 5009. 5010. Trace Proses A 12000. 12001. 12002. 12003. 12004. 12005. 12006. 12007. 12008. 12009. 12010. 12011. Trace Proses C

5000= alamat awal dari program proses A 8000= alamat awal dari program proses B 12000= alamat awal dari program proses C

Ditunjukkan 12 instruksi, yang sedang dieksekusi oleh proses A dan B. Proses B mengeksekusi 4 instruksi, diasumsikan bahwa instruksi ke-empat memanggil operasi I/O yang mengakibatkan proses harus menunggu Perhatikn trace dari sudut pandang prosesor Gambar sebelah kanan Gambar 3.1 menunjukkan trace yang digilirkan, yang dihasilkan dar 52 siklus instruksi pertama (untuk memudahkan, siklus instruksinya diberi nomor). Diasumsikan bahwa sistem operasi hanya mengizinkan suatu proses melanjutkan eksekusinya dalam waktu enam siklus instruksi Setelah itu proses akan diinterupsi, untuk menghindarkan terjadinya monopoli waktu prosesor oleh sebuah proses.

Anda mungkin juga menyukai