Бесплатная библиотека, читать онлайн, скачать книги txt

БОЛЬШАЯ БЕСПЛАТНАЯ БИБЛИОТЕКА

МЕЧТА ЛЮБОГО КНИГОЛЮБА

Воскресенье, 09 июня, 06:27

Авторизация    Регистрация
Дамы и господа! Электронные книги в библиотеке бесплатны. Вы можете их читать онлайн или же бесплатно скачать в любом из выбранных форматов: txt, jar и zip. Обратите внимание, что качественные электронные и бумажные книги можно приобрести в специализированных электронных библиотеках и книжных магазинах (Litres, Read.ru и т.д.).

ПОСЛЕДНИЕ ОТЗЫВЫ О КНИГАХ

Михаил (19.04.2017 - 06:11:11)
книге:  Петля и камень на зелёной траве

Потрясающая книга. Не понравится только нацистам.

Антихрист666 (18.04.2017 - 21:05:58)
книге:  Дом чудовищ (Подвал)

Классное чтиво!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ладно, теперь поспешили вы... (18.04.2017 - 20:50:34)
книге:  Физики шутят

"Не для сайта!" – это не имя. Я пытался завершить нашу затянувшуюся неудачную переписку, оставшуюся за окном сайта, а вы вын... >>

Роман (18.04.2017 - 18:12:26)
книге:  Если хочешь быть богатым и счастливым не ходи в школу?

Прочитал все его книги! Великий человек, кардинально изменил мою жизнь.

АНДРЕЙ (18.04.2017 - 16:42:55)
книге:  Технология власти

ПОЛЕЗНАЯ КНИГА. Жаль, что мало в России тех, кто прочитал...

Читать все отзывы о книгах

Обои для рабочего стола

СЛУЧАЙНОЕ ПРОИЗВЕДЕНИЕ

Зеленоглазая, холодная, седая...
Засов, открыв, в ухмылке зубы, скаля,
Дыханьем страха, ворона крылом
Ночь одиночества тоской вползает в дом.
Стезя отвергнутых, я так тебя желала,
До хрипоты, до боли вглядываясь в даль.
Звала, явилась ты и предо мной предстала:
Жизнь-пустота, надежд утерянный Грааль.
Свой, выбрав путь, держаться до конца.... >>

13.05.10 - 05:18
Автор неизвестен

Читать онлайн произведения


Хотите чтобы ваше произведение или ваш любимый стишок появились здесь? добавьте его!

Поделись ссылкой

Мифы о безопасном ПО - уроки знаменитых катастроф   ::   Аджиев Валерий

Страница: 9 из 18
 
1 сек., разделялись на "критические", исполнявшиеся первыми, и "некритические". К критическим отнесены три приоритетных задачи (рис. 1):

* "Servo", ответственная за все операции, связанные с эмиссией радиационных пучков и доставкой их к месту назначения; * "Housekeeper", выполнявшая верификацию всех параметров и ответственная за блокировку работы в случае возникновения нештатной ситуации, а также за сообщения о таких ситуациях; * "Treat", управлявшая самим процессом лечения, который был разделен на 8 операционных фаз. В зависимости от значения переменной Tphase вызывалась одна из восьми подпрограмм, по окончании работы которой Treat в зависимости от значений нескольких разделяемых с другими критическими и некритическими задачами переменных, вырабатывала план на новый цикл.

[Рис. 1] Рис. 1. Взаимодействие задач и подпрограмм в ПО для Therac-25.

Одна из вызываемых Treat подпрограмм Datent (Data entry) через разделяемую "флаговую" переменную Data_entry_complete взаимодействует с "некритической"

задачей Keyboard Handler, которая управляет вводом информации с клавиатуры, исполняясь параллельно с Treat. Keyboard Handler распознает момент окончания ввода и сигнализирует об этом, изменяя значение Data_entry_complete. В свою очередь, Datent проверяет значение этой переменной. Если оно не изменилось, то значение Tphase остается равным "1", и на следующем цикле Treat опять запустит Datent; если же значение Data_entry_complete изменилось, то Datent меняет значение Tphase с "1" на "3"; в результате после окончания работы Datent монитор Treat вызовет подпрограмму Set Up Test, выполняющую проверку считающихся уже установленными параметров.

еобходимо упомянуть еще одну переменную MEOS ( Mode/Energy Offset), разделяемую между Datent, Keyboard Handler и еще одной некритической задачей Hand. Старшие байты MEOS используются подпрограммой Datent для установки одного из двух режимов облучения и величины энергии испускаемого потока, в то время как младшие используются параллельно работающей задачей Hand для установки коллиматора в положение, соответствующее выбранному режиму и энергии.

Оператор мог после ввода параметров режима и энергии редактировать эти величины по отдельности. Однако, здесь присутствовал тонкий момент разработчики установили: об окончании процесса ввода (и редактирования!) параметров свидетельствует то, что все параметры заданы и курсор находится в командной строке, на предмет чего каждые 8 сек. (величина выбрана, исходя из некоторых технических соображений, связанных с инерционностью приборов) производится опрос переменной Data_entry_complete. Если в пределах этих 8 сек. курсор покидает командную строку и после быстрого редактирования параметров успевает вернуться на нее, то Keyboard Handler этого события просто не заметит, и соответственно, никак переменную Data_entry_ complete не изменит.

Иными словами, потенциально существует возможность для следующей последовательности действий:

* Keyboard Handler отследил местонахождение курсора на командной строке и установил флаг Data_entry_complete; * затем оператор изменил данные в MEOS; * не заметив этого (если к моменту опроса курсор оказался вновь на командной строке), Keyboard Handler не переустанавливает флаг Data_entry_complete; * тогда Datent уже не способна обнаружить изменение MEOS она свою работу закончивает, установив Tphase=3 (а не Tphase=1, чтобы отработать еще один цикл и учесть изменения); * тем временем, параллельно работающая Hand устанавливает коллиматор в положение, соответствующее младшим байтам MEOS (их установила ранее Datent), которые могли находиться в противоречии со старшими байтами этой разделяемой переменной (как раз и подвергшимся редактированию!).

Специальных проверок для обнаружения такой несовместимости предусмотрено не было.

1<<8910>>18


В тексте попалась красивая цитата? Добавьте её в коллекцию цитат!
ИнферноДэн Браун199 руб.
Французские дети не капризничают. Уни...Кэтрин Кроуфорд99 руб.
Невеста воина, или Месть по расписаниюЕлена Звёздная69,90 руб.
Пятьдесят оттенков серогоЭ. Л. Джеймс149,90 руб.


copyright © Бесплатная библиотека,    контакты: [email protected]