Real vaxt əməliyyat sistemləri üçün beynəlxalq standartlar. Os rv aviasiya xidmətində. OSRP üçün tələblər

Salam, Habr!
Bu gün mən real vaxt əməliyyat sistemi (RTOS) kimi maraqlı bir şey haqqında danışacağam. Bunun təcrübəli proqramçılar üçün maraqlı olub-olmayacağından əmin deyiləm, amma yeni başlayanların xoşuna gələcəyini düşünürəm.

RTOS nədir?

Vikipediyaya baxsaq, 4 tərif görərik.
Qısaca desək, RTOS müəyyən bir müddət ərzində xarici hadisələrə cavab verən əməliyyat sistemidir. Buradan biz RTOS-un əsas məqsədini başa düşə bilərik - hadisələrə tez reaksiya tələb edən qurğular (lakin heç bir halda RTOS-un işini fasilələrlə qarışdırmayın).

Niyə bizə lazımdır?

Bunun kifayət qədər səbəbləri var.
Birincisi, RTOS multitasking, semafor proses prioritetləri və daha çoxunu dəstəkləyir.
İkincisi, çox yüngüldür və demək olar ki, heç bir resurs tələb etmir.
Üçüncüsü, yuxarıda göstərilənlərin hamısını demək olar ki, hər hansı bir aparatda əldə edə bilərik (məsələn, FreeRTOS hətta 8 bitlik AtMega-da da işləyir).
Və dördüncü: sadəcə oynayın və əylənin.

3 tanınmış RTOS-un nəzərdən keçirilməsi.

Diqqət edin: bunlar mənim şəxsi fikrimdir.
FreeRTOS
Bu gün ən populyar RTOS-lardan biridir. Böyük miqdarda hardware üçün ötürülür. Rəsmi sayt.
pros
1) Pulsuz
2) daşındı çoxlu sayda vəzi
3) Güclü funksionallıq
4) Müxtəlif kitabxanalar var: qrafika, internet və s.
5) Yaxşı sənədlər.
Minuslar
1) Yeni aparatlara keçid olduqca mürəkkəb bir prosesdir.

Nəticə: Bu, yaxşı sənədləri olan həqiqətən peşəkar RTOS-dur. Bir başlanğıc üçün onun aparatında artıq bir liman varsa, yaxşı olar.

KeilRTX
Son vaxtlara qədər bu RTOS kommersiya idi, lakin bu yaxınlarda açıq mənbəyə çevrildi. Yalnız üzərində işləyir qol memarlığı. Rəsmi sayt.
pros
1) Pulsuz
2) Asanlıqla yeni aparata köçürülür (qol arxitekturası daxilində).
3) Müxtəlif kitabxanalar var: qrafika, internet və s.
Minuslar
1) Keil-də onunla işləmək demək olar ki, mümkün deyil
2) Bir qədər azaldılmış funksionallıq
3) Yalnız qol dəstəklənir.
4) (şəxsi təcrübədən) Sürət baxımından bir çox RTOS-a uduzur.
Nəticə: başlanğıc və kiçik layihələr üçün idealdır.
uc/os
Güclü kommersiya RTOS. Veb sayt.
pros
1) Çox sayda funksiya və kitabxana.
2) Çoxlu dəmiri dəstəkləyir
Minuslar
1) Kommersiya.
2) İstifadəsi çətindir.

Nəticə: bir başlanğıc üçün onu RTOS adlandırmaq bir uzanmadır.

Digər maraqlı RTOS

Adi Linux-a əsaslanan RTLinux RTOS.
Unix əsasında QNX RTOS.

RTOS-dan istifadə edərək inkişafın xüsusiyyətləri

Yaxşı, ilk növbədə, aşağıdakıları başa düşməlisiniz: RTOS Windows deyil. Onu quraşdırmaq mümkün deyil. Bu sistem sadəcə proqramınızla birlikdə tərtib edilir.
RTOS ilə proqramlar yazarkən adi mənada funksiyalardan istifadə edilmir. Funksiyalar əvəzinə proseslər (və ya tapşırıqlar) istifadə olunur, fərq, funksiyalardan fərqli olaraq, proseslərdir sonsuz döngələr və heç vaxt bitməz (kimsə və ya özü onu öldürməsə - yəni yaddaşdan boşaltmasa).
Bir neçə proses işə salınarsa, RTOS onları dəyişdirir, növbə ilə maşın vaxtını və resurslarını təmin edir. Prosesin prioriteti konsepsiyası burada yaranır - əgər iki proses eyni vaxtda maşın vaxtına ehtiyac duyursa, RTOS onu daha yüksək prioritet olana verəcəkdir.
RTOS-da var xüsusi funksiyalar gecikmələr - beləliklə, bir proses gecikdirilərkən, ikincisi işləyərkən vaxt itməsin.
İndi semafor kimi bir şey haqqında danışaq - bu, bir prosesin tətbiq resurslarına çıxışını idarə edən bir şeydir. Hər bir resurs üçün bir marker var - proses resursa ehtiyac duyduqda onu götürür və bu resursdan istifadə edir. Heç bir nişan yoxdursa, proses geri qaytarılana qədər gözləməli olacaq. Sizə bir misal verim: müxtəlif proseslər bir UART üzərindən məlumat göndərin. Semafor olmasaydı, o zaman növbə ilə bayt göndərərdilər və çaşqınlıq olardı. Beləliklə, ilk proses UART-da işarəni götürdü, bir mesaj göndərdi və ikinciyə verdi (və s. ad infinitum).

Əlavə RTOS kitabxanaları.

RTOS tez-tez işləmək üçün müxtəlif kitabxanalar təklif edir, məsələn, qrafika, İnternet və s. Onlar həqiqətən rahatdır və onlardan istifadə etməkdən çəkinməməlisiniz. Ancaq unutmayın ki, onların yazıldığı RTOS olmadan onlar işləməyəcəkdir.
Budur nümunələr:
RTX üçün

Real Time ƏS (RTOS) müəyyən bir müddət üçün müəyyən bir imkana zəmanət verən ƏS-dir. Məsələn, bir obyektin montaj xəttindəki robot üçün əlçatan olduğunu göstərmək üçün tərtib edilə bilər. Belə qabıqlar "sərt" və "yumşaq" olaraq təsnif edilir.

Çətin real vaxt əməliyyat sistemləri nəzərdə tutur ki, obyekt təyin olunmuş müddət ərzində mövcud olmadıqda hesablama aparıla bilməz (belə əməliyyat uğursuz olacaq).

Yumşaq real vaxt əməliyyat sistemində montaj xətti bu şərtlər altında işləməyə davam edəcək, lakin istehsal daha aşağı ola bilər, çünki obyektlər planlaşdırılan vaxtda mövcud ola bilmir və bu, robotun müvəqqəti olaraq məhsuldar olmamasına səbəb olur.

Real vaxt rejimində işləyən əməliyyat sistemlərinə nümunələr verməzdən əvvəl onların istifadə xüsusiyyətlərini başa düşmək lazımdır. Bəzi belə OS üçün yaradılmışdır xüsusi tətbiq, digərləri - daha ümumi məqsədlər üçün. Bundan əlavə, bəzi ümumi təyinatlı mərmilər də bəzən real vaxtda işləmək üçün istifadə olunur. Tanınmış Windows 2000 və ya IBM Microsoft/390 bu növü yerinə yetirə bilər. Yəni, ƏS bəzi tələblərə cavab verməsə belə, onun real vaxt rejimində konkret proqram probleminin həlli kimi baxılmasına imkan verən xüsusiyyətlərə malik ola bilər.

Əməliyyat sistemlərinin nümunələri və onların xüsusiyyətləri

Ümumiyyətlə, real vaxt aşağıdakı xarakterik xüsusiyyətlərə malikdir:

  • Multitasking.
  • Prioritet verilə bilən texnoloji axınlar.
  • Kifayət qədər sayda kəsmə səviyyəsi.

Real vaxt rejimində əməliyyat sistemləri tez-tez mikrodevice formatında istifadə olunan kiçik daxili qabıqların bir hissəsi kimi istifadə olunur. Beləliklə, bəzi ləpələri real vaxt rejimində tək tapşırıqlı əməliyyat sistemləri (məsələn: İOS, Android və s.-də nüvələr) hesab etmək olar. Bununla belə, onlar nəzərdə tutulan vəzifələri yerinə yetirmək üçün sürücülər kimi digər cihaz komponentlərini tələb edirlər. Buna görə tam hüquqlu, bir qayda olaraq, yalnız bir nüvədən daha çoxdur.

RTOS tətbiqinin tipik nümunəsi HDTV qəbuledicisi və ekranıdır. Oxumalıdır rəqəmsal siqnal, onu deşifrə edin və gələn məlumat kimi göstərin. İstənilən gecikmə pikselli video və/və ya təhrif edilmiş audio kimi nəzərə çarpacaq.

Eyni zamanda, "bu tip əməliyyat sistemlərinə nümunələr verin" sorğusu verildikdə, ən məşhur adlar nəzərdə tutulur. Bu qrupa nə daxildir?

WindRiver-dan VxWorks

VxWorks real-vaxt əməliyyat sistemidir, istifadə edərək mülkiyyət proqramı kimi hazırlanmışdır WindRiver şirkəti. İlk dəfə 1987-ci ildə buraxılan VxWorks əvvəlcə real vaxt və deterministik performans tələb edən daxili sistemlərdə istifadə üçün nəzərdə tutulmuşdu. Beləliklə, bu tip əməliyyat sistemlərinin nümunələri təhlükəsizlik və təhlükəsizlik, müxtəlif sənaye sahələrində (xüsusilə aerokosmik və müdafiə), tibbi cihazların istehsalı, sənaye avadanlıqları, robot texnikası, enerji, nəqliyyatın idarə edilməsi, şəbəkə infrastrukturu, avtomobil və məişət elektronikasının təkmilləşdirilməsi.

VxWorks Intel (x86, o cümlədən yeni variant IntelQuarkSoC və x86-64), MIPS, PowerPC, SH-4 və ARM arxitekturası. Bu RTOS güclü bir nüvə ilə gəlir, aralıq proqram təminatı, ödənişli əlavə paketlər və üçüncü tərəf aparat texnologiyaları üçün dəstək. Ən son buraxılışında - VxWorks 7 - sistem modulluq və təkmilləşmə üçün yenidən işlənib ki, ƏS nüvəsi ara proqram, proqramlar və digər paketlərdən ayrı saxlanılsın.

QNX Neytrinosu

Həmçinin bu tip əməliyyat sistemlərinin klassik nümunələri Unix-ə bənzər qabıqlardır. Bu, ilk olaraq 1980-ci illərin əvvəllərində Kanadanın Quantum Software Systems şirkəti tərəfindən hazırlanmış QNX Neutrinodur. Nəhayət, inkişaf 2010-cu ildə BlackBerry tərəfindən alınıb. QNX, avtomobillər və mobil telefonlar da daxil olmaqla, müxtəlif cihazlarda istifadə olunan, kommersiya baxımından uğurlu olan ilk mikrokernel əməliyyat sistemlərindən biridir.

FreeRTOS

FreeRTOS, 35 mikro nəzarətçi ilə yüklənmiş quraşdırılmış qurğular üçün məşhur real vaxt nüvəsi ƏS-dir. O, əlavə məhdudiyyətlər və isteğe bağlı istisnalar ilə GPL altında lisenziyalaşdırılıb. Məhdudiyyət müqayisəni qadağan edir, istisna isə icazə verir öz kodu kernel özünü qoruyarkən qapalı mənbə kodu ilə birlikdə istifadəçilər. Bu, FreeRTOS-u öz proqramlarınızda istifadə etməyi asanlaşdırır.

Windows CE

Quraşdırılmış Windows Compact, Windows Embedded məhsullar ailəsinin bir hissəsi kimi Microsoft Corporation tərəfindən hazırlanmış əməliyyat sisteminin alt ailəsidir. Windows NT-yə əsaslanan Windows Embedded Standard-dan fərqli olaraq, bu nümunə əməliyyat sistemləri eksklüziv hibrid nüvədən istifadə edir. Microsoft Windows CE lisenziyalarını təmin etməklə öz istifadəçi interfeyslərini fərdiləşdirə və yarada bilən OEM-lərə təqdim edir texniki baza bunun üçün.

Proqram məhsulları və sistemləri No 4, 2001 zibil kolleksiyasi. Texniki hesabat, Texas Universiteti, Austin, 1993. 3. Kim T., Chang N., Kim N., Shin H. Scheduling Garbage Collector for Embedded Real-Time Systems. Texniki hesabat, Seul Milli Universiteti. 4. Real vaxt spesifikasiyası Java üçün. http://www.rtj.org. 5. Beynəlxalq J konsorsiumunun spesifikasiyası. Real vaxtda əsas genişlənmələr. www.j-consortium.org. 6. Nikiforov V.V., Danilov M.V. Real vaxt rejimində proqram təminatı sisteminin spesifikasiyalarının statik işlənməsi. //Proqram məhsulları və sistemləri.- 2000.- No 4.- S. 13-18. 7. Henriksson R. Daxili sistemlərdə zibil yığılmasının planlaşdırılması. Lund, 1998. 8. Nilsen K., Lee S. PERC real vaxt API. NewMonics Inc., 1997. 9. Wilson P.R., Johnstone M.S., Neely N., Boles D. Dinamik yaddaşın ayrılması: sorğu və tənqidi baxış. Texniki hesabat, Texas Universiteti, Austin, 1995. REAL VAXTDA ƏMƏLİYYAT SİSTEMİ ÜÇÜN OSEK/VDX BEYNƏLXALQ STANDART M.P. Çervinski Müasir avtomobillərin konstruksiyalarının təkmilləşdirilməsi tendensiyalarından biri daxili kompüter sistemlərinin getdikcə daha çox tətbiq edilməsidir. Müvafiq olaraq, real vaxt rejimində avtomobil proqramlarının - bu sistemlərin işləməsini təmin edən proqram məhsullarının istehsalının həcmi artır. İstehsal həcminin artımı proqram təminatının işlənib hazırlanması üçün son tarixlərin sərtləşdirilməsi, onların maya dəyərinin aşağı salınması tələbləri, eyni zamanda yeni məhsulların hazırlanması zamanı etibarlılığın, daşınma qabiliyyətinin və təkrar istifadənin yaxşılaşdırılması ilə müşayiət olunur. Bu amillər memarlıq və texnoloji həlləri tənzimləyən standartların işlənib hazırlanmasını stimullaşdırır. şəbəkə interfeysləri avtomobil real vaxt proqramları üçün. Bu cür standartlar müxtəlif proqram təminatçıları tərəfindən istehsal olunan proqram məhsullarını inteqrasiya etmək qabiliyyətini artırmalıdır. Böyük avtomobil istehsalı konsernləri də (Chrysler, BMW, Volkswagen və başqaları) belə standartların tətbiqində maraqlıdırlar, istifadə etdikləri proqram məhsulları üçün bazarda rəqabət yaratmağa çalışırlar, çünki rəqabət onlara satın almağa imkan verir. proqram məhsullarıən yaxşı qiymət/keyfiyyət nisbətini təklif edən təchizatçılar. Təchizatçıların dəyişdirilməsi proqramların əhəmiyyətli bir hissəsinin yenidən işlənməsi zərurəti ilə nəticələnməməsini təmin etmək üçün istehsalçılar bütün proqram təminatçıları tərəfindən standartların istifadəsini tələb edirlər. Nəqliyyat vasitələrində istifadə edilən quraşdırılmış sistemlərin əksəriyyəti tətbiqlərdir çətin real vaxt. Onlarda baş verən hadisələrin işlənməsi ciddi müddətlərlə məhdudlaşır, onların pozulması fəlakətli nəticələrə səbəb ola bilər. Hal-hazırda, real vaxt rejimində avtomobil tətbiqləri yaratmaq üçün istifadə olunan əsas texnologiya və xüsusən, çətin tətbiqlər real vaxt, nüvənin və ya real vaxt əməliyyat sisteminin (RTOS) istifadəsinə çevrilir. RTOS, proqram tərtibatçılarına tapşırıqların düzgün prioritetləşdirilməsi və tətbiqin düzgün tərtib edilməsi şərti ilə bütün sistemin əməliyyat dövrü ərzində tətbiqin funksionallığına zəmanət verməyə imkan verir. RTOS əsasında avtomobil tətbiqlərinin standartlaşdırılması ehtiyacı 1995-ci ildə OSEK/VDX layihəsini həyata keçirən beynəlxalq komitənin yaradılmasına səbəb oldu. beynəlxalq standartlar inkişafını tənzimləyir proqram təminatı avtomobillərə quraşdırılmış kompüter sistemləri üçün. OSEK/VDX layihəsinin təşəbbüskarı Avropanın bir qrup aparıcı avtomobil (avtomobil) istehsalçılarıdır və onların əksəriyyəti Almaniyada yerləşir. Buna görə də seçilmiş OSEK abbreviaturası almanca “Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug” adının abreviaturasıdır - “ Açıq sistemlər və avtomobil elektronikası üçün interfeyslər." VDX abbreviaturası "Vehicle Distributed Executive" deməkdir - inteqrasiya OSEK layihəsinin başlanğıcı ilə demək olar ki, eyni vaxtda baş verən başqa bir layihənin adı. Beləliklə, hətta layihənin adı və standartlar seriyası Alman istehsalçılarının bəzi üstünlükləri ilə inkişafın beynəlxalq xarakterini əks etdirir. OSEK/VDX layihəsi çərçivəsində bir sıra standartlar hazırlanır. 1. OSEK/VDX ƏS (Əməliyyat Sistemi) – RTOS spesifikasiyası. Spesifikasiya ƏS arxitekturasının təsvirini, proqramın istifadə etməli olduğu ƏS proqramlaşdırma interfeysinin tərifini, ƏS və onun komponentlərinin davranışının ətraflı təsvirini ehtiva edir. Qeyd etmək lazımdır ki, standart mahiyyətcə real vaxt nüvəsinin arxitekturasını və funksiyalarını müəyyən edir, nəinki tam hüquqlu ƏS deyil, çünki o, məsələn, giriş/çıxış idarəetmə alt sistemi və ya bir sistem kimi vacib ƏS komponentlərini ehtiva etmir. yaddaş paylama alt sistemi. 2. OSEK/VDX COM (Rabitə) – şəbəkə alt sisteminin spesifikasiyası. Spesifikasiya qovşaqlar arasında məlumat ötürmək üçün nəzərdə tutulmuş proqram interfeyslərini və protokollarını - Proqram məhsulları və sistemləri müəyyən edir nəqliyyat vasitəsi. Müasir avtomobildə məlumat mübadiləsi aparan bir neçə onlarla mikrokontroller var. Tipik olaraq, ən azı iki alt şəbəkə istifadə olunur: mühərrik, transmissiya və asma idarəetmə sistemləri üçün yüksək sürətli və kuzov elektronikası üçün aşağı sürətli. Proqram interfeysi məlumatların şəffaf ötürülməsini təmin edir, yəni həm qovşaq daxilində, həm də şəbəkə qovşaqları arasında mesaj mübadiləsi üçün vahid funksiyalar dəsti istifadə olunur. Spesifikasiya ümumilikdə istifadəçiləri yerli avtomobil şəbəkəsi yaratmaq üçün bütün lazımi alətlərlə təmin etsə də və avtomobil sənayesində istifadə olunan digər standartları dəstəkləsə də, real layihələrdə OSEK/VDX COM-u tətbiq edən məhsulların tətbiqi bəzi çətinliklər yaradır. Əsas odur ki, iri avtomobil istehsalçıları tərəfindən digər (qeyri-standart) protokollardan istifadə olunur ki, bu da OSEK/VDX COM-a keçidi çətinləşdirir, çünki ya avtomobilin bütün qovşaqlarında şəbəkə proqramını dəyişdirmək, ya da dəstək vermək lazımdır. eyni zamanda həm standart, həm də qeyri-standart protokollar, ən azı bəzi qovşaqlar şəbəkələrində. Bundan əlavə, spesifikasiyaların bu versiyasında bir neçə bit uzunluğunda məlumatların ötürülməsi mexanizmi yoxdur və avtomobilin şəbəkə trafikinin əhəmiyyətli hissəsini təşkil edən bu uzunluqdakı məlumatlardır. Buna görə də OSEK/VDX COM spesifikasiyalarının hazırlanması davam edir. 3. OSEK/VDX NM (Şəbəkə İdarəetmə) – şəbəkə idarəetmə spesifikasiyası. Spesifikasiya necə haqqında məlumatı müəyyənləşdirir hazırki vəziyyətşəbəkə qovşaqlarının hər biri digər qovşaqlara ötürülür. Bu məqsədlə monitorinq metodundan, xüsusən də onun iki növündən - birbaşa və dolayıdan istifadə olunur. Birbaşa monitorinq xüsusi mesajların məntiqi halqa və ya məntiqi ulduz üzərində ötürülməsinə əsaslanır. Dolayı monitorinq izləməyə əsaslanır müntəzəm mesajlar qovşaqlarla ötürülür. OSEK/VDX NM digər şəbəkə sistemləri ilə inteqrasiya oluna bilər (yalnız OSEK/VDX COM deyil) və buna görə də hazırda qeyri-standart şəbəkə sistemləri ilə birlikdə istifadə olunur. 4. OSEK/VDX OIL (OSEK Implementation Language) – sistemin konfiqurasiya dilinin spesifikasiyası. Spesifikasiya OSEK/VDX tətbiqi üzərində qurulmuş proqramları konfiqurasiya etmək üçün istifadə olunan dili təsvir edir. Avtomobillərdə istifadə edilən quraşdırılmış sistemlərdə bütün tətbiq obyektləri kompilyasiya zamanı statik olaraq konfiqurasiya edilir. OIL dilində sistem obyektlərinin xassələrini təsvir etməyə imkan verən konstruksiyalar, məsələn, tapşırıqların adları və prioritetləri, taymerlərin və mesajların parametrləri və s. Konfiqurasiya təsviri işlənir xüsusi kommunal sistem cədvəllərini təsvir edən başlıq faylları və mənbə kodu yaradan (sistem generatoru). Hal-hazırda, bütün spesifikasiyalar OSEK/VDX OIL tərəfindən tam əhatə olunmur (xüsusən, OSEK/VDX COM obyektləri üçün təsvirlər yoxdur), ona görə də bu standart üzərində iş davam edir. Sadalanan spesifikasiyalar bir-birindən asılı olmayaraq müxtəlif işçi qrupları tərəfindən hazırlanır, lakin müəyyən mərhələlərdə spesifikasiyalar düzəldilir və sinxronlaşdırılır. Sinxronlaşdırılmış versiyalar keçid spesifikasiyasına daxil edilir - bütün layihənin təsvirini və onun tərkib hissələrinin qeydlərini ehtiva edən xüsusi sənəd. Sadalanan spesifikasiyalara əlavə olaraq, OSEK/VDX layihəsi çərçivəsində zamanla işə salınan sistemlər üçün spesifikasiyalar hazırlanır. Hazırda isə inkişaf hələ rəsmi sənədlərin dərci mərhələsinə çatmayıb. OSEK/VDX OS spesifikasiyası. Rəsmi olaraq buraxılmış sonuncu sənəd 13 noyabr 2000-ci il tarixli 1-ci versiya 2.1-dir. Bu nəşr diqqətli təftişin nəticəsidir əvvəlki nəşr bir neçə ciddi qüsur və yüzlərlə kiçik şərhin aşkar edildiyi 1 versiyası 2.0. Qüsurları həm RTOS-un tərtibatçıları, həm də proqram yaradıcıları aşkar ediblər. Bir neçə qüsur o qədər ciddi idi ki, bəzi aparat platformalarında düzgün işləyən RTOS yaratmağı qeyri-mümkün etdi. İşçi qrupu nöqsanları və şərhləri düzəltməyə son dərəcə məsuliyyətlə yanaşırdı. Bunu demək kifayətdir tam siyahı problemlər və təklif olunan həllər spesifikasiyanın özündən daha çox səhifədən ibarət idi. OSEK/VDX ƏS spesifikasiyası RTOS funksiyalarını yerinə yetirmək üçün proqram interfeysini müəyyən edir. Proqram interfeysi C proqramlaşdırma dilində müəyyən edilmişdir (ANSI-C standartı istifadə olunur), baxmayaraq ki, RTOS tətbiqi digər proqramlaşdırma dillərində də mümkündür. Proqram mobilliyi mənbə kodu səviyyəsində dəstəklənir. Güman edilir ki, RTOS tətbiqi dəyişdirildikdə proqram sadəcə yenidən tərtib edilə bilər. Bununla belə, 100% daşınma qabiliyyətinə hələ də zəmanət verilmir və tətbiqi bir platformadan digərinə köçürərkən həm mənbə koduna, həm də konfiqurasiya təsvirinə bəzi dəyişikliklər tələb oluna bilər. Bunun səbəbi, spesifikasiyanın həyata keçirilməsi üçün xüsusi funksiyaları müəyyənləşdirməsi və konfiqurasiyaya RTOS-u və xüsusi tətbiqetmə üçün tətbiqi optimallaşdırmaq üçün hazırlanmış atributları ehtiva edə bilər. Bununla belə, tətbiqi köçürmə səyi hələ də qeyri-standart RTOS-dan istifadə ilə müqayisədə xeyli aşağıdır və köçürmə proqram təminatının faktiki inkişafı deyil, inteqrasiya mərhələsində həyata keçirilə bilər. OSEK/VDX OS spesifikasiyasının məzmunu. Spesifikasiya tənzimləyən bölmələri ehtiva edir: ƏS arxitekturası, tapşırıqların idarə edilməsi, fasilələrin idarə edilməsi, hadisələrin işlənməsi, paylaşılan resurslardan istifadə edərək sinxronizasiya, həyəcan siqnalları (taymerlər və sayğaclarla idarəetmə), mesajın ötürülməsi, səhvlərin idarə edilməsi və sazlanması, sistem zənglərinin təsviri. 41 Proqram məhsulları və sistemləri RTOS-un tətbiqinin xüsusiyyətlərini və dəyişikliklərin siyahısını (versiya nəzarəti) müəyyən edən bölmə də var. Qeyd etmək lazımdır ki, spesifikasiya tənzimləyici tələbləri (məcburi) və spesifikasiyanın xüsusiyyətlərini izah edən sadəcə təsviri hissələri ayırır. OSEK/VDX OS spesifikasiyalarına cavab verən əməliyyat sistemlərinin əsas xüsusiyyətləri aşağıda müzakirə olunur. ƏS arxitekturası. Düzünü desək, RTOS arxitekturası spesifikasiyada təsvir edilmir, çünki o, ənənəvi olaraq real vaxt nüvələrində istifadə olunandan fərqlənmir və bölmədə RTOS-un iş prinsiplərinin daha çox ümumi təsviri var. RTOS CPU istifadəsi üçün rəqabət aparan iki növ obyekti idarə edir: tapşırıqlar və kəsmə işləyiciləri. Tapşırıqlar proqram təminatı ilə müəyyən edilmiş statik prioritetlər əsasında rəqabət aparır, yəni RTOS sabit prioritetlərlə planlaşdırmanı dəstəkləyir. Kəsmə işləyiciləri vəzifələrdən daha yüksək prioritetə ​​malikdirlər və aparat tərəfindən təyin olunurlar. Bu prioritet paylanmaya görə, kəsmə işləyicilərində sistem çağırışlarının yerinə yetirilməsi nəticəsində yaranan istənilən tapşırıq kontekstinin açarları kəsmə işləyicisi tamamlanana və ya iç-içə kəsilmələri idarə edərkən ən kənar işləyici tamamlanana qədər gecikdirilir. Rəqabət edən obyektlərin iki növünə görə, spesifikasiya iki əməliyyat səviyyəsini - tapşırıq səviyyəsini və kəsmə səviyyəsini müəyyən edir. Həmçinin müəyyən edilmişdir məntiq səviyyəsi planlayıcı, baxmayaraq ki, bu səviyyə spesifikasiyada istifadə edilmir və RTOS istifadəçisi üçün görünmür. Qeyd etmək lazımdır ki, tapşırıqların və kəsmə işləyicilərinin tamamilə statik prioritet bölgüsünə baxmayaraq, tətbiqin icrası zamanı vaxt məhdud prioritet inversiya halları baş verə bilər. Bu, aşağı prioritetli tapşırıq daha yüksək prioritetli tapşırıqları yerinə yetirdikdə və ya tapşırıq kəsmə idarəçilərinin bəzi hardware kəsmə həddi qədər icra etməsinə mane olduqda baş verir. Bu cür halların baş verməsi kritik bölmələrə daxil olduqda sinxronizasiya protokolunun istifadəsi ilə izah olunur və proqram tərəfindən tamamilə idarə olunur. Bununla belə, heç bir halda düzgün statik prioritet təyinatı ilə vəzifələrin vaxtında yerinə yetirilməsini təmin edən vaxta bağlı prioritet inversiya baş vermir. Uyğunluq dərsləri. OSEK/VDX ƏS üçün əsas tələblərdən biri RTOS-dan bir neçə on kilobayt ROM və bir neçə kilobayt operativ yaddaşa malik 8 bitlik mikrokontrollerlərdən tutmuş yüzlərlə kilobayt yaddaşa malik 32 bitlik prosessorlara qədər müxtəlif tutumlu prosessorlarda RTOS-dan istifadə etmək bacarığıdır. ROM və RAM. Bu tələbi yerinə yetirmək üçün spesifikasiya dörd uyğunluq sinifini xüsusi olaraq təsvir edir. Uyğunluq sinifləri aşağıdakı xüsusiyyətlərlə müəyyən edilir: a) çoxsaylı aktivləşdirmə sorğusu 42 No. 4, 2001 (verilmiş sinifdə icazə verilir və ya verilmir); b) gözləmə vəziyyətində olan tapşırıqların, yəni uzadılmış tapşırıqların dəstəklənməsi; c) prioritet səviyyə üzrə tapşırıqların sayı; d) RTOS-un məcburi (minimum) kəmiyyət parametrləri (məsələn, icra olunan tapşırıqların sayı, kritik bölmələrə daxil olmaq üçün dəstəklənən resursların sayı və s.). Spesifikasiya aşağıdakı uyğunluq siniflərini müəyyən edir. Əsas sinif 1 (BCC1 – Əsas Uyğunluq Sinfi 1). Gözləyən vəziyyətə və çoxsaylı aktivləşdirmə sorğularına malik tapşırıqlar dəstəklənmir, hər bir prioritet səviyyəyə yalnız bir tapşırıq, yəni bütün tapşırıqların fərqli prioritetləri var. Əsas Sinif 2 (BCC2). Əsas sinif 1 ilə eynidir, lakin hər bir prioritet səviyyəyə görə çoxlu aktivləşdirmə sorğularını və çoxsaylı tapşırıqları dəstəkləyir. Genişləndirilmiş Uyğunluq Sinfi 1 (ECC1 – Genişləndirilmiş Uyğunluq Sinfi 1). Əsas sinif 1 ilə eynidir, lakin gözlənilən vəziyyəti olan tapşırıqlar dəstəklənir. Genişləndirilmiş Sinif 2 (ECC2). ECC1 ilə eynidir, lakin gözlənilən vəziyyət və prioritet səviyyəyə görə çoxsaylı tapşırıqlar olmayan tapşırıqlar üçün çoxsaylı oyandırma sorğularını dəstəkləyir. Uyğunluq sinifləri həm RTOS tərtibatçılarına, həm də istifadəçilərə sistem tətbiqlərini düzgün xarakterizə etməyə və istifadə etməyə kömək edir. Qeyd etmək lazımdır ki, OSEK/VDX ƏS təchizatçıları standarta uyğunluq sertifikatı əldə etmək üçün yalnız bir neçə uyğunluq sinifini həyata keçirə bilərlər. İstifadəçilər, xüsusən də böyük korporasiyalar inteqrasiyanı asanlaşdırmaq, resurs tələblərini (məsələn, yaddaş) azaltmaq və RTOS təchizatçılarını dəyişmək üçün çevikliyə malik olmaq üçün proqram tərtibatçılarından yalnız müəyyən uyğunluq siniflərindən və ya hətta bir sinifdən istifadə etməyi tələb edirlər. Fakt budur ki, hər bir sonrakı sinif, açıq şəkildə təsvir edilməsə də, daha çətin həyata keçirməyi tələb edir, ona görə də tətbiq tələblərini minimum zəruri siniflə məhdudlaşdırmağın mənası var. Məsələn, çoxsaylı oyandırma sorğuları həm yaddaş, həm də CPU dövrlərində əhəmiyyətli əlavə yük tələb edir, ona görə də proqram bu funksiyadan istifadə etmirsə, çoxsaylı sorğuları dəstəkləyən siniflərdən istifadə etməyin mənası yoxdur. Uyğunluq sinifləri izləmək üçün faydalı olan RTOS-un təxmini təsnifatını təqdim edir. Eyni zamanda, RTOS təchizatçıları uyğunluq sinfinin həyata keçirilməsinə təkmilləşdirmələr əlavə etməkdə sərbəstdirlər. Məsələn, bir çox tətbiqlər hətta prioritet səviyyəyə görə birdən çox tapşırığı dəstəkləyir əsas sinif Uyğunluq 1. Ümumiyyətlə, mühərrikin yanacaq yeridilməsinə nəzarət sistemləri kimi yüksək performanslı proqramlar 1-ci əsas sinifdən istifadə edə bilər, çünki o, ən sürətli kamera bucağı ilə sinxronlaşdırılmış tapşırıqların dəyişdirilməsini və tapşırığın yenidən aktivləşdirilməsini təmin edir (yəni, çoxlu aktivləşdirmə sorğuları - Proqram məhsulları və sistemlər). ) yenidən başlama hesab olunur. Bədən elektronikası üçün uzadılmış sinif 1 tez-tez istifadə olunur, çünki gözləmə vəziyyəti ilə tapşırıqlardan istifadə edərək sonlu dövlət maşınlarını həyata keçirmək rahatdır. Tapşırıqların idarə edilməsi. RTOS sabit prioritetlərlə tapşırıqların planlaşdırılmasını və planlaşdırmanın üç müxtəlif metodunu dəstəkləyir - qabaqlayıcı, qeyri-preemptiv və qarışıq (spesifikasiyada planlaşdırma planlaşdırma ilə birləşdirilir və bu termin ayrıca istifadə edilmir). Qabaqlayıcı planlaşdırma ilə daha yüksək prioritetli tapşırıq həmişə daha aşağı prioritet tapşırığı emaldan qabaqlayır. Qeyri-preemptiv planlaşdırma ilə bu cür üstünlük yalnız aşağı prioritet vəzifənin özü prosessoru buraxdığı halda baş verir. Qarışıq planlaşdırmada bəzi tapşırıqlar üstünlüklü, bəziləri isə qeyri-mümkündür. Qeyd etmək lazımdır ki, fasilələrlə işləmə istənilən göndərmə metodu üçün eyni şəkildə həyata keçirilir. Bərabər prioritet tapşırıqları planlaşdırarkən, ilk planlaşdırılan, birinci icra olunan prinsipinə əməl olunur. Tipik olaraq, tətbiqlər nisbətən sadə prioritet qaydalardan istifadə edərək son tarixlərə nail olmaq üçün qabaqlayıcı planlaşdırmadan istifadə edir. Görünür, qeyri-preemptiv planlaşdırma əhəmiyyətli olan tətbiqlərdə istifadə edilə bilər məhdud sayda tapşırıqlar və paylaşılan resurslar. Üstünlük verilməyən tapşırıq kontekstində daha az prosessor registrləri olduğu üçün kontekst keçidi daha sürətli olur və buna görə də daha az yaddaş istehlakı ilə daha yüksək performans əldə edilə bilər. Birgə göndərmə o qədər tez yerinə yetirilən bir neçə aşağı prioritetli tapşırıqlar olduqda faydalıdır ki, onların qarşısını almaq üçün CPU vaxtını itirməyin mənası yoxdur. OSEK/VDX ƏS iki növ tapşırığı müəyyən edir - əsas və təkmil. Əsas tapşırıqlar yalnız üç vəziyyətdən birində ola bilər: qeyri-aktiv, hazır və çalışır. Genişləndirilmiş tapşırıqlar isteğe bağlı olaraq gözlənilən vəziyyətdə ola bilər. Tapşırıqın qeyri-aktiv vəziyyəti sabit diskdə yerləşən ümumi təyinatlı ƏS proqramına bənzəyir. Güman edilir ki, açıq şəkildə ifadə edilməsə də, qeyri-aktiv tapşırıq RAM-dan istifadə etmir. Spesifikasiya həmçinin tətbiqdəki qeyri-aktiv tapşırıqların sayına məhdudiyyət qoymur, bu da aktivləşdirilmiş tapşırıqlardan daha çox belə tapşırıqların ola biləcəyini göstərir. Əsas tapşırıqlar birdəfəlik icra prinsipini dəstəkləyir, yəni aktivləşdirildikdə tapşırıq qeyri-aktiv vəziyyətdən hazır vəziyyətə keçir, sonra prioritet və göndərilmə üsulundan asılı olaraq prosessoru tutur, işlək vəziyyətə keçir. İş başa çatdıqda, bu tapşırıq başa çatır və qeyri-aktiv vəziyyətə qayıdır. Bu cür tapşırıqlar heç vaxt ümumi təyinatlı ƏS-də istifadə edilmir, lakin onlar real vaxt rejimində quraşdırılmış proqramlarda effektivdir. № 4, 2001. Genişləndirilmiş tapşırıqlar hadisə mexanizmi vasitəsilə gözləmə vəziyyətinə keçə bilər. Əgər tapşırığın gözlədiyi bütün hadisələr təyin olunmayıbsa, o zaman tapşırıq gözlədiyi hadisələrdən ən azı biri təyin olunana qədər gözləmə vəziyyətinə keçir. Spesifikasiya bir tapşırığı digərindən və ya kəsmə idarəçisindən dayandırmağın bir yolunu müəyyən etmir. Buna görə də qeyri-aktiv vəziyyətə keçid yalnız işləyən vəziyyətdən mümkündür. Başqa sözlə, bir iş yalnız öz təşəbbüsü ilə yerinə yetirilə bilər. Tapşırığın tamamlanması növü eyni zamanda başqa bir tapşırığı və ya eyni tapşırığın yeni nümunəsini aktivləşdirərkən tamamlamadır ki, bu da sizə tapşırıqlar zəncirini yaratmağa imkan verir. Artıq aktiv tapşırığın yenidən aktivləşdirilməsi BCC1 və ECC1 uyğunluq siniflərində xəta ilə nəticələnir. BCC2 və ECC2 uyğunluq siniflərində bu, çoxsaylı aktivləşdirmə sorğusu ilə nəticələnir, yəni tapşırıq tamamlandıqda tapşırığın yeni nümunəsi aktivləşdiriləcək. Qeyd etmək lazımdır ki, çoxsaylı aktivləşdirmə sorğusu üçün bərabər prioritet tapşırıqların planlaşdırılmasının eyni prinsipinə əməl olunur: əvvəlcə planlaşdırılan, ilk icra olunan. Göründüyü kimi, çoxlu oyandırma sorğuları rabitə proqramlarında, məsələn, şəbəkədən gələn mesajlar yeni mesaj gələndə oyanan tapşırıq tərəfindən idarə edildikdə istifadə edilə bilər. İdarəetməni kəsin. Kesintilərin idarə edilməsi tələblərinin spesifikasiyası aşağıdakı bölmələrdən ibarətdir: kəsmə işləyiciləri (məsələn, xarici qurğulardan kəsmə sorğuları), kəsmə mənbələrinə seçmə nəzarət, kəsilmənin tanınmasına sürətli nəzarət. Kəsinti işləyiciləri adətən xarici cihazlardan və ya prosessorun özündən (məsələn, istisnaları idarə etmək üçün) kəsmə sorğuları baş verdikdə aktivləşdirilir. Spesifikasiya kəsilmə işləyicilərinin üç kateqoriyasını müəyyən edir. Kateqoriya 1 (ISR kateqoriyası 1). Bu kateqoriyadakı işləyicilər RTOS-a zənglər etmirlər. Başqa sözlə, onlar tapşırıqların və digər sistem obyektlərinin vəziyyətini dəyişmir. Tipik olaraq, belə işləyicilər ən yüksək avadanlıq prioritetləri səviyyəsində işləyir və RTOS-un iştirakı olmadan ən qısa icra müddəti ilə hadisələri emal etmək üçün nəzərdə tutulmuşdur. Kateqoriya 2 (ISR kateqoriyası 2). İkinci kateqoriyanın işləyiciləri üçün RTOS avtomatik olaraq RTOS xidmətlərinə zəng etmək imkanı üçün lazımi şərtləri təmin edir. Texniki cəhətdən bu, ISR açar sözündən istifadə etməklə əldə edilir, ona görə də proqram tərtibatçısı RTOS-a daxil olmaq üçün kontekst yaratmaqdan narahat deyil. Kateqoriya 3 (ISR kateqoriyası 3). Üçüncü kateqoriyalı prosessorlar, sanki, birinci və ikinci kateqoriyalı prosessorların birləşməsidir. Əgər işləyicinin icrası zamanı 43 Proqram Məhsulları və RTOS Sistemlərinə daxil olmaq lazımdırsa, lazımi kontekst yaratmaq üçün EnterISR() sistem çağırışı edilməli və işləyicinin sonunda LeaveISR() çağırışı edilməlidir. sistemə işləyicinin tamamladığı barədə məlumat vermək üçün (kateqoriya işləyiciləri 2 dolayısı ilə bu zəngləri daxil edir). Kəsmə idarəçilərindən çağırılması mənasız olan demək olar ki, bütün zənglərə ikinci və üçüncü kateqoriyaların işləyicilərində (EnterISR/LeaveISR zəngləri arasında) icazə verilir. Məsələn, kəsmə idarəçiləri tapşırığı aktivləşdirə, tapşırıq üçün hadisə təyin edə, mesaj göndərə, həyəcan siqnalı qura və s. Kəsmə işləyiciləri yuvalana bilər, yəni bir işləyici digərini kəsə bilər. Bunun üçün müvafiq aparat şəraiti yaradılmalıdır. İç-içə interruptlar yerinə yetirildikdə, göndərmə ən kənar kəsmə işləyicisi tamamlanana qədər təxirə salınır. Kesinti işləyicilərinin istifadəsi ilə bağlı iki problemi qeyd edək. Birincisi, Kateqoriya 3 işləyicilərində yerli dəyişənlərdən istifadənin potensial çətinliyidir. Problem ondadır ki, kompilyatorlar funksiyanın icrasının ən əvvəlində lokal dəyişənlərin işləyici funksiyasına ayrılmasını təmin edirlər. EnterISR() çağırıldıqda yığına müdaxilə edilə bilər və bu yerli dəyişənlər ünvansız olur, yəni EnterISR() çağırdıqdan sonra onlara daxil olmaq səhv ünvanlama ilə nəticələnəcək. Təəssüf ki, bu vəziyyət proqram tərtibatçısı hətta yerli dəyişənləri açıq şəkildə təyin etmədikdə də yarana bilər. Çünki kompilyator bəzi əməliyyatları yerinə yetirmək üçün (məsələn, 8 bitlik prosessorlarda bit əməliyyatlarını yerinə yetirmək üçün) gizli lokal dəyişənlər yarada bilər. Buna görə spesifikasiya belə bir problemin mövcudluğunu göstərir, yalnız üçüncü kateqoriyalı işləyicilərin istifadəsindən tamamilə imtina etməklə tamamilə qarşısını almaq olar. İkinci problem kateqoriya 2 və ya 3 işləyicinin 1-ci kateqoriya işləyicisi daxilində yerləşdirilməsi ilə bağlıdır. Bu halda, göndərmə qeyri-müəyyən müddətə təxirə salınır, çünki o, daxili işləyici tamamlandıqdan sonra icra edilə bilməz (çünki hələ də xarici işləyici var), həm də xarici işləyici tamamlandıqdan sonra icra edilmir, çünki birinci kateqoriya işləyicisi ilə qarşılıqlı əlaqədə deyil. ƏS. Bu vəziyyətdən qaçmaq üçün spesifikasiya kəsmə idarəçilərinin düzgün prioritetləşdirilməsini tövsiyə edir. Spesifikasiyaya daxil edilmiş kəsmə mənbələrinin seçmə nəzarətinin təsviri, müəyyən bir mənbədən (cihazdan) kəsilmə sorğusunun tanınmasını qadağan edən və ya imkan verən proqram interfeyslərinin platformadan müstəqil formada göstərilə bilməməsi səbəbindən tənqid edilmişdir, buna görə də bu cür kəsmə mənbələrindən istifadə edən tətbiqlərin daşınması təmin edilmir. Bundan əlavə, bu xidmətlərdən istifadə edərkən, 44 No 4, 2001 limitsiz kəsilmənin söndürülməsi baş verə bilər ki, bu da hardware xətalarına səbəb olur. Məsələn, bayt qəbulunu qısa müddətə dayandıran aşağı prioritetli tapşırıq serial port , daha yüksək prioritet vəzifələrlə əvəz edilə bilər və sonra "qısa müddət" qeyri-müəyyən müddətə uzanacaq, bu da növbəti baytların qəbulunun itirilməsinə səbəb olacaqdır. Spesifikasiyaları hazırlayan işçi qrupu bu tənqidlərlə razılaşır. Mümkündür ki, seçmə kəsmə mənbəyinə nəzarət funksiyaları spesifikasiyanın gələcək versiyalarından silinsin. Sürətli kəsilmənin tanınmasına nəzarət sizə ya bütün prosessor fasilələrini, ya da yalnız RTOS-un işinə təsir edənləri işə salmağa və ya söndürməyə imkan verir. Hadisənin işlənməsi. Hadisələr genişləndirilmiş tapşırığa hadisə təmizləndikdə özünü gözləmə vəziyyətinə gətirməyə və hadisə təyin edildikdə tapşırığı hazır vəziyyətə gətirməyə imkan verir. Təəssüf ki, spesifikasiya qlobal hadisələrin tapşırıq tərəfindən istifadə edilən bitlərlə əlaqələndirilməsi ilə bağlı çox aydın deyil, lakin hər bir genişləndirilmiş tapşırığın RTOS sistem zənglərindən istifadə etməklə manipulyasiya edilə bilən öz hadisə maskasına, bit bayraqlarına sahib olduğu güman edilir. Spesifikasiya ilə hədəflənmiş daxili tətbiqlər üçün ECC1 və ECC2 tapşırıqları hər bir tapşırığın yığını üçün xüsusi RAM sahəsinin istifadə edilməsi və hadisə bitlərinin manipulyasiya edilməsi ilə bağlı əlavə xərcləri təqdim edir. Buna görə də, proqram tərtibatçıları qabaqcıl tapşırıqlardan çox ehtiyatla istifadə etməlidirlər. Paylaşılan resurslardan istifadə edərək sinxronizasiya. Spesifikasiya kodun kritik hissələrini qoruyan resurslara daxil olmaq üçün xüsusi protokoldan istifadə edir. Bu protokol Prioritet Tavan Protokolunun özünü təsvir etməsə də, OSEK Prioritet Tavan Protokolu adlanır, lakin bir neçə sinonimi olan protokoldur, məsələn, Ən Yüksək Kilidləmə Protokolu və ya Prioritet Qoruma Protokolu (POSIX standartında). Protokol tıxacların aradan qaldırılmasına və vaxt məhdud prioritet çevrilməsinə imkan verir. Bu, paylaşılan resurs tələb edən tapşırığın prioritetini dərhal resursun prioritet həddinə yüksəltməklə əldə edilir ki, bu da sistemin konfiqurasiyası zamanı həmin resursa çıxışı olan bütün tapşırıqların ən yüksək (və ya daha yüksək) prioriteti olması hesablanır. Buna görə də, resurs tələb edildikdə, həmin resursa çıxışı olan heç bir başqa tapşırığın işlək vəziyyətə salınmayacağına zəmanət verilir. OSEK/VDX ƏS-nin böyük nailiyyəti bu protokolun genişləndirilməsi hesab edilə bilər, adətən yalnız tapşırıqlar üçün istifadə olunur, tapşırıqlar və kəsmə işləyiciləri arasında paylaşılan kodun kritik hissələrini qorumaq üçün işləyiciləri kəsmək üçün. Bu, kəsinti idarəedicilərinin və tapşırıqlarının prioritetlərinin eyni miqyasda təsvir edildiyini və RTOS-un kəsmə nəzarətçisinin kəsilmə səviyyələrinin söndürülməsini və aktivləşdirilməsini manipulyasiya edə biləcəyini nəzərdə tutur. Əlbəttə ki, avadanlıq yalnız bir kəsmə səviyyəsini dəstəkləyirsə, belə bir sxem degenerativdir, lakin bu halda hələ də istifadə edilə bilər. Lakin protokol genişləndirilməsini çoxsəviyyəli kəsmə dövrəsinə malik mikroprosessorlarda, məsələn, Motorola 68K-da istifadə etmək xüsusilə faydalıdır. Siqnallar (taymerlər və sayğaclarla idarə olunur). Spesifikasiya, xətti və ya açısal yerdəyişmə sayğacları kimi taymerlərin və sayğacların dəyərlərinə əsaslanan tapşırıqları işə salmaq üçün istifadə olunan həyəcan adlanan ümumi obyekti müəyyənləşdirir. Hər bir həyəcan müəyyən bir dəyərin dəyərini hesablayan əsas sayğacı nəzərdə tutur. Spesifikasiya sayğacları idarə etmək üçün proqram interfeysini müəyyən etmir, çünki onlar tamamilə aparatda, məsələn, real vaxt rejimində saat fasilələrindən istifadə etməklə həyata keçirilə bilər. Qeyd etmək lazımdır ki, bir sayğaca bir neçə həyəcan siqnalı qoşula bilər. Spesifikasiya RTOS-dan sistem taymerini təmin etməyi tələb edir. Hər bir siqnala tapşırıq və ya tapşırıq-hadisə cütü təyin edilir. Siqnal işə salındıqda, tapşırıq aktivləşdirilir və ya onun üçün hadisə təyin edilir. Siqnal sayğac dəyəri siqnalizasiya qəbulu dəyərinə çatdıqda işə salınır. Siqnal mütləq və ya nisbi sayğac dəyərinə təyin edilə bilər. Siz həmçinin siqnal dəyərini tsiklik olaraq təyin edə bilərsiniz, beləliklə, dövri hadisələrin işlənməsini təşkil edə bilərsiniz. Siqnalların hadisələri idarə etmək üçün çox çevik və güclü mexanizm təmin etdiyini görə bilərsiniz. Bununla belə, həyəcan siqnallarının həyata keçirilməsi hələ də kifayət qədər çətin olur, xüsusən də sayğaca bir neçə həyəcan siqnalı qoşulursa. Mesajlaşma. OSEK/VDX ƏS spesifikasiyası lokal mesajlar üçün CCCA və CCCB (CCC Rabitə Uyğunluğu Sinifinin abbreviaturasıdır) xüsusi olaraq iki şəbəkə uyğunluq siniflərini təsvir edən OSEK/VDX COM spesifikasiyasına istinad edərək mesaj mexanizmini təsvir etmir. CCCA bufersiz mesajları, yəni hər mesaj göndərildikdə məzmunu yenilənən mesajları təsvir edir. CCCB əlavə olaraq dairəvi növbə olan buferli mesajları müəyyən edir. Hər iki mesaj növü proqram konfiqurasiyası zamanı müəyyən edilmiş sabit uzunluğa (və buferlənmiş mesaj növbəsinin ölçüsünə) malikdir. Mesaj gəldikdə, qəbuledici tapşırığı aktivləşdirilə bilər, qəbuledici tapşırığı üçün hadisə təyin edilə bilər və ya onu çağırmaq olar. xüsusi funksiya. OSEK/VDX ƏS tətbiqini təsdiqləmək üçün RTOS satıcısı yalnız CCCA şəbəkə uyğunluq sinifini tətbiq etməlidir. № 4, 2001. Səhv hallarının idarə edilməsi və səhvlərin aradan qaldırılması. Sazlama və izləmə proqramları üçün spesifikasiya çəngəl prosedurlarını və genişləndirilmiş xəta məlumatlarını təsvir edir. Tələlər istifadəçi tərəfindən təmin edilir, lakin OS-nin özü tərəfindən işə salınır. Sistem xətası baş verdikdə, proqrama xətanın səbəbini müəyyən etməyə və düzəldici tədbirlər görməyə imkan vermək üçün xəta tələsi işə salınır. İki qarmaq tapşırıq kontekstinin açarlarını izləmək üçün nəzərdə tutulmuşdur və bununla da tətbiqin izlənməsinə kömək edir. RTOS işə salındıqda, başlanğıc çəngəl çağırılır, burada tətbiqi işə salan tapşırıqlar aktivləşdirilə bilər və aparat işə salına bilər. Ölümcül bir səhv halında, proqram RTOS-u dayandıra bilər, bu da avadanlıqların sıfırlana biləcəyi terminal çəngəlini çağırır. Genişləndirilmiş səhv məlumatı verilir sistem xidmətləri Sistem bunun üçün statik olaraq konfiqurasiya edilibsə, RTOS. Hər bir sistem funksiyasının təsviri standart və təkmil konfiqurasiyalarda hansı səhv kodlarının qaytarıla biləcəyini göstərir. Məsələn, standart konfiqurasiyada tapşırığın aktivləşdirilməsi yalnız müvəffəqiyyət kodunu qaytarır, lakin təkmil konfiqurasiyada o, səhv tapşırıq ID-si və səhv çoxsaylı aktivləşdirmə sorğusu haqqında məlumat verir. Qabaqcıl konfiqurasiyanın proqram tərtibatçıları tərəfindən sazlama mərhələsində istifadə ediləcəyi gözlənilir və sazlanmış proqram konfiqurasiya edilir. standart versiya, çünki uzadılmış xətaların idarə edilməsi xüsusilə CPU vaxtı baxımından əhəmiyyətli əlavə yük gətirir. Bununla belə, standart və qabaqcıl konfiqurasiyalar arasında tətbiqin icra müddətindəki fərqlə bağlı problem var (tətbiq tərtibatçıları bu fərqin mümkün nəticələrindən xəbərdar olmalıdırlar). OSEK/VDX ƏS standartı avtomobil proqramları tərtibatçılarının demək olar ki, bütün bugünkü tələblərinə cavab verir və Chrysler və BMW kimi konsernilər tərəfindən istifadə olunur. Spesifikasiyanın uğuru spesifikasiyanın hazırlanmasında müştərilər və RTOS təchizatçıları arasında sıx əməkdaşlıq və balansa nail olmaq üçün detallara diqqət yetirilməsi ilə bağlıdır. funksionallıq və tətbiqin səmərəliliyi, həmçinin quraşdırılmış sistemlərin sabitliyi üçün. İstinadlar 1. Kopetz H. Real-Time Systems. Paylanmış Daxili Tətbiqlər üçün Dizayn Prinsipləri. Kluwer Academic Publishers. MA, 1997. 2. OSEK/VDX Əməliyyat Sistemi, Versiya 2.1 revision 1, 13. Noyabr 2000. 3. OSEK/VDX Communication, Versiya 2.2.2, 18 dekabr 2000. 45

