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.
v 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.
A. Loop Multi Tasking
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.
ijin nyimak gan, thx
ReplyDelete