Rabu, 24 Maret 2010

MULTITASKING

Diposting oleh zaki di 09.43
DEFINISI
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.

STRATEGI PENJADWALAN
Sistem operasi komputer dapat juga mengadopsi berbagai macam strategi penjadwalan, yang secara garis besar dapat dikategorikan sebagai berikut:
• Dalam sistem multi-program, pekerjaan yang sedang diolah terus berjalan hingga membutuhkan suatu operasi yang memerlukan interaksi dari luar. (e.g. membaca dari tape). Sistem multi-program didesain untuk memaksimalkan penggunaan CPU.
• Dalam sistem time-sharing , pekerjaan yang sedang diolah diharuskan melepaskan kerja CPU, baik secara sukarela atau dari interaksi luar, seperti interupsi-perangkat-keras. Sistem Time-sharing didesain untuk memperbolehkan beberapa program seolah diproses secara bersamaan.
• Dalam sistem real-time, beberapa program yang sedang menunggu dijamin untuk mendapatkan pengolahan dari CPU ketika interaksi luar terjadi. Sistem real-time didesain untuk melakukan kontrol mekanik seperti robot-robot industri, yang memerlukan ketepatan pemrosesan.
Dewasa ini, penggunaan time-sharing jarang digunakan, dan digantikan dengan multitasking.

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. Multitasking dan multiuser pada sistem operasi merupakan satu keharusan dalam masa ini.

KEUNTUNGAN DAN KELEMAHAN
Keuntungan sistem ini adalah :
- Suatu perintah dapat dilaksanakan secara tuntas sampai berakhir dengan prioritas tertinggi.
- Mampu memproses lebih dari satu perintah dalam waktu yang bersamaan.hal ini dapat terjadi karena kemampuan membagi sumber daya yang tersedia. Jika suati perintah datang membutuhkan sumber daya media simpan menyelesaikan perintah/pekerjaan yang telah ditentukan, apabila datang perintah lain yang membutuhkan sumber daya memori misalnnya, perintah tersebut dapat langsung dikerjakan tanpa menunggu perintah sebelumnya selesai dierjakan.

Kelemahan dari sistem ini adalah jika terdapat banyak perintah, maka akan terjadi antian perintah yang cukup panjang. Pengguna harus menunggu perintah selesai dilaksanakan untuk memasukkan perintah selanjutnya.
Manfaat metode ini akan terasa ketika banyak terdapat perintah yang menggunakan sumber daya yang berbeda, sehingga rangkaina perintah dapat diselesaikan dengan lebih cepat.

Multitasking dalam Sistem Waktu Nyata
Dalam Sistem Real-Time, pada CPU misalnya, pemrograman Multitasking dapat dilakukan menggunakan pemrograman High Level-language, sehingga strategi penjadwalan dapat diatur dengan mempertimbangkan juga fitur-fitur yang terdapat pada CPU tersebut (aplkasi dan hardware).
Multitasking disebut juga Concurrent Processing (pemorsesan berbarengan) dimana multitasking menjalankan proses berbeda dilakukan pada satu unit CPU, sedangkan jika melakukan beberapa proses berbeda menggunakan beberapa CPU disebut pengolahan Paralel.

LOOP MULTITASKING

Real-Time System mungkin hanya menggunakan fungsi loop terus-menerus untuk melaksanakan semua kegiatan yang diperlukan. Namun, kendali sistem Real-Time tidak dikendalikan secara penuh.
Selain itu, banyak waktu yang dihabiskan prosesor dalam status-flag yang sia-sia, kadang-kadang disebut 'skip-polling'.
Masalah yang lebih signifikan timbul karena perulangan siklik sederhana prosedur tidak dapat memberikan waktu yang tepat ketika dibutuhkan untuk penjadwalan kegiatan secara berkala.
Solusi untuk masalah respons time tersebut adalah mengikat setiap respons critical task langsung ke perangkat berbasis Interrupt, dengan cara menggunakan interrupt-hardware untuk memprioritaskan jadwal pre-emptively sebuah task.


Penjadwalan yang berbasis hardware dapat bekerja dengan baik untuk aplikasi yang sangat kecil, tetapi agak tidak fleksibel, tidak terintegrasi dengan pengaturan prioritas tugas yang lebih luas, dan akan memunculkan beberapa masalah yang agak sulit.
Pada umumnya, tak ada tingkat interrupt yang tepat, aplikasi tersebut terikat pada hardware tertentu, prioritas yang bervariasi pada Interrupt Service Routine (ISR) hampir mustahil, dan debugging aplikasi secara penuh menjadi lebih dan lebih sulit.

0 komentar:

Posting Komentar

 

my story Copyright © 2010 Design by Ipietoon Blogger Template Graphic from Enakei