Rəy təqdim edildi müqayisəli xüsusiyyətlər OS RV hazırdır Rusiya bazarı, aviasiya idarəetmə sistemlərində istifadəyə istinadla.

05/05/2008, Bazar ertəsi, 23:56, Moskva vaxtı ilə

Kompüter texnologiyasının inkişafı sayəsində bu yaxınlarda idarəetmə sisteminin çəki və ölçü xüsusiyyətlərini yaxşılaşdırmaq və onun maya dəyərini azaltmaqla əvvəllər bir neçə prosessor modulu tərəfindən yerinə yetirilən vəzifələri bir modula təyin etmək mümkün olmuşdur. Aviasiya texnologiyasındakı bu tendensiya inteqrasiya olunmuş modul avionika - IMA (Integrated Modular Avionics, IMA) konsepsiyasının yaranmasına səbəb olmuşdur.

İdarəetmə funksiyalarının vahid modula inteqrasiyası problemi ondan ibarətdir ki, indini ayırmaq lazımdır paylaşılan resurslar(prosessor vaxtı, yaddaş, mübadilə kanalları) arasında müxtəlif vəzifələr, əvvəlki kimi funksiyaların etibarlılıq və müstəqillik səviyyəsini təmin edərkən. Əsas rol Bu problemin həllində real vaxt əməliyyat sistemi rol oynayır.

