У чым розніца паміж аперацыйнымі сістэмамі ў рэжыме рэальнага часу, такімі як VxWorks, і традыцыйнымі аперацыйнымі сістэмамі, такімі як Windows?


адказ 1:

Аперацыйныя сістэмы ў рэжыме рэальнага часу гарантуюць, што задачы будуць выкананы за пэўны прамежак часу. Гэта можа быць вырашальным у пэўных галінах. Разгледзім аўтаномную сістэму кіравання аўтамабілем у якасці прыкладу. Вы жадаеце пераканацца, што разлікі праводзяцца за абмежаваную колькасць часу, каб яны не зрываліся, калі не круціце колы.

Гэта азначае, што дызайн аперацыйнай сістэмы адрозніваецца, таму планавальнік можа даць такія гарантыі, як усё робіцца на прыладзе. У той жа час гэта азначае, што прыкладанні, напісаныя для гэтай аперацыйнай сістэмы, некалькі адрозніваюцца адна ад адной з-за гэтых патрабаванняў і здагадак.

Калі праграма ў Windows не завершыцца на працягу 20 мс, хоць сістэма можа выглядаць млявай, гэта не прывядзе да катастрафічнага сцэнарыя збою. Гэты тып навакольнага асяроддзя часта лепш для карыстальнікаў, якія спрабуюць узаемадзейнічаць з сістэмай, таму што розныя рэчы могуць быць нададзены прыярытэтам.


адказ 2:

Салеем Абдулрасол мае выдатны адказ, гаворка ідзе толькі пра затрымкі сістэмы. У разліках вызначэнне рэальнага часу - гэта гарантаваны час водгуку паміж узнікненнем падзеі, як правіла, перапынка, і сістэмай, якая рэагуе на гэтую падзею.

Вы ўбачыце, што розныя вытворцы аперацыйнай сістэмы вызначаюць час рэакцыі, якое залежыць ад апаратнай сумесі і хуткасці, з якой яны выконваюцца, пры дапамозе асноўнага абсталявання, які яны выкарыстоўваюць для вымярэння змяненняў і тэстаў.

Вы можаце вызначыць Windows у рэжыме рэальнага часу, вызначыўшы час адказу ў 1 секунду. Час адказу можа быць дастатковым для працэсу, які лічыцца ў рэжыме рэальнага часу.

Кадаванне ў сістэме ў рэжыме рэальнага часу падлягае тым жа абмежаванням. Ваш код павінен скончыцца да наступнага перапынку тыпу, на які рэагуе ваш код, і разгледзець любыя іншыя перабоі, з якімі мае справу сістэма. Калі гэтага не адбудзецца, існуе рэальная рызыка, што ваш код разб'е стэк.


адказ 3:

Я па сутнасці згодны з тым, што сказаў Салем і Андрэй. Увогуле, розніца паміж RTOS і традыцыйнай аперацыйнай сістэмай заключаецца ў алгарытмах планавання. Гэта залежыць ад дамена прыкладання аперацыйнай сістэмы і прыярытэтаў, якія яна павінна ўсталяваць.

У традыцыйнай аперацыйнай сістэме асноўная ўвага надаецца прапускной здольнасці і справядлівасці, таму максімальная колькасць задач можа быць выканана за зададзены час і ўся праца можа быць завершана.

У RTOS ёсць некалькі задач, якія патрабуюць бліжэйшага часу. Нават калі гэта азначае несправядлівасць да іншых задач і зніжае агульную прапускную здольнасць. Паколькі задача ў рэжыме рэальнага часу, вызначаная карыстальнікам RTOS, мае пэўную крытычнасць. Раней пачатая задача таксама можа быць загадзя прызначана і адведзена для выканання задачы ў рэжыме рэальнага часу. Гэта парушае справядлівасць, але неабходна для забеспячэння прынцыпу ў рэжыме рэальнага часу.

Прычына, па якой я сказаў "як мага бліжэй" да гарантаванага часу завяршэння, заключаецца ў тым, што калі вы запусціце 5 задач у рэжыме рэальнага часу адначасова, магчыма, не атрымаецца выканаць усе заданні ў неабходным акне. Дызайнер сістэмы павінен улічваць такія варыянты пры праектаванні агульнай сістэмы і планаванні магутнасці.


адказ 4:

Паколькі VxWorks - аперацыйная сістэма ў рэжыме рэальнага часу (RTOS), а Windows - аперацыйная сістэма агульнага прызначэння (GPOS), ваша пытанне можна разглядаць як RTOS або GPOS.

Самае асноўнае адрозненне заключаецца ў тым, што RTOS з'яўляецца дэтэрмінаваным у паводзінах часу, у той час як GPOS не з'яўляецца дэтэрмінаваным.

Дэтэрмінаваны ў паводзінах часу азначае, што задачы RTOS спажываюць толькі вядомыя і чаканыя адзінкі часу. Прыклад: Можна сказаць, што разлік выбарка (заданне) ажыццяўляецца ў 2 мс.

Пад GPOS службы (задачы) могуць устаўляць выпадковыя затрымкі ў прыкладанне праграмнага забеспячэння і, такім чынам, выклікаць павольную аператыўнасць у нечаканыя часы. Напрыклад, мы не можам гарантаваць, што Microsoft Word адкрыецца ў Windows на працягу 2 секунд, калі вы націснеце на яго, каб адкрыць яго.