Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ОС.doc
Скачиваний:
5
Добавлен:
06.09.2019
Размер:
508.42 Кб
Скачать

IV период. 1980-настоящее время.

Персональные компьютеры. Классические, сетевые и распределенные системы.

Этот период связан с появлением больших интегральных схем и ПК.

С середины 80-х гг. стали развиваться сети компьютеров, работающих под управлением сетевых или распределенных систем.

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

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

Из рассматриваемых этапов развития ВС можно выделить 6 основных функций, которые выполнили классические ОС:

1)Планирование заданий и использование процессора;

2)Обеспечение программ средствами коммуникации и синхронизации;

3)Управление памятью;

4)Управление файловой системой;

5)Управление вводом/выводом;

6)Обеспечение безопасности.

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

Лекция №2

Основные понятия, концепции ОС.

В процессе эволюции возникло несколько важных понятий, концепций, которые стали неотъемлемой частью теории и практики ОС.

Системные вызовы.

В любой ОС существует механизм для обращения пользовательских программ к услугам ядра ОС.

Системные вызовы – это интерфейс между ОС и пользовательской программой. Они создают, удаляют и используют различные объекты, главные из которых процессы и файлы. Программа запрашивает услуги ОС, осуществляя системный вызов. Существуют библиотеки процедур, которые передают управление обработчику данного вызова, входящего в состав ядра ОС. Цель этих библиотек - сделать системный вызов похожим на обычный вызов подпрограмм. При системном вызове задача переходит в защищенный режим или режим ядра, поэтому системные вызовы называются программой прерываний в отличие от аппаратных. Обычно системный вызов осуществляется программным прерыванием (например, INT 21). Программное прерывание - синхронное событие.

Прерывания.

Прерывание – (событие) сигнал, генерируемый внешним устройством для немедленной реакции CPU на событие (нажатие клавиши), либо для извещения о завершении асинхронной операции ввода/вывода (конец чтения данных с магнитного диска в ОЗУ).

Каждый тип аппаратных прерываний имеет номер, однозначно определяющий источник прерываний. Аппаратное прерывание – асинхронное событие, т.е. оно возникает вне зависимости от кода программы.

Исключительные ситуации.

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

Файлы.

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

С организацией файловой системы связаны такие понятия как каталог, текущий каталог, корневой каталог и путь.

Для манипулирования этими объектами в ОС имеются системные вызовы.

Процессы. Нити.

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

Процессы. Понятие процесса.

Понятие процессов как основных динамических объектов, над которыми системы выполняют определенные действия, является фундаментальными понятиями для изучения работы ОС. Термины «программа» и «задание » предназначены для описания статически неактивных объектов. Программа динамически активна. Для выполнения программы ОС должна выделить определённое количество оперативной памяти, закрепить за ней определенное устройство I/O или файлы, т.е. зарегистрировать определенные ресурсы из общего числа ресурсов всей ВС. Их количество и конфигурация с течением времени изменяется. Для описания таких активных объектов внутри КС вместо терминов «программа» и «задание » используется термин «процесс». Понятие процесса характеризует нелинейную совокупность набора исполняющих команд, связанных с ним ресурсов (выделенная для исполнения память или адресное пространство в стеке, использующиеся файлы, устройства I/O и т.д.) и текущего момента его выполнения (значение регистра программного счётчика, состояние стека и значение переменных), находящихся под управлением ОС. Не существует взаимнооднозначного соответствия между процессами и программами, выполняемыми ВС.

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

Потоки.

Концепцию процесса можно охарактеризовать двумя параметрами:

  1. Владение ресурсами.

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

  1. Планирование и выполнение.

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

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

Традиционный подход, при котором каждый процесс представляет собой единый поток выполнения, называется однопоточным. Например, в MS-DOS.

Архитектура ОС.

В построении ОС осуществляются различные подходы: