Кіріспе

Нақты уақыт Java – Java бағдарламалау тілінде нақты уақыт жүйелерінің талаптарын қанағаттандыратын бағдарламаларды жазуға мүмкіндік беретін технологиялар жиынтығы. Java-ның күрделі жад басқаруы, жіптерді (threading) және бір мезгілдестікті (concurrency) тумамен қолдауы, типтік қауіпсіздік және салыстырмалы қарапайымдылығы оны көптеген салаларда пайдалануға сұраныс тудырды. Оның мүмкіндіктері нақты уақыттағы есептеу қажеттіліктерін қолдау үшін жетілдірілді: Нақты уақыт Java қатаң басымдыққа негізделген жіптер моделін қолдайды, себебі Java жіптері басымдықтарды қолдайды, Java құлыптау механизмдері басымдық инверсиясын болдырмау әдістерін, мысалы басымдықты мұралау немесе басымдық шегі протоколын қолдайды, сондай-ақ оқиғаларды өңдеуді де қамтиды. Нақты уақыт Java үшін ашық стандартты әзірлеудің алғашқы ұсынысын Келвин Нильсен жасады, ол сол кезде Айова штаты университетінің ғылыми қызметкері болған. Бұл туралы ACM хабарламаларында шолу мақаласы жарияланды. Осы алғашқы ұсыныстарға үлкен қызығушылық білдірілді, нәтижесінде Ұлттық Стандарттар және Технология институты (NIST) нақты уақыт Java үшін ашық стандартты құру мақсатында бірқатар кездесулер өткізді. Бірақ NIST-ке Java тіліне қатысты стандарттарды белгілеуге олардың құзыры жетпейтіні айтылды, себебі Java сауда белгісі болып тіркелген, ал технологиялар Sun Microsystems компаниясына тиесілі болды. Сондықтан NIST консенсус талаптарын жариялаумен айналысып, өз жұмысын аяқтады, оларды Sun Microsystems компаниясы болашақта стандарттау жұмыстарында қарастыра алатын еді. Java қауымдастығы құрылған кезде, алғашқы жұмыс нақты уақыт Java-ның JSR001 спецификациясын жасау болды. Java үшін жасалған нақты уақыт спецификациясының (RTSJ) бірнеше іске асырылымдары пайда болды, олардың ішінде Timesys, IBM-нің WebSphere Real Time, Sun Microsystems-тің Java SE Real Time Systems, PTC, Inc-тің PTC Perc немесе aicas-тың JamaicaVM-нің эталондық іске асырылымдары бар. RTSJ маңызды мәселелерді шешті: жіптер моделі үшін ең төменгі талаптарды міндеттеу (және басқа модельдерді VM-ге қосуға рұқсат беру) және қоқыс жинаудан (garbage collection) тыс жад аймақтарын, сондай-ақ қоқыс жинаушымен тоқтатылмайтын жіптерді қамтамасыз ету арқылы. Бұл аймақтар аймақтарға негізделген жад басқару арқылы басқарылады. Соңғы 2.0 нұсқасы құрылғыларға тікелей қол жеткізуді және детерминистік қоқыс жинауды да қолдайды.

Java үшін нақты уақыт спецификациясы

Java үшін нақты уақыт спецификациясы (RTSJ) — Java бағдарламалау тілінде нақты уақытты есептеу бағдарламалау мүмкіндігін қамтамасыз ететін интерфейстер мен мінез-құлықты жетілдірулер жиынтығы. RTSJ 1.0 Java қоғамдастығы процесінде JSR 1 ретінде әзірленді, ол 2001 жылдың қараша айында жаңа стандартты бекітті. RTSJ 2.0 JSR 282 аясында әзірленуде. Оның жобалық нұсқасы JCP бетінде қолжетімді. Қосымша ақпаратты Aicas-тан алуға болады.