
- •Часть 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
2007
Рекомендуемая литература:
-
В.Г.Олифер, н.А.Олифер. Сетевые операционные системы. Учебное пособие.-сПб.:бхв-Петербург, 2006.-536с.
-
В.А.Шеховцов. Операційні системи. Підручник .-к.:Виканавча група внv. 2005. 576с.
-
Столлингс в. Операционные системы. М.: Вильямс, 2001. -672с. Оглавление
-
Основные концепции операционных систем ………………….. 3
-
Архитектура операционных систем ………………………………. 10
-
Управление процессами и потоками ………………………………. 26
-
Микропроцессовые взаимодействия ……………………………… 46
-
Управление оперативной памятью ………………………………… 55
-
Логическая и физическая организация файловых систем …… 97
Раздел 1 введение
Основные концепции операционных систем
-
Понятие операционной системы и ее назначение
-
История развития операционных систем
-
Классификация операционных систем
-
Основные функции операционной системы
В этом разделе будут даны понятия операционной системы, описано назначения разных операционных систем, выделено их базовые функции и службы. Раздел также содержит короткий обзор истории развития операционных систем.
1.1. Понятие операционной системы, ее назначение и функции
1.1.1. Понятие операционной системы
Причиной появления операционных систем была необходимость создания удобных в использовании компьютерных систем.
Компьютерная система -это совокупность аппаратного и программного обеспечения компьютера.
Компьютерные системы от самого начала разрабатывались для решения практических задач пользователей. Поскольку делать это с помощью лишь аппаратного обеспечения оказалось сложно, были созданы прикладные программы. Для таких программ понадобились общие операции управления аппаратным обеспечением, распределения аппаратных ресурсов и т.п.. Эти операции сгруппировали в рамках отдельного уровня программного обеспечения, который и стали называть операционной системой.
Дальше возможности операционных систем вышли далеко за границы базового набора операций, необходимых прикладным программам, но промежуточное положение таких систем между прикладными программами и аппаратным обеспечением осталось неизменным.
Можно дать такое определение операционной системы.
Операционная система (ОС) - это программное обеспечение, которое реализует связь между прикладными программами и аппаратными средствами компьютера.
1.1.2. Назначение операционной системы
Операционные системы обеспечивают, во-первых, удобство использования компьютерной системы, во-вторых, эффективность и надежность ее работы.
Первая функция присущая ОС это расширение машины, вторая - ОС распределитель аппаратных ресурсов.
1.1.3. Операционная система как расширеная машина
С помощью операционной системы у прикладного программиста (а через его программы и у пользователя) должен создаваться впечатление, что он работает с расширенной машиной.
Аппаратное обеспечение компьютера недостаточно приспособлено к непосредственному использованию в программах.
Например, если рассмотреть работу с устройствами ввода-вывода на уровне команд соответствующих контроллеров, то можно увидеть, что набор таких команд ограничен, а для многих устройств - примитивный (есть даже выражение: «аппаратное обеспечение безобразное»).
Операционная система скрывает такой интерфейс аппаратного обеспечения, вместо него программисту предлагают интерфейс прикладного программирования (рис. 1.1), что использует понятие высшего уровня (их называют абстракциями).
Например, при работе с диском типичной абстракцией является файл. Работать с файлами проще, чем непосредственно с контроллером диска (не нужно учитывать перемещение головок дисковода, запускать и останавливать мотор и т.п.), вследствие этого программист может сосредоточиться на сути своей прикладной задачи. За взаимодействие с контроллером диска отвечает операционная система.
Выделение абстракций дает возможность достичь того, что код ОС и прикладных программ не будет нуждаться в изменении при переходе на новое аппаратное обеспечение.
Например, если установить на компьютере дисковое устройство нового типа (при условии, что он поддерживается ОС), все его особенности будут учтены на равные ОС, а прикладные программы будут продолжать использовать файлы, как и раньше.
Такая характеристика системы называется аппаратной независимостью. Можно сказать, что ОС предоставляют аппаратно-независимая среду для выполнения прикладных программ.