Автор: Пользователь скрыл имя, 11 Января 2012 в 21:28, лекция
Мы не станем рассматривать самый низший уровень этой схемы – аппаратное обеспечение, а начнем на ступеньку выше – с посредника, находящегося между аппаратным обеспечением и медицинской программой, называемого операционной системой. Большинство из вас знакомо с двумя из операционных систем – Windows и MS DOS. Как вы увидите далее, это не единственные и не самые лучшие ОС, хотя и наиболее распространенные.
Информационные технологии в медицине.
План лекций.
Прежде всего, что же такое “информационные технологии1”? Вообще говоря, под этим термином следует понимать любую совокупность методов получения, обработки, преобразования, передачи и предоставления информации. На практике (особенно в медицине) этот термин употребляют в более узком смысле, подразумевая использование некоторой компьютерной системы для решения указанных задач. В настоящее время такая компьютерная система, как правило, включает в себя собственно компьютер, программу (или комплекс программ) осуществляющую регистрацию, обработку и предоставление информации врачу, базу данных, хранящую информацию о проведенных обследованиях, средства приема и передачи накопленной информации другому пользователю.
Мы не станем рассматривать самый низший уровень этой схемы – аппаратное обеспечение, а начнем на ступеньку выше – с посредника, находящегося между аппаратным обеспечением и медицинской программой, называемого операционной системой. Большинство из вас знакомо с двумя из операционных систем – Windows и MS DOS. Как вы увидите далее, это не единственные и не самые лучшие ОС, хотя и наиболее распространенные.
(Лит-ра:
Б.Большаков - Д.В.Иртегов
“Операционные
системы” http://www.rl7.bmstu.ru/
В первой половине 70-х, когда операционные системы отличались большим разнообразием структуры и выполняемых функций, Barron D.W. в своей книге “Computer Operating Systems” определил её следующим образом: “Я не знаю, что это такое, но всегда узнаю, если увижу”. С тех пор положение существенно изменилось. Современные ОС - по крайней мере, широко распространенные системы - во многом похожи друг на друга. Прежде всего это определяется требованием переносимости программного обеспечения. Именно для обеспечения этой переносимости был принят стандарт POSIX (Portable OS Interface based on uniX), определяющий минимальные функции по управлению файлами, межпроцессному взаимодействию и т.д., которые должна уметь выполнять система. Кроме того, за четыре с лишним десятилетия развития ОС было обнаружено, что:
Какие же функции должна выполнять ОС ? По современным представлениям, ОС должна уметь делать следующее:
Существуют ОС, функции которых этим и исчерпываются, например, известная всем MS DOS. Более развитые ОС предоставляют также следующие возможности:
По тому, какие из вышеперечисленных функций реализованы и каким было уделено больше внимания, а каким меньше, системы можно разделить на несколько классов, представленных на схеме:
Это системы, берущие на себя выполнение только первых четырех функций. Как правило, это просто некий набор резидентных подпрограмм, который загружает пользовательскую программу в память и передает ей управление, после чего программа делает с системой все, что ей заблагорассудится. Считается желательным, чтобы после завершения программы машина вернулась в такое состояние, чтобы ДОС могла продолжить работу. Если же программа приводит машину в какое-то другое состояние… что ж, ДОС ничем ей в этом не может помешать (примером является процесс загрузки Windows 95…).
Как правило, такие системы работают одновременно только с одной программой. Система MS DOS позволяет загружать в память несколько программ одновременно, но не предоставляет средств для исполнения этих программ. Более того, с точки зрения документированных функций, этим программам нельзя работать. Конечно, есть еще недокументированные задние двери (backdoors)...
Существование систем такого класса обусловлено их простотой, дешевизной и низкими требованиями к ресурсам. Для машин класса Spectrum и первых моделей IBM PC это более чем критичные параметры. Именно этим объясняется широкое распространение MS DOS, в ущерб более мощным и совершенным системам. Еще одна причина, по которой такие системы могут использоваться даже на довольно мощных машинах – зачастую их возможностей вполне достаточно для создания весьма сложных медицинских приложений. Разумеется, реализация всех недостающих функций ОС в этом случае ложится на программиста. Типичным примером такого приложения является система регистрации и анализа биологических сигналов (Bioset 8000).
К этому классу относятся системы, берущие на себя выполнение всех вышеперечисленных функций. Это так называемые системы “общего назначения”, рассчитанные на интерактивную работу одного или нескольких пользователей в режиме разделения времени, при не очень жестких требованиях на время реакции системы на внешние события. Как правило, в таких системах большое внимание уделяется защите самой системы, программного обеспечения и пользовательских данных от ошибочных и злонамеренных действий других программ и пользователей. К этому классу относятся такие широко распространенные системы, как VAX/VMS, системы семейства Unix и OS/2, хотя последняя не обеспечивает одновременной работы нескольких пользователей и защиты пользователей друг от друга.
Такие системы стоят несколько особняком. Это система, допускающая одновременную работу нескольких программ, но создающая при этом для каждой программы иллюзию, что машина находится в полном ее распоряжении, как при работе под ДОС. Примерами таких систем являются IBM VM, известная у нас в стране под названием СВМ (Система Виртуальных Машин), DesqView и другие многозадачники для MS DOS. Часто система виртуальных машин является частью более мощной ОС: MS DOS и MS Windows-эмуляторы под UNIX и OS/2, окно DOS в MS Windows, эмулятор RT-11 в VAX/VMS.
В системах виртуальных машин много внимания уделяется эмуляции работы аппаратуры. Например, несколько программ могут попытаться одновременно запрограммировать системный таймер. СВМ должна отследить такие попытки и создать для каждой из программ иллюзию, что она таймер запрограммирован именно так, как надо.
Это системы, предназначенные для разработки так называемых приложений реального времени, т.е. программ, управляющих некомпьютерным по природе оборудованием, с очень жесткими ограничениями по времени. Примером такого приложения может быть программа бортового компьютера крылатой ракеты, системы управления ядерным реактором или промышленным оборудованием. Отличительными чертами этих систем являются многопроцессность, гарантированное время реакции на внешнее событие, простой доступ к таймеру и внешним устройствам. Такие системы могут по другим признакам относиться как к классу ДОС (RT-11), так и к ОС (OS-9, QNX). Часто такие системы (например, VxWorks) рассчитаны на работу совместно с управляющей машиной, исполняющей “нормальную” операционную систему.
* Требование гарантированного времени реакции налагает специфические требования на архитектуру ОС; большинство современных ОС общего назначения непригодно для задач РВ. *
Это системы - полностью ориентированные на работу с управляющей машиной. Чаще всего они используются для написания и отладки кода, позднее прошиваемого в ПЗУ и предназначенного для исполнения на машине с принципиально другой архитектурой.
Зачем это нужно? В настоящее время многие медицинские приборы (в том числе разрабатываемые на нашей кафедре) имеют в своем составе микроконтроллер (проще говоря, однокристальную ЭВМ), который выполняет некоторую программу, которую можно записать в микроконтроллер ограниченное (1-1000) число раз. При обнаружении ошибок в программе контроллер приходится перепрограммировать, к тому же локализовать ошибку трудно, т.к. контроллеры лишены средств отладки. Система команд микроконтроллера принципиально отличается от процессоров Intel, поэтому запустить программу микроконтроллера на IBM PC невозможно. Тут и приходит на помощь кросс-загрузчик, который эмулирует архитектуру МК, при этом программа выполняется, но никогда не получает управления.
Существуют системы, которые с первого взгляда нельзя отнести к одному из вышеперечисленных классов. Такова, например, система RT-11, которая, по сути своей, является ДОС, но позволяет одновременное исполнение нескольких программ с довольно богатыми средствами взаимодействия и синхронизации. Другим примером промежуточной системы являются MS Windows 3.x и Windows 95 которые выполняют почти все функции ОС (используют аппаратные средства процессора для защиты и виртуализации памяти и даже могут обеспечивать некоторое подобие многозадачной работы), однако не защищают себя и программы от ошибок других программ.
Этот термин несколько неудачен. К этому классу следует относить системы, предназначенные главным образом для предоставления сетевых услуг, такие как Novell Netware, K9Q или программное обеспечение маршрутизаторов Cisco.
К сожалению, в большинстве публикаций под этим термином понимаются системы, способные предоставлять сетевые услуги. Под такое определение подходят практически все современные ОС общего назначения.
Выбор типа операционной системы напрямую связан с решаемой задачей. Например, задачи управления медицинским или исследовательским оборудованием в режиме жесткого реального времени вынуждают нас делать выбор между специализированными ОС реального времени и некоторыми ОС общего назначения, предоставляющими аналогичный сервис (Unix System V Release 4). Другие приложения, например серверы баз данных, требуют высокой надежности и производительности, что отсекает системы класса ДОС и MS Windows.
Наконец, некоторые задачи, такие как автоматизация конторской работы, не предъявляют больших требований к надежности, производительности и времени реакции системы, что предоставляет широкий выбор между различными операционными системами. При этом технические параметры системы перестают играть роль, и в игру вступают другие факторы. На заре персональной техники таким фактором была стоимость аппаратного обеспечения, вынуждавшая делать выбор в пользу ДОС и, позднее, MS Windows.
Сейчас же стоимость аппаратуры резко упала, а требования вышеупомянутых ОС резко возросли. Например, Windows 95 требует для комфортной работы не менее 16 мегабайт оперативной памяти и процессор не хуже 486. Машины такого типа вполне достаточно для работы большинства ОС общего назначения.