Hal-hazırda dünya bazarında kritik tətbiqlər üçün bir neçə kommersiya RTOS var (Cədvəl 1). Bu məqalə açıq mənbələrdən alınan məlumatlar və müəlliflərin şəxsi təcrübəsinə əsaslanaraq Rusiya bazarında mövcud olan RTOS-a ümumi baxış təqdim edir.

RTOS üçün tələbləri tənzimləyən sənədlər

DO-178 standartı (Hava sistemləri və avadanlığının sertifikatlaşdırılmasında proqram təminatının nəzərdən keçirilməsi) proqram təminatının hazırlanması prosesi üçün tələbləri və onun kritiklik səviyyəsindən asılı olaraq yoxlanılmasının hərtərəfliliyini müəyyən edir. Proqram təminatının kritiklik səviyyəsi proqram təminatının nasazlığının nəticələrinin şiddətinin təhlili əsasında müəyyən edilir. Proqram təminatının kritikliyinin beş səviyyəsi var (A-dan E-yə qədər).

MILS (Multiple Independent Levels of Security) əməliyyat zamanı tətbiqi proqram xətalarının yayılmasının qarşısını alan, həmçinin proqram təminatının modulluğu sayəsində proqramın yoxlanılmasını asanlaşdıran ƏS dizaynına xüsusi yanaşmadır. Bütün tətbiqlər sözdə bölmələrə (arakəsmələrə) yerləşdirilir. Bölmələr ayrılmış resurslara malikdir (yaddaş sahəsi, hər bir sistem dövrü ərzində prosessor vaxtı, rabitə kanallarına çıxış və s.). Ayrılmış resurslara giriş nəzarətçi rejimində işləyən OS tərəfindən təmin edilir. Beləliklə, müxtəlif kritik səviyyəli tətbiqi proqram təminatı bir OS ilə işləyən bir prosessor modulunda işləyə bilər - daha az kritik (və müvafiq olaraq daha az sınaqdan keçirilmiş) proqram təminatında nasazlıq baş verərsə, bu, digər bölmələrin işinə heç bir şəkildə təsir etməyəcək, çünki digər insanların resurslarını “qəsb etmək” cəhdləri əməliyyat sistemi tərəfindən bloklanacaq. MILS-in ideyaları IMA və DO-178B ideyaları ilə səsləşir.

