Linux ядросы үшін RTAI – нақты уақыт кеңейтімдері. Қатаң уақыт талаптары бар қосымшалар жасауға, түрлі архитектураларды қолдайды. Жақсырақ бағдарламалау үшін!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Linux ядросы үшін нақты уақыт кеңейтуі
Real time extension for the Linux kernel
Нақты уақыт қолданба интерфейсі (RTAI) – Linux ядросы үшін жасалған нақты уақыт кеңейтуі, ол пайдаланушыларға Linux үшін қатаң уақыт талаптары бар қолданбаларды жазуға мүмкіндік береді. Linux сияқты, RTAI бағдарламалық жасақтамасы да қауымдық күшпен жасалған. RTAI үзілістерге детерминистік жауап береді, POSIX стандартына сәйкес келеді және RTAI-ге тән нақты уақыт тапсырмаларын қолдайды. RTAI бірнеше архитектураны қолдайды, оның ішінде IA 32 (FPU және TSC қолданыспен және қолданбастан), x86 64, PowerPC, ARM (StrongARM және ARM7: clps711x отбасы, Cirrus Logic EP7xxx, CS89712, PXA25x) және MIPS. RTAI негізінен екі бөліктен тұрады: аппараттық абстракция қабатын енгізетін Linux ядросына арналған Adeos негізіндегі түзету және нақты уақыт бағдарламашыларының жұмысын жеңілдететін кең ауқымды қызметтер. RTAI 3.0 нұсқасынан бастап, x86 архитектурасында сәл өзгертілген Adeos ядролық түзетуін пайдаланады, бұл қосымша абстракцияны қамтамасыз етеді және "түзетілген" операциялық жүйеге тәуелділікті азайтады. Adeos – бұл әртүрлі операциялық жүйе домендері үзіліс басқарушыларын тіркейтетін үзіліс құбырынан тұратын ядролық түзету. Осылайша, RTAI барлық басқа процестерді Linux-қа қалдыра отырып, үзілістерді толығымен өз бақылауына алады. Adeos-ты пайдалану RTAI-ді RTLinux жобасының патенттік шектеулерінен босатады.
Real time application interface (RTAI) is a real time extension for the Linux kernel, which lets users write applications with strict timing constraints for Linux. Like Linux itself the RTAI software is a community effort. RTAI provides deterministic response to interrupts, POSIX compliant and native RTAI real time tasks. RTAI supports several architectures, including IA 32 (with and without FPU and TSC), x86 64, PowerPC, ARM (StrongARM and ARM7: clps711x family, Cirrus Logic EP7xxx, CS89712, PXA25x), and MIPS. RTAI consists mainly of two parts: an Adeos based patch to the Linux kernel which introduces a hardware abstraction layer, and a broad variety of services which make lives of real time programmers easier. RTAI versions over 3.0 use an Adeos kernel patch, slightly modified in the x86 architecture case, providing additional abstraction and much lessened dependencies on the "patched" operating system. Adeos is a kernel patch comprising an Interrupt Pipeline where different operating system domains register interrupt handlers. This way, RTAI can transparently take over interrupts while leaving the processing of all others to Linux. Use of Adeos also frees RTAI from patent restrictions caused by RTLinux project.
RTAI-XML
RTAI XML — RTAI-дың серверлік компоненті, нақты уақыт (RT) басқару бағдарламаларын жобалау және әзірлеуге қызмет көрсетуге бағытталған тәсілді іске асырады. Бұл жоба университет тобының қажеттіліктерін қанағаттандыру мақсатымен туды, басты назар студенттерге өз бағдарламаларын қашықтан, Интернет арқылы сынауға мүмкіндік беретін, басқару жүйелерін оқытуға арналған икемді платформаны құруға бағытталды. Алғашқы арман-тілектерден бас тартып, нақты іске асыруға көшу RTAI XML-дің альфа нұсқасын жасады, ол бағдарламалау логикасындағы қатты және жұмсақ нақты уақыт тапсырмаларын бөліп қарастырудың негізгі идеясының әлеуетін көрсетті. Студенттердің RT процесін бұзбауын қамтамасыз ету үшін қажетті жағдай қазір жаңа RTAI парадигмасына айналуда. RTAI XML серверлік компоненттен тұрады, ол кіріс шақыруларды күтетін және нақты уақыт процесінің, Target-тің іске қосылған (немесе дайын) күйдегі қорапта орналасқан. Жалпы клиенттік бағдарлама, Host, TCP/IP желісі арқылы серверге XML негізіндегі стандартты протокол арқылы қол жеткізе алады, соның арқасында Target-пен өзара әрекеттеседі, RT процесінің күйін бақылау үшін, жүйе жинаған (немесе жасаған) сигналдарды көру үшін, сондай-ақ RT параметрлерін (мысалы, PID кері байланыс тізбегінің коэффициенттерін) алу және өзгерту үшін. Басқаша айтқанда, RTAI XML басқару бағдарламаларын қашықтан басқаруға қарапайым жол ұсынады, RTAI жобасына икемділік қосады, ашық және стандартты іске асырудың негізгі мүмкіндіктерін жоғалтпайды. Осы сайттың RTAI XML бөлімі іске асырудың толық мәліметтерін ұсынады. Жалпы архитектура үш негізгі компонентке – Серверге, Сервердің Target интерфейсіне және Сервердің Host байланысына назар аудару үшін қайта қарастырылды. Қолданбалар бөлімінде RTAI XML негізіндегі басқару жүйелерінің мысалдары келтірілген, ал Сілтемелер бөлімінде осы тақырып бойынша қосымша оқу үшін пайдалы кеңестер мен сілтемелер бар.
RTAI XML is a server component of RTAI, implementing a service oriented way to design and develop real time (RT) control applications. This project was born to fulfill the needs of a university group, mainly focused to have a flexible platform for learning control systems design, allowing the students to test their programs remotely, over the Internet. Leaving the first wishful thinking and going to the real implementation gave rise to the alpha version of RTAI XML, that showed the potential impact of the basic idea of a net separation of hard and soft real time tasks in the programmation logic. What was necessary to assure that students could not crash the RT process, is now becoming a new RTAI paradigm. RTAI XML consists of a server component waiting for incoming calls on a box where a real time process, the Target, is running (or ready to). A generic client program, the Host, can reach the server through the TCP/IP network, using a standard protocol based on XML, and hence interact with the Target, in order to monitor the status of the RT process, to see the signals collected (or generated) by the system and also to fetch and change the RT parameters (for example, the gains of a PID feedback ring). In other words, RTAI XML provides a simple way towards remoting of control applications, adding flexibility to the RTAI project, without losing the key features of an open and standard implementation. The RTAI XML section of this site presents the details of the implementation. The general architecture is revised, in order to focus the three key components, the Server, the Server Target interface and the Server Host communication. The Applications section contains some examples of control systems based on RTAI XML and the References section contains hints and links for further readings on this topic.