Similar presentations:
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
Файлы, обеспечивающиеначальную загрузку ОС
informatics