Multiprocessing dan Multiprogramming
1. Multiprogramming
Multiprogramming adalah suatu
metode yang memungkinkan dua buah program atau lebih dijalankan secara serentak
dalam sebuah komputer dan berbagai sumber daya dalam waktu yang
berlainan.Konsep multiprogramming bisa diibaratkan sebagai pekerja yang tak
hanya menangani satu pekerjaan, tetapi juga menangani pekerjaan lain, sehingga
tak ada waktu yang terbuang.
Konsep dasar dari multiprogramming ini adalah: suatu proses akan menggunakan CPU sampai proses tersebut dalam status wait (misalnya meminta I/O) atau selesai. Pada saat wait , maka CPU akan menganggur (idle). Untuk mengatasi hal ini, maka CPU dialihkan ke proses lain pada saat suatu proses sedang dalam wait.
Pada sistem multiprogramming, sistem operasi harus menyediakan mekanisme untuk manajemen memori, penjadwalan CPU dan manajemen disk. Sistem operasi multiprogram menyediakan supply untuk I/O routine. Sistem harus dapat mengalokasikan memory untuk beberapa job. Beberapa job yang sudah siap dieksekusi akan dipilih oleh system, job mana yang akan dieksekusi oleh CPU. Perangkat apa saja yang diperlukan oleh setiap job juga harus dialokasikan oleh sistem.
2. Multiprocessing
Multiprocessing adalah istilah
teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan
pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan
menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga
dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu
prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
Multiprocessing juga kadang
merujuk kepada kemampuan eksekusi terhadap beberapa proses perangkat lunak
dalam sebuah sistem secara serentak, jika dibandingkan dengan sebuah proses
dalam satu waktu, meski istilah multiprogramming lebih sesuai untuk konsep ini.
Multiprocessing sering diimplementasikan dalam perangkat keras (dengan
menggunakan beberapa CPU sekaligus), sementara multiprogramming sering
digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua
kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali.
Multiprocessing dapat dibagi ke
dalam beberapa kelas, yakni:
§
Berdasarkan simetrinya, multiprocessing:
o Asymmetric Multiprocessing (ASMP)
o Symmetric Multiprocessing (SMP)
o Non-uniform memory access (NUMA) multiprocessing
o Clustering
o Asymmetric Multiprocessing (ASMP)
o Symmetric Multiprocessing (SMP)
o Non-uniform memory access (NUMA) multiprocessing
o Clustering
§
Berdasarkan jumlah instruksi dan datanya:
o SISD (Single Instruction on Single Data Stream)
o SIMD (Single Instruction on Multiple Data Stream)
o MISD (Multiple Instruction on Single Data Stream)
o MIMD (Multiple Instruction on Multiple Data Stream)
o SISD (Single Instruction on Single Data Stream)
o SIMD (Single Instruction on Multiple Data Stream)
o MISD (Multiple Instruction on Single Data Stream)
o MIMD (Multiple Instruction on Multiple Data Stream)
§
Berdasarkan kedekatan antar prosesor:
o Loosely coupled
o Thightly coupled
o Loosely coupled
o Thightly coupled
v
Asymmetric Multiprocessing
Dalam
Asymmetric Multiprocessing (AMP), sistem operasi biasanya menyisihkan satu atau
lebih prosesor untuk penggunaan tertentu secara eksklusif. sisa dari prosesor
yang lain akan menjalankan aplikasi user. Hal ini akan memaksa aplikasi untuk
menunggu sementara sistem membangun Catche yang akan mengurangi kecepatan
transfer keseluruhan sistem. Dalam mode ini, jika prosesor mengalami kegagalan
pada sistem operasi , seluruh komputer akan Down!
v
Symmetric Multiprocessing
Symmetric
Multiprocessing (SMP) menggunakan teknologi yang menghasilkan kinerja yang
lebih baik. Dalam Symmetric Multiprocessing (SMP) setiap prosesor dapat
menjalankan semua jenis bagian. Prosesor berkomunikasi satu dengan yang lainnya
melalui memori yang digunakan bersama.
Sistem
Symmetric Multiprocessing (SMP) memiliki Load-Balancing (Keseimbangan Pemuatan) dan
toleransi kesalahan yang lebih baik. Hal ini dikarenakan bagian dalam sistem
operasi dapat berjalan pada prosesor manapun dan kemungkinan terjadinya error
dan hambatan pada CPU akan berkurang.
Semua prosesor
diizinkan menjalankan campuran berbagai macam aplikasi dan kode sistem operasi.
Kegagalan prosesor dalam mode Symmetric Multiprocessing (SMP) kapasitas
komputasi (Kemampuan dalam mengkomputerisasi suatu tugas) dan tidak akan
membuat sistem menjadi Down atau lumpuh total.
Sistem Symmetric Multiprocessing (SMP) secara langsung lebih kompleks daripada
sistem Asymmetric Multiprocessing (AMP). Seluruh koordinasi harus berlangsung
dalam sistem operasi untuk menjaga semuanya tetap tersinkronisasi. Dengan alasan
tersebut, sistem Symmetric Multiprocessing (SMP) biasanya dirancang dan ditulis
dari bawah keatas.
SMP |
v Non-uniform
Memory Access (NUMA)
Non-Uniform Memory Access atau Non-Uniform
Memory Arsitektur (NUMA) adalah memori komputer Rancangan yang digunakan dalam
multiprocessors , dimana waktu akses memori tergantung pada lokasi memori
relatif terhadap prosesor. Under NUMA, Dalam NUMA, prosesor atau NUMA
multiprocessor adalah sebuah sistem shared memory dimana waktu aksesnya
bervariasi ke lokasi memori word.
NUMA |
3. Multitasking
Multitasking adalah 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 menjadwalkan 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.
Contoh sistem operasi jenis ini
antara lain adalah linux. Linux adalah sistem operasi yang multitasking dan
multiuser seperti kebanyakan SO yang ada pada saat ini. Multitasking pada linux
artinya linux bisa atau mampu menjalankan beberapa proses dalam waktu yang
bersamaan.
Seperti contoh pada saat kita
menjalan kan aplikasi web browser kita juga bisa menjalankan aplikasi kompresi
file. Sedangkan multiuser pada linux adalah user bisa login ke dalam sistem
secara bersamaan, dengan artinya user bisa menggunakan satu sistem secara
bersamaan dalam satu waktu.
4. Timesharing
Time sharing adalah pengembangan
dari sistem multiprogram. Beberapa job yang berada pada memory utama dieksekusi
oleh CPU secara bergantian. CPU hanya bisa menjalankan program yang berada pada
memory utama. Perpindahan antar job terjadi sangat sering sehingga user dapat
berinteraksi dengan setiap program pada saat dijalankan. Suatu job akan
dipindahkan dari memori ke disk dan sebaliknya.
Sistem time sharing juga disebut
dengan sistem komputasi interaktif, dimana sistem komputer menyediakan
komunikasi online antara user dengan sistem. User memberikan instruksi pada
sistem operasi atau program secara langsung dan menerima respon segera.
Perangkat input berupa keyboard dan perangkat output berupa display screen, seperti
cathode-ray tube (CRT) atau monitor. Bila sistem operasi selesai mengeksekusi
satu perintah, makan sistem akan mencari pernyataan berikutnya dari user
melalui keyboard. Sistem menyediakan editor interaktif untuk menulis program
dan sistem debug untuk membantu melakukan debugging program.
Agar user dapat mengakses data
dan kode program dengan nyaman, system menyediakan sistem file online. Suatu
file adalah kumpulan informasi yang berhubungan yang didefinisikan oleh
pembuatnya. Biasanya, file berupa program (baik bentuk source dan object) dan
data. Data file berupa teks dengan format tertentu. Secara umum, file adalah
kumpulan bit, bite, baris atau record. Sistem operasi mengimplementasikan
konsep abstrak dari file dengan mengatur perangkat program dengan nyaman,
system menyediakan sistem file online. Suatu file adalah kumpulan informasi
yang berhubungan yang didefinisikan oleh pembuatnya. Biasanya, file berupa
program (baik bentuk source dan object) dan data. Data file berupa teks dengan
format tertentu. Secara umum, file adalah kumpulan bit, bite, baris atau
record. Sistem operasi mengimplementasikan konsep abstrak dari file dengan
mengatur perangkat penyimpan seperti tape dan disk. File secara normal
diorganisasikan dalam logical cluster atau directory, untuk memudahkan lokasi
dan akses file.
0 Comments