Информационные технологии в медицине

Автор: Пользователь скрыл имя, 11 Января 2012 в 21:28, лекция

Краткое описание

Мы не станем рассматривать самый низший уровень этой схемы – аппаратное обеспечение, а начнем на ступеньку выше – с посредника, находящегося между аппаратным обеспечением и медицинской программой, называемого операционной системой. Большинство из вас знакомо с двумя из операционных систем – Windows и MS DOS. Как вы увидите далее, это не единственные и не самые лучшие ОС, хотя и наиболее распространенные.

Файлы: 1 файл

InfTech.doc

— 323.50 Кб (Скачать)

      Более подробно о функциях DOS Вы сможете прочитать в специально литературе.

    1. Работа программы под MS DOS

      Операционная система MS DOS предоставляет пользователю некоторый интерфейс для работы с оборудованием (см. рис.), однако большинство программ, написанных для MS DOS, не пользуются системными функциями за исключением файловой системы. Такой на первый взгляд неразумный подход обусловлен рядом причин. Наиболее существенная из них – то, что реализация функций работы с оборудованием в MS DOS достаточно куцая, и не использует всех возможностей аппаратуры. Например, при выводе текста на экран отсутствует возможность работы с цветом, а скорость последовательного порта RS-232 ограничена 9600 бод. По существу, в MS DOS не реализовано ничего, кроме файловой системы. Вторая причина – это низкая скорость работы системных функций. Так вывод точки на графический экран с помощью функции BIOS происходит на 2 порядка медленнее (!) чем при прямой записи в видеопамять. Поэтому программирование “в обход” MS DOS очень распространено. Немаловажным фактором здесь является “открытость” MS DOS, при которой весь компьютер находится в полном распоряжении пользовательской программы.

      

      Такая схема общения программы и компьютера имеет те преимущества, что с одной стороны программист из оборудования может выжать практически все его возможности как по функциям, так и по скорости, с другой стороны, надежность функционирования программы также полностью зависит от программиста. Чтобы понять недостатки этого подхода, давайте рассмотрим этапы разработки программ для MS DOS.

    1. Этапы разработки программ для MS DOS

      Наиболее существенными факторами при разработке коммерческой программы являются время, затраченное на её разработку и способность работать на всех совместимых компьютерах. Для медицинских приложений последний фактор не столь критичен, т.к. принято поставлять программный продукт (например, реанимационный монитор) вместе с компьютером, на котором он работает, при этом пользователь обычно лишается возможности запускать на компьютере другие программы кроме Вашей.

  1. Постановка задачи (техническое задание) – чрезвычайно важный, но часто пропускаемый этап. Именно на этом этапе в программный продукт закладываются те недостатки, которые приходится исправлять в следующих версиях.
  2. Разработка интерфейса, т.е. создание компонентов и правил, позволяющих пользователю, во-первых, быстро (по возможности – интуитивно) освоить работу в системе, во-вторых, обеспечивающих быстрый (максимум 3…4 шага) доступ к любой команде системы. Кроме того, интерфейс должен быть удобен для разработчика, т.е. иметь возможность легкой модификации и тиражирования на другие разработки. Поскольку каждый программист имеет свои представления об идеальном интерфейсе, то каждая программа имеет свой собственный набор команд, затрудняющий быстрое освоение нового продукта пользователем.
  3. Решение проблем с графикой, т.е. поиск или написание собственной графической библиотеки. К сожалению, здесь возникает проблема компромисса между использованием максимума возможностей видеоадаптера и совместимостью с различным оборудованием. При этом всегда остается опасность что именно на этом компьютере Ваша программа работать не будет.
  4. Программирование внешних устройств – клавиатуры, мыши, портов ввода/вывода, таймера. Здесь та же проблема совместимости с оборудованием, что и с графикой. Например, если Вы хотите получить красивую распечатку, то необходимо добиться поддержки как минимум 3х типов принтеров: матричных, струйных и лазерных, каждый из которых имеет свою систему команд, плюс проблемы с русификацией конкретного принтера.
  5. Если программа достаточно велика, то следует позаботиться о поддержке оверлейной структуры и вообще об управлении памятью – втиснуть в 640К сложную программу непросто.
  6. Приступить к реализации конкретного проекта, попутно решая проблемы совместимости с уже написанными библиотеками процедур.

      Как видите, разработка программы под MS DOS на 85% состоит из решения различных проблем с оборудованием, т.е. разработчик становится своего рода системным программистом, который должен иметь четкое и глубокое знание как операционной системы, так и аппаратного обеспечения. В результате решению конкретной задачи предшествует примерно годовая (!) подготовительная работа.

      Многих этих недостатков лишена операционная система Windows, которая будет рассмотрена в следующих разделах.

  1. Windows

       Три уровня архитектуры Wundows: центральный (ядро, менеджер событий, интерфейс графического устройства, управление системными ресурсами), аппаратно-независимый уровень, уровень приложений.

      

  1. Unix

      С развитием сети Internet и таких направлений как телемедицина, медицинские базы данных удаленного доступа, различные информационные сервера, врачебные Internet-консультации и т.д., особую актуальность приобретает знание и умение работать в операционной системе, позволяющей, с одной стороны, обращаться к различным сервисам Internet, с другой - самому создавать Internet приложения. Большинство современных операционных систем обладают такими возможностями, однако мы остановимся на UNIX. Почему? Прежде всего потому, что это одна из наиболее удачных (в смысле построения) операционных систем. Дело в том что изначально её развитие держалось на энтузиазме программистов слабо связанных временными и финансовыми рамками. В результате чего было найдено и реализовано множество интересных и оптимальных с точки зрения функциональности идей. Даже существует поговорка: Если вы не понимаете UNIX, вы должны будете заново изобрести его''. Опыт развития систем OS/2 и Windows NT отчасти подтверждает ее.

      UNIX широко распространена на серверах Internet. Известен случай, когда Microsoft перекупила кампанию HotMail и попыталась заменить на её серверах UNIX системой Windows NT. Оказалось, что NT неспособна управиться с тем потоком данных, который спокойно обрабатывался UNIX.

      Еще 2 немаловажные причины: в настоящее время наблюдается волна повышения интереса к этой ОС, и многие известные фирмы, например Sun или Corel, разрабатывают свои версии UNIX с набором программных пакетов для них. И наконец, в отличие от других ОС, существуют свободно распространяемые версии UNIX и программ под них, что немаловажно для российского пользователя.

      Следует оговориться, что под названием UNIX на самом деле скрывается целый класс операционных систем, ведущих свою родословную от общего корня. Наиболее известны две ветви: System V (версия AT&T) и BSD (версия Калифорнийского университета в Беркли). Однако большинство современных версий включают в себя черты обеих ветвей.

    1. Причины популярности UNIX
  1. Код системы написан на языке высокого уровня С, что сделало ее простой для понимания, изменений и переноса на другие платформы. По оценкам одного из создателей UNIX, Дэнниса Ритчи, система на языке С имела на 20-40% больший размер, а производительность ее была на 20% ниже аналогичной системы, написанной на ассемблере. Однако ясность и переносимость, а в результате - и открытость системы сыграли решающую роль в ее популярности. Можно смело сказать что UNIX является одной из наиболее открытых систем.
  2. UNIX — многозадачная многопользовательская система с широким спектром услуг. Один мощный сервер может обслуживать запросы большого количества пользователей. При этом необходимо администрирование только одной системы. Ваша система может выполнять различные функции — работать как вычислительный сервер, как сервер базы данных, как сетевой сервер, поддерживающий важнейшие сервисы сети (telnet, ftp, электронную почту, службу имен DNS и т. д.), или даже как сетевой маршрутизатор.
  3. Наличие стандартов. Несмотря на многообразие версий UNIX, основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов. Опытный администратор без большого труда сможет обслужить другую версию системы, для пользователей переход на другую версию и вовсе может оказаться незаметным.
  4. Простой, но мощный модульный пользовательский интерфейс. Имея в своем распоряжении набор утилит, каждая из которых решает узкую специализированную задачу, вы можете конструировать из них сложные комплексы.
  5. Использование единой, легко обслуживаемой иерархической файловой системы. Файловая система — это не только доступ к данным, хранящимся на диске. Через унифицированный интерфейс файловой системы осуществляется доступ к терминалам, принтерам, магнитным лентам, сети и даже к памяти.
  6. Очень большое количество приложений, в том числе свободно распространяемых, начиная от простейших текстовых редакторов и заканчивая мощными системами управления базами данных.
    1. Где найти информацию
    1. Общий взгляд на архитектуру UNIX

      

      В центре находится ядро системы (kernel). Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от особенностей ее архитектуры. Ядро имеет набор услуг, предоставляемых прикладным программам. К услугам ядра относятся операции ввода/вывода (открытия, чтения, записи и управления файлами), создания и управления процессами, их синхронизации и межпроцессного взаимодействия. Все приложения запрашивают услуги ядра посредством системных вызовов.

      Второй уровень составляют приложения или задачи, как системные, определяющие функциональность системы, так и прикладные, обеспечивающие пользовательский интерфейс UNIX. Однако несмотря на внешнюю разнородность приложений, схемы их взаимодействия с ядром одинаковы.

      1. Ядро системы

      Ядро обеспечивает базовую функциональность операционной системы: создает процессы и управляет ими, распределяет память и обеспечивает доступ к файлам и периферийным устройствам.

      Взаимодействие прикладных задач с ядром происходит посредством стандартного интерфейса системных вызовов. Интерфейс системных вызовов представляет собой набор услуг ядра и определяет формат запросов на услуги. Процесс запрашивает услугу посредством системного вызова определенной процедуры ядра, внешне похожего на обычный вызов библиотечной функции (например open, read, close). Ядро от имени процесса выполняет запрос и возвращает процессу необходимые данные.

      

      Ядро состоит из трех основных подсистем:

  1. Файловая подсистема
  2. Подсистема управления процессами и памятью
  3. Подсистема ввода/вывода
      1. Файловая подсистема

      Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, и к периферийным устройствам. Одни и те же функции ореп(2), read(2), write(2) могут использоваться как при чтении или записи данных на диск, так и при выводе текста на принтер или терминал.

Информация о работе Информационные технологии в медицине