REAL TIME DAN MULTITASKING OLEH : Aryo Agung (10107275) Dini Hendrik (10107821) Nur Achmad Fauzan (11107254) Sri Erma Rahmaulia (11107618) Verisya Indra (11107962) 1 KA 13 Fakultas Ilmu Komputer Universitas Gunadarma 2007 Kata Pengantar Pertama – tama penyusun ingin memanjatkan puji syukur Alhamdullillah hidayahnya ke hadirat kepada Allah penyusun SWT yang sehingga telah memberikan penyusun dapat menyelesaikan makalah ini dengan baik dan lancar. Tidak lupa penyusun sampaikan shalawat kepada junjungan Nabi besar kita, Nabi Muhammad SAW beserta para sahabat dan keluarganya juga para pengikutnya yang selalu setia sampai akhir jaman. Semoga Allah selalu memberikan hidayah dan petunjuk – NYA, amien. Dalam penulisan makalah ini, penyusun banyak mengalami kesulitan. Namun, berkat bimbingan dari berbagai pihak, akhirnya makalah ini dapat diselesaikan tepat pada waktunya. Karena itu penyusun sepantasnya mengucapkan terima kasih kepada dosen pembimbing yang telah banyak mengorbankan waktu dan pikiran untuk membimbing penyusun dalam menyelesaikan makalah ini, dan semua pihak yang telah membantu yang tidak dapat disebutkan satu per satu oleh penyusun. Akhirnya sebagai penutup penyusun ingin mengucapkan maaf sedalam – dalamnya jika ada kesalahan yang telah terjadi baik yang disengaja maupun yang tidak disengaja. Semoga dengan ditulisnya makalah ini dapat bermanfaat dan menambah ilmu bagi orang lain, khususnya bagi penyusun sendiri. Jakarta, Oktober 2007 Hormat Kami, Penyusun REAL TIME Pada awalnya, istilah real time digunakan dalam simulasi. Memang sekarang lazim dimengerti bahwa real time adalah "cepat", namun sebenarnya yang dimaksud adalah simulasi yang bisa menyamai dengan proses sebenarnya (di dunia nyata) yang sedang disimulasikan. Suatu sistem dikatakan real time jika dia tidak hanya mengutamakan ketepatan pelaksanaan instruksi/tugas, tapi juga interval waktu tugas tersebut dilakukan. Dengan kata lain, sistem real time adalah sistem yang menggunakan deadline, yaitu pekerjaan harus selesai jangka waktu tertentu. Sementara itu, sistem yang tidak real time adalah sistem dimana tidak ada deadline, walaupun tentunya respons yang cepat atau performa yang tinggi tetap diharapkan. Pada sistem waktu nyata, digunakan batasan waktu. Sistem dinyatakan gagal jika melewati batasan yang ada. Misal pada sistem perakitan mobil yang dibantu oleh robot. Tentulah tidak ada gunanya memerintahkan robot untuk berhenti, jika robot sudah menabrak mobil. Sistem waktu nyata banyak digunakan dalam bermacam-macam aplikasi. Sistem waktu nyata tersebut ditanam di dalam alat khusus seperti di kamera, mp3 players, serta di pesawat dan mobil. Sistem waktu nyata bisa dijumpai pada tugas-tugas yang mission critical, misal sistem untuk sistem pengendali reaktor nuklir atau sistem pengendali rem mobil. Juga sering dijumpai pada peralatan medis, peralatan pabrik, peralatan untuk riset ilmiah, dan sebagainya. Ada dua model sistem real time, yaitu hard real time dan soft real time. Hard real time mewajibkan proses selesai dalam kurun waktu tertentu. Jika tidak, maka gagal. Misalnya adalah alat pacu jantung. Sistem harus bisa memacu detak jantung jika detak jantung sudah terdeteksi lemah. Soft real time menerapkan adanya prioritas dalam pelaksanaan tugas dan toleransi waktu. Misalnya adalah transmisi video. Gambar bisa sampai dalam keadaan terpatah-patah, tetapi itu bisa ditolerir karena informasi yang disampaikan masih bisa dimengerti. Sistem waktu nyata keras menjamin bahwa proses waktu nyata dapat diselesaikan dalam batas waktu yang telah ditentukan. Contoh : sistem safety-critical. Beberapa sistem waktu nyata diidentifikasi sebagai sistem safety-critical, dalam scenario ini sistem waktu nyata harus merespon kejadian dalam batas waktu yang telah ditentukan maka akn terjadi bencana. Sistem manajemen penerbangan merupakan sebuah contoh sebuah sistem waktu nyata sebagai sistem safety-critical. Sistem waktu nyata lembut menyediakan prioritas untuk mendahulukan proses yang menggunakan waktu nyata dari pada proses yang tidak menggunakan waktu nyata. Contoh : Linux. Karakteristik dari sistem waktu nyata : Single purpose. Tidak seperti PC, yang memiliki banyak kegunaan, sebuah sistem waktu nyata biasanya hanya memiliki satu tujuan, seperti mentransfer sebuah lagu dari komputer ke mp3 player. Small size. Kebanyakan sistem waktu nyata banyak yang ada memiliki physical space yang terbatas. Inexpensively mass-produced. Sistem operasi waktu nyata memenuhi persyaratan waktu yang ditentukan dengan menggunakan algoritma penjadwalan yang memberikan prioritas kepada proses waktu nyata yang memiiki penjadwalan prioritas tertinggi. Selanjutnya, penjadwals harus menjamin bahwa prioritas dari proses waktu nyata tidak lebih dari batas waktu yang ditentukan. Kedua, teknik untuk persyaratan waktu penagmalatan adalah dengan meminimalkan response time dari sebuah events seperti interupsi. Sistem operasi waktu nyata tidak membutuhkan fitur penting (misalnya standar desktop dan sistem server pada desktop PC) karena : Kebanyakan sistem waktu nyata hanya melayani satu tujuan saja, sehingga tidak membutuhkan banyak fitur seperti pada desktop PC. Lagipula, sistem waktu nyata tertentu juga tidak memasukkan notion pada pengguna karena sistem hanya mendukung sejumlah kecil proses saja, yang sering menunggu masukkan dari peralatan perangkat keras. Keterbatasan space, menyebabkan sistem waktu nyata tidak dapat mendukung fitur standar desktop dan sistem server yang membutuhkan memori yang lebih banyak dan prosesor yang cepat. Jika sistem waktu mendukung fitur yang biasa terdapat pada standar desktop dan sistem server, maka akan sangat meningkatkan biaya dari sistem waktu nyata. MULTITASKING Multitasking adalah istilah teknologi informasi dalam bahasa Inggris yang pekerjaan mengacu atau dikenal kepada sebuah metode juga sebagai proses dimana banyak 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. 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 ketepatan pemrosesan. robot-robot industri, yang memerlukan 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 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.