Смирнова Н.Н. Операционная система Линукс: начальный курс пользователя. Учебное пособие Смирнова, Панова, Касаткина БГТУ 2007

Операционные системы

Список литературы

Учебники

· Энди Таненбаум «Современные операционные системы» 3-е (2-е) издание 2010 (2005)

· Смирнова Н.Н. «Операционная система Линукс: начальный курс пользователя. Учебное пособие» Смирнова, Панова, Касаткина БГТУ 2007

· Олифер Н.А., Олифер Р.Г. «»сетевые операционные системы» издательство «Питер» 2005

· Романов А.В., Гордеев А.Ю. «Системное программное обеспечение»

· Гордеев А.В. «Операционные системы: учебник для вузов» 2-е издание

· Таненбаум Операционные системы: разработка и реализация

Лабораторные работы

· Операционная система линукс лабораторный практикум. Редакция Смирновой

Глава 1. Введение

История операционных систем

Поколения ОС

1. Ламповая элементная база 1945-55.

2. Полупроводниковые транзисторы и диоды 1955-1965.

a. Операционные системы пакетной обработки.

b. Мини ЭВМ

3. Интегральная схема 1965-1980.

a. Первые диалоговые операционные системы

4. Сверхбольшие интегральные схемы 1980-…

a. Операционные системы с дружественным интерфейсом

b. Распространение персональных компьютеров

Типы процессоров

1. 1974 год

a. Intel 8080 8-ми разрядный

b. Zilok Z-80

Операционная система CP/M

2. IBM PC

a. Intel 8886, 8088 16-ти разрядный. 4.77 МГц

b. 80286 до 20 Мгц, введена система защиты памяти

c. 80386

Операционные системы:
MS DOS (разные версии)
CP/M-86
DR DOS →Novel DOS (поддержка сетей, многозадачность)→Open DOS
Free DOS

Windows

Но основе MC DOS[1]:

1. Windows: оболочка, запускаемая из под MC DOS. 3 версии, 3-удачная. Многозадачность.

2. Windows 95- объединение ядра MS DOS и графического интерфейса Windows

3. Windows 98SE

4. Windows Me

На основе Windows NT[2]:

1. Windows 2000

2. Windows XP (параллельно Server 2003)

3. Windows Vista (параллельно Server 2008)

4. Windows 7

Unix

PDP 11/…

Вплоть до версии Unix V7 использовалась для обучения, имела свободное распространение.

Unix System V- первая коммерческая ОС семейства Unix

Причины распространения операционной системы:

1. Переносимость(за счет того, что система написана на языке высокого уровня)

2. Простота и понятность интерфейса

3. Широкое использование текстовых файлов

Linux

После закрытия системы unix изучение ее в учебных целях стало невозможно. Таненбаум создает Minix, как свободно распространяемую ОС для обучения.

1991 г. один из учеников Таненбаума создает Linux, ориентированную на продвинутых пользователей.

Дистрибутивы:

1) Slackuare

2) RedHat

a. Mandriva

3) Debian (надежность)

a. Ubuntu

4) Knoppix (без инсталляции)

5) Gentoo (идет в виде исходных текстов, для установки необхоима компеляция)

6) Damn Small (маленький)

BSD

1) 4.2 BSD

2) 386BSD

c. FreeBSD 9.0

1) PC BSD

d. NetBSD 5.0

POSIX- стандарт переносимой системы Unix. Определяет параметры программ для совместимости с Unix.

Основные понятия операционной системы

Процесс- это программа в момент выполнения.

Дескриптор процесса- информация, необходимая и достаточная для управления процессом.

Контекст процесса- информация, необходимая для перевода процесса в активное состояние.

Адресное пространство процессора- набор адресов, доступных процессу

Образ процесса:

1) Сегмент кода (текста)

2) Сегмент данных

1. Инициализированные

2. Не инициализированные

3) Сегмент стека

Режимы процессора:

1. Пользовательский

2. Режим ядра (привилегированный)

Системный вызов- передача управления из программы пользователя операционно системе с целью выполнения заданных действий.

 

Архитектура операционных систем

Монолитное ядро (старая)

 

Монолитные многоуровневые системы

