Элементы теории операционных систем
Состав вычислительной системы
Состав системного ПО
Управляющие программы
Обслуживающие программы
Системы программирования
Операционная система (ОС)
Классификация ОС
Типы ОС по виду ВС
Введение в архитектуру UNIX
Причины популярности UNIX
Архитектура UNIX
Ядро системы
Структура ядра
Основные подсистемы ядра
Файловая подсистема
Подсистема управления процессами
Подсистема ввода/вывода
Инфраструктура процесса ОС UNIX
Основные структуры данных процесса
Структура proc
Граф состояний процесса
Контекст процесса
Планирование процессов
Системы пакетной обработки данных
Системы разделения времени
Системы реального времени
Классы приложений
Принципы управления памятью
Примитивное управление
Виртуальная память (1)
Виртуальная память (2)
Виртуальная и физическая память
Страничное замещение по требованию
Возможное местонахождение страниц процесса
Преимущества страничного замещения
Алгоритмы замещения страниц (1)
Алгоритмы замещения страниц (2)
Оптимальный алгоритм
NRU (1)
NRU (2)
NRU (3)
FIFO
Вторая попытка
Часы
LRU
NFU
Старение
Рабочий набор
WSClock
Файловая система
Различные типы файлов
Структура файловой системы UNIX
Каталог /bin
Каталог /sbin
Каталог /etc
Каталог /lib
Каталог /dev
Каталог /tmp
Каталог /usr
Каталог /var
Каталог /home
Каталог /boot
1.13M
Category: informaticsinformatics

lec2

1. Элементы теории операционных систем

2. Состав вычислительной системы

Аппаратура ВС
Системное ПО
Прикладное ПО
Пользователи
Пользователи

3. Состав системного ПО

• Управляющие программы
• Обслуживающие программы
• Системы программирования

4. Управляющие программы

• Управление аппаратурой
• Интерфейс пользователя

5. Обслуживающие программы

• Системные утилиты
• Системы контроля и
восстановления
• Программы генерации
(установки) и загрузки

6. Системы программирования

• Трансляторы
• Редакторы связей
(компоновщики)
• Отладчики
• Загрузчики

7. Операционная система (ОС)

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

8.

ОС как система
управления ресурсами
ОС как расширенная
(виртуальная) машина

9. Классификация ОС

Существует много критериев для
классификации ОС:
• По виду и составу ВС
• По отношению к пользователям
• По режиму вычислительного процесса
• По технологии разработки и способу
распространения

10. Типы ОС по виду ВС

1. ОС универсальных ЭВМ третьего
поколения
2. ОС персональных компьютеров
3. ОС СЦВМ
4. ОС рабочих многотерминальных станций
5. ОС сетевых и распределенных ВС
6. ОС супер-ЭВМ (векторно-конвейерных,
кластерных систем и др.)
7. ОС мобильных устройств

11. Введение в архитектуру UNIX

12. Причины популярности UNIX

• Код написан на Си
• Многозадачная, многопользовательская с
широким спектром услуг
• Наличие стандартов
• Мощный модульный пользовательский
интерфейс
• Иерархическая файловая система
• Большое количество свободно
распространяемых приложений

13. Архитектура UNIX

14. Ядро системы

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

15. Структура ядра

16. Основные подсистемы ядра

• Файловая подсистема
• Подсистема управления
процессами и памятью
• Подсистема ввода/вывода

17. Файловая подсистема

• Поддержка унифицированного
интерфейса к обычным файлам
и периферийным устройствам
• Проверка прав доступа

18. Подсистема управления процессами

• Создание и удаление процессов
• Распределение системных
ресурсов
• Синхронизация процессов
• Межпроцессное взаимодействие

19. Подсистема ввода/вывода

• Обеспечение работы с
периферийными устройствами
• Буферизация данных
• Взаимодействие с драйверами

20. Инфраструктура процесса ОС UNIX

21. Основные структуры данных процесса

22. Структура proc

23. Граф состояний процесса

24. Контекст процесса

Информация, сохраняемая ОС,
при переходе процесса из
состояния выполнения,
необходимая для его
восстановления и продолжения
работы

25. Планирование процессов

• Системы пакетной обработки
данных
• Интерактивные системы (системы
разделения времени)
• Системы реального времени

26. Системы пакетной обработки данных

• Пропускная способность –
максимальное количество задач в
единицу времени
• Оборотное время – минимизация
времени, затрачиваемого на ожидание
обслуживания и обработку задачи
• Использование процессора –
поддержка постоянной занятости
процессора

27. Системы разделения времени

• Время отклика – быстрая реакция
на запросы
• Соразмерность – выполнение
пожеланий пользователя

28. Системы реального времени

• Окончание работы к сроку –
предотвращение потери данных
• Предсказуемость –
предотвращение деградации
качества в мультимедийных
системах

29. Классы приложений

