2.1 Лекция Операционное окружение Операцио́нное окруже́ние. Лекция Операционное окружение Вспомним, что основными назначениями ос являются
Скачать 101.5 Kb.
|
Лекция 5. Операционное окружение Вспомним, что основными назначениями ОС являются: · Управление вычислительными процессами в вычислительной системе; · Распределение ресурсов вычислительной системы между различными вычислительными процессами; · Образование программной (операционной) среды, в которой выполняются прикладные программы пользователей. Т.е. ОС - программная подсистема, при обращении к которой по средством соответствующих вызовов пользователь получает функции и сервисы. То есть необходима среда, в которой пользователь будет запускать программы. Операцио́нное окруже́ние (англ. operatingenvironment) — среда, в которой пользователь запускает программу. Например, операционное окружение DOS состоит из всех команд DOS, доступных пользователю. С другой стороны, операционное окружение Macintosh включает в себя графический интерфейс пользователя, использующий иконки и меню вместо команд. В различных операционных системах состав среды окружения может сильно различаться. К составу среды окружения обычно относят: системные переменные - Переменная окружения (переменная среды́, англ. environment variable) в Windows используются для хранения текстовых строк пользователя и информации о настройках операционных систем. Текущие пути на различных дисках (в случае поддержки нескольких дисков операционной системой) Точка монтирования каталогов (в том числе корневого), используется в unix-подобных операционных системах для обеспечения режима «тюрьмы» (англ. jail) Связь стандартных потоков ввода-вывода с файловыми хэндлерами (Переменная-указатель на структуру, которая создается при открытии файла и позволяющая с ним работать) или устройствами (используется для перенаправления ввода-вывода) Ограничения на количество одновременно открытых файлов, стеков и т. д. Набор прав (обычно соответствует правам пользователя, запустившего процесс, но может изменяться как в сторону большего набора прав, так и в сторону ужесточения) Дисковые квоты, ограничение на максимальный объём оперативной памяти, загрузки процессоров и т. д. Значения показателей использования ресурсов, получаемые от родительского процесса (на некоторых системах) Между операционным окружением и shell (командной оболочкой) пролегает очень тонкая грань. Исторически shell создавались как интерфейс к операционной системе. Он не добавлял новых возможностей и свойств. В задачу shell входило создание более удобного пользовательского интерфейса. Но со временем появились «интеллектуальные» shell. И в данный момент есть некоторые отличия между интеллектуальным shell и операционным окружением. Также операционное окружение иногда называют контролирующей программой (control program). В сфере бизнеса существует понятие стандартного операционного окружения (SOE — Standart Operating Environment) Состав конкретной ОС во многом зависит от конкретной ориентации, сферы применения ОС. Современные ОС имеют подвижные границы и могут включать различные компоненты общесистемного программного обеспечения (ОСПО). Состав ОС в целом определяется современной архитектурой вычислительной системы (ВС), которая представляет собой иерархическую совокупность аппаратного обеспечения (АО) и программного обеспечения (ПО), реализующих процесс решения задач на ЭВМ. Каждый слой состоит из множества элементов и решает свои задачи. Аппаратное обеспечение (АО) определяет внешнюю архитектуру ЭВМ, в том числе: машинный язык как систему команд процессора; программно-адресуемые регистры; организационную схему адресации ОП (реальная/виртуальная, линейная/сегментная); фиксирует порядок взаимодействия всех аппаратных блоков: ЦП, оперативных запоминающих устройств (ОЗУ), каналов внешних запоминающих устройств (ВЗУ), периферийных устройств (ПУ). В современной ЭВМ АО состоит из двух слоев: Собственно технические средства аппаратуры, включающие в свой состав: электрические цепи; вентили, триггеры, интегральные схемы (ИС), большие интегральные схемы (БИС), микропроцессоры (МП); Микропрограммное обеспечение - набор микропрограмм, которые на основе системы микрокоманд и внутренних регистров МП в сверхбыстром постоянном запоминающем устройстве (ПЗУ) и перепрограммируемом ПЗУ (ППЗУ), реализуют практически все аппаратные блоки ЭВМ. В настоящее время, каждый блок компьютера представляет собой микро-ЭВМ с некоторым функциональным набором команд (адаптер, контроллер, блок управления, блок сопряжения). Теперь для того, чтобы модифицировать функциональность компьютерного оборудования, можно перепрограммировать ПЗУ. Таким образом, можно изменить, например, базовую систему ввода/вывода (BIOS) IBM PC или протокол передачи данных модема. Микропрограммная реализация ЭВМ обеспечивает: Технологичность изготовления ЭВМ, снижение расходов на изготовление конкретных аппаратных блоков. Легкость расширения и изменения внешней архитектуры ЭВМ. Повышение производительности ВС посредством погружения ПО на микропрограммный уровень. Микропрограммный уровень, как правило, не доступен для ПО ВС и программируется с помощью программаторов (специальных устройств). Современные же ПЗУ (Flash ПЗУ) можно перепрограммировать с помощью пользовательской программы без специализированных устройств. ПО специализирует АО на решение конкретных задач и состоит их 4 слоев. Базовое программное обеспечение (БПО) – самый низкий уровень ПО ВС, который предназначается для обеспечения общего управления ЭВМ и организации работы всех системных и прикладных программ. В состав БПО включается средства генерации ОС, управляющая программа, утилиты, комплекс программ технического обслуживания (КПТО). Инструментальное программное обеспечение (ИПО) включает средства, предназначенные для автоматизации программирования: программирование решения задачи на подходящем языке; поддержка на этапах отладки и тестирования; разделение программ на части и объединение в требуемом порядке в программу. ИПО включает системы программирования, редактирования текстов и отладки, редакторы исходных текстов, ассемблеры, компиляторы и интерпретаторы, редактор связей, абсолютный и перемещаемый загрузчик. Из числа этих средств общие для всех компоненты – редактор связей и загрузчик, всегда включаются в состав ОС. Задача редактора связей – сборка модулей (частей программ), написанных в разное время и, возможно, разными людьми, на разных языках программирования, в единую программу. Задача загрузчика – размещение выполняемой программы в ОП и настройка перемещаемых (относительных) адресов констант по месту размещения. Следует отметить, что трансляторы обычно не включаются в состав ОС и поставляются отдельно. Границу между ИПО и БПО трудно установить и они образуют общесистемное ПО. ОС MS DOS поставляется в составе: ОС + утилиты + ASM + отладчик +редактор текстов + редактор связей. Общесистемное программное обеспечение и аппаратное обеспечение образуют вычислительный комплекс. Прикладное программное обеспечение (ППО) предназначается для автоматизации проектирования прикладных программных комплексов на основе универсальных программных средств, позволяющих решать целые классы задач. ППО включает системы управления базами данных (СУБД) и Банков данных (БнД), системы телеобработки, различные объектно-проблемно-функционально-ориентированные пакеты прикладных программ, библиотеки программ, программныеоболочки и т.д. Все они оформляются или поставляются в виде комплексов программных средств. ППП – это комплекс взаимосвязанных прикладных средств, позволяющих решать определенный класс задач. Следует отметить, что такие прикладные ПС как СУБД, расширяют возможности систем управления данными ОС и СТО (системы телеобработки). Они объединяют информационно-программные ресурсы различных ЭВМ в единое целое и относятся по своему назначению к ОС и лишь их возникновение в более позднее время, в сравнении с ОС, относит их к ППО (хотя в современные версии ОС встраиваются средства работы в сети и СУБД). Таким образом, граница между любыми уровнями ПС аморфна, так как существуют сетевые ОС, а также ОС интегрированные с СУБД. Общая архитектура ВС представляет собой следующий комплекс (см. рис.1). Рисунок.1 Общий состав ОС ППО – прикладное программное обеспечение. Это программы и программные комплексы (ПК), решающие конкретные задачи, и автоматизирующие потребность в вычислениях конечных пользователей ВС, собственно то, ради чего создавалась ЭВМ. Для работы с системными программами используются следующие языковые средства: средства (возможно языковые) генерации ОС; системные директивы; язык управления заданием процедур для командных режимов работы командный язык и процедуры диалогового режим, подмножеством которого является операторский язык. Основным исполнительным компонентным ядром ОС, реализующим главное назначение ОС, - управление ресурсами ВС, является управляющая программа, общая структура и функции которой определяются обобщенной структурой вычислительного комплекса. Структура ОС.В состав операционной системы входят следующие подсистемы: Управление процессами; Управление основной памятью; Управление внешней памятью; Управление устройствами ввода/вывода; Управление файлами; Защита системы; Сетевая поддержка; Командный интерфейс системы. Управление процессамиПроцесс - это программа в стадии выполнения. Процессу необходимы определенные ресурсы, включая процессорное время, память, файлы и устройства ввода/вывода для выполнения своих задач. ОС отвечает за следующие действия в связи с управлением процессами: создание и удаление процессов; приостановка и возобновление процессов; обеспечение механизмов для синхронизации процессов; обеспечение механизмов для взаимодействия процессов. Управление основной памятьюПамять представляет собой большой массив слов или байт, каждый из которых имеет собственный адрес. Это хранилище данных, к которым обеспечивается быстрый доступ, распределенный между процессором и устройствами ввода/вывода. Основная память энергозависимое устройство и теряет содержимое в случае разрушения системы. ОС отвечает за следующие действия в связи с управлением памятью: ведет учет о том, какая часть памяти в настоящий момент используется; принимает решение о загрузке процессов при освобождении пространства ОП; распределяет и освобождает пространство ОП в соответствии с действующими стратегиями. Управление внешней памятьюПоскольку основная память (первичная память) энергозависима и слишком мала для размещения всех данных и программ постоянно, ВС должна обеспечить вторичную память для сохранения основной памяти. Большинство современных ВС используют диски как средство оперативного хранения, как программ так и данных. ОС отвечает за следующие действия в связи с управлением внешней памятью: управление свободным пространством; распределение памяти; управление диском. Подсистема управления устройствами ввода/выводаПодсистема ввода/вывода состоит из: системы кэширования - буферирования; общего интерфейса драйверов устройств; драйверов специализированных устройств. Подсистема управления файламиФайл представляет собой набор взаимосвязанной информации, определенной при создании. Кроме собственно данных, файлы представляют программы, как в исходном, так и в объектном виде. Подсистема ОС отвечает за следующие действия в связи с управлением файлами: создание файлов; создание и удаление подкаталогов; поддержка операций для манипулирования с файлами и подкаталогами; представление файлов во внешней памяти; выгрузка файлов на другие внешние устройства. Защита системыЗащита системы предполагает наличие механизма для управления доступом программ, процессов и пользователей к системным и пользовательским ресурсам. Механизм защиты должен: различать авторизованное и не авторизованное использование; определить элементы управления, которые будут задействованы; обеспечить средства реализации. Сетевое обеспечениеРаспределенная система - набор процессоров, которые не распределяют память или каждый процессор имеет свою локальную память. Процессоры в системе соединены посредством компьютерной сети и обеспечивают пользователям доступ к различным системным ресурсам, позволяющим: увеличить скорость вычислений; увеличить объем доступной информации; повысить надежность Командный интерфейс системыМножество команд в ОС предназначено для выполнения функций управления, которые имеют дело с созданием и управлением процессов; управлением вводом/выводом; управлением внешней памятью; управлением основной памятью; доступом к файловой системе; защитой; сетевым обеспечением. Программа, которая читает и интерпретирует команды управления, называется различным образом: интерпретатор управляющих карт; процессор команд консолей shell ( в Unix) Их функцией является принять и выполнить очередное утверждение. Сервисы операционных системвыполнение программ - способность системы загружать программу в память и выполнять ее; операции ввода/вывода, поскольку пользовательские программы не могут исполнять операции ввода/вывода непосредственно, ОС должна обеспечивать некоторые средства для их выполнения; манипуляции с файловой системой выражаются в обеспечении способности читать, писать, создавать и удалять файлы; взаимодействие и обмен информацией между выполняющимися процессами на одном компьютере или на различных системах, связанных посредством сети применяется через распределенную память или передачу сообщений; обнаружение ошибок - гарантия правильности вычислений посредством обнаружения ошибок в процессоре, памяти, устройствах ввода/вывода или в пользовательских программах. Особенности методов построенияПри описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу. К таким базовым концепциям относятся: способы построения ядра системы - монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры - на другую, не требующие переключения из привилегированного режима в пользовательский, и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС - серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой - ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы. Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно: аккумуляцию удачных решений в форме стандартных объектов; возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, структуризированность системы, состоящей из набора хорошо определенных объектов. Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы. Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (remote procedure call - RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб. |