Xəta 404: Səhifəni tapmaq mümkün deyil.

Bu, bu səbəblərdən biri ilə baş vermiş ola bilər:

– səhifənin ünvanını (URL) yazarkən xəta
– “sınıq” (işləməyən, səhv) keçiddən sonra
– tələb olunan səhifə heç vaxt saytda olmayıb və ya silinib

Bacararsan:

– brauzerin Geri düyməsini istifadə edərək geri qayıdın
– səhifə ünvanının (URL) düzgün yazılışını yoxlayın
– saytın xəritəsindən istifadə edin və ya əsas səhifəyə keçin

ARINC-653 (Avionics Application Software Standard Interface) standartı MILS tipli bölmə konsepsiyasını dəstəkləyən APEX proqram təminatı interfeysini müəyyən edir. Bu interfeys bölmələri, prosesləri, vaxt mübadiləsini, bölmələr arasında və daxilində əlaqəni və sistemin vəziyyətini izləmək üçün funksiyaları ehtiva edir. Qeyd etmək lazımdır ki, ARINC-653 standartı digər tətbiqlər ola bilsə də, IMA üçün MILS ideyalarının həyata keçirilməsi üçün ümumi qəbul edilmiş yanaşmanı təsvir edir. ARINC-653-ə uyğun gələn aviasiya RTOS-un üstünlükləri var, çünki bu standart beynəlxalq sertifikatlaşdırma orqanları tərəfindən yaxşı tanınır və başa düşülür, ona görə də bu standarta uyğun qurulmuş sistem üçün DO-178B uyğunluq sertifikatını əldə etmək daha asandır.

Yenidən istifadə edilə bilən proqram komponentləri standartı. DO-178B-ə uyğun olaraq, müəyyən bir aviasiya tətbiqi sisteminin proqram təminatı, əvvəllər başqa sistemin bir hissəsi kimi sertifikatlaşdırılmış modullardan (komponentlərdən) istifadə etsə belə, bütün sertifikatlaşdırma prosedurundan keçir. FAA-nın (Federal Aviasiya Sertifikatlaşdırma Agentliyi, ABŞ) ən son təşəbbüslərindən biri proqram təminatının təkrar sertifikatlaşdırmadan təkrar istifadə oluna bilməsi üçün meyarların müəyyən edilməsidir. Yenidən sertifikatlaşdırıla bilməyən komponentlər RSC (Reusable Software Components) adlanır. RSC üçün sertifikat almaq üçün xərcləməlisiniz daha çox səy, lakin sonra RSC ciddi qənaət təmin edir.

Proqram təminatı tələblərini müəyyən edən Rusiya sənədləri (RTOS daxil olmaqla):

  • GOST R ISO/IEC 51904-2002 (“Daxili sistemlər üçün proqram təminatı. İnkişaf və sənədləşdirmə üçün ümumi tələblər”) - hərbi aviasiya üçün DO-178B analoqu;
  • KT-178A ("Kvalifikasiya tələbləri hissəsi 178A") - mülki aviasiya üçün DO-178B analoqu;
  • GOST R ISO/IEC 12207-99 ("İnformasiya texnologiyası. Proqram təminatının həyat dövrü prosesləri").

RT ƏS-nin müqayisəsi nəzərə alınan 13 parametrə görə aparılmışdır texniki meyarlar, inkişaf asanlığı və iqtisadi parametrlər.

OS vaxtı parametrləri

RT ƏS üçün əsas tələblərdən biri hadisənin işlənməsi üçün minimum gecikmə vaxtıdır. Praktikada bu o deməkdir ki, aşağıdakı parametrlər kiçik olmalıdır:

  • kəsilməyə cavab müddəti - kəsilmənin faktiki baş verməsi ilə kəsilmə işləyicisinin ilk göstərişinin işlənməsinin başlanması arasındakı vaxt;
  • nəzarət ipinin keçid vaxtı - bir prosesdə iki ip arasında keçid vaxtı;
  • proses kontekstində keçid vaxtı (yalnız proses modelini dəstəkləyən ƏS-lər üçün) - iki müxtəlif prosesə aid olan iki idarəetmə ipi arasında keçid vaxtı.

Təəssüf ki, obyektiv müqayisə etmək mümkün deyil müəyyən edilmiş parametrlər Müxtəlif RTOS-ları müəyyən etmək asan deyil, çünki bu parametrlər yalnız ƏS-nin keyfiyyətindən deyil, həm də istifadə olunan aparat platformasının imkanlarından asılıdır. İdeal olaraq, müqayisə edilən bütün əməliyyat sistemləri eyni aparat platformasında quraşdırılmalı, bundan sonra müvafiq ölçmələr aparılmalıdır. Ancaq hətta bu ölçmələr də obyektiv nəticə verməyəcək, çünki müxtəlif əməliyyat sistemləri daha çox və ya daha az xüsusi avadanlıqlara uyğunlaşdırıla bilər.

Vaxt parametrlərini müqayisə etmək üçün bu məqalədə İnternetdə tapılan parçalanmış məlumatlardan istifadə olunur, bu da tez-tez OS-ni müxtəlif avadanlıqlarda sınaqdan keçirərkən əldə edilir, halbuki testlərin tərkibi və xarakteri həmişə aydın deyil.

