Jeffrey Cross
Jeffrey Cross

Projek SPARK # 1, Pos # 5

Penjadual ratcheting Shawn Schaffert

Sistem Operasi Masa Nyata?

Walaupun projek ini adalah tentang papan pemuka rumah pintar yang tidak semestinya mempunyai tugas-tugas yang kritikal, ia sangat mudah. Bagaimana jika awan menutupi panel solar, dan saya mahu meredakan lampu sebagai tindak balas. Saya tidak mahu perisian saya menunggu semua sensor suhu untuk menyelesaikan kemas kini sebelum menukar lampu. Untuk mengelakkan masalah yang berpotensi ini, saya mahu "Sistem Operasi Masa Nyata" untuk projek saya.

Sistem menggunakan pengawal tertanam sering dicirikan oleh keperluan untuk mempamerkan tingkah laku pengkomputeran masa nyata. Penting untuk memahami apa maksud ini dan bagaimana ia mempengaruhi pilihan perisian untuk digunakan dalam projek. Tidak ada yang berpendapat bahawa komputer telah semakin cepat dan lebih cepat selama bertahun-tahun. Pemacu keras, memori, kad video, dan kelajuan motherboard serta kadar jam terus meningkat dengan setiap perkakasan generasi baru. Ini bermakna pengguna boleh menjalankan aplikasi yang rumit tanpa perlu menunggu masa yang tidak munasabah, dan aplikasi mudah melaksanakan fungsi mereka dalam peningkatan masa yang kecil. Bagi kebanyakan aplikasi desktop, kelewatan kecil dalam pelaksanaan program adalah tidak dapat dikesan dan tidak penting. Tetapi bagaimana jika sebahagian aplikasi anda memantau butang berhenti kecemasan untuk mesin penggilingan CNC yang dibina di rumah anda? Anda memerlukan butang berhenti kecemasan untuk mematikan mesin dalam masa yang terjamin. Tidak mempunyai determinisme ini boleh mewujudkan situasi yang sangat berbahaya jika, katakan, tugas latar belakang seperti memainkan muzik atau menyimpan fail telah diambil alih oleh jalur lebar komputer. Anda menekan dan melepaskan berhenti kecemasan dan menonton dengan seram sebagai sedikit kilang anda terus menerus melalui bahagian anda.

Ia tidak mengambil CPU yang berkuasa atau pantas untuk memberikan respons tepat pada masanya kepada satu perubahan kecil dalam daftar I / O periferi. Sesiapa yang telah memprogramkan interrupt pelabuhan dalam mikrokontroler 8-bit mudah boleh memikirkan berapa lama ia akan mengambil untuk pemproses 8-bit untuk menangkap I / O mengganggu dan memanggil kod untuk bertindak balas terhadap peristiwa itu. Dengan sistem pengendalian PC seperti OSX, Windows, dan Linux, ada keupayaan untuk melaksanakan thread "real-time", tetapi keupayaan ini sering dilaksanakan dengan mengatasi perilaku normal sistem operasi dengan menggunakan add-on sistem operasi untuk mencapai kemampuan ini . Sistem operasi ini direka untuk menjadi alat tujuan umum yang berkesan untuk menjalankan pelbagai aplikasi dan berinteraksi dengan banyak peranti perkakasan pihak ketiga, tetapi mereka tidak direka untuk mempunyai tingkah laku yang tepat masa, deterministik.

Sistem operasi real-time sebenar (RTOS) direka bentuk dengan ciri-ciri sedemikian rupa sehingga program boleh dipecah menjadi tugas yang berjalan pada jadual tetap, dan peristiwa tak segerak, seperti butang tekan kecemasan kilang CNC, akan mempunyai maksimum yang dijamin latensi sebelum mereka melaksanakan. Anda boleh menulis satu program untuk menukar satu pin I / O pada 5 kHz dan satu lagi pada 1 kHz dengan jitter yang minimum, atau program respon butang berhenti kecemasan untuk mematikan motor kilang CNC anda dalam 1 milisekon yang dijamin.

Lihat senarai sistem operasi masa nyata dan cari tahu mengenai Windows Embedded CE 6.0 R2 di sini.


SPARKI Imaginasi Anda Membuat: Siri projek Windows Terbenam ditaja oleh Microsoft Corporation.

Kongsi

Meninggalkan Komen