- •Назначение, эволюция и основные принципы построения
- •Эволюция и основные идеи
- •Пакетный режим
- •Разделение времени и многозадачность
- •Разделение полномочий
- •Реальный масштаб времени
- •Файловые системы и структуры
- •Основные принципы построения ос
- •Основные концепции ос
- •Концепция виртуализации
- •Концепция прерывания
- •Отношения между процессами
- •Синхронизация процессов
- •Обобщенная структура ос
- •Операционная система ms-dos
Концепция виртуализации
Концепция виртуальности используется в ОС как средство для:
- уменьшения конфликтов при управлении процессами т распределении
ресурсов;
- облегчения работы пользователя с системой;
- освобождения пользователя от рутинных процедур при обращении к
тем или иным ресурсам.
Виртуализация при централизованном распределении ресурсов обеспе-
чивает две формы "обмана" пользователей на ЭВМ:
1)пользователь обеспечивается при обслуживании своего процесса
ресурсом, который реально не существует, или существует с ухудшенными
характеристиками;
2)для нескольких параллельных процессов создается иллюзия однов-
ременного использования того, что одновременно в реальной системе су-
ществовать не может.
Принято считать, что "обман" первого рода впервые реализовывался
оператором ЭВМ следующим образом. Пользовательские программы обращались
к магнитной ленте с использованием не физических а логических адресов
накопителей на магнитной ленте (НМЛ).
При запросе от программы, оператор устанавливал требуемую магнит-
ную ленту на любой свободный НМЛ , а затем с помощью переключателей на
коммутационнойй панели, связывал конкретные физические адреса накопи-
телей с соответствующими логическими адресами.
В результате пользователь работал с виртуальным магнитофонами.
Виртуальность проявлялась в том, что пользователь мог не знать реаль-
ное количество НМЛ и их физических адресов каждого.
Примером "Обмана второго рода" является подход в распределении
такого дорогого ресурса как канал.
Каждое из множества внешних устройств, подсоединенных к каналу,
связываются с ним на короткий промежуток времени, после того как это
внешнее устройство подготовлено к приему или выдаче очередной порции
информации ( байта или группы байт). Промежуток времени, в течении ко-
торого происходит переда информации между каналом и внешним устройс-
твом, называется сеансом связи.
Во время сеанса одного устройства, другие могут выполнять работу
не требующую использования ресурсов канала. Для каждого устройства
создается иллюзия использования собственного канала, но не реального а
виртуального. Каналы работающие подобным образом, называют мультип-
лексными.
Наиболее полным проявлением концепции виртуальности является по-
нятие виртуальной машины. Любая ОС , являясь средством распределения
ресурсов и организуя по определенным правилам управление процессами
на базе скрытой аппаратной части, создает у пользователя видимость
виртуальной машины.
Виртуальная машина, представляемая пользователю, воспроизводит
архитектуру реальной машины, но ее архитектурные элементы в таком
представлении выступают с новыми или улучшенными характеристиками.
Концепция виртуальности положена в основу восходящего метода про-
ектирования ОС. При этом ОС строится как иерархия (т. е. как служебная
лестница, ряд должностей в порядке подчинения и перехода от низшего к
высшему) вложенных друг в друга виртуальных машин.
Низшим уровнем иерархии являются аппаратные средства машины.
Следующий уровень - программный, который совместно с сопрягаемым
нижнем уровнем, обеспечивает достижение машиной новых свойств. В ре-
зультате получается виртуальная машина первого уровня.
Далее, относительно виртуальной машины первого уровня разрабаты-
вается новый программный слой, который представляет виртуальную машину
второго уровня.
Такое последовательное абстрагирование от аппаратной части машины
с расширением функциональных возможностей на каждом уровне позволяет
построить виртуальную машину требуемого уровня.
Первое практическое применение этого метода было осуществлено при
разработке ОС ( THE - ) под руководством Э. Дейкстры.
Преимущества метода:
- систематичность проекта;
- увеличение надежности сложной программной системы;
- уменьшение сроков разработки.
Основными проблемами применения метода является:
- определение свойств и количество уровней абстракции;
- определение правил вынесения на каждый уровень необходимых ча-
стей ОС.
Известно определение свойств уровней абстракции, данное Г.Майер-
сом.:
1.На каждом уровне ничего неизвестно о свойствах и даже о сущест-
вовании более высоких уровней;
2.На каждом уровне ничего неизвестно о внутреннем строении других
уровней. Связь между уровнями осуществляется только через жесткие, за-
ранее определенные сопряжения;
3.Каждый уровень представлен группой модулей. Некоторая часть
этих модулей является внутренними для уровня, то есть недоступны для
других уровней. Имена остальных модулей известны на следующем более
высоком уровне и реализуют сопряжение с этим уровнем.
4.Каждый уровень располагает определенными ресурсами и :
- либо скрывает их от других уровней;
- либо предоставляет другим уровням некоторые их абстракции (вир-
туальные ресурсы.
5.Каждый уровень может обеспечивать собственное абстрактное
представление данных в системе.
6.Предположения, которые делаются на каждом уровне относительно
других уровней, должны быть минимальными.
7.Связь между уровнями осуществляется явной передачей данных с
одного уровня на другой. Желательно полностью исключить использование
глобальных данных (общих) (глоб. данные - данные, которые не описаны
в модуле, но доступны для использования.)
8.Каждый уровень должен иметь высокую собственную прочность и
слабое сцепление с другими уровнями. Любая функция, выполняемая уров-
нем абстракции, должна быть представлена единственным входом.
Концепция виртуальности стала одной из ведущих при создании сов-
ременных ОС.
