Apa itu Multi Programming, Multi Processing, Distributed Processing



Proses sendiri adalah sebuah program yang sedang dieksekusi. Dan program adalah instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Proses berisi instruksi dan data. Sistem operasi mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem.
Dalam pemrosesan muncul 3 istilah yaitu:

  • Multiprogramming (multitasking)
  • Multiprocessing
  • Distributed processing/computing

Multi Programming

Multi-program adalah salah satu teknik penjadwalan dimana tugas atau task yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang menggunakan multi program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU.

Pada masa-masa awal dunia perkomputeran, CPU cukup mahal dan peripherals sangat lamban. Saat komputer menjalankan sebuah program yang membutuhkan akses ke peripheral, CPU harus menghentikan instruksi-instruksi program lainnya selama peripheral memproses data. Hal ini dianggap sangat tidak efisien.

Usaha pertama untuk membuat sistem operasi berbasis multi-program dilakukan pada tahun 1960an. Beberapa program yang berlainan di dalam batch di load ke memori komputer, dan program yang pertama akan dijalankan. Saat program tersebut mencapai instruksi untuk menunggu akses ke peripheral, konteks dari program ini disimpan, dan program berikutnya di memori mulai dijalankan. Proses ini berulang terus sampai semua program selesai dijalankan.

Multi-program tidak memberi garansi bahwa program-program akan berjalan bersamaan. Bisa saja program pertama yang dijalankan berjalan terus berjam-jam. Namun demikian multiprogramming cukup mengurangi waktu user untuk menunggu karena user tinggal memasukkan sederetan program ke komputer dan kembali beberapa jam kemudian untuk melihat hasilnya.

Primary Control Program (PCP) pada OS/360 versi awal menggunakan sistem multiprogramming seperti yang disebut barusan, namun kemudian diganti pada tahun berikutnya oleh MFT dengan sistem multi-program yang membatasi waktu proses bagi CPU sebelum mengganti dengan proses lainnya.

Multi Processing

Multiprocessing adalah istilah teknologi informasi 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 processor dan mengalokasikan tugas kepada processor-processor 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 diantaranya, atau tidak sama sekali.

Jenis-jenis Multiprocessing

Multiprocessing dibagi ke dalam beberapa kelas, yakni:
Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam:
  • Asymmetric Multiprocessing (ASMP)
  • Symmetruc Multiprocessing (SMP)
  • Non-uniform memory access (NUMA) multiprocessing
  • Clustering
Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam (lihat Taksonomi Flynn):
  • SISD (Single Instruction on Single Data Stream)
  • SIMD (Single Instruction on Multiple Data Stream)
  • MISD (Multiple Instruction on Single Data Stream)
  • MIMD (Multiple Instruction on Multiple Data Stream)
Berdasarkan kedekatan antar processor, dapat dibagi ke dalam:
  • Loosely coupled
  • Thigtly coupled

Distributed Processing

Komputasi terdistribusi adalah suatu sistem pada jaringan komputer yang dihubungkan dengan cara tertentu sehingga tampak seperti satu komputer bagi pemakai individual. Komputasi terdistribusi menggunakan sumber data komputer yang ada dan melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis yang bertujuan untuk memecahkan berbagai macam persoalan komputasi dalam skala besar.

Komputasi terdistribusi mentransformasikan banyak komputer dalam satu jaringan yang dapat digunakan secara efektif seperti halnya sebuah komputer saja, sehingga memaksimalkan penggunaan sumber daya komputasi. Hal ini berarti bahwa setiap klien dalam jaringan dapat mengakses setiap file data yang terdapat dalam jaringan, menjalankan program komputer yang ada dalam jaringan (baik yang ada dalam server maupun yang ada dalam klien).

Komputasi terdistribusi adalah jaringan, tetapi tidak semua jaringan merupakan komputasi terdistribusi. Jaringan hanya akan merupakan sistem komputasi terdistribusi apabila unsur-unsur data, file, dan komputer di dalam jaringan dapat diakses melalui setiap klien berdasarkan nama, bukan berdasarkan lokasi fisik. Ada 2 buah komponen penting dalam komputasi terdistribusi yaitu server atau komputer pusat yang secara konstan menyediakan dan menjalankan program komputer dan database yang dibutuhkan oleh komputer lain di dalam jaringan tersebut serta workstation atau client yang berisi program yang ditempatkan pada server jaringan.


2 komentar:

Posting Komentar

 
Copyright © Games and Software Blogger Theme by BloggerThemes & newwpthemes Sponsored by Internet Entrepreneur