Управление выполнением программ
Средствами ОС обеспечиваются:
· запуск программ;
· разделение технических и информационных ресурсов между программами;
· организация межпрограммного взаимодействия.
ОС делятся на однозадачные, многозадачные и многопользовательские.
В однозадачных ОС (MS DOS и др.) одновременно может выполняться только одна программа. Выполнение другой программы может начаться только после завершения программы, выполняющейся в текущий момент. В многозадачных ОС (Windows, Mac OS) одновременно могут исполняться несколько программ. Многопользовательские ОС (серверные модификации Windows NT/2000/XP, UNIX) являются многозадачными, но дополнительно к этому имеют средства для разделения ресурсов не только между программами, но и различными пользователями.
Многозадачные и многопользовательские ОС позволяют загружать и параллельно исполнять сразу несколько программ. В каждый момент времени выполняется только одна программа, но ОС автоматически распределяет время процессора между загруженными программами. Например, если одна программа ждет окончания ввода с диска фрагмента данных, ОС может передать управление другой программе до тех пор, пока ввод не будет завершен.
ОС обеспечивает разделение ресурсов ЭВМ между загруженными программами. Разделяются:
· время использования процессора;
· оперативная память;
· возможности доступа к внешним устройствам;
· возможности доступа файлам.
При запросах программ на доступ к одному и тому же объекту (устройству, файлу) ОС выстраивает запросы в очередь в порядке поступления и с учетом приоритета программ.
Приоритет программы- характеристика значимости программы с точки зрения ОС или пользователя ЭВМ.
Современные прикладные программы предъявляют высокие требования к объему необходимой им оперативной памяти. Вследствие этого физический (реальный) объем памяти часто оказывается меньше совокупной потребности параллельно исполняемых программ. Поэтому современные ОС обеспечивают работу с виртуальной памятью. ОЗУ условно разделяется на страницы. Часть страниц размещается в реальной памяти, а часть - на диске. Если программа обращается к странице памяти, которая находится на диске, то ОС выгружает ненужные в данный момент страницы из реальной памяти на диск и загружает на это место нужные страницы с диска.
ОС обеспечивают обмен данными между прикладными программами.
· через специальные файлы обмена (одна программа выгружает, а другая считывает данные);
· через совместно используемые файлы общей базы данных;
· через буфер промежуточного обмена;
· c помощью высокоуровневых технологий межпрограммного обмена (DDE, OLE и др.)
Последние два способа организации обмена данными реализуются непосредственно программами ОС.
ОС обеспечивает не только обмен данными, но и возможности межпрограммного взаимодействия, при котором одна программа может вызывать другую для выполнения несвойственных ей функций. Взаимодействие прикладных и служебных программ с ОС обеспечивается за счет поддержки интерфейса прикладных программ (API - Application Program Interface). Правила организации вызовов функций ОС описываются в специальной документации и могут использоваться при разработке прикладных программ.
В Windows организация межпрограммного взаимодействия прикладных программ реализуется через технологии ActiveX, COM (Component Object Model, компонентная объектная модель программ), DCOM (Distributed COM, распределенная объектная модель). COM и DCOM определяют принципы построения прикладных программ, при которых те или иные функции одних программ могут вызываться из других.
OLE (Object Linking and Embedding, произносится как oh-lay [олэй]) — технология связывания и внедрения объектов в другие документы и объекты, разработанная корпорацией Майкрософт. В 1996 году переименовано в ActiveX. OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Например, установленная на персональном компьютере издательская система может послать некий текст на обработку в текстовый редактор, либо некоторое изображение в редактор изображений. Технология ActiveX — средство, при помощи которого Internet Explorer (IE) использует другие приложения внутри себя. С помощью ActiveX IE загружает Windows Media Player, Flash, Quicktime и другие приложения, которые могут воспроизводить файлы, внедрённые в веб-страницы. Элементы управления ActiveX активизируются при щелчке по такому объекту на веб-странице, например, .WMV-файлу, чтобы загрузить его для отображения в окне браузера IE.
Управляющие элементы ActiveX — это как строительные блоки для программ. Примеры включают настраиваемые приложения по сбору данных, просмотру определенных типов файлов и отображения анимации. Управляющие элементы ActiveX сравнимы с технологией Java-апплетов: программисты разрабатывают оба механизма чтобы браузер мог не только скачать но и обработать их. Однако Java-апплеты могут работать под любой платформой, тогда как управляющие элементы ActiveX официально обрабатываются только IE и ОС Windows.
Распространенные примеры управляющих элементов ActiveX включают кнопки, списки, диалоговые окна и т.д.