
- •Часть 1
- •В.Г.Олифер, н.А.Олифер. Сетевые операционные системы. Учебное пособие.-сПб.:бхв-Петербург, 2006.-536с.
- •В.А.Шеховцов. Операційні системи. Підручник .-к.:Виканавча група внv. 2005. 576с.
- •Столлингс в. Операционные системы. М.: Вильямс, 2001. -672с. Оглавление
- •Раздел 1 введение
- •1.1. Понятие операционной системы, ее назначение и функции
- •1.1.1. Понятие операционной системы
- •1.1.2. Назначение операционной системы
- •1.1.3. Операционная система как расширеная машина
- •1.1.4. Операционная система как распределитель ресурсов
- •1.2. История развития операционных систем
- •1.3. Классификация современных операционных систем
- •1.4. Функциональные компоненты операционных систем
- •1.4.1. Управление процессами и потоками
- •1.4.2. Управление памятью
- •1.4.3. Управление вводом-выводом
- •1.4.4. Управление файлами и файловые системы
- •1.4.5. Сетевая поддержка
- •1.4.6. Безопасность данных
- •1.4.7. Интерфейс пользователя
- •Раздел 2
- •2.1. Базовые понятия архитектуры операционных систем
- •2.2. Реализация архитектуры операционных систем
- •2.2.1. Монолитные системы
- •2.2.2. Многоуровневые системы
- •2.2.3. Системы с микроядром
- •2.2.4. Концепция виртуальных машин
- •2.3. Операционная система и ее окружение
- •2.3.1. Взаимодействие ос и аппаратного обеспечения
- •2.3.2. Взаимодействие ос и выполняемого программой
- •2.4. Особенности архитектур
- •Раздел 3
- •3.1. Базовые понятия процессов и потоков
- •3.1.1. Процессы и потоки в современных ос
- •3.1.2. Модели процессов и потоков
- •3.1.3. Составные элементы процессов и потоков
- •3.2. Многопотоковость и ее реализация
- •3.2.1. Понятие параллелизма
- •3.2.2. Виды параллелизма
- •3.2.3. Преимущества и недостатки многопотоковости
- •3.2.4. Способы реализации модели потоков
- •3.2.5 Состояния процессов и потоков
- •3.3 Описание процессов и потоков
- •3.3.1. Управляющие блоки процессов и потоков
- •3.3.2. Образы процесса и потока
- •3.4. Переключение контекста и обработка прерываний
- •3.4.1. Организация переключения контекста
- •3.4.2. Обработка прерываний
- •3.5 Создание и завершение процессов и потоков
- •3.5.1 Создание процессов
- •3.5.2. Иерархия процессов
- •3.5.3. Управление адресным пространством во время создания процессов
- •3.5.4. Особенности завершения процессов
- •3.5.5. Синхронное и асинхронное выполнение процессов
- •3.5.6. Создание и завершение потоков
- •3.6 Управление потоками в Linux
- •3.6.1. Базовая поддержка многотопотоковости
- •3.6.2. Особенности новой реализации многопоточности в ядре Linux
- •3.6.3. Потоки ядра Linux
- •3.7 Управление процессами в Windows хр
- •3.7.1. Составные элементы процесса
- •3.7.2. Структуры данных процесса
- •3.7.3. Создание процессов
- •3.7.4. Завершение процессов
- •3.7.5. Процессы и ресурсы. Таблица объектов процесса
- •3.8 Управление потоками в Windows хр
- •3.8.1. Составные элементы потока
- •3.8.2. Структуры данных потока
- •3.8.3. Создание потоков
- •Раздел 4
- •4.1. Виды межпроцесорного взаимодействия
- •4.1.1. Методы распределения памяти
- •4.1.2. Методы передачи сообщений
- •4.1.3. Технология отображаемой памяти
- •4.1.4. Особенности межпроцесорного взаимодействия
- •4.2. Базовые механизмы межпроцессового взаимодействия
- •4.2.1. Межпроцессовое взаимодействие на базе общей памяти
- •4.2.2. Основы передачи сообщений
- •4.2.3. Технологии передачи сообщений
- •Глава 5
- •5.1 Функции ос по управлению памятью
- •5.2 Типы адресов
- •5.3 Алгоритмы распределения памяти
- •5.3.1 Распределение памяти фиксированными разделами
- •5.3.2 Распределение памяти динамическими разделами
- •5.3.3 Перемещаемые разделы
- •5.4 Свопинг и виртуальная память
- •5.4.1 Страничное распределение
- •5.4.2 Сегментное распределение
- •5.4.3 Сегментно-страничное распределение
- •5.5 Разделяемые сегменты памяти
- •5.6 Кэширование данных
- •5.6.1 Иерархия запоминающих устройств
- •5.6.3 Принцип действия кэш-памяти
- •5.6.4 Проблема согласования данных
- •5.6.5 Способы отображения основной памяти на кэш
- •5.6.6 Схемы выполнения запросов в системах с кэш-памятью
- •Раздел 6 Логическая и физическая организация файловой системы
- •6.1 Логическая организация файловой системы
- •6.1.1 Цели и задачи файловой системы
- •5.1.2 Типы файлов
- •5.1.3 Иерархическая структура файловой системы
- •5.1.4 Имена файлов
- •5.1.5 Монтирование
- •5.1.6 Атрибуты файлов
- •5.1.7 Логическая организация файла
- •5.2 Физическая организация файловой системы
- •5.2.1 Диски, разделы, секторы, кластеры
- •5.2.2 Физическая организация и адресация файла
- •5.2.3 Физическая организация fat
- •5.2.4 Физическая организация ntfs
1.4.2. Управление памятью
Во время выполнения программного кода процессор берет инструкции и данные из оперативной (основной) памяти компьютера. При этом такая память отображается в виде массива байтов, каждый из которых имеет адрес.
Как уже упоминалось, основная память есть одним из видов ресурсов, распределенных между процессами. ОС отвечает за выделение памяти под защищенное адресное пространство процесса и за высвобождение памяти после того, как выполнение процесса будет завершено. Объем памяти, доступный процессу, может изменяться в ходе выполнения, в этом случае говорят о динамическом распределении памяти.
ОС должна обеспечивать возможность выполнения программ, которые отдельно или в совокупности превышают по объему доступную основную память. Для этого в ней должны быть реализована технология виртуальной памяти. Такая технология дает возможность размещать в основной памяти только те инструкции и данные процесса, которые нужны в текущий момент времени, при этом содержимое другой части адресного пространства сохраняется на диске.
1.4.3. Управление вводом-выводом
Операционная система отвечает за управление устройствами ввода-вывода, подключенными к компьютеру. Поддержка таких устройств в ОС обычно осуществляется на двух уровнях.
К первому, низшему, уровню принадлежат драйверы устройств - программные модули, которые руководят устройствами конкретного типа с учетом всех их особенностей.
К второму уровню принадлежит универсальный интерфейс ввода-вывода, удобный для использования в прикладных программах.
ОС должны реализовывать общий интерфейс драйверов ввода-вывода, через который они взаимодействуют с другими компонентами системы. Такой интерфейс дает возможность упростить добавление в систему драйверов для новых устройств.
Современные ОС предоставляют большой выбор готовых драйверов для конкретных периферийных устройств. Чем больше устройств поддерживает ОС, то больше у нее шансов на практическое использование.
1.4.4. Управление файлами и файловые системы
Для пользователей ОС и прикладных программистов дисковое пространство предоставляется в виде совокупности файлов, организованных в файловую систему.
Файл - это набор данных в файловой системе, доступ к которому осуществля-ется по имени.
Термин «файловая система» может употребляться для двух понятий:
-принцип организации данных в виде файлов
-конкретного набора данных (обычно соответствующей части диска), организованных в соответствии такому принципу.
В рамках ОС может быть реализована одновременная поддержка нескольких файловых систем.
Файловые системы рассматривают на логическом и физическом уровнях.
Логический уровень определяет внешнее представление системы как совокупности файлов (которые обычно находятся в каталогах), а также выполнение операций над файлами и каталогами (создание, изъятие и т.п.).
Физический уровень определяет принципы размещения структур данных файловой системы на диске или другом устройстве.
1.4.5. Сетевая поддержка
Сетевые системы
Современные операционные системы приспособленны к работе в сети, их называют сетевыми операционными системами. Средства сетевой поддержки дают ОС возможность:
-
предоставлять локальные ресурсы (дисковое пространство, принтеры и т.п.) в общее пользование через сеть, т.е. функционировать как сервер;
-
обращаться к ресурсам других компьютеров через сеть, т.е. функционировать как клиент.
Реализация функциональности сервера и клиента базируется на транспортных средствах, ответственных за передачу данных между компьютерами соответственно правилам, обусловленным сетевыми протоколами.
Распределенные системы
Сетевые ОС не скрывают от пользователя наличие сети, сетевое поддержка в них не определяет структуру системы, а обогащает ее дополнительными возможностями. Есть также распределенные ОС, которые дают возможность объединить ресурсы нескольких компьютеров в распределенную систему. Она выглядит для пользователя как один компьютер с несколькими процессорами, которые работают параллельно.
Распределенные и многопроцесорные системы являются двумя основными категориями ОС, которые используют несколько процессоров.