Multiprogramming, Multiprocessing, Multitasking, & Timesharing

keempat istilah di atas sering kita dengar dalam operating system. berikut adalah pengertian serta fungsi dari keempat istilah di atas:

A. Multiprogramming

Multiprogramming adalah suatu teknik penjadualan dimana tugas (task) yang sedah berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar, misalnya membaca data dari CD/ Disket. Atau komputer memaksa menukar tugas yang berjalan dengan tugas lainnya. Tujuan dari multiprogramming adalah memaksimalisasikan kerja CPU. suatu kasus untuk sistem uniprosesor, tidak ada lebih dari proses yang bisa berjalan bersama-sama, dengan kata lain proses harus saling menunggu sampai proses yang lainnya selesai. Penjadual CPU merupakan basis dari multiprogramming pada sistem operasi. Dengan men switch CPU diantara proses maka sistem operasi dapat membuat komputer lebih produktif.

Multiprogramming di kenal sebagai fitur dari sistem operasi pada akhir tahun 1950-an dan banyak di gunakan pada mainframe computer pada tahun 1960 an.

Multiprogramming tidak bisa di samakan dengan multitasking sebab tidak semua multiprogramming bisa atau memiliki kemampuan untuk benar-benar melakukan multitasking. Hal ini perlu di garis bawahi, meskiĀ  multitasking menggunakan beberapa metode pada penerapan multiprogramming.

Multiprogramming mungkin tidak bisa menjamin semua program dapat berjalan bersamaan. Namun demikian multiprogramming cukup mengurangi waktu user . Cukup memasukan sederetan program ke komputer dan user cukup menunggu hasil dari program tersebut.

Pada multiprogramming task (tugas) akan tetap berjalan sampai operasi harus menunggu (waiting) respon dari luar atau komputer harus menukar tugas yang berjalan dengan tugas yang lainnya. Dengan demikian, maka tugas Central CPU bisa di maksimalisasikan.

B. Multiprocessing

Multiprocessing adalah kemampuan pemrosesan komputer yang di lakukann secara serentak. Proses multiprocessing bisa di lakukan menggunakan 2 CPU dalam 1 sistem komputer.

Multiprocessing dan multiprogramming mungkin memiliki kesamaan. Multiprocessing juga bisa dirtikan kepada kemampuan esksekusi beberapa proses secara bersamaan. Multiprocessing lebih sering di implementasikan dalam hardware dengan menggunakan beberapa CPU sekaligus, sementara multiprogramming sering di gunakan dalam software.

Ada beberapa kelas dalam multiprocessing:

1. Berdasarkan Simetrinya:

  • Asymmetric Multiprocessing (ASMP)
  • Symmetric Multiprocessing (ASMP)
  • Non-uniform Memory Access (NUMA) Multiprocessing
  • Clustering

2. Berdasarkan Jumlah Instruksi Datanya

  • 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)

3. Berdasarkan Kedekatan Antar Processor

  • Loosely Coupled
  • Thightly Coupled

C. Multitasking

Multitasking adalah istilah yang mengacu kepada sebuah metode dimana banyak pekerjaan atau di kenal juga sebagai proses diolah dengan menggunakan sumberdaya CPU yang sama.

Umpamakan sebuah komputer berprosessor tunggal, maka komputer itu hanya bisa menyelesaikan satu instruksi dalam satu waktu. Multitasking dapat menjadwalkan mana pekerjaan yang dapat berjalan, dan kapan pekerjaan lain bisa berstatus waiting untuk di kerjakan.

Seperti yang sudah di katakan, bahwa dalam multitasking hanya satu CPU yang terlibat, tapi CPU tersebeut secara mengganti satu program ke program yang lain secara cepat sehingga terlihat mengeksekusikan program dalam satu waktu.

Ada 2 tipe dasar dalam proses multitasking. Yaitu preemptive dan cooperative.

1. Preemptive : Dalam preemptive multitasking, sebuah Sistem Operasi memaket kan setiap program pada CPU. Contoh OS yang menggunakan Preemptive Multitasking adalah OS/2, Windows 95, Windows NT, the Amiga, dan UNIX

2. Cooperative : setiap program dapat mengontrol CPU selama dibutuhkan. Jika sebuah program tidak menggunakan CPU, maka program lain bisa menggunakan nya secara sementara. Windows 3.x dan Multifinder pada Macintosh menggunaka cooperative multitasking.

D. Time-sharing

Time sharing adalah sebuah kemampuan yang memungkinkan komputer besar membagi tugas secara simultan dengan memberikan potongan-potongan waktu pada masing-masing tugas dan beralih dari satu tugas ke tugas lainnya secara cepat.

Time sharing di kembangkan dari sebuah kejadian ketika single user berhadapan dengan kondisi yang tidak efisien, maka sebagian group user yang lebih besar akan terkena dampak dari ketidak efisienan tersebut. Hal ini di karenakan pola interaksi, ketika sebuah user mendapatkan informasi diserta jeda yang panjang, maka user lain yang bekerja dalam waktu yang sama dapat mengerjakan pekerjaan dalam jeda tersebut pekerjaan yang lain.

Dengan ukuran group yang optimal, maka proses yang berjalan akan lebih efisien. Dengan begitu sebagian kecil waktu yang di habis kan untuk menunggu (contohnya, disk atau input dari jaringan) bisa di berikan untuk pengguna lain.

Sumber:
http://id.wikipedia.org/wiki/Multiprocessing
http://www.webopedia.com/TERM/M/multitasking.html
http://en.wikipedia.org/wiki/Multiprogramming
http://en.wikipedia.org/wiki/Time-sharing#Time-sharing_systems

Comments (2)

ArizaSeptember 11th, 2010 at 5:06 pm

Wow, kau benar-benar suka menulis Ris.

faris91September 17th, 2010 at 1:56 am

aku nggak ada kerjaan nih liburan -,-

Leave a comment

Your comment