X86 platformasında QNX RTOS 6.1, VxWorks AE 1.1 və Windows CE.NET-in sınaqlarını və praktiki müqayisəsini aparmış Dedicated System jurnalının ekspertlərinin əldə etdiyi nəticələr kifayət qədər obyektiv məlumatlar hesab edilə bilər. Bu məlumatlar hazırda köhnəlsə də, bu məqalənin müəllifləri daha yeni material tapa bilmədilər. Cədvəldə Şəkil 2 QNX Neutrino 6.1 və VxWorks AE 1.1 arasında seçilmiş performans müqayisə məlumatlarını göstərir. Dedicated Systems hesabatı performans baxımından QNX-ə üstünlük verdi, hesab nisbəti 9:5 (QNX:VxWorks) olaraq təyin olundu, çünki sınaq zamanı VxWorks-də iki səhv aşkar edildi və bunun üçün onları düzəltmək üçün dəstək xidməti ilə əlaqə saxlamaq lazım idi.

Cədvəldə 3 LynxOS-un xüsusiyyətləri haqqında məlumatları göstərir. İstifadə olunan testlərin tərkibi göstərilməyib. LynxOS-un xüsusiyyətlərinə dair məlumatlara gəldikdə, dördüncü sütun (x86 platformasında sınaq) maraqlıdır. VxWorks və QNX ilə müqayisədə LynxOS RT ƏS fasilələrə cavab verməkdə böyük gecikmə göstərir (5 dəfədən çox). Kontekstdə keçid vaxtı (bir prosesdə iki mövzu arasında keçid vaxtı deməkdir) QNX ilə eynidir və VxWorks-dən təxminən 1,5 dəfə azdır.

Zamanlama parametrlərinin sabitliyi

Vaxt xüsusiyyətlərinə əlavə olaraq, RT ƏS üçün bu xüsusiyyətlərin sabitliyi də vacibdir. Məhz bu meyar RT OS-nin "sərtliyini" müəyyən edir, yəni. məlumatların emalı vaxtının proqnozlaşdırıla bilməsi, nəticələrin verilmə anı və s.

Xüsusi Sistem jurnalının məlumatlarına əsasən, QNX bu meyarda həm bir sıra oxşar testlərdə xarakteristikaların yayılması baxımından (maksimum vaxtın orta dəyərə nisbəti xeyli azdır), həm də artan yüklə VxWorks-i qabaqlayır. (tellərin sayı 2...128 ədəd artdıqda ipin dəyişdirilməsi vaxtı QNX üçün cəmi 1,65 dəfə, VxWorks üçün isə 2,24 dəfə artıb).

RTSoft-dan əldə edilən məlumatlara görə, LynxOS-un təxminən VxWorks ilə eyni xüsusiyyətlərə malik olduğu məlumdur.

Resurslara girişin idarə edilməsi

Yaddaş və prosessor vaxtı kimi hesablama sisteminin kritik resurslarına bu və ya digər RT ƏS-nin təklif etdiyi çıxışa nəzarətin keyfiyyətini qiymətləndirək.

Cavab verilməli olan ilk sual OS-nin proses modelini dəstəkləyib-dəstəkləməməsidir. Proses bir və ya bir neçə mövzuya, onlarla əlaqəli resurslara və kontekstə - istənilən vaxt registrlərin və sayğacların məzmununa sahib olan məntiqi bir varlıqdır.

Proseslərin vəzifəsi:

  • girişin məhdudlaşdırılmasında təsadüfi giriş yaddaşı arasında müxtəlif proqramlar icra prosesində;
  • tərtib zamanı qlobal dəyişənlərin əhatə dairəsinin məhdudlaşdırılmasında (tətbiqi proqram təminatı belə sərhədləşdirməni dəstəkləməyən C dilində yazılmışsa, kritikdir).

Seqmentləşdirmə həm də ünvan fəzalarının ayrılmasını təmin edir (bu mənada parçalanma və proseslərin imkanları təkrarlanır). Bundan əlavə, sharding zəmanətli vaxt büdcəsi ilə bir və ya daha çox prosesdən (və ya OS proses modelini dəstəkləmirsə mövzulardan) ibarət hər bir seqmenti təmin edir. Bu yolla, yüksək prioritet mövzu bir dövrəyə girərsə və onun seqmentini pozarsa, bütün digər seqmentlər dizayn vaxtı parametrlərinə uyğun olaraq CPU vaxtını alacaq və normal işləməyə davam edəcək.

LynxOS və QNX həm proses modelini, həm də parçalamağı dəstəkləyir. VxWorks ƏS-də parçalanma mexanizmi var, lakin proses modelini dəstəkləmir. Ümumiyyətlə, bu məqbuldur, çünki sharding ünvan boşluqlarının ayrılmasını təmin edir. Ancaq proseslərin olmaması bəzi narahatlıqlar gətirir. Tipik olaraq, seqmentlərə bölünmə proqram təminatının nəzərdə tutulan məqsədi və onun kritikliyi əsasında həyata keçirilir. Məsələn, bəzi seqmentlərdə yüksək kritiklik səviyyəsinə malik uçuş naviqasiya sistemi üçün idarəetmə proqramı ola bilər. Lakin bu proqram həm də kifayət qədər mürəkkəb kompleksdir, onu müstəqil (yaddaş) modullara bölmək məntiqli olardı. VxWorks OS bu xüsusiyyəti təmin etmir, yəni seqment olan iplərdən ibarət olacaq paylaşılan yaddaş, bu da paralel inkişafın təşkilini çətinləşdirir və son nəticədə proqram təminatının etibarlılığını azaldır.

Çoxprosessorlu və paylanmış sistemlərə dəstək

Çoxprosessorlu modulların qiyməti son vaxtlar əhəmiyyətli dərəcədə azalmışdır və buna görə də onlar quraşdırılmış sistemlərdə getdikcə daha çox istifadə olunur. Əlbəttə ki, RT ƏS belə lövhələrə dəstək verməlidir.

Özüyeriyən silahların yaradılmasında başqa bir perspektivli istiqamətdir paylanmış sistemlər, burada modullar məkanda ayrılır və onlar arasında əlaqə hansısa şəbəkə mühiti vasitəsilə baş verir. Yenə də istifadə olunan RT ƏS modulların qarşılıqlı əlaqəsini təşkil etmək üçün rahat və etibarlı vasitələrə malik olmalıdır: müxtəlif şəbəkə protokollarına dəstək, şəbəkə şəffaflığını təmin etmək üçün vasitələr.

QNX RTOS çoxprosessorlu lövhələr üçün dəstək təklif edir. VxWorks üçün belə dəstək yenicə elan edilib. LynxOS-un çoxprosessorlu lövhələri dəstəkləyən aviasiya versiyası hələ mövcud deyil.

Şəbəkə protokollarının dəstəyinə gəldikdə, qeyd etmək lazımdır ki, RT OS LynxOS, VxWorks və QNX təxminən bərabər (və geniş) imkanlara malikdir. Əlavə üstünlük QNX RT ƏS tətbiqi proqramların şəbəkə “şəffaflığını” təmin edən xüsusi şəbəkə altsistem arxitekturasıdır: istənilən proses lokal moduldakı proses kimi uzaq modulda başqa bir prosesi çağıra bilər.

Fayl sistemi dəstəyi

Məlumatı fayl şəklində saxlamaq imkanı rahat və ənənəvidir. Əksinə, belə bir imkanın olmaması nadir hallarda dəyişdirilən məlumatların saxlanması və paylanmış sistemlərin yaradılması zamanı çətinliklər yaradır.

Cədvəldə Şəkil 4 nəzərdən keçirilən əməliyyat sistemlərinin hər biri üçün fayl sistemi dəstəyini göstərir.

QNX fayl sistemləri üçün ən geniş dəstəyə malikdir. Bundan əlavə, onun flash fayl sistemi nasazlığa davamlıdır.

Sənədləşmə keyfiyyəti

RT OS LynxOS, VxWorks, QNX üçün sənədlərin keyfiyyəti kifayət qədər yüksəkdir. Bununla belə, sənədlərlə bağlı şikayətlər də var:

  • QNX arxitektura və dizayn prinsiplərinin əla təsviridir, lakin tətbiqin proqramlaşdırma interfeysinin qeyri-kafi təsviridir (bütün parametrlər təsvir olunmur, uyğunsuzluqlar var);
  • VxWorks - əməliyyat prinsiplərinin izahı yoxdur və OS-nin konfiqurasiyasının mürəkkəb prosesinin kifayət qədər təsviri yoxdur.

Bununla belə, şirkətlər materialın keyfiyyəti üzərində işləyirlər. üçün sənədlər cari versiya QNX (6.3.2) əhəmiyyətli dərəcədə genişləndirilmiş, bəzi hissələr yenidən işlənmişdir.

Texniki dəstəyin keyfiyyəti

Rəsmi texniki dəstəyin keyfiyyəti baxımından şübhəsiz lider LynxOS-dur. LynuxWorks istənilən cavabı vəd edir texniki sual sorğu dərc edildiyi andan 4 saat ərzində. LynxOS Rusiyada ixtisaslı yardım göstərməyə qadir olan böyük işçi heyəti olan RTSoft tərəfindən paylanır. LynxOS-un dezavantajı odur ki, OS Rusiyada hələ çox geniş yayılmayıb, müəyyən edilmiş istifadəçi icması yoxdur və hətta rusdilli forum da yoxdur;

QSS (QNX istehsalçısı) də yaxşı texniki dəstək təklif edir, lakin sürətli cavab müddətinə zəmanət verilmir. LynxOS-dan fərqli olaraq, QNX RT ƏS həm xaricdə, həm də Rusiyada yaxşı təşkil olunmuş istifadəçi icmasına malikdir. Əksər suallara cavabları bu forumlarda tapa bilərsiniz. Ölkəmizdə QNX SVD Embedded Systems tərəfindən yayılır, onun əməkdaşları səlahiyyətli texniki dəstək göstərə və ƏS-nin xüsusi prosessor lövhələrinə uyğunlaşdırılması üzrə işlər apara bilirlər. Bundan əlavə, şirkət QSS ilə birbaşa əlaqələrə malikdir və QNX RT ƏS-nin tərtibatçısından mürəkkəb məsələlər üzrə məsləhət ala bilər.

VxWorks-in tərtibatçısı olan WindRiver ənənəvi olaraq qapalı texniki siyasətə riayət edir, yəni ƏS-nin iş prinsipləri haqqında məlumat əldə etmək kifayət qədər çətindir. Bu OS-də rusdilli forum da yoxdur. VxWorks RT ƏS-i ölkəmizdə əsasən xarici mənşəli hazır proqram təminatı və aparat həllərinin satışı ilə məşğul olan AVD Systems şirkəti tərəfindən paylanır.

Açıq mənbə

Açıq RT ƏS-nin ən azı üç üstünlüyü var:

  • tətbiqi proqram tərtibatçıları texniki dəstəyi cəlb etmədən mürəkkəb problemləri başa düşə bilirlər;
  • sertifikatlaşdırmaq daha asan (əlfəcinlər və s.);
  • daha dinamik inkişaf, çünki RT OS developer şirkəti tez-tez yalnız səhvlərin düzəldilməsi üçün sorğular deyil, həm də səhvlərin aradan qaldırılması və sistemin təkmilləşdirilməsi üçün təkliflər alır. Açıq mənbəli RTOS tərtibatçılarının icmaları, bir qayda olaraq, daha sürətli böyüyür və daha yaxşı təşkil olunur. Müstəqil ekspertlər texniki dəstək xidmətinin problemlərini həll etməyə kömək edir və sistemin işlənib hazırlanması, sazlanması və sınaqdan keçirilməsində iştirak edirlər.

2007-ci ilin sentyabrından QSS QNX nüvəsini açıq mənbə ilə təmin etmişdir (O ​​cümlədən Adaptive Partitioning paketi, High Availability paketi). Bir az sonra şəbəkə alt sisteminin mənbə kodları açıldı. Hazırda 6.4.0 beta versiyasını rəsmi internet saytında yükləmək mümkündür.

Qeyd etmək lazımdır ki, bu gün QNX modullarının hamısı açıq deyil (məsələn, qrafika və fayl sistemləri üçün kodlar yoxdur) və lisenziya “mənbə kodunun” istifadəsinə məhdudiyyət qoyur: yalnız qeyri-kommersiya məqsədləri üçün. Bununla belə, QNX istifadəçisi yuxarıda göstərilən üstünlükləri pulsuz əldə edir.

LynxOS və VxWorks mənbə kodları kommersiya baxımından mövcuddur. Belə bir məhsulun qiymətində razılaşmaq olar.

Alətlər

Yaxşılığın mövcudluğu alətlərəsasən müəyyən bir OS üçün tətbiqi proqramların keyfiyyətini və inkişaf sürətini müəyyən edir. Qeyd edək ki, hazırda LynxOS, VxWorks və QNX təmin edir yaxşı keyfiyyət inteqrasiya edilmiş inkişaf mühiti (IDE) və tətbiqi proqram təminatının sazlanması, proqram profilinin yaradılması alətləri (performansda, yaddaşda və s. darboğazları aşkar etmək üçün) daxil olan alətlər. Bu RT ƏS-lər üçün ISD-nin erqonomikası ümumiyyətlə adi ƏS-lər (məsələn, MS Windows) üçün hazırlanmış inkişaf alətlərindən heç də aşağı deyil.

