Sistem Waktu Nyata
Komputasi waktu nyata
Dalam teknologi informasi, istilah waktu nyata (Inggris: real-time) adalah kondisi pengoperasian dari suatu sistem perangkat keras dan perangkat lunak yang dibatasi oleh rentang waktu dan memiliki tenggat waktu (deadline) yang jelas, relatif terhadap waktu suatu peristiwa atau operasi terjadi. Sebuah sistem non-waktu nyata sebagai lawannya tidak memiliki tenggat waktu. Contoh dari sebuah sistem waktu nyata adalah sistem pengendali pesawat terbang. Batasan waktu pada sistem pengendali pesawat terbang harus tegas karena penyimpangan terhadap batasan waktu dapat berakibat fatal, yaitu kecelakaan.
Tipe
- Keras (Hard): 100% deterministik (waktu selesainya operasi bisa pasti ditentukan tanpa gagal). Jika seandainya terlewat satu "garis maut" (deadline) pun, berarti sistem dianggap rusak dan gagal total. Contohnya, sistem pengendalian mesin mobil dan pesawat, di mana signal elektronik yang memerintahi pembakaran bahan bakar mesti dilaksanakan pada titik waktu yang tepat (karena, kalau tidak, akan menyebabkan malapetaka).
- Ketat (Firm): Sistem akan masih bertahan, namun hanya apabila jarang terlewatnya garis maut. Hasil komputasi tidak berguna selepas terlewatnya garis maut. Contohnya, sistem jaringan telepon. Layanan telepon bisa terus berjalan, jika hanya jarang terjadi signal telepon yang gagal mencapai tujuan. Sementara, hanya signal telepon yang tepat waktu yang bisa diterima sistem.
- Lunak (Soft): Sistem terus bertahan seberapakalipun terlewatnya garis maut. Apabila ada terlewat garis maut, hasil komputasi menjadi kurang berguna dan mutu layanan sistem memburuk. Contohnya, aplikasi pemutar video dan musik yang sedang memainkan lagu cakera padat dari CD-ROM. Jika CD-ROM-nya tiba-tiba dibutuhkan aplikasi lain untuk membaca data dan membuat CD-ROM terlalu sibuk, maka aplikasi pemutar tersebut mesti menunggu data dari CD-ROM dan tidak lagi mampu memainkan video dan musik seiring dengan waktu nyata, dan video dan musiknya terpaksa hanya bisa diputar lebih pelan.
Waktu nyata dan kinerja tinggi
Komputasi waktu nyata sering disalahbedakan sebagai komputasi kinerja tinggi, meskipun kedua-duanya bukanlah hal yang sama. Contohnya, superkomputer kuat yang sedang menjalani simulasi ilmiah mampu menghasilkan kinerja yang tinggi, namun ini belum semestinya bisa dianggap sebagai komputasi waktu nyata. Sebaliknya, apabila perangkat keras dan lunaknya suatu sistem rem anti terkunci sudah cukup memenuhi persyaratan teknis untuk mampu beroperasi sempurna tepat waktu sesuai dengan penjadwalannya (yaitu, sama sekali tidak melintasi "garis maut" (deadline)), peningkatan kinerga sistem apapun bukanlah lagi bermanfaat.
https://id.wikipedia.org/wiki/Komputasi_waktu_nyata
Definisi “Sistem waktu-nyata”
Sistem waktu-nyata adalah sistem yang harus menghasilkan respon yang tepat dalam batas waktu yang telah ditentukan. Jika respon komputer melewati batas waktu tersebut, maka terjadi degradasi performansi atau kegagalan sistem. Sebuah sistem waktu-nyata adalah sistem yang kebenarannya secara logis didasarkan pada kebenaran hasil-hasil keluaran sistem dan ketepatan waktu hasil-hasil tersebut dikeluarkan. Aplikasi penggunaan sistem seperti ini adalah untuk memantau dan mengontrol peralatan seperti motor, assembly line, teleskop, atau instrumen lainnya. Peralatan telekomunikasi dan jaringan komputer biasanya juga membutuhkan pengendalian secara waktu-nyata.
Pada awal perkembangan sistem waktu-nyata pada tahun 1950-an sampai dengan akhir 1970-an, konsumen utama dari sistem waktu-nyata adalah industri militer di Amerika Serikat. Sekarang, sistem waktu-nyata semakin banyak digunakan dalam otomasi industri dan instrumentasi. Salah satu contoh umum sistem waktu-nyata adalah sistem komputer yang digunakan oleh NASA pada pesawat ruang angkasanya. Sistem komputer pesawat ruang angkasa berjalan tanpa campur tangan manusia, dan jika sistem ini gagal memenuhi tenggat waktu eksekusi yang ditetapkan, maka pesawat ruang angkasa ini bisa jadi akan mengalami bencana yang fatal. Untuk memperkecil kemungkinan kegagalan sistem komputernya, NASA biasanya menggunakan beberapa komputer sekaligus untuk mengerjakan perhitungan yang sama.Klasifikasi Sistem Waktu-Nyata :
Berdasarkan batasan waktu yang dimilikinya, sistem waktu-nyata dapat dibagi menjadi tiga kelas, yaitu :
1. Hard Real-Time
Adalah sistem yang harus memenuhi tenggat waktu pada setiap kesempatan. Contoh sistem dari kelas ini adalah sebuah sistem yang melakukan shutdown dari sebuah roket. Sebuah delay yang tak terduga selama setengah detik mungkin dapat menyebabkan roket meledak. Penentuan apakah sebuah sistem termasuk dalam kategori hard real-time tidak berdasarkan waktu respon rata-rata yang dimilikinya, melainkan berdasarkan waktu respon terburuk.
2. Soft Real-Time
Adalah sistem yang jika suatu saat gagal dalam memenuhi tenggat waktu, tidak akan menyebabkan kegagalan sistem. Semua sistem komputer dapat dikategorikan dalam kelas ini karena semua sistem harus memenuhi definisi di atas, dalam dimensi yang berbeda-beda. Contoh sistem dari kelas ini adalah sebuah video player yang seharusnya selalu menampilkan setiap frame sesuai dengan rate yang diinginkan. Delay selama setengah detik tidak akan menyebabkan kegagalan yang fatal, tetapi akan mengganggu kenyamanan user.
3. Firm Real-Time
Adalah sistem yang memiliki karakteristik pewaktuan seperti sistem hard real-time tapi mampu menjalankan aplikasi waktu-nyata level user seperti aplikasi grafis atau TCP/IP yang biasanya tidak dapat dijalankan oleh sistem hard real-time.
Komponen Sistem Waktu-Nyata :
Komponen dari sistem komputer waktu-nyata, yaitu :
1. Perangkat keras
2. Sistem operasi waktu-nyata
3. Bahasa pemrograman waktu-nyata
4. Sistem komunikasi
Perangkat keras komputer sebenarnya tidak ada spesifikasi khusus untuk sebuah perangkat keras komputer dengan kapabilitas waktu-nyata. Secara umum, semua komputer modern termasuk PC x86 dapat digunakan untuk sistem waktu-nyata. Untuk keperluan tertentu, digunakan komputer dengan arsitektur dan prosesor khusus, seperti transputer.
Sistem operasi waktu-nyata merupakan perangkat lunak sistem yang berseluler mengatur resource yang disediakan oleh perangkat keras dan menyediakan fasilitas pemrograman untuk digunakan oleh aplikasi. Sistem operasi waktu nyata memiliki karakteristik yang berbeda dengan sistem operasi biasa, sehingga tidak semua sistem operasi bisa disebut sebagai sebuah sistem operasi waktu-nyata.
Bahasa pemrograman waktu-nyata memiliki peranan yang penting dalam pembangunan sistem waktu-nyata. Bahasa pemrograman waktu-nyata yang baik sebaiknya memiliki beberapa karakteristik sebagai berikut:
1. Efisien dalam penggunaan CPU
2. Mampu menangani pemrograman I/O yang intensif
3. Memiliki sintaks sederhana, untuk mengurangi kompleksitas program sehingga kemungkinan kesalahan dapat diperkecil
4. Didukung oleh sistem operasi
5. Memiliki tool pendukung seperti debugger dan profiler
Implementasi sistem waktu-nyata pada tahun 1950-an kebanyakan menggunakan bahasa pemrograman assembler agar sistem menjadi lebih efisien dalam penggunaan CPU. Tetapi, setelah sistem berkembang semakin besar, penggunaan bahasa assembler membuat program menjadi semakin kompleks dan rentan terhadap kesalahan pemrograman.
Beberapa bahasa pemrograman kemudian muncul dan menggantikan peranan bahasa assembler. Sebagian diantaranya dirancang khusus untuk aplikasi waktu-nyata, dan sisanya adalah bahasa pemrograman multifungsi (general-purpose). Bahasa pemrograman waktu-nyata yang paling populer adalah Ada. Bahasa Ada memiliki konstruksi yang memudahkan programmer untuk menspesifikasikan tugas-tugas waktu-nyata.
Sistem operasi Unix ditulis dengan bahasa C, dan memiliki dukungan yang intensif terhadap penggunaan bahasa C. Kompilator dan debugger bahasa C pasti tersedia di semua varian Unix. Meskipun bahasa C bukan merupakan bahasa yang khusus digunakan untuk sistem waktu-nyata, tetapi bahasa C adalah bahasa yang cukup memadai karena memenuhi kriteria-kriteria di atas. Real- Time Linux hanya mendukung bahasa C, terutama karena pemrograman untuk Real-Time Linux dilakukan di level kernel.
Sistem Komunikasi melalui jaringan dibutuhkan jika lebih dari satu komputer menjadicontroller. Komunikasi jaringan (misalnya melalui Ethernet) memiliki kasus waktu terburuk yang tidak dapat dipastikan, sehingga jika sebuah sistem hard real-time menggunakan mekanisme komunikasi jaringan maka sistem ini tidak lagi dapat diverifikasi karena verifikasi sebuah sistem hard real-time memerlukan data kasus terburuk dari eksekusi tugas.
https://aldebian.wordpress.com/definisi-sistem-waktu-nyata/
Definisi Sistem Operasi Waktu NyataMenurut definisi Kamus komputer Oxford: Setiap sistem yang waktu terjadinya output sangat signifikan. Jarak antara waktu input terhadapat waktu terjadinya output harus sangat kecil terhadap waktu yang diperbolehkan. Menurut Cooling pada buku Software Design for Real Time Systems (1991): Sistem Waktu Nyata adalah sistem yang harus memprodukis respon yang tepat dalam suatu batasan waktu yang tentu. Komputer yang responnya melebihi batasan waktu ini akan memberikan performansi yang terdegradasi atau malfunction Sebuah sistem waktu nyata membaca input dari plant dan mengirim sinyal kontrol ke plant pada waktu¬waktu yang ditentukan oleh pertimbangan operasional dari plant bukan oleh system computer. Menurut Bennet: Sebuah program yang ketepatan operasinya tergantung pada hasil logika komputasi dan waktu suatu hasil diproduksi. Klasifikasi Sistem Waktu Nyata Suatu ciri sistem waktu nyata adalah komputer yang terhubung dengan lingkungan melalui peralatan interfacing yang banyak dan komputer menerima dan mengirim bervariasi sinyal.
Contoh Sistem Waktu Nyata:• Proses pengambilan uang pada ATM
• Proses login atau pendaftaran online
• Proses pengenalan sidik jari pada absensi
• Proses perekaman suara
• Sistem pendeteksian dan alarm
• Sistem pengiriman data transmisi(TV, Telepon)
• Proses isi ulang pulsa
• Sistem Waktu Nyata diklasifikasikan menjadi
• Event¬based Task (aperiodic)
• Interactive Systems
Adapun pengertian lain dari system waktu nyata yaitu, Sistem waktu nyata adalah sebuah sistem komputer yang tidak hanya membutuhkan hasil komputasi yang benar tetapi juga harus sesuai dengan batas waktu yang dikehendaki. Hasil dari komputasi yang dilakukan (jika benar) mungkin tidak dalam nilai real. Sistem waktu nyata banyak digunakan dalam bermacammacam aplikasi. Sistem waktu nyata tersebut ditanam di dalam alat khusus, seperti di kamera, mp3 players, serta di pesawat dan mobil. Beberapa sistem waktu nyata diidentifikasi sebagai sistem safety¬critical, dalam skenario ini sistem waktu nyata harus merespon kejadian dalam batas waktu yang telah ditentukan, jika tidak dapat memenuhi batas waktu yang ditentukan maka akan terjadi bencana. Sistem manajemen penerbangan merupakan sebuah contoh sebuah sistem waktu nyata sebagai sistem safetycritical. Sistem waktu nyata dibagi menjadi dua tipe yaitu keras dan lembut. Sistem waktu nyata keras menjamin bahwa proses waktu nyata dapat diselesaikan dalam batas waktu yang telah ditentukan. Contoh: sistem safety¬critical. Sistem waktu nyata lembut menyediakan prioritas untuk mendahulukan proses yang menggunakan waktu nyata dari pada proses yang tidak menggunakan waktu nyata.
Sistem Waktu Nyata dapat dibedakan berdasarkan Batasan waktu, sistem waktu nyata dibedakan antara hard real time dan soft real time:
1. Hard Real¬TimeSistem Waktu Nyata yang harus memenuhi target waktu pada setiap kesempatan dan Sistem hard real¬time dibutuhkan untuk menyelesaikan critical task dengan jaminan waktu tertentu. Jika kebutuhan waktu tidak terpenuhi, maka aplikasi akan gagal. Dalam definisi lain disebutkan bahwa kontrol sistem hard real¬time dapat mentoleransi keterlambatan tidak lebih dari 100 mikro detik. Secara umum, sebuah proses di kirim dengan sebuah pernyataan jumlah waktu dimana dibutuhkan untuk menyelesaikan atau menjalankan I/O. Kemudian penjadual dapat menjamin proses untuk selesai atau menolak permintaan karena tidak mungkin dilakukan. Mekanisme ini dikenal dengan resource reservation. Oleh karena itu setiap operasi harus dijamin dengan waktu maksimum. Pemberian jaminan seperti ini tidak dapat dilakukan dalam sistem dengan secondary storage atau virtual memory, karena sistem seperti ini tidak dapat meramalkan waktu yang dibutuhkan untuk mengeksekusisuatu proses. Contoh : dalam kehidupan sehari¬hari adalah pada sistem pengontrol pesawat terbang. Dalam hal ini, keterlambatan sama sekali tidak boleh terjadi, karena dapat berakibat tidak terkontrolnya pesawat terbang. Nyawa penumpang yang ada dalam pesawat tergantung darisistem ini, karena jika sistem pengontrol tidak dapat merespon tepat waktu, maka dapat menyebabkan kecelakaan yang merenggut korban jiwa. Dan contoh lain Pengontrolan Temperatur blower.
• Proses login atau pendaftaran online
• Proses pengenalan sidik jari pada absensi
• Proses perekaman suara
• Sistem pendeteksian dan alarm
• Sistem pengiriman data transmisi(TV, Telepon)
• Proses isi ulang pulsa
• Sistem Waktu Nyata diklasifikasikan menjadi
• Event¬based Task (aperiodic)
• Interactive Systems
Adapun pengertian lain dari system waktu nyata yaitu, Sistem waktu nyata adalah sebuah sistem komputer yang tidak hanya membutuhkan hasil komputasi yang benar tetapi juga harus sesuai dengan batas waktu yang dikehendaki. Hasil dari komputasi yang dilakukan (jika benar) mungkin tidak dalam nilai real. Sistem waktu nyata banyak digunakan dalam bermacammacam aplikasi. Sistem waktu nyata tersebut ditanam di dalam alat khusus, seperti di kamera, mp3 players, serta di pesawat dan mobil. Beberapa sistem waktu nyata diidentifikasi sebagai sistem safety¬critical, dalam skenario ini sistem waktu nyata harus merespon kejadian dalam batas waktu yang telah ditentukan, jika tidak dapat memenuhi batas waktu yang ditentukan maka akan terjadi bencana. Sistem manajemen penerbangan merupakan sebuah contoh sebuah sistem waktu nyata sebagai sistem safetycritical. Sistem waktu nyata dibagi menjadi dua tipe yaitu keras dan lembut. Sistem waktu nyata keras menjamin bahwa proses waktu nyata dapat diselesaikan dalam batas waktu yang telah ditentukan. Contoh: sistem safety¬critical. Sistem waktu nyata lembut menyediakan prioritas untuk mendahulukan proses yang menggunakan waktu nyata dari pada proses yang tidak menggunakan waktu nyata.
Sistem Waktu Nyata dapat dibedakan berdasarkan Batasan waktu, sistem waktu nyata dibedakan antara hard real time dan soft real time:
1. Hard Real¬TimeSistem Waktu Nyata yang harus memenuhi target waktu pada setiap kesempatan dan Sistem hard real¬time dibutuhkan untuk menyelesaikan critical task dengan jaminan waktu tertentu. Jika kebutuhan waktu tidak terpenuhi, maka aplikasi akan gagal. Dalam definisi lain disebutkan bahwa kontrol sistem hard real¬time dapat mentoleransi keterlambatan tidak lebih dari 100 mikro detik. Secara umum, sebuah proses di kirim dengan sebuah pernyataan jumlah waktu dimana dibutuhkan untuk menyelesaikan atau menjalankan I/O. Kemudian penjadual dapat menjamin proses untuk selesai atau menolak permintaan karena tidak mungkin dilakukan. Mekanisme ini dikenal dengan resource reservation. Oleh karena itu setiap operasi harus dijamin dengan waktu maksimum. Pemberian jaminan seperti ini tidak dapat dilakukan dalam sistem dengan secondary storage atau virtual memory, karena sistem seperti ini tidak dapat meramalkan waktu yang dibutuhkan untuk mengeksekusisuatu proses. Contoh : dalam kehidupan sehari¬hari adalah pada sistem pengontrol pesawat terbang. Dalam hal ini, keterlambatan sama sekali tidak boleh terjadi, karena dapat berakibat tidak terkontrolnya pesawat terbang. Nyawa penumpang yang ada dalam pesawat tergantung darisistem ini, karena jika sistem pengontrol tidak dapat merespon tepat waktu, maka dapat menyebabkan kecelakaan yang merenggut korban jiwa. Dan contoh lain Pengontrolan Temperatur blower.
2. Soft Real¬TimeSistem Waktu Nyata yang tidak harus memenuhi target waktu tetapi harus memenuhi suatu nilai dan adapun pengertian lain dari soft realtime. Soft real time adalah Komputasisoft real-time memilikisedikit kelonggaran. Dalam sistem ini, proses yang kritis menerima prioritas lebih daripada yang lain. Walaupun menambah fungsi soft real¬time ke sistem time sharing mungkin akan mengakibatkan ketidakadilan pembagian sumber daya dan mengakibatkan delay yang lebih lama, atau mungkin menyebabkan starvation, hasilnya adalah tujuan secara umum sistem yang dapat mendukung multimedia, grafik berkecepatan tinggi, dan variasi tugas yang tidak dapat diterima di lingkungan yang tidak mendukung komputasi soft real¬time ketepatan yang diambil dari nilai rata¬rata. Contoh : penerapan sistem ini dalam kehidupan sehari¬hari adalah padaalat penjual/pelayan otomatis. Jika mesin yang menggunakan sistem ini telah lama digunakan, maka mesin tersebut dapat mengalami penurunan kualitas, misalnya waktu pelayanannya menjadi lebihlambat dibandingkan ketika masih baru.
Konsep dasar dalam Sistem Waktu Nyata1. Paralel Processor, yaitu sebuah metode yang menerapkan beberapa prosessor (n prosessor) untuk mengerjakan satu tugas dengan kompleksitas tinggi atau tugas dengan jumlah yang banyak. Dengan menerapkan banyak prosesor diasumsikan tugas akan cepat diselesaikan.
2. MSB (Most Significant Bit) First, yaitu sebuah metode penjumlahan bit dengan cara menjumlahkan dari sisi sebelah kiri (Most Significant Bit), dengan nilai bit yang terbesar.Cara ini akan cepat menghasilkan nilai yang mendekati nilai sebenarnya.
3. Sampling, yaitu sebuah metode untuk menjumlahkan secara cepat dengan cara mengambil sample data secara acak (random sampling) dari populasi data. Data yang telah diambil dijumlahkan dan kemudian dikalikan dengan bilangan berdasarkan pembagian jumlah sampel dari total sampel. Hasilnya akan mendekati nilai sebenarnya. Dengan cara ini memungkinkan pemberian nilai dengan cara estimasi pada saat belum diberikan waktu proses, sehingga dihasilkan proses yang lebih cepat.
4. Heuristic, yaitu sebuah metode yang menggunakan pengalaman sebelumnya untuk mengerjakan tugas-tugas yang diberikan. Berdasarkan pengalaman tersebut, tugas akan lebih cepat dikerjakan. Pada penerapannya menggunakan teknologi sistem cerdas atau sistem pakar.
5. Seleksi, yaitu sebuah metode yang akan mempercepat pengerjaan tugas dengan cara menyeleksi dan mengurutkan (sorting) dari nilai yang terbesar ke nilai yang terendah (decreasing). Setelah diurutkan kemudian dijumlahkan, hasilnya akan mendekati nilai totalnya.
6. Pre-Processing, yaitu sebuah metode untuk mempercepat pengerjaan tugas dengan cara menyiapkan hal-hal yang akan diproses sebelum waktu proses dimulai atau tugas belum datang. Proses lebih cepat karena sebagian tugas telah dikerjakan sebelum waktu proses dimulai.
7. Compression, yaitu metode untuk mempercepat pengerjaan tugas dengan cara mengompres data yang akan diolah. Jika data yang diolah adalah data terkompres, maka akan dihasilkan proses yang lebih cepat jika dibandingkan dengan data yang tidak terkompres. pada metode ini juga harus diperhatikan waktu yang dibutuhkan kompresi dan dekompresinya.
8. Hardware-isasi, yaitu metode untuk mempercepat proses pengerjaan tugas dengan cara meng-hardware-kan software yang dipakai dalam pengerjaan tugas. Meng-hardware-kan software berarti mengurangi beban pengolah dan berarti pula mempercepat kinerja pengolah sehingga dihasilkan pengerjaan yang cepat.
Real-Time System adalah sistem yang harus memperhatikan batasan terhadap waktu untuk merespon dan juga mempunyai konsekuensi terhadap resiko, misalnya kegagalan. Rentang real time mulai dari embedded microcontrollers yang kecil pada microwave oven sampai jaringan komunikasi global yang besar. Menurut Pressman real time software adalah sangat tergantung pada dunia luar, harus merespon pada masalah dunia nyata dalam batasan waktu.
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.
Hard real-time system 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 skenario ini sistem waktu nyata harus merespon kejadian dalam batas waktu yang telah ditentukan maka akan terjadi bencana. Sistem manajemen penerbangan merupakan sebuah contoh sebuah sistem waktu nyata sebagai sistem safety-critical. Contoh lainnya adalah sistem pengontrol mesin mobil. Disebut hard real-time system karena keterlambatan sinyal yang dikirim akan mengakibatkan kegagalan atau kerusakan. Hard real-time system biasanya berinteraksi pada tingkat rendah dengan hardware fisik, di embedded system (sistem yang ditempelkan). Sistem permainan video dahulu seperti Atari 2006 dan grafik vektor Cinematronics memiliki syarat dari hard real-time karena sifat dari hardware grafis dan waktu. Dalam konteks sistem multitasking, kebijaksanaan penentuan waktu diutamakan yang akan berangkat (penentuan waktu melalui pembelian yang lebih dahulu).
Algoritma penjadwalan lain termasuk tenggat terlama yang pertama, yang mengabaikan konteks ongkos tambahan peralihan, adalah sistem yang cukup untuk beban kurang dari 100%. Lembaran penutup baru sistem penjadwalan, seperti Penjadwal pembagian yang adaptif membantu dalam mengelola sistem yang besar dengan campuran aplikasi hard real-time dengan non real-time.
Soft real-time system menyediakan prioritas untuk mendahulukan proses yang menggunakan waktu nyata dari pada proses yang tidak menggunakan waktu nyata. Soft real-time sistem biasanya digunakan di mana ada beberapa masalah akses bersamaan dan kebutuhan untuk menyimpan sejumlah sistem terhubung yang up to date dengan perubahan situasi, misalnya perangkat lunak yang mengelola dan memperbarui rencana penerbangan pesawat komersial. Rencana penerbangan harus selalu layak, tetapi dapat mengoperasikan keterlambatan waktu beberapa detik. Live sistem audio-video juga biasanya soft real-time; karena pelanggaran audio dan video yang dipaksa dihasilkan dalam kualitas yang rendah, tetapi sistem dapat terus beroperasi. Contoh laina penerapan soft real time system dalam kehidupan sehari-hari adalah pada alat penjual/pelayan otomatis. Jika mesin yang menggunakan sistem ini telah lama digunakan, maka mesin tersebut dapat mengalami penurunan kualitas,misalnya waktu pelayanannya menjadi lebih lambat dibandingkan ketika masih baru. Keterlambatan pada sistem ini tidak menyebabkan kecelakaan atau akibat fatal lainnya, melainkan hanya menyebabkan kerugian keuangan saja. Jika pelayanan mesin menjadi lambat, maka para pengguna dapat saja merasa tidak puas dan akhirnya dapat menurunkan pendapatan pemilik mesin.Setelah batas waktu yang diberikan telah habis, pada sistem hard realtime,aplikasi yang dijalankan langsung dihentikan. Akan tetapi, pada sistem softreal-time, aplikasi yang telah habis masa waktu pengerjaan tugasnya,dihentikan secara bertahap atau dengan kata lain masih diberikan toleransi waktu.
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.
2. MSB (Most Significant Bit) First, yaitu sebuah metode penjumlahan bit dengan cara menjumlahkan dari sisi sebelah kiri (Most Significant Bit), dengan nilai bit yang terbesar.Cara ini akan cepat menghasilkan nilai yang mendekati nilai sebenarnya.
3. Sampling, yaitu sebuah metode untuk menjumlahkan secara cepat dengan cara mengambil sample data secara acak (random sampling) dari populasi data. Data yang telah diambil dijumlahkan dan kemudian dikalikan dengan bilangan berdasarkan pembagian jumlah sampel dari total sampel. Hasilnya akan mendekati nilai sebenarnya. Dengan cara ini memungkinkan pemberian nilai dengan cara estimasi pada saat belum diberikan waktu proses, sehingga dihasilkan proses yang lebih cepat.
4. Heuristic, yaitu sebuah metode yang menggunakan pengalaman sebelumnya untuk mengerjakan tugas-tugas yang diberikan. Berdasarkan pengalaman tersebut, tugas akan lebih cepat dikerjakan. Pada penerapannya menggunakan teknologi sistem cerdas atau sistem pakar.
5. Seleksi, yaitu sebuah metode yang akan mempercepat pengerjaan tugas dengan cara menyeleksi dan mengurutkan (sorting) dari nilai yang terbesar ke nilai yang terendah (decreasing). Setelah diurutkan kemudian dijumlahkan, hasilnya akan mendekati nilai totalnya.
6. Pre-Processing, yaitu sebuah metode untuk mempercepat pengerjaan tugas dengan cara menyiapkan hal-hal yang akan diproses sebelum waktu proses dimulai atau tugas belum datang. Proses lebih cepat karena sebagian tugas telah dikerjakan sebelum waktu proses dimulai.
7. Compression, yaitu metode untuk mempercepat pengerjaan tugas dengan cara mengompres data yang akan diolah. Jika data yang diolah adalah data terkompres, maka akan dihasilkan proses yang lebih cepat jika dibandingkan dengan data yang tidak terkompres. pada metode ini juga harus diperhatikan waktu yang dibutuhkan kompresi dan dekompresinya.
8. Hardware-isasi, yaitu metode untuk mempercepat proses pengerjaan tugas dengan cara meng-hardware-kan software yang dipakai dalam pengerjaan tugas. Meng-hardware-kan software berarti mengurangi beban pengolah dan berarti pula mempercepat kinerja pengolah sehingga dihasilkan pengerjaan yang cepat.
Real-Time System adalah sistem yang harus memperhatikan batasan terhadap waktu untuk merespon dan juga mempunyai konsekuensi terhadap resiko, misalnya kegagalan. Rentang real time mulai dari embedded microcontrollers yang kecil pada microwave oven sampai jaringan komunikasi global yang besar. Menurut Pressman real time software adalah sangat tergantung pada dunia luar, harus merespon pada masalah dunia nyata dalam batasan waktu.
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.
Hard real-time system 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 skenario ini sistem waktu nyata harus merespon kejadian dalam batas waktu yang telah ditentukan maka akan terjadi bencana. Sistem manajemen penerbangan merupakan sebuah contoh sebuah sistem waktu nyata sebagai sistem safety-critical. Contoh lainnya adalah sistem pengontrol mesin mobil. Disebut hard real-time system karena keterlambatan sinyal yang dikirim akan mengakibatkan kegagalan atau kerusakan. Hard real-time system biasanya berinteraksi pada tingkat rendah dengan hardware fisik, di embedded system (sistem yang ditempelkan). Sistem permainan video dahulu seperti Atari 2006 dan grafik vektor Cinematronics memiliki syarat dari hard real-time karena sifat dari hardware grafis dan waktu. Dalam konteks sistem multitasking, kebijaksanaan penentuan waktu diutamakan yang akan berangkat (penentuan waktu melalui pembelian yang lebih dahulu).
Algoritma penjadwalan lain termasuk tenggat terlama yang pertama, yang mengabaikan konteks ongkos tambahan peralihan, adalah sistem yang cukup untuk beban kurang dari 100%. Lembaran penutup baru sistem penjadwalan, seperti Penjadwal pembagian yang adaptif membantu dalam mengelola sistem yang besar dengan campuran aplikasi hard real-time dengan non real-time.
Soft real-time system menyediakan prioritas untuk mendahulukan proses yang menggunakan waktu nyata dari pada proses yang tidak menggunakan waktu nyata. Soft real-time sistem biasanya digunakan di mana ada beberapa masalah akses bersamaan dan kebutuhan untuk menyimpan sejumlah sistem terhubung yang up to date dengan perubahan situasi, misalnya perangkat lunak yang mengelola dan memperbarui rencana penerbangan pesawat komersial. Rencana penerbangan harus selalu layak, tetapi dapat mengoperasikan keterlambatan waktu beberapa detik. Live sistem audio-video juga biasanya soft real-time; karena pelanggaran audio dan video yang dipaksa dihasilkan dalam kualitas yang rendah, tetapi sistem dapat terus beroperasi. Contoh laina penerapan soft real time system dalam kehidupan sehari-hari adalah pada alat penjual/pelayan otomatis. Jika mesin yang menggunakan sistem ini telah lama digunakan, maka mesin tersebut dapat mengalami penurunan kualitas,misalnya waktu pelayanannya menjadi lebih lambat dibandingkan ketika masih baru. Keterlambatan pada sistem ini tidak menyebabkan kecelakaan atau akibat fatal lainnya, melainkan hanya menyebabkan kerugian keuangan saja. Jika pelayanan mesin menjadi lambat, maka para pengguna dapat saja merasa tidak puas dan akhirnya dapat menurunkan pendapatan pemilik mesin.Setelah batas waktu yang diberikan telah habis, pada sistem hard realtime,aplikasi yang dijalankan langsung dihentikan. Akan tetapi, pada sistem softreal-time, aplikasi yang telah habis masa waktu pengerjaan tugasnya,dihentikan secara bertahap atau dengan kata lain masih diberikan toleransi waktu.
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.
Pada aplikasi Real-Time, selain deadline, ada hal lain yanga harus dipertimbangkan yaitu masalah liveline. Liveline hampir sama dengan Deadline, yang membedakannya adalah Deadline merupakan batasan response time yang paling akhir dan biasanya tidak boleh terlanggar. Sedangkan Liveline merupakan batasan waktu yang paling awal (startline). Pada beberapa kasus, liveline dianggap sesuatu yang krusial atau penting. Waktu liveline biasanya adalah setelah release time, tapi kadang-kadang ada juga yang hampir sama dengan release time. Sama halnya dengan deadline, Liveline juga memiliki beberapa jenis, yaitu hard liveline, soft liveline dan ada juga liveline yang sama dengan release time.
Untuk hard liveline, selama sistem tersebut belum mencapai liveline, maka performansi sistem tersebut adalah useless. Dan jika sudah mencapai liveline, maka performansi sistem tersebut dikatakan perfect (selama tidak melanggar deadline dan tergantung juga pada jenis deadlinenya). Sedangkan untuk soft liveline, selama sistem tersebut belum mencapai liveline, maka performansinya akan memiliki 2 tahap yaitu useless dan increase. Dan jika sudah mencapai liveline maka performansinya akan perfect (selama tidak melanggar deadline dan juga tergantung pada jenis deadlinenya).
Pada penjadwalan yang menggunakan metode EDF (Earliest Deadline First) atau hanya menggunakan deadline untuk menentukan prioritas, ternyata masih ditemui beberapa kekurangan pada beberapa kasus penjadwalan. Oleh karena itu, untuk mengatasi kekurangan tersebut, maka metode EDF ini dimodifikasi dengan menambahkan liveline untuk penentuan prioritas, sehingga metodenya menjadi EDELF (Earliest Deadline Earliest Liveline First).
Contoh liveline pada dunia nyata adalah:Misalkan pada saat ujian matakuliah PTI yang dimulai pada pukul 08.00-10.00. Dari contoh tersebut dapat dilihat bahwa Livelinenya dimulai pada saat awal waktu pengerjaan yaitu pukul 08.00, sedang deadlinenya adalah pukul 10.00.
Sistem operasi waktu nyata tidak membutuhkan fitur penting (misalnya standar desktop dan sistem server 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.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.
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.
Pada aplikasi Real-Time, selain deadline, ada hal lain yanga harus dipertimbangkan yaitu masalah liveline. Liveline hampir sama dengan Deadline, yang membedakannya adalah Deadline merupakan batasan response time yang paling akhir dan biasanya tidak boleh terlanggar. Sedangkan Liveline merupakan batasan waktu yang paling awal (startline). Pada beberapa kasus, liveline dianggap sesuatu yang krusial atau penting. Waktu liveline biasanya adalah setelah release time, tapi kadang-kadang ada juga yang hampir sama dengan release time. Sama halnya dengan deadline, Liveline juga memiliki beberapa jenis, yaitu hard liveline, soft liveline dan ada juga liveline yang sama dengan release time.
Untuk hard liveline, selama sistem tersebut belum mencapai liveline, maka performansi sistem tersebut adalah useless. Dan jika sudah mencapai liveline, maka performansi sistem tersebut dikatakan perfect (selama tidak melanggar deadline dan tergantung juga pada jenis deadlinenya). Sedangkan untuk soft liveline, selama sistem tersebut belum mencapai liveline, maka performansinya akan memiliki 2 tahap yaitu useless dan increase. Dan jika sudah mencapai liveline maka performansinya akan perfect (selama tidak melanggar deadline dan juga tergantung pada jenis deadlinenya).
Pada penjadwalan yang menggunakan metode EDF (Earliest Deadline First) atau hanya menggunakan deadline untuk menentukan prioritas, ternyata masih ditemui beberapa kekurangan pada beberapa kasus penjadwalan. Oleh karena itu, untuk mengatasi kekurangan tersebut, maka metode EDF ini dimodifikasi dengan menambahkan liveline untuk penentuan prioritas, sehingga metodenya menjadi EDELF (Earliest Deadline Earliest Liveline First).
Contoh liveline pada dunia nyata adalah:Misalkan pada saat ujian matakuliah PTI yang dimulai pada pukul 08.00-10.00. Dari contoh tersebut dapat dilihat bahwa Livelinenya dimulai pada saat awal waktu pengerjaan yaitu pukul 08.00, sedang deadlinenya adalah pukul 10.00.
Sistem operasi waktu nyata tidak membutuhkan fitur penting (misalnya standar desktop dan sistem server 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.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.
Kernel Waktu NyataWaktu nyata merujuk pada bentuk aplikasi yang mengontrol proses dimana masalah waktu merupakan hal yang sangat penting. Sistem waktu nyata digunakan ketika ada persyaratan waktu yang ketat pada operasi di prosesor atau flow dari data; yang sering digunakan sebagai alat kontrol yang pada aplikasi yang terpisah.
Dengan kata lain, sebuah sistem waktu nyata tidak hanya perlu untuk menjalankan software melalui proses dengan benar, tapi juga perlu untuk menjalankannnya dalam waktu yang tepat, kalau tidak sistem akan gagal.
Fitur-fitur minimal yang dibutuhkan oleh sistem operasi yang mendukung sistem yang real time adalah:
1. Penjadwalan berdasarkan prioritas dan preemptif
2. Kernel preemptif
3. Latency yang minimal1. Penjadwalan berdasarkan prioritas dan preemptifFitur yg paling penting dari sebuah sistem operasi yg mendukung sistem waktu nyata adalah merespon dengan segera sebuah proses waktu nyata secepat proses yg membutuhkan CPU. Penjadwalan untuk sistem operasi waktu nyata harus mendukung penjadwalan berdasarkan prioritas dengan preemption. Algoritma penjadwalan berdasarkan prioritas memberikan prioritas kepada masing-masing proses berdasarkan tingkat kepentingannya; proses yang lebih penting diberikan prioritas lebih tinggi daripada proses lain yang dianggap kurang penting. Apabila penjadwalan yang digunakan juga mendukung preemption dan tersedia sebuah proses berprioritas tinggi, maka sebuah proses yang berjalan sekarang ini di CPU akan didahulukan. Penjadwalan ini hanya mendukung sistem waktu nyata lembut. Contoh sistem yang mengunakan penjadwalan ini adalah Solaris, Windows XP dan Linux.
2. Kernel preemptifKernel preemptif mengizinkan preemption pada sebuah proses yang berjalan di mode kernel. Implementasi dari kernel preemptif sangatlah sulit dan banyak aplikasi (spreadsheets, word processors, dan web browsers) tidak memerlukan response time yang cepat. Akan tetapi, untuk memenuhi persyaratan waktu pada sistem waktu nyata (terutama pada sistem waktu nyata keras) kernel preemptif menjadi sangat penting. Karena kalau tidak proses yang terdapat pada sistem waktu nyata mungkin akan menunggu dalam periode waktu yang sangat lama sampai ada proses lain yang aktif di kernel.
Ada beberapa cara untuk membuat kernel yang dapat preemptif. Salah satu pendekatannya adalah dengan menyisipkan preemption point pada system call yang berdurasi lama. Preemption point mengecek untuk melihat apakah proses dengan prioritas tinggi perlu untuk dijalankan atau tidak. Jika iya, context switch mengambil alih.
Maka, ketika proses dengan prioritas tinggi terminate, proses yang diinterupsi akan melanjutkan system call. Preemption point akan ditempatkan hanya pada lokasi aman pada kernel, yaitu pada tempat dimana struktur data kernel belum dimodifikasi. Strategi kedua adalah dengan membuat sebuah kernel yang dapat preemptif melalui penggunaan mekanisme sinkronisasi. Dengan metode ini, kernel dapat selalu didahulukan karena beberapa data kernel yang di-update adalah data kernel yang di lindungi dari perubahan yang disebabkan oleh proses yang memiliki prioritas tinggi.
3. Latency yang minimalEvent latensi merupakan sejumlah waktu dari sebuah event mulai terjadi sampai event tersebut dilayani. Biasanya event yang berbeda memiliki persyaratan latensi yang berbeda. Dua tipe latensi yang mempengaruhi performance dari sebuah sistem waktu nyata yaitu:
• Interrupt latencyberhubungan tentang periode waktu dari kedatangan sebuah interupsi pada CPU mulai pada routine yang melayani interupsi. Ketika interupsi terjadi, sistem operasi pertama kali harus melengkapi instruksi yang dieksekusinya dan menentukan tipe dari interupsi yang terjadi. Instruksi tersebut harus menyimpan state dari proses sekarang sebelum melayani interupsi menggunakan Interrupt Service Routine (ISR) tertentu. Waktu total yang dibutuhkan untuk melakukan task ini adalah interrupt latency.
• Dispatch LatencySejumlah waktu yang dibutuhkan untuk menghentikan sebuah proses dan melanjutkan proses yang lain disebut dispatch latency. Tahap konflik pada dispatch latency memiliki dua komponen yaitu: preemption pada beberapa proses yang berjalan di kernel dan pelepasan resources oleh proses prioritas rendah yang dibutuhkan oleh proses prioritas tinggi.
Dengan kata lain, sebuah sistem waktu nyata tidak hanya perlu untuk menjalankan software melalui proses dengan benar, tapi juga perlu untuk menjalankannnya dalam waktu yang tepat, kalau tidak sistem akan gagal.
Fitur-fitur minimal yang dibutuhkan oleh sistem operasi yang mendukung sistem yang real time adalah:
1. Penjadwalan berdasarkan prioritas dan preemptif
2. Kernel preemptif
3. Latency yang minimal1. Penjadwalan berdasarkan prioritas dan preemptifFitur yg paling penting dari sebuah sistem operasi yg mendukung sistem waktu nyata adalah merespon dengan segera sebuah proses waktu nyata secepat proses yg membutuhkan CPU. Penjadwalan untuk sistem operasi waktu nyata harus mendukung penjadwalan berdasarkan prioritas dengan preemption. Algoritma penjadwalan berdasarkan prioritas memberikan prioritas kepada masing-masing proses berdasarkan tingkat kepentingannya; proses yang lebih penting diberikan prioritas lebih tinggi daripada proses lain yang dianggap kurang penting. Apabila penjadwalan yang digunakan juga mendukung preemption dan tersedia sebuah proses berprioritas tinggi, maka sebuah proses yang berjalan sekarang ini di CPU akan didahulukan. Penjadwalan ini hanya mendukung sistem waktu nyata lembut. Contoh sistem yang mengunakan penjadwalan ini adalah Solaris, Windows XP dan Linux.
2. Kernel preemptifKernel preemptif mengizinkan preemption pada sebuah proses yang berjalan di mode kernel. Implementasi dari kernel preemptif sangatlah sulit dan banyak aplikasi (spreadsheets, word processors, dan web browsers) tidak memerlukan response time yang cepat. Akan tetapi, untuk memenuhi persyaratan waktu pada sistem waktu nyata (terutama pada sistem waktu nyata keras) kernel preemptif menjadi sangat penting. Karena kalau tidak proses yang terdapat pada sistem waktu nyata mungkin akan menunggu dalam periode waktu yang sangat lama sampai ada proses lain yang aktif di kernel.
Ada beberapa cara untuk membuat kernel yang dapat preemptif. Salah satu pendekatannya adalah dengan menyisipkan preemption point pada system call yang berdurasi lama. Preemption point mengecek untuk melihat apakah proses dengan prioritas tinggi perlu untuk dijalankan atau tidak. Jika iya, context switch mengambil alih.
Maka, ketika proses dengan prioritas tinggi terminate, proses yang diinterupsi akan melanjutkan system call. Preemption point akan ditempatkan hanya pada lokasi aman pada kernel, yaitu pada tempat dimana struktur data kernel belum dimodifikasi. Strategi kedua adalah dengan membuat sebuah kernel yang dapat preemptif melalui penggunaan mekanisme sinkronisasi. Dengan metode ini, kernel dapat selalu didahulukan karena beberapa data kernel yang di-update adalah data kernel yang di lindungi dari perubahan yang disebabkan oleh proses yang memiliki prioritas tinggi.
3. Latency yang minimalEvent latensi merupakan sejumlah waktu dari sebuah event mulai terjadi sampai event tersebut dilayani. Biasanya event yang berbeda memiliki persyaratan latensi yang berbeda. Dua tipe latensi yang mempengaruhi performance dari sebuah sistem waktu nyata yaitu:
• Interrupt latencyberhubungan tentang periode waktu dari kedatangan sebuah interupsi pada CPU mulai pada routine yang melayani interupsi. Ketika interupsi terjadi, sistem operasi pertama kali harus melengkapi instruksi yang dieksekusinya dan menentukan tipe dari interupsi yang terjadi. Instruksi tersebut harus menyimpan state dari proses sekarang sebelum melayani interupsi menggunakan Interrupt Service Routine (ISR) tertentu. Waktu total yang dibutuhkan untuk melakukan task ini adalah interrupt latency.
• Dispatch LatencySejumlah waktu yang dibutuhkan untuk menghentikan sebuah proses dan melanjutkan proses yang lain disebut dispatch latency. Tahap konflik pada dispatch latency memiliki dua komponen yaitu: preemption pada beberapa proses yang berjalan di kernel dan pelepasan resources oleh proses prioritas rendah yang dibutuhkan oleh proses prioritas tinggi.
https://guruinformatika.blogspot.co.id/makalah-sistem-waktu-nyata-real-time.html
Sistem Waktu Nyata
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 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.
Sementara 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.
http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch07s10.html
Sistem waktu nyata (Real Time Systems) ialah suatu sistem yang mengharuskan suatu komputasi selesai dalam jangka waktu tertentu. Jika komputasi ternyata belum selesai maka sistem dianggap gagal dalam melakukan tugasnya. Sistem waktu nyata memiliki dua model dalam pelaksanaannya: hard real time system dan soft real time system.
Hard real time system menjamin suatu proses yang paling penting dalam sistem akan selesai dalam jangka waktu yang valid. Jaminan waktu yang ketat ini berdampak pada operasi dan perangkat keras (hardware) yang mendukung sistem. Operasi M/K dalam sistem, seperti akses data ke storage, harus selesai dalam jangka waktu tertentu. Dari segi (hardware), memori jangka pendek (short-term memory) atau read-only memory (ROM) menggantikan hard-disk sebagai tempat penyimpanan data. Kedua jenis memori ini dapat mempertahankan data mereka tanpa suplai energi. Ketatnya aturan waktu dan keterbatasan hardware dalam sistem ini membuat ia sulit untuk dikombinasikan dengan sistem lain, seperti sistim multiprosesor dengan sistem time-sharing.
Soft real time system tidak memberlakukan aturan waktu seketat hard real time system. Namun, sistem ini menjamin bahwa suatu proses terpenting selalu mendapat prioritas tertinggi untuk diselesaikan diantara proses-proses lainnya. Sama halnya dengan hard real time system, berbagai operasi dalam sistem tetap harus ada batas waktu maksimum.
Aplikasi sistem waktu nyata banyak digunakan dalam bidang penelitian ilmiah, sistem pencitraan medis, sistem kontrol industri, dan industri peralatan rumah tangga. Dalam bidang pencitraan medis, sistem kontrol industri, dan industri peralatan rumah tangga, model waktu nyata yang banyak digunakan ialah model hard real time system. Sedangkan dalam bidang penelitian ilmiah dan bidang lain yang sejenis digunakan model soft real time system.
Menurut Morgan [MORG92], terdapat sekurangnya lima karakteristik dari sebuah sistem waktu nyata
• deterministik, dapat ditebak berapa waktu yang dipergunakan untuk mengeksekusi operasi.
• responsif, kapan secara pasti eksekusi dimulai serta diakhiri.
• kendali pengguna, dengan menyediakan pilihan lebih banyak daripada sistem operasi biasa.
• kehandalan, sehingga dapat menanggulangi masalah-masalah pengecualian dengan derajat tertentu.
• penanganan kegagalan, agar sistem tidak langsung crash.
http://tentangkomputerkita.blogspot.co.id/pengertian-sistem-waktu-nyata.html
2.2 Manajemen ProsesProses adalah program yang sedang di jalankan atau software yang sedang dilaksanakan termasuk sistem operasi yang disusun menjadi sejumlah proses sequential.Keberadaan sistem operasi dalam sistem komputer adalah sebagai perangkat lunak yang mempunyai tugas mengendalikan dan mengkoordinasikan seluruh hardware dan software sebagai sumber daya komputer sekaligus memberikan pelayanan kepada program aplikasi dan pemrogram untuk memudahkan pemanfaatan sumber dayanya. Proses sebagai suatu entitas yang dinamis mengandung sejumlah instruksi, data, program counter, kumpulan register serta stack yang berisi alamat memori. Proses juga dapat dikatak sebagai program yang sedang dieksekusi (program aplikasi / sistem operasi). Proses dapat dikatakan sebagai unit kerja terkecil yang secara individu memiliki sumber daya – sumber daya dan dijadwalkan oleh sistem operasi. Dengan demikian sistem operasi mempunyai kegiatan yang sangat kompleks dalam mengelola seluruh sumber daya dan memberikan pelayanan terhadap proses – proses sesuai kebutuhan. Kegiatan tersebut menjadikan sistem operasi membutuhkan suatu manajemen proses.
Beberapa Istilah yang berkaitan dengan Sistem Operasi
1. Multi programming (multitasking)Suatu komputer dikatakan berkemampuan multiprogramming jika komputer tersebut mampu melaksanakan tugas atau menjalankan sejumlah program secara bersama – sama. Untuk itu komputer memerlukan sistem operasi yang dapat mendukung komputer menjalankan tugas multiprogramming. Sistem Operasi Komputer yang dapat mendukung multiprogramming antara lain : MS Wondows 3.0, Windows 95, Windows 98, Windows 2000, Windows NT, Linux, OS/2.Bentuk multiprogramming misalnya : Satu Komputer dapat menjalankan program EXCEL untuk pengolahan table. Saat mengolah data dengan Excel, pemakai memainkan musik dari CD ROM. Sambil memperbaiki dokumen pemakai juga mencetak dokumen yang sudah jadi. Jadi tugas yang dapat dilaksanakan komputer tersebut yaitu : pencetakan dokumen, pengolahan data, dan bermusik. Program – program yang berjalan pada dasarnya mempunyai sifat : Independen yaitu suatu program yang dapat berjalan sendiri dan tidak tergantung oleh program lain.2. MultiprocessingKumpulan dari sejumlah microprosesor / pemroses yang melaksanakan satu tugas. Dalam hal ini sejumlah terminal komputer yang bersifat independen dapat melaksanakan tugas untuk menyelesaikan satu tugas. Contoh : Pengolahan data KPU yang bersifat terpusat di Jakarta dan dapat diakses dari seluruh jaringan di Indonesia. Super komputer sebagai mesin catur yang pernah bertarung dengan Grand Master Anatoly Karpov. Mainframe komputer yaitu komputer besar yang berisi prosesor yang banyak. Komputer sebagai central local pada jaringan telepon di Belanda.Sistem operasi yang mendukung tugas multiprocessing antara lain MS Windows, Novel Netware. Windows NT. 3. Distributed Processing/ ComputingManajemen banyak proses yang dapat dijalankan oleh sejumlah komputer yang tersebar (terdistribusi). Sistem operasi yang menjalankan tugas distribusi antaralain AMOEBA, MATCH, LINUX.2.3 Manajemen Memori Memori adalah pusat dari operasi pada sistem komputer modern. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. Instruksi ini menyebabkan penambahan muatan dari dan ke alamat memori tertentu. Bagian operating sistem yang mengatur memori disebut dengan memory manager. Pemakaian memori (manajemen memori dan organisasi) perlu dilakukan karena hal tersebut sangat mempengaruhi kinerja komputer, sehingga memiliki fungsi dan tugas penting dan kompleks yaitu berkaitan dengan :a. Memori utama sebagai sumber daya yang harus dialokasikasikan dan dipakai bersama di antara sejumlah proses yang aktif, sehingga dapat memanfaatkan pemroses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses.b. Upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputerFungsi manajemen memori :Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :1. Utilitas CPU meningkat.2. Data dan instruksi dapat diakses dengan cepat oleh CPU.3. Tercapai efisiensi dalam pemakaian memori yang terbatas.4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.5. Mengelola informasi yang dipakai dan tidak dipakai.6. Mengalokasikan memori ke proses yang memerlukan.7. Mendealokasikan memori dari proses telah selesai.8. Mengelola swapping atau paging antara memori utama dan disk.
Memori berdasarkan keberadaan swapping : 1. Manajemen tanpa swapping. Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi. 2. Manajemen dengan swapping. Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi.
Manajemen Memori Berdasarkan Alokasi Memoriterdapat dua cara menempatkan informasi ke dalam memori kerja
1. Alokasi Memori Berurutan (contigouos Allocation) - Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi memori yang berurutan. - Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat dieksekusi secara cepat. - Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang mencukupi.
2. Alokasi Memori Tak Berurutan (Non Contiguous Allocation) - Program / proses ditempatkan pada beberapa sagmen berserakan, tidak perlu saling berdekatan atau berurutan. biasanya digunakan untuk lokasi memori maya sebagai lokasi page-page. - Kelebihan : sistem dapat memanfaatkan memori utama secara lebih efisien, dan system operasi masih dapat menyisip protes bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi. - Kekurangan : memerlukan pengendalian yang lebih rumit dan memori jadi banyak berserakan tidak terpakai.
2.3 Manajemen Input Output Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Masukan/Keluaran I/O Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk I/O. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga membuat manajemen I/O menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat ( device). Menyediakan device driver yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis,menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk . Manajemen sistem I/O merupakan aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat- perangkat itu. Manajemen perangkat masukan/keluaran merupakan aspek perancangan sistem operasi terluas dan kompleks karena sangat beragamnya perangkat dan aplikasinya.Beberapa fungsi manajemen input/ouput (I/O) :a. Mengirim perintah ke perangkat I/O agar menyediakan layanan.b. Menangani interupsi perangkat I/O.c. Menangani kesalahan perangkat I/O.d. Menyediakan interface ke pemakai.Klasifikasi perangkat I/OPerangkat I/O dapat dikelompokkan berdasarkan :a. Sifat aliran datanya, yang terbagi atas :Ø Perangkat berorientasi blok. Yaitu menyimpan, menerima, dan mengirim informasi sebagai blok-blok berukuran tetap yang berukuran 128 sampai 1024 byte dan memiliki alamat tersendiri, sehingga memungkinkan membaca atau menulis blok-blok secara independen, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain. Contoh : disk,tape,CD ROM, optical disk.Ø Perangkat berorientasi aliran karakter. Yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa membentuk suatu struktur blok. Contoh : terminal, line printer, pita kertas, kartu-kartu berlubang, interface jaringan, mouse.b. Sasaran komunikasi, yang terbagi atas :.Ø Perangkat yang terbaca oleh manusia.
Perangkat yang digunakan untuk berkomunikasi dengan manusia. Contoh : VDT (video display terminal) : monitor, keyboard, mouse.Ø Perangkat yang terbaca oleh mesin.
Perangkat yang digunakan untuk berkomunikasi dengan perangkat elektronik. Contoh : Disk dan tape, sensor, controller.Ø Perangkat komunikasi.
Perangkat yang digunakan untuk komunikasi dengan perangkat jarak jauh. Contoh : Modem.Ada juga beberapa perangkat keras yang terdapat pada I/O manajemen yaitu :1. Pooling
Beberapa Istilah yang berkaitan dengan Sistem Operasi
1. Multi programming (multitasking)Suatu komputer dikatakan berkemampuan multiprogramming jika komputer tersebut mampu melaksanakan tugas atau menjalankan sejumlah program secara bersama – sama. Untuk itu komputer memerlukan sistem operasi yang dapat mendukung komputer menjalankan tugas multiprogramming. Sistem Operasi Komputer yang dapat mendukung multiprogramming antara lain : MS Wondows 3.0, Windows 95, Windows 98, Windows 2000, Windows NT, Linux, OS/2.Bentuk multiprogramming misalnya : Satu Komputer dapat menjalankan program EXCEL untuk pengolahan table. Saat mengolah data dengan Excel, pemakai memainkan musik dari CD ROM. Sambil memperbaiki dokumen pemakai juga mencetak dokumen yang sudah jadi. Jadi tugas yang dapat dilaksanakan komputer tersebut yaitu : pencetakan dokumen, pengolahan data, dan bermusik. Program – program yang berjalan pada dasarnya mempunyai sifat : Independen yaitu suatu program yang dapat berjalan sendiri dan tidak tergantung oleh program lain.2. MultiprocessingKumpulan dari sejumlah microprosesor / pemroses yang melaksanakan satu tugas. Dalam hal ini sejumlah terminal komputer yang bersifat independen dapat melaksanakan tugas untuk menyelesaikan satu tugas. Contoh : Pengolahan data KPU yang bersifat terpusat di Jakarta dan dapat diakses dari seluruh jaringan di Indonesia. Super komputer sebagai mesin catur yang pernah bertarung dengan Grand Master Anatoly Karpov. Mainframe komputer yaitu komputer besar yang berisi prosesor yang banyak. Komputer sebagai central local pada jaringan telepon di Belanda.Sistem operasi yang mendukung tugas multiprocessing antara lain MS Windows, Novel Netware. Windows NT. 3. Distributed Processing/ ComputingManajemen banyak proses yang dapat dijalankan oleh sejumlah komputer yang tersebar (terdistribusi). Sistem operasi yang menjalankan tugas distribusi antaralain AMOEBA, MATCH, LINUX.2.3 Manajemen Memori Memori adalah pusat dari operasi pada sistem komputer modern. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. Instruksi ini menyebabkan penambahan muatan dari dan ke alamat memori tertentu. Bagian operating sistem yang mengatur memori disebut dengan memory manager. Pemakaian memori (manajemen memori dan organisasi) perlu dilakukan karena hal tersebut sangat mempengaruhi kinerja komputer, sehingga memiliki fungsi dan tugas penting dan kompleks yaitu berkaitan dengan :a. Memori utama sebagai sumber daya yang harus dialokasikasikan dan dipakai bersama di antara sejumlah proses yang aktif, sehingga dapat memanfaatkan pemroses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses.b. Upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputerFungsi manajemen memori :Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :1. Utilitas CPU meningkat.2. Data dan instruksi dapat diakses dengan cepat oleh CPU.3. Tercapai efisiensi dalam pemakaian memori yang terbatas.4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.5. Mengelola informasi yang dipakai dan tidak dipakai.6. Mengalokasikan memori ke proses yang memerlukan.7. Mendealokasikan memori dari proses telah selesai.8. Mengelola swapping atau paging antara memori utama dan disk.
Memori berdasarkan keberadaan swapping : 1. Manajemen tanpa swapping. Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi. 2. Manajemen dengan swapping. Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi.
Manajemen Memori Berdasarkan Alokasi Memoriterdapat dua cara menempatkan informasi ke dalam memori kerja
1. Alokasi Memori Berurutan (contigouos Allocation) - Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi memori yang berurutan. - Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat dieksekusi secara cepat. - Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang mencukupi.
2. Alokasi Memori Tak Berurutan (Non Contiguous Allocation) - Program / proses ditempatkan pada beberapa sagmen berserakan, tidak perlu saling berdekatan atau berurutan. biasanya digunakan untuk lokasi memori maya sebagai lokasi page-page. - Kelebihan : sistem dapat memanfaatkan memori utama secara lebih efisien, dan system operasi masih dapat menyisip protes bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi. - Kekurangan : memerlukan pengendalian yang lebih rumit dan memori jadi banyak berserakan tidak terpakai.
2.3 Manajemen Input Output Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Masukan/Keluaran I/O Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk I/O. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga membuat manajemen I/O menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat ( device). Menyediakan device driver yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis,menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk . Manajemen sistem I/O merupakan aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat- perangkat itu. Manajemen perangkat masukan/keluaran merupakan aspek perancangan sistem operasi terluas dan kompleks karena sangat beragamnya perangkat dan aplikasinya.Beberapa fungsi manajemen input/ouput (I/O) :a. Mengirim perintah ke perangkat I/O agar menyediakan layanan.b. Menangani interupsi perangkat I/O.c. Menangani kesalahan perangkat I/O.d. Menyediakan interface ke pemakai.Klasifikasi perangkat I/OPerangkat I/O dapat dikelompokkan berdasarkan :a. Sifat aliran datanya, yang terbagi atas :Ø Perangkat berorientasi blok. Yaitu menyimpan, menerima, dan mengirim informasi sebagai blok-blok berukuran tetap yang berukuran 128 sampai 1024 byte dan memiliki alamat tersendiri, sehingga memungkinkan membaca atau menulis blok-blok secara independen, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain. Contoh : disk,tape,CD ROM, optical disk.Ø Perangkat berorientasi aliran karakter. Yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa membentuk suatu struktur blok. Contoh : terminal, line printer, pita kertas, kartu-kartu berlubang, interface jaringan, mouse.b. Sasaran komunikasi, yang terbagi atas :.Ø Perangkat yang terbaca oleh manusia.
Perangkat yang digunakan untuk berkomunikasi dengan manusia. Contoh : VDT (video display terminal) : monitor, keyboard, mouse.Ø Perangkat yang terbaca oleh mesin.
Perangkat yang digunakan untuk berkomunikasi dengan perangkat elektronik. Contoh : Disk dan tape, sensor, controller.Ø Perangkat komunikasi.
Perangkat yang digunakan untuk komunikasi dengan perangkat jarak jauh. Contoh : Modem.Ada juga beberapa perangkat keras yang terdapat pada I/O manajemen yaitu :1. Pooling
- Busy-waiting/ polling adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear.
- Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai.
- Ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapa informasi mengenai state terkini CPU–contohnya nilai instruksi pointer, dan memanggil interrupt handler agar handler tersebut dapat melayani controller atau alat yang mengirim interupsi tersebut.
- Fitur Tambahan pada Komputer Modern :
- Pada arsitektur komputer modern, tiga fitur disediakan oleh CPU dan interrupt controller (pada perangkat keras) untuk dapat menangani interrupsi dengan lebih bagus. Fitur-fitur ini antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama prosesi berada dalam critical state, efisiensi penanganan interupsi sehingga tidak perlu dilakukan polling untuk mencari device yang mengirimkan interupsi, dan fitur yang ketiga adalah adanya sebuah konsep multilevel interupsi sedemikian rupa sehingga terdapat prioritas dalam penanganan interupsi (diimplementasikan dengan interrupt priority level system).
- Interupsi dapat disebabkan berbagai hal, antara lain exception, page fault, interupsi yang dikirimkan oleh device controllers, dan system call Exception adalah suatu kondisi dimana terjadi sesuatu/ dari sebuah operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih, contoh nya pembagian dengan 0 (nol), pengaksesan alamat memori yang restricted atau bahkan tidak valid, dan lain-lain.
- System call adalah sebuah fungsi pada aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus berupa software interrupt atau trap.
- DMA adalah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO).
- Proses handshaking antara DMA controller dan device controller dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. Device controller mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan DMA controller memasukkan alamat-alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledge diterima, device controller mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request.
- Hal ini berlangsung berulang-ulang sehingga disebut handshaking. Pada saat DMA controller mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke DMA controller meningkatkan performa sistem secara keseluruhan.
Karakteristik Sistem Real-Time
Time Constraint, Setiap sistem dengan waktu nyata memiliki batasan waktu berupa waktu maksimum proses (akuisisi, transmisi, perekaman, perhitungan) dan standar waktu (waktu yang sama dengan waktu sehari-hari)
New Correction Criterion, Penilaian kebenaran real time system berbeda dengan system tradisional. Pada system real time, kinerja dinilai bukan hanya hasil proses atau produk tetapi juga dinilai berdasarkan penyelesaian task.
Embedded, Bagian dari embedded system karena tertanam pada system yang lebih besar. Pada system besar terdapat sensor yang membaca lingkungan kemudian di proses pada system real time dan hasilnya dikirimkan ke akumulator.
Safety-Critically, Pada system tradisional non real time masalah keamanan dan kehandalan merupakan dua hal yang terpisah, sedangkan pada system real time keduanya merupakan isu yang perlu mendapatkan perhatian serius.
Concurrency, Pada satu waktu real time perlu memproses beberapa sensor secara bersamaan. Demikian juga dalam hal aksi, pada saat bersamaan mengirimkan instruksi untuk dilaksanakan beberapa actuator secara bersamaan.
Distributed and Feedback Structure, Real time komponen yang berbeda terletak pada tempat yang terpisah. Sementara system real time menerima masukan dan beberapa sensor terpisah secara geografis, serta mengirimkan instruksi kepada actuator yang tempatnya berbeda.
Task Critically, Besarnya “cost” kegagalan system. Task critically ini merupakan ukuran seberapa lama waktu yang diberikan untuk menguji kinerja system.
Custom Hardware, Sebuah real time yang menginduk dari dari system hardware yang besar. Sehingga menghasilkan berbagai macam hardware dan aplikasi yang bermacam-macam.
Reactive, System real time yang selalu merespon terhadap lingkungan.
Stabil, Dalam berbagai kondisi real time system harus bisa menyelesaikan tugasnya dengan baik.
Exception Handling, Sistem real time yang bekerja tanpa operator maka system ini harus memiliki penanganan eror pada saat eksekusi program.
Contoh Aplikasi Real Time System :
Analisa :
Real Time System merupakan suatu sistem yang menghasilkan respon yang tepat dalam batas waktu yang telah ditentukan. Dimana pada Real Time System memiliki beberapa karakteristik diantara time constraint, new correction criterion, embedded, safety-critically, concurrency, distributed and feedback structure, task critically, custom hardware, reactive, stabil dan exception handling. Real Time System ini biasa terdapat dalam suatu perangkat Hardware ataupun perangkat software. Di dalam kehidupan sehari-hari kita menemukan aplikasi yang temasuk kedalam Real Time System, salah satu adalah penggunaan mesin ATM. Apabila pada saat kita menggunakan mesin ATM disana dibatasin waktu untuk masuk ke menu atm nya, sebagai contohnya ketika kita mau transfer uang dan pada saat input nomor rekening nya kita tidak boleh terlalu lama maka akan balik lagi ke menu input pin.
Time Constraint, Setiap sistem dengan waktu nyata memiliki batasan waktu berupa waktu maksimum proses (akuisisi, transmisi, perekaman, perhitungan) dan standar waktu (waktu yang sama dengan waktu sehari-hari)
New Correction Criterion, Penilaian kebenaran real time system berbeda dengan system tradisional. Pada system real time, kinerja dinilai bukan hanya hasil proses atau produk tetapi juga dinilai berdasarkan penyelesaian task.
Embedded, Bagian dari embedded system karena tertanam pada system yang lebih besar. Pada system besar terdapat sensor yang membaca lingkungan kemudian di proses pada system real time dan hasilnya dikirimkan ke akumulator.
Safety-Critically, Pada system tradisional non real time masalah keamanan dan kehandalan merupakan dua hal yang terpisah, sedangkan pada system real time keduanya merupakan isu yang perlu mendapatkan perhatian serius.
Concurrency, Pada satu waktu real time perlu memproses beberapa sensor secara bersamaan. Demikian juga dalam hal aksi, pada saat bersamaan mengirimkan instruksi untuk dilaksanakan beberapa actuator secara bersamaan.
Distributed and Feedback Structure, Real time komponen yang berbeda terletak pada tempat yang terpisah. Sementara system real time menerima masukan dan beberapa sensor terpisah secara geografis, serta mengirimkan instruksi kepada actuator yang tempatnya berbeda.
Task Critically, Besarnya “cost” kegagalan system. Task critically ini merupakan ukuran seberapa lama waktu yang diberikan untuk menguji kinerja system.
Custom Hardware, Sebuah real time yang menginduk dari dari system hardware yang besar. Sehingga menghasilkan berbagai macam hardware dan aplikasi yang bermacam-macam.
Reactive, System real time yang selalu merespon terhadap lingkungan.
Stabil, Dalam berbagai kondisi real time system harus bisa menyelesaikan tugasnya dengan baik.
Exception Handling, Sistem real time yang bekerja tanpa operator maka system ini harus memiliki penanganan eror pada saat eksekusi program.
Contoh Aplikasi Real Time System :
- Perekaman suara
- Pendeteksian sidik jari
- Penggunaan mesin ATM
- Proses isi ulang pulsa
- Penggunaan SMS
- Pengaturan temperatur blower
- Pemakaian microwave
Analisa :
Real Time System merupakan suatu sistem yang menghasilkan respon yang tepat dalam batas waktu yang telah ditentukan. Dimana pada Real Time System memiliki beberapa karakteristik diantara time constraint, new correction criterion, embedded, safety-critically, concurrency, distributed and feedback structure, task critically, custom hardware, reactive, stabil dan exception handling. Real Time System ini biasa terdapat dalam suatu perangkat Hardware ataupun perangkat software. Di dalam kehidupan sehari-hari kita menemukan aplikasi yang temasuk kedalam Real Time System, salah satu adalah penggunaan mesin ATM. Apabila pada saat kita menggunakan mesin ATM disana dibatasin waktu untuk masuk ke menu atm nya, sebagai contohnya ketika kita mau transfer uang dan pada saat input nomor rekening nya kita tidak boleh terlalu lama maka akan balik lagi ke menu input pin.
http://inuhaqi.blogspot.co.id/sistem-waktu-nyata.html
Komentar
Posting Komentar