Saya menemukan sebuah aplikasi bernama LatencyMon , yang ternyata melakukan pemantauan latensi.
Saya selalu mengerti bahwa semakin banyak beban yang Anda masukkan pada prosesor, semakin tidak responsif, atau lebih laten, sistem menjadi. Namun, di bagian kedua halaman LatencyMon, kalimat pertama mengatakan, "Windows bukan sistem operasi waktu nyata" (RTOS). Itu membuat saya berpikir. Maksud saya, apakah ini berbeda dari sistem operasi lain seperti Linux, Unix, atau Mac OS X?
Apakah ada sistem operasi "waktu nyata"? Atau itu hanya skema pemasaran untuk membuat Anda membeli produk mereka?
EDIT:
Juga, apakah ada contoh RTOS di luar sana?
Jawaban:
Wikipedia sebenarnya memiliki banyak info mengejutkan di sini.
Ini adalah sesuatu yang sangat sedikit dilakukan oleh sistem operasi, karena untuk banyak beban kerja itu kurang efisien. Tidak satu pun dari sistem operasi konsumen utama sekarang (atau setahu saya pernah) secara real-time. Sayangnya, itu memang berarti bahwa kadang-kadang hal-hal di lingkungan non-real-time harus duduk menunggu hal-hal lain. Ini hanya menjadi masalah ketika sesuatu tidak menghasilkan dalam jumlah waktu yang masuk akal, secara umum.
sumber
Sistem operasi Real Time sering digunakan untuk sistem embedded, di mana mereka mungkin bertanggung jawab untuk sesuatu seperti bimbingan atau pemantauan sistem. Hal utama yang perlu diingat tentang sistem waktu nyata (dan apa yang membedakannya dari sistem waktu tidak nyata) adalah bahwa dalam sistem waktu nyata, jika jawaban terlambat, itu salah. Anda dapat dengan mudah melihat bagaimana ini bekerja dengan memikirkan tentang menambahkan serangkaian angka di Excel (di mana jika operasi ditunda, tidak ada dampak nyata) dibandingkan menerapkan rem di mobil (di mana penundaan bisa menjadi bencana besar).
sumber
Pada dasarnya, RTOS dapat menjamin dapat melayani IRQ (permintaan interupsi) dalam jangka waktu tertentu (biasanya rendah). Sistem operasi standar tidak memiliki jaminan seperti itu.
Dalam kebanyakan sistem modern, sebagian besar perangkat dapat menghasilkan IRQ. Hal ini menyebabkan CPU untuk berhenti (yaitu terganggu) apa yang dilakukannya dan menjalankan program layanan interupsi. Idenya adalah bahwa program layanan ini melakukan apa pun yang dibutuhkan perangkat, yaitu mengeluarkan data dari perangkat dan ke dalam RAM, memberi tahu perangkat apa yang harus dilakukan selanjutnya, dll.
Pada x86, karena hanya memiliki 1 jalur IRQ pada CPU, ketika menerima interupsi, interupsi lebih lanjut secara otomatis dinonaktifkan (kecuali untuk NMI, RESET, dan SMI) sampai CPU mengakui sumber interupsi dan mengaktifkannya kembali. Jadi driver perangkat yang baik di bawah standar i386 / amd64 Windows akan melakukan pemrosesan minimal dalam keadaan ini, cukup sehingga tidak masalah untuk mengaktifkan kembali interupsi, dan kemudian menunda pemrosesan interupsi secara lengkap sampai nanti (karena sistem secara teknis hanya dapat melayani 1 interupsi per CPU) inti pada suatu waktu). Saya tidak yakin tetapi saya percaya Linux melakukan hal yang sama. Meskipun demikian, tidak ada jaminan yang keras dari waktu bahwa interupsi akan dilayani di bawah.
Untuk sebagian besar perangkat PC, seperti disk, keyboard, NIC, jika ada sedikit keterlambatan perbaikan IRQ mereka, tidak ada hal buruk yang akan terjadi selain dari kehilangan kinerja. Ini bisa menjadi masalah bagi perangkat seperti input audio dan video, di mana perangkat tidak buffer apa pun dan PC benar-benar harus mengikuti arus data yang masuk.
sumber