Программное обеспечение

Автор работы: Пользователь скрыл имя, 27 Октября 2011 в 09:11, реферат

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

Современные библиотеки представляют собой автоматизированные библиотечные информационные системы (АБИС), обслуживающие пользователей в локальном и удаленном режимах, внедряющие новые информационные технологии, генерирующие собственные базы данных и комплексы автоматизированных услуг.
Как любая информационная система АБИС - это совокупность взаимосвязанных обеспечивающих подсистем. Важной неотъемлемой частью АБИС является программное обеспечение (ПО).

Содержимое работы - 1 файл

Глава 1.doc

— 1.23 Мб (Скачать файл)

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

       4.2. Архитектура операционных  систем 

      Любая сложная система  должна иметь понятную и рациональную структуру, т.е. разделяться на части  – модули. Под модулем понимают функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами. Ясное понимание роли каждого отдельного модуля существенно упрощает работу по модификации и развитию системы. Большинство современных операционных систем представляет собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Возможности операционной системы, ее технические и потребительские параметры во многом определяются архитектурой системы. Какой-либо единой архитектуры ОС не существует, но существуют универсальные подходы к структурированию ОС.

      Наиболее  общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:

  • ядро – модули, выполняющие основные функции ОС;
  • модули, выполняющие вспомогательные функции ОС.

      Модули  ядра выполняют такие базовые  функции ОС, как управление процессами, памятью, устройствами ввода-вывода и  т.п. Без ядра ОС является полностью  неработоспособной и не сможет выполнить ни одну из своих функций.

      Функции, выполняемые модулями ядра, являются наиболее часто используемыми  функциями  операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения  высокой скорости работы ОС все модули ядра или их большая часть  постоянно находятся в оперативной памяти, т.е. являются резидентными.

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

                                                                                                                             

                                                                                                                                       

                                                                                                                   

                                                                                                            

      

      

      

      

      

      

- вспомогательные модули ОС

  - пользовательские приложения 

Рис. 7. Нечеткость границы между ОС и приложениями 

      Вспомогательные модули ОС обычно подразделяются на следующие группы:

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

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

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

      ПРИМЕЧАНИЕ______________________________________________________________________________________

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

      ___________________________________________________________________________________________________________

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

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

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

      Работающие  в пользовательском режиме менеджеры  ресурсов имеют принципиальные отличия  от традиционных утилит и обрабатывающих программ ОС: утилиты и обрабатывающие программы вызываются пользователями; менеджеры ресурсов обслуживают запросы других приложений.

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

      Схематично  механизм обращения к функциям ОС, оформленным в виде серверов, представлен  на рисунке  8. 

          Приложения

          пользователей

      

        

              Запрос

                                 Ответ 
 

Пользовательский  режим

      

Привилегированный  режим                        Запрос        Ответ

        
 
 

      Рис. 8. Реализация системного вызова в микроядерной архитектуре

  1. Клиент, которым может быть либо прикладная программа, либо другой компонент ОС, запрашивает выполнение некоторой функции у соответствующего сервера, посылая ему          сообщение.     Непосредственная     передача   сообщений   между приложениями невозможна, так как их адресные пространства изолированы друг от друга. Микроядро, выполняющееся в привилегированном режиме, имеет доступ к адресному пространству каждого из этих приложений и поэтому может работать в качестве посредника. Микроядро   сначала   передает   сообщение,  содержащее имя  и  параметры  вызываемой процедуры нужному серверу, затем сервер выполняет запрошенную операцию, после чего ядро возвращает результаты клиенту с помощью другого сообщения. Таким образом, работа микроядерной системы соответствует известной модели клиент-сервер, в которой роль транспортных средств выполняет микроядро.
 

    4.3. Принципы построения  современных операционных  систем 

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

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

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

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

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

      ПРИМЕЧАНИЕ______________________________________________________________________________________

    Если  бы пользователь работал непосредственно  с аппаратурой компьютера, без  участия ОС, то для организации, например, чтения блока данных с диска ему пришлось бы использовать более десятка команд с указанием множества параметров: номера блока на диске, номера сектора на дорожке и т.д. После завершения операции обмена с диском он должен был бы предусмотреть в своей программе анализ результата выполненной операции. Учитывая, что контроллер диска способен распознавать более двадцати различных вариантов завершения операции, можно считать программирование обмена с диском на уровне аппаратуры не самой тривиальной задачей.

      ___________________________________________________________________________________________________________

      Таким образом, назначение операционной системы  состоит в предоставлении пользователю некоторой расширенной виртуальной  машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальный компьютер.

      Принцип мобильности. Мобильность, или переносимость, означает возможность и легкость переноса операционной системы на другую аппаратную платформу. Обеспечить переносимость операционной системы достаточно сложно. Это обусловлено тем, что архитектуры разных процессоров могут очень сильно различаться, у них может быть разное количество рабочих регистров, различия могут быть и в реализации адресации. Кроме того, для операционной системы важной является не только архитектура  центрального процессора, но и архитектура компьютера в целом. Поэтому часть программных модулей, которые более всего зависят от аппаратных особенностей процессора, от типов поддерживаемых данных, способов адресации, системы команд и т.д., разрабатываются на языке программирования низкого уровня (ассемблере) и при переносе операционной системы на процессор с иной архитектурой должны быть написаны заново.

Информация о работе Программное обеспечение