Tətbiq proqramlarının daşınması

Tətbiqi proqram təminatının daşınma qabiliyyəti onu digər əməliyyat sistemləri (RT olmayan ƏS daxil olmaqla) altında istifadə etməyə imkan verir. Daşınma qabiliyyəti proqram təminatının tərtibatçısına RT ƏS-dən müəyyən müstəqillik verir: lazım gələrsə, aşağı qiymətə başqa ƏS-ə keçə bilərsiniz.

Portativ proqram təminatını yazmaq qabiliyyəti hazırda POSIX standartına uyğunluqla müəyyən edilir. Bütün nəzərdən keçirilən RT ƏS-lər POSIX 1003.1 standartını dəstəkləyir. LynxOS-un üstünlüyü var - bu ƏS Linux ilə binar uyğun gəlir. Yəni Linux proqramları yenidən tərtib edilmədən LynxOS altında işlədilə bilər. Əksinə, LynxOS proqramları Linux-da işlədilə bilər (versiya 2.4.x glibs C dil kitabxanası versiyası 2.2.2).

RT ƏS-nin qalan hissəsi Linux proqramlarını işə salmaq üçün onların yenidən tərtib edilməsini tələb edir. Bu halda, hətta POSIX-ə uyğun tətbiqlərin daşınması prosesi çox vaxt kitabxanaların və kompilyatorların həyata keçirilməsində fərqlər səbəbindən kifayət qədər əmək tutumlu ola bilər.

Prosessor arxitekturalarına dəstək

Bugünkü daxili əməliyyat sistemlərindən kommersiya sistemlərinə keçid dövründə aviasiya üçün idarəetmə sistemlərinin yerli tərtibatçıları tez-tez RTOS-u seçmək və mövcud olana uyğunlaşdırmaq lazım olan bir vəziyyətdə olurlar. prosessor lövhəsi. Bu halda, OS seçərkən əsas arqumentlərdən biri lövhədə istifadə olunan prosessor arxitekturasına dəstəkdir.

Aviasiya standartlarına uyğunluq

Xarici təcrübədə avionik sistemlər üçün proqram təminatı DO-178B standartına uyğunluq sertifikatına malik olmalıdır. Əgər proqram təminatı müxtəlif səviyyələrdə kritiklik bir prosessor modulunda yerinə yetirilir, onda istifadə olunan RTOS bölmələr konsepsiyasını dəstəkləməlidir. (Əks halda səhvin yayılmadığını sübut etmək demək olar ki, mümkün deyil). Artıq qeyd edildiyi kimi, RTOS proqramlaşdırma interfeysinin ARINC-653 standartına uyğun olması daha yaxşıdır, çünki standart xarici sertifikatlaşdırma orqanlarına yaxşı məlumdur.

LynxOS standartlara uyğunluq məsələsində liderdir. O, ARINC-653-ü dəstəkləyir və onun üzərində qurulmuş DO-178B sertifikatlı sistemlərin çoxlu nümunələri var. Əsas odur ki, LynuxWorks bir sıra RSC təklif edir (baxmayaraq ki, məqalənin müəllifləri qiymət haqqında heç nə bilmirlər).

VxWorks ARINC-653 standartına uyğundur və onun üzərində qurulmuş sistemlər DO-178B üçün sertifikatlaşdırıla bilər (bir çox nümunələr var).

QNX ARINC-653-ə uyğun gəlmir və ona əsaslanan DO-178B sertifikatlı sistemlər hələ mövcud deyil.

Qeyd etmək lazımdır ki, QNX sistemləri prinsipcə IMA qurmaq üçün istifadə edilə bilər, çünki QNX ARINC-653-ə çox yaxşı alternativ olan bölmə konsepsiyasını təmin etmək üçün öz metodunu dəstəkləyir və əlavə olaraq, prosessorun vaxtına qənaət etməyə imkan verir. .

Hərbi aviasiya üçün oxşar Rusiya standartlarına (GOST R ISO/IEC 51904-2002) gəldikdə, sertifikatlaşdırılmış sistemin bir nümunəsi hələ mövcud deyil, baxmayaraq ki, prinsipcə belə bir sistem nəzərdən keçirilən hər hansı ƏS əsasında hazırlana bilər. QNX RT ƏS üçün hazırda əsas ƏS modullarının sertifikatlaşdırmaya hazırlanması üzrə işlər aparılır.

Mütəxəssis hazırlığı sisteminin inkişafı

RT ƏS və müxtəlif proqram təminatının işlənib hazırlanması və sazlanması alətləri ilə işləyən kadrlar üçün təlimin sürəti və keyfiyyəti proqram təminatının işlənmə sürəti və onun keyfiyyəti ilə birbaşa bağlıdır. WindRiver, LynuxWorks, QSS kimi daxili və sistem proqram təminatı sahəsində aparıcı şirkətlər şirkətin məhsullarının, o cümlədən RT ƏS-nin istifadəsini öyrənmək üçün genişmiqyaslı kurslar və təlimlər proqramı həyata keçirirlər.

Müqayisə nəticələri

QNX Neutrino RTOS texniki baxımdan ən qabaqcıl əməliyyat sistemidir yaxşı dəst alətlər nisbətən aşağı qiymətə malikdir. Mikrokernel arxitekturası işlənmiş sistemlərin yüksək etibarlılığını və modulluğunu təmin edir. Əlavə üstünlük açıq mənbə kodudur. Ancaq "məlhəmdə milçək" də var: hazırda QNX aviasiyada praktiki olaraq heç bir yerdə istifadə edilmir və bu baxımdan bu ƏS rəqiblərinə (LynxOS və VxWorks) uduzur. QNX-in əlavə çatışmazlığı: ARINC-653 standartına uyğun gəlməməsi.

Qeyd etmək lazımdır ki, QNX Neutrino, prinsipcə, avionik sistemlərdə işləmək üçün bütün lazımi mexanizmlərə malikdir. Bundan əlavə, QNX əsaslı sistemlərin etibarlılığı və yüksək əlçatanlığı səhvin dəyərinin aviasiyadan (nüvə reaktoruna nəzarət) daha yüksək olduğu digər sənayelərdə də sübut edilmişdir.

QNX Neutrino-nun yerli aviasiya standartlarının tələblərinə uyğun sertifikatlaşdırılmasına hazırlıq işləri hazırda SWD Software tərəfindən həyata keçirilir.

RTOS LynxOS-178, əksinə, xaricdə bütün lazımi sertifikatlara malikdir, baxmayaraq ki, bir çox digər meyarlara görə QNX Neutrino-dan daha az üstünlük təşkil edir. Qeyd edək ki, Rusiya aviasiya sənayesində istifadə üçün LynxOS-178 RTOS da yerli GOST-lara uyğun sertifikatlaşdırılmalıdır.

VxWorks ƏS xaricdə kritik missiya tətbiqlərində uzun müddət istifadə tarixinə malikdir. Bununla belə, təhlilimiz göstərir ki, bir çox meyarlara görə ilk iki əməliyyat sisteminə daha az üstünlük verilir. Bundan əlavə, VxWorks-in etibarlılığı onun qapalı inkişaf strategiyası ilə sarsılır.

Ekspert qrupu / R&D.CNews

Çap et

RTOS-un ümumi təyinatlı OS-dən fərqli xüsusiyyətləri

Ümumi təyinatlı əməliyyat sistemləri, xüsusən də UNIX kimi çoxistifadəçili sistemlər hədəflənir optimal paylama istifadəçilər və tapşırıqlar arasında kompüter resursları. Real vaxt rejimində əməliyyat sistemlərində belə bir vəzifə arxa plana keçir - hər şey əsas vəzifədən əvvəl geri çəkilir - obyektdə baş verən hadisələrə reaksiya vermək üçün vaxt tapır avadanlıqla, obyektlə, obyektdə baş verən hadisələrlə. Real vaxt rejimində əməliyyat sistemi xarici hadisələri emal etməyə yönəldilmişdir. Real vaxt əməliyyat sistemi ümumi təyinatlı OS-yə bənzər istifadəçi interfeysinə malik ola bilər, lakin o, tamamilə fərqli şəkildə tərtib edilmişdir. Bundan əlavə, real vaxt rejimində əməliyyat sistemlərinin tətbiqi həmişə xüsusidir. Əgər ümumi təyinatlı ƏS adətən istifadəçilər (proqramçılar deyil) tərəfindən hazır proqramlar toplusu kimi qəbul edilirsə, o zaman real vaxt rejimində əməliyyat sistemi yalnız real vaxt rejimində konkret aparat və proqram kompleksinin yaradılması üçün alət kimi xidmət edir. Və buna görə də, real vaxt rejimində əməliyyat sistemlərinin istifadəçilərinin ən geniş sinfi real vaxt sistemlərinin tərtibatçıları, idarəetmə və məlumatların toplanması sistemlərini dizayn edən insanlardır. Müəyyən bir real vaxt sistemini tərtib edərkən və inkişaf etdirərkən, proqramçı həmişə obyektdə hansı hadisələrin baş verə biləcəyini dəqiq bilir və bu hadisələrin hər birinə xidmət etmək üçün kritik vaxt çərçivəsini bilir RT sisteminin baş vermiş hadisəyə cavab vermək üçün vaxtı olmalıdır Bu hadisə üçün kritik müddət ərzində obyektdə. Hər bir hadisə üçün kritik vaxtın dəyəri obyekt və hadisənin özü tərəfindən müəyyən edilir və fərqli ola bilər, lakin sistemin reaksiya müddəti sistemi yaratarkən proqnozlaşdırılmalıdır (hesablanmalıdır). Proqnozlaşdırılan vaxtda cavab verilməməsi real vaxt sistemləri üçün xəta hesab edilir. Sistem eyni vaxtda baş verən hadisələrə cavab verə bilməlidir. Hətta iki və ya daha çox xarici hadisə eyni vaxtda baş versə belə, sistemin bu hadisələr üçün kritik vaxt intervalları daxilində onların hər birinə reaksiya vermək üçün vaxtı olmalıdır.

Real vaxt əməliyyat sistemi

Ümumi təyinatlı ƏS

Əsas vəzifə

Avadanlıqda baş verən hadisələrə reaksiya verməyə vaxt tapın

İstifadəçilər və tapşırıqlar arasında kompüter resurslarını optimal şəkildə paylayın

Nəyə diqqət yetirir?

Xarici hadisələrin idarə edilməsi

İstifadəçi hərəkətlərinin işlənməsi

Necə yerləşdirilir

Müəyyən real vaxt rejimində aparat və proqram kompleksi yaratmaq üçün alət

İstifadəçi onu istifadəyə hazır proqramlar toplusu kimi qəbul edir

Kimlər üçün nəzərdə tutulub?

İxtisaslı tərtibatçı

Ara istifadəçi

Sərt və yumşaq real vaxt sistemləri

Real vaxt sistemlərinin iki növü var - sərt real vaxt sistemləri və yumşaq real vaxt sistemləri.

Sərt real vaxt sistemləri heç bir halda sistemin cavabında gecikməyə imkan vermir, çünki:

  • nəticələr geciksə faydasız ola bilər
  • reaksiya geciksə, fəlakət baş verə bilər
  • gecikməyin qiyməti sonsuz ola bilər.

Çətin real vaxt sistemlərinə misal olaraq bortda idarəetmə sistemləri, fövqəladə halların mühafizəsi sistemləri, fövqəladə hadisələrin qeydləri ola bilər.

Yumşaq real vaxt sistemləri, cavab gecikməsinin kritik olmaması ilə xarakterizə olunur, baxmayaraq ki, bu, nəticələrin dəyərinin artmasına və bütövlükdə sistemin performansının azalmasına səbəb ola bilər. Sistem növbəti emal üçün vaxt yox idi qəbul edilmiş paket, bu, göndərən tərəfdə və yenidən göndərmədə fasiləyə səbəb olacaq (əlbəttə ki, protokoldan asılı olaraq). Məlumat itirilmir, lakin şəbəkə performansı azalır Sərt və yumşaq real vaxt sistemləri arasındakı əsas fərq aşağıdakı kimi ifadə edilə bilər: sərt real vaxt sistemi heç vaxt hadisəyə cavab verməkdə gecikməməlidir, yumşaq real vaxt sistemi. bir hadisəyə cavab verməkdə heç vaxt gecikməməlidir

Əməliyyat sisteminin nüvəsi

Kernel əməliyyat sisteminin (ƏS) mərkəzi hissəsidir, proqramların kompüter resurslarına, yaddaşa, xarici məlumatlara koordinasiyalı çıxışı təmin edir. Aparat, proqram dili əmrlərini kompüterin başa düşə biləcəyi ikili koda çevirən xarici giriş və çıxış cihazı ƏS-nin əsas elementi olaraq, kernel proqramların onları işə salmaq üçün lazım olan sistem resurslarına daxil olması üçün ən aşağı səviyyəli abstraksiyanı təmin edir. Bir qayda olaraq, nüvə proseslərarası əlaqə mexanizmlərindən və ƏS sistem zənglərinə tətbiqi çağırışlardan istifadə etməklə müvafiq proqramların icra proseslərinə belə girişi təmin edir.

Monolit nüvə

Monolit nüvə zəngin aparat abstraksiyalarını təmin edir. Monolit nüvənin bütün hissələri eyni ünvan məkanında işləyir. Bu, nüvəsinin bütün komponentlərinin olduğu bir əməliyyat sistemi dizaynıdır komponentlər bir proqram, istifadə edin ümumi strukturlar data və birbaşa prosedurları çağıraraq bir-biri ilə qarşılıqlı əlaqə. Monolit nüvə - ən qədim yoləməliyyat sistemlərinin təşkili. Monolit nüvəli sistemlərə misal olaraq əksər UNIX sistemlərini göstərmək olar.

Üstünlüklər: Əməliyyat sürəti, modulların sadələşdirilmiş inkişafı.

Qüsurlar: Bütün nüvə eyni ünvan məkanında işlədiyi üçün komponentlərdən birində baş verən nasazlıq bütün sistemi poza bilər.

Bəzi köhnə monolit ləpələr, xüsusən də UNIX/Linux sinif sistemləri, hər dəfə aparat tərkibi dəyişdikdə təkrar kompilyasiya tələb olunurdu. Müasir nüvələrin əksəriyyəti əməliyyat zamanı nüvə funksiyalarının bir hissəsini yerinə yetirən modulları yükləməyə imkan verir. Bu halda əməliyyat sisteminin komponentləri müstəqil modullar deyil, hər biri hər birini çağıra bilən prosedurlar toplusu olan monolit nüvə adlanan bir böyük proqramın komponentləridir. Bütün prosedurlar imtiyazlı rejimdə işləyir.

Mikrokernel

Mikrokernel yalnız əsas prosesə nəzarət funksiyalarını və aparatla işləmək üçün minimal abstraksiya dəstini təmin edir. İşlərin əksəriyyəti xidmət adlanan xüsusi istifadəçi prosesləri vasitəsilə həyata keçirilir. “Mikrokernelizm” üçün həlledici meyar xidmət proseslərində bütün və ya demək olar ki, bütün sürücü və modulların yerləşdirilməsidir.

Üstünlüklər: Sistem komponentlərindəki hardware nasazlıqlarına və xətalara qarşı müqavimət. Mikrokernel arxitekturasının əsas üstünlüyü ondan ibarətdir yüksək dərəcəəməliyyat sistemi nüvəsinin modulluğu. Bu, ona yeni komponentlər əlavə etməyi xeyli asanlaşdırır. Mikrokernel əməliyyat sistemində siz onun işini dayandırmadan yeni drayverləri yükləyə və boşalta bilərsiniz, fayl sistemləri və s. Drayverin yeni versiyasını bütün əməliyyat sistemini yenidən başlatmadan yükləmək olar, çünki nüvə komponentlərinin sazlanması prosesi xeyli sadələşdirilmişdir. Əməliyyat sisteminin nüvəsinin komponentləri istifadəçi proqramlarından əsaslı şəkildə fərqlənmir, ona görə də onları sazlamaq üçün adi alətlərdən istifadə edə bilərsiniz. Mikrokernel arxitekturası sistemin etibarlılığını artırır, çünki imtiyazsız proqram səviyyəsində uğursuzluq nüvə rejimi səviyyəsindəki uğursuzluqdan daha az təhlükəlidir.

Qüsurlar: Proseslər arasında məlumat ötürmək əlavə xərc tələb edir.

İcra zamanı mühiti

Real vaxt sistemlərinin icra mühiti üçün tələblər aşağıdakılardır:

  • kiçik sistem yaddaşı - onun yerləşdirilməsi imkanı üçün;
  • yaddaş səhifəsinin dəyişdirilməsinin və ya dəyişdirilməsinin qarşısını almaq üçün sistem tamamilə yaddaş rezidenti olmalıdır;
  • sistem multitasking olmalıdır - maksimum təmin etmək səmərəli istifadə bütün sistem resursları;
  • fasilələrə xidmət üçün prioritet olan əsas. Kesinti prioriteti o deməkdir ki, işə hazır olan və müəyyən bir prioritetə ​​malik olan bir prosesin mütləq daha aşağı prioritetli prosesə görə növbədə prioritet olması, ikincini tez bir zamanda əvəz etməsi və icraya keçməsi. Ən yüksək prioritetli tapşırıq gələn kimi ləpə istənilən xidmət işini bitirir. Bu, sistemin proqnozlaşdırıla bilməsini təmin edir;
  • prioritet meneceri - proqram tərtibatçısına hər bir yükləmə moduluna sistemə tabe olmayan bir prioritet təyin etməyə imkan verir. Prioritet təyinatı icraya hazır olan proqramların icra sırasını müəyyən etmək üçün istifadə olunur. Bu növ planlaşdırmaya alternativ, davam etməyə hazır olan hər bir proqrama bərabər işləmə şansı verildiyi karusel planlamasıdır. Bu üsulla hansı proqramın və nə vaxt icra olunacağına nəzarət yoxdur. Bu real vaxt mühitində qəbuledilməzdir. Prioritetə ​​əsaslanan göndərmə və kəsmə prioritet nüvəsi proqram tərtibatçısına sistem üzərində tam nəzarət imkanı verir. Daha yüksək prioritet hadisə baş verərsə, sistem daha aşağı prioritet tapşırığı emal etməyi dayandırır və yeni qəbul edilmiş sorğuya cavab verir.

Yuxarıda təsvir edilən xassələrin birləşməsi real vaxt rejimində güclü və səmərəli icra mühiti yaradır.

İş vaxtı mühitinin xassələri ilə yanaşı, real vaxt rejimində ƏS nüvəsi tərəfindən təqdim olunan xidməti də nəzərə almaq lazımdır. İstənilən real vaxt işləmə mühitinin əsasını nüvə və ya dispetçer təşkil edir. Kernel hədəf kompüterin aparatına nəzarət edir: mərkəzi prosessor, yaddaş və giriş/çıxış qurğuları; bütün digər sistemlərin və tətbiqi proqram təminatının işinə nəzarət edir. Real vaxt rejimində dispetçer hədəf kompüterin aparatı ilə proqram təminatı arasında oturur. O, real vaxt rejimində tətbiqləri işə salmaq üçün tələb olunan xüsusi xidmət təqdim edir. Kernel tərəfindən təmin edilən xidmət proqram proqramlarına yaddaş və ya giriş/çıxış cihazları kimi sistem resurslarına giriş imkanı verir.

Kernel müxtəlif növ xidmətlər göstərə bilər:

  • Tapşırıqlararası mübadilə. Çox vaxt eyni sistem daxilindəki proqramlar arasında məlumat ötürmək lazımdır. Bundan əlavə, bir çox proqramlar şəbəkə üzərindən digər sistemlərlə əlaqə saxlamalıdır. İnterkom mesajlaşma sistemi vasitəsilə edilə bilər. Xarici rabitə ya dataqram (ən yaxşı çatdırılma üsulu) və ya rabitə xətləri (zəmanətli çatdırılma) vasitəsilə təşkil edilə bilər. Bu və ya digər metodun seçimi rabitə protokolundan asılıdır.
  • Məlumatların ayrılması. Real vaxt rejimində tətbiqlərdə məlumatların toplanması ən uzun vaxt tələb edir. Məlumat tez-tez digər proqramların işləməsi üçün lazımdır və ya bəzi funksiyalarını yerinə yetirmək üçün sistemə lazımdır. Bir çox sistemlər paylaşılan yaddaş bölmələrinə girişi təmin edir. Məlumat növbəsi geniş yayılmışdır. İstifadədə bir çox növbə var, hər birinin öz üstünlükləri var.
  • Xarici cihazlardan gələn sorğuların işlənməsi. Hər bir proqram proqramı real vaxt rejimində xarici cihaza qoşulur müəyyən növ. Nüvə proqram proqramlarına bu cihazlardan oxumaq və onlara yazmaq imkanı verən I/O xidmətlərini təmin etməlidir. Real vaxt rejimində tətbiqlər üçün xüsusi bir proqramın olması adi haldır xarici cihaz. Kernel cihaz drayverləri ilə işləməyi asanlaşdıran bir xidmət təmin etməlidir. Məsələn, C və ya Paskal kimi yüksək səviyyəli dillərdə yazmaq qabiliyyətini təmin edin.
  • Xüsusi vəziyyətləri idarə etmək. İstisna proqramın icrası zamanı baş verən hadisədir. Əgər onun baş verməsi proqnozlaşdırıla bilərsə, məsələn, sıfıra bölünsə, sinxron ola bilər. Və gözlənilmədən baş verərsə, məsələn, gərginlik düşməsi də asinxron ola bilər. Bu cür hadisələri idarə etmək qabiliyyətinin təmin edilməsi real vaxt proqramlarına daxili və xarici hadisələrə tez və proqnozlaşdırılan şəkildə cavab verməyə imkan verir. İstisnaları idarə etmək üçün iki üsul var - səhv şərtlərini aşkar etmək üçün dövlət dəyərlərindən istifadə etmək və səhv şərtlərini tutmaq və onları düzəltmək üçün istisna işləyicisindən istifadə etmək.

RTOS arxitekturalarına ümumi baxış

Tarixi ərzində əməliyyat sisteminin arxitekturası əhəmiyyətli inkişaf yolu keçmişdir. İnşaatın ilk prinsiplərindən biri, monolitƏS (Şəkil 1), ƏS-ni sistem nüvəsi daxilində bir-biri ilə müxtəlif yollarla qarşılıqlı əlaqədə olan və tətbiqi proqramları təmin edən modullar toplusu kimi təqdim etməli idi. giriş interfeysləri avadanlıqlara zənglər üçün.

səviyyəli ƏS (Şəkil 2) Belə ƏS-ə misal olaraq məlumdur MS-DOS sistemi. Bu sinif sistemlərində tətbiqi proqramlar yalnız sistem nüvəsi və ya onun rezident xidmətləri vasitəsilə deyil, həm də bilavasitə avadanlıqlara daxil ola bilirdi. RTOS-lar uzun illərdir ki, bu prinsip əsasında qurulub. Monolit əməliyyat sistemləri ilə müqayisədə bu arxitektura sistem reaksiyalarının əhəmiyyətli dərəcədə daha yüksək proqnozlaşdırıla bilməsini təmin edir və həmçinin sürətli giriş hardware proqramları. Mənfi cəhəti

Belə sistemləri bu qədər pis edən şey, onların çox funksiyalı olmamasıdır. Bu arxitektura daxilində asinxron hadisələrin işlənməsi problemi mesajların buferləşdirilməsinə, sonra isə ardıcıl olaraq buferlərin seçilməsi və onların işlənməsinə qədər azaldıldı. Eyni zamanda, kritik xidmət müddətlərinə uyğunluq xarici proseslərin sürəti ilə müqayisədə hesablama kompleksinin yüksək göstəriciləri ilə təmin edilmişdir.

Şəkil 2. Tier OS arxitekturası

Real vaxt rejimində əməliyyat sistemlərinin qurulması üçün ən təsirli arxitekturalardan biri müştəri-server arxitekturasıdır. Ümumi sxem Bu texnologiya ilə işləyən ƏS Şəkil 3-də göstərilmişdir.Bu arxitekturanın əsas prinsipi ƏS xidmətlərinin serverlər şəklində istifadəçi səviyyəsinə ötürülməsidir və mikrokernel müştəri istifadəçi proqramları ilə serverlər arasında mesaj meneceri kimi çıxış edir - sistem xidmətlər. Bu arxitektura RTOS və quraşdırılmış sistemlər üçün tələblər baxımından bir çox üstünlüklər təmin edir. Bu üstünlüklər arasında:

1. ƏS-nin etibarlılığı artır, çünki Hər bir xidmət, əslində, müstəqil proqramdır və səhvləri aradan qaldırmaq və izləmək daha asandır.

2. Belə bir sistem daha yaxşı miqyas alır, çünki lazımsız xidmətlər onun işinə xələl gətirmədən sistemdən xaric edilə bilər.

3. Sistemin nasazlıqlara qarşı dözümlülüyü artır, çünki Dondurulmuş xidmət onsuz da yenidən başlana bilər

sistemi yenidən başladın.

Şəkil 3. Müştəri-server arxitekturasından istifadə edərək ƏS-nin qurulması

Təəssüf ki, bu gün müştəri-server prinsipi ilə həyata keçirilən əməliyyat sistemləri çox deyil. Mikrokernel arxitekturasını həyata keçirən məşhur RTOS-lar arasında OS9 və QNX var.

İstifadə olunmuş ədəbiyyat siyahısı:

1) http://ru.wikipedia.org/wiki/Real_time_operating system

2) http://www.asutp.ru/?p=600591

3) http://www.mka.ru/?p=40774

4) http://www.4stud.info/rtos/lecture1.html

5)http://www.ozon.ru/context/detail/id/3092042/