0) Переключение процессов; Планирование: обеспечивает многозадачность 1) Управление памятью 2) Связь между процессом и консолью оператора

Виртуальные машины

ВС- это функциональный эквивалент некоторой машины с заданными характеристиками, модель имитируемой программно-аппаратными средствами реальной ЭВМ.

IBM/370 VM/370- перый представитель

Гипервизор 1-го типа

 

Гипервизор 2-го типа

 

Цели гипервизора:

1) Безопасность

2) Возможности создания сети на 1 машине

3) Знакомство с ОС

Глава 2. Процессы и потоки

Модель процесса. Создание и завершение процесса. Состояние процесса.

Основания создания системы: 1) Загрузка (инициализация) системы 2) Исполнение системного вызова для создания процесса.

Реализация процессов

Процесс описывается его дескриптором. Все дескрипторы сводятся в таблицу процессов.

Категории

a. Значение счетчика команд b. Значение слова состояния процессора c. Значение остальных регистров

Механизм прерываний

· Процессор сохранение счетчика команд и слово в текущем стеке. Считывает вектор прерывания, соответствующий данному запросу. Переходит к процедуре… o Производится аппаратно. · Переключение стека на системный, копирует значение счетчика команда и слово состояние процессора из…

Потки

Поток- последовательность выполняемых команд

Процесс=процедуры+ поток

Создание потока более быстро, чем создание процесса.

Lightweight process-легковесный процесс

Thread- простой поток

Реализация потоков

a. Thread -create создание b. Thread-exit завершение c. Thread-join ожидание завершения некоторых потоков

Глава 3. Планирование

Основные понятия

При работе системы готовыми к работе в данный момент времени могут быть несколько процессов. При рассматривании однопроцессорного компьютера, из этих процессоров должен быть выбран 1. За это отвечает планировщик (часть ОС). Используемый им алгоритм называется алгоритмом планирования.

Ситуации планирования.

1) Создание процесса

2) Завершение процесса

3) Блокировка процесса

4) Обработка запроса на прерывание

a. Запрос от внешних устройств

b. Запрос от таймера

Все алгоритмы делятся на 2 вида:

1) Не вытесняющиеся- выбирают процесс и дают ему работать, пока он не завершится или не заблокируется.

2) Вытесняющие- выбирают процесс и позволяют ему работать некоторый интервал времени. Если по окончанию этого времени процесс все еще работает, то он приостанавливается другой процесс.

Категории систем:

1) Системы пакетной обработки. Применяются системы не вытесняющего планирования (в современных- системы вытесняющего с большим квантом времени)

2) Интерактивные системы. Очень важно иметь малое время отклика. Используются вытесняющие алгоритмы с малым квантом времени.

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

Свойства желательные алгоритмов планирования.

· Справедливость- гарантия предоставления процессора каждому процессу.

· Поддержка занятости всех устройств машины.

· Предсказуемость- одна и та же задача должна выполнятся за равные промежутки времени.

· Минимальные накладные расходы на планирование.

Пакетные системы

· Пропускная способность- количество заданий за единицу времени

· Среднее оборотное время- среднее время от поступления задания до конца его обработки

· Загрузка процессора

· Время отклика

Планирование в системе пакетной обработки

Первым пришел- первым обслужим

 

Кратчайшая задача- первая

Для исполнение берется задача с наименьшим временем.

Наименьшее оставшееся время алгоритма

Выбирается задача с наименьшим остаточным временем.

 

Планирование в интерактивных системах

Циклический алгоритм

 

Перепланирование занимает примерно 1милисикунду.

Для 10 процессов:

10 процессов=100квантов

 

Время отклика 10(100+1)=1.010 сек

Другой подход

Квант=4мс

 

Время отклика = 10(4+1)=50

Преимущество: надежность

Недостаток: не рациональное использование ресурсов.

Приоритетное планирование

Для исполнения на процессоре выбираются процессы с наибольшим приоритетом. Процессы с высоким приоритетом монополизируют процессор.

Изменение самих приоритетов может быть как статическим, так и динамическим.

Гарантированное планирование

N-количество пользователей

Di- время нахождения пользователя в системы

Ti- предоставленное время работы.

- коэффициент справедливости.

Планирование в системах реального времени