• Интерактивные
• Фоновые
• Реального времени

30. Принципы управления памятью

• Примитивное управление
памятью (специализированные
микропроцессорные системы)
• Расширенное управление (чаще
всего виртуальная память)

31. Примитивное управление

• Нет защиты программ друг от
друга и от ОС
• Заранее на этапе компиляции
надо знать физические адреса
• Объем физической памяти
будет ограничивать число
процессов

32. Виртуальная память (1)

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

33. Виртуальная память (2)

• Размещение задач в
произвольном месте ОП
• Размещение задачи в
нескольких различных частях
ОП
• Совместное использование
областей памяти (сегмент кода)

34. Виртуальная и физическая память

35. Страничное замещение по требованию

36. Возможное местонахождение страниц процесса

37. Преимущества страничного замещения

• Размер программы ограничивается только
разрядностью адреса
• Запуск программы происходит очень
быстро
• Большее число программ может быть
загружено и выполняться одновременно
• Перемещение отдельных страниц между
ОП и ВП требует меньших затрат

38. Алгоритмы замещения страниц (1)

• Оптимальный алгоритм (практически
неосуществим)
• NRU (Not Recently Used) не
использовавшаяся в последнее время
страница
• FIFO первым прибыл, первым обслужен
• Вторая попытка (усовершенствованный
FIFO)

39. Алгоритмы замещения страниц (2)

• Часы (другая реализация алгоритма
«Вторая попытка»)
• LRU (Least Recently Used) страница, не
использовавшееся больше всего
• NFU (Not Frequently Used) редко
использовавшаяся страница
• Старение
• Рабочий набор
• WSClock

40. Оптимальный алгоритм

Выгрузить страницу, которая не
будет использована больше всего.
Можно реализовать только для
конкретной программы с заранее
заданным входным набором
данных

41. NRU (1)

Используется 2 бита:
R (Referenced) обращение
M (Modified) изменение

42. NRU (2)

4 класса страниц:
1. Не было обращений и изменений
2. Не было обращений, страница
изменена
3. Было обращение, страница не
изменена
4. Произошло и обращение и
изменение

43. NRU (3)

Удаление страницы в непустом
классе с наименьшим номером

44. FIFO

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

45. Вторая попытка

Модифицированный алгоритм
FIFO.
При попытке удаления у страницы
проверяется бит R. Если он равен 0,
то страница удаляется, если – нет,
то бит сбрасывается и страница
помещается в начало списка как
только что загруженная.

46. Часы

Модифицированный алгоритм
«Вторая попытка».
Список страниц является
кольцевым, что снижает затраты на
перемещение страниц из головы в
хвост списка.

47. LRU

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

48. NFU

Для каждой страницы ведется
счетчик. После каждого
прерывания от таймера к счетчику
прибавляется значение бита R.
Для выгрузки выбирается страница
с наименьшим значением счетчика.
Алгоритм «ничего не забывает» в
пределах каждого процесса

49. Старение

Модификация алгоритма NFU.
Каждый счетчик перед
прибавлением R сдвигается вправо
на один разряд. Прибавление
осуществляется в крайний левый
бит. Практика показывает, что 8
бит достаточно

50. Рабочий набор

Все программы характеризуются
локальностью обращений к памяти.
Можно использовать
опережающую подкачку страниц из
«рабочего набора» текущего
процесса.
Трудность алгоритма определения
«рабочего набора»

51. WSClock

Модификация алгоритма «рабочего
набора». Используются «часы» в
виде кольцевого списка. С каждой
страницей связано время ее
загрузки с диска

52.

Лучшими алгоритмами
являются:
старение и WSClock

53. Файловая система

Имеет иерархическую
структуру. Все файловое
пространство объединено в
единое дерево. Корень
дерева – корневой каталог
«/».

54. Различные типы файлов

•Файл
•Каталог
Другие типы …

55. Структура файловой системы UNIX

56. Каталог /bin

Часто употребляемые команды
и утилиты системы общего
пользования

57. Каталог /sbin

Часто употребляемые команды
и утилиты системы для
администрирования и
начальной загрузки

58. Каталог /etc

Системные конфигурационные
файлы. Каталоги стартовых
скриптов.
/etc/passwd /etc/group /etc/shadow

59. Каталог /lib

Файлы системных библиотек

60. Каталог /dev

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

61. Каталог /tmp

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

62. Каталог /usr

Неизменяемая часть UNIXсистемы. Имеет большое
количество подкаталогов:
/usr/bin /usr/lib /usr/sbin
/usr/include /usr/man

63. Каталог /var

Изменяемая часть UNIXсистемы. Имеет большое
количество подкаталогов:
/var/log /var/tmp /var/spool

64. Каталог /home

Размещение домашних
каталогов пользователей

65. Каталог /boot

Файлы, обеспечивающие
начальную загрузку ОС
English     Русский Rules