1) Жесткие- отклонение от заданных сроков недопустимо. 2) Гибкие- отклонения нежелательны, но допустимы. События:

Меж процессное взаимодействия

Основные понятия

Операции

1) Передача данных

2) Предотвращение конфликта процессов при одновременном обращении к определенному ресурсу.

3) Синхронизация процессов

Ситуация состязания- это такая ситуация, когда 2 процесса считывают или записывают данные одновременно и конечный результат зависит т того, какой из них был первым.

Пример ситуации состязаний:

A   B
считывает значение int 6    
    Считывает значение int= 6 Записывает значение in значение 7
Записывает значение in значение 7    

 

  3.txt curt
  4.txt  
in 5.txt  
  5.txt  
  6.txt  
  7.txt  

Взаимное исключение- запрет одновременного доступа к разделяемым данным для более чем одного процесса.

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

Условия запретов без состояния состязаний

1) 2 или более процессов не должны находится одновременно в своих критических областях

2) В программе не должно быть предположений о скорости или количестве процессоров

3) Процесс, находящийся вне критической области, не может блокировать другие процессы

4) Невозможна ситуация, когда процесс вечно ждет попадания в свою критическую область

Взаимное исключение с активным ожиданием

Активное ожидание- цикл постоянной проверки некоторого условия значения некоторой переменной, выполняемой до тех пор, пока условие не будет выполнено.

Алгоритм строгого чередования

Turn= {0,1}

 

Алгоритм Петерсона

 

 

 

Реализация исключающей системы с исключающей командой.

Xchg

Res,mem reg mem

Flag dw 0; флаг h сегмент данных: 0- резрешено;=- задано в коде

Mov ax, 1; 1→рег АХ

Retry: xchg ax, flag; ax flas

Cmp ax, 0; ЛХ =0?

Jnz retry ; повторить, есл

Критический объем

Mov flag, 0; 0→flag-реализовать оставшиеся процессы

Примитивы межпроцессного взаимодействия

Wakeup(процесс)-разблокирует заданный процесс Задача: производителя и потребителя: Производитель:

Классические проблемы межпроцессорного взаимодействия

Проблема обедающих философов

 

Каждый филосов может есть или не есть, но для еды ему нужно 2 вилки.

Проблема читателей и писателей

Читать могут сколько угодно пользователей, но писать только один и когда никто не читает.

Проблема спящего продабрея

Существует обрабатываемый процесс и очередь, которая имеет свой лимит ожидания

Ресурсы и взаимоблокировка

· выгружаемые- можно забрать · не выгружаемые- нельзя забрать Группа процессов находится в состоянии блокировки, если каждый процесс данной группы, если каждый процесс данной…

Глава 5. Управление памятью

Задача управления памятью

Менеджер памяти:

· Учет распределения памяти

· Выделение и освобождение памяти

· Управление обменом между оперативной и внешней памятью

Способы распределения памяти:

1) Работа процессов в физических адресах

Проблемы:

i. Настройка адресов при загрузке программы

ii. Защита памяти

2) Логическая адресация: адреса отсчитываются от установленных системой адресов

Виртуальная память

1. Аппаратной памятью 2. Аппаратного процессора 3. Внешней памятью

Глава 6. Файловые системы

Основные понятия

Задачи файловой системы:

1) Обеспечение хранения больших объемов данных на устройствах внешней памяти

2) Хранение информации после прекращения работы использующего его процесса

3) Обеспечение возможности одновременного доступа нескольких процессов к информации

Файл- именованный набор записи на устройстве внешней памяти

Информация, хранящаяся в файле должна быть устойчивой- на нее не должно влиять прекращение работы любого процесс.

Работой с файлами занимается файловая система.

Характеристики файловой системы

a. Учет регистра букв b. Расширение файла 2) Структура и типы файлов

Каталоги файлов

Типы файловых систем 1) Одноуровневая система- один каталог 2) 2-х уровневая система - каждому пользователю предоставляется по своему каталогу

Реализация файловой системы

  [1] Написана на ассемблере. Не поддерживает, а только имитирует… [2] Основана на языке СИ, поддержка многозадачности. Разрабатывалась для серверов. Разрабатывалась в 2-х вариантах-…