- •№1 Типы и поколения ос. Эволюция ос и ее связь с развитием аппаратных ресурсов эвс.
- •№2 Понятие об операционной системе, ее функциях и составе.
- •№3 Концепция процесса. Состояния процесса.
- •№4 Описание процесса в ос. Операции над процессами.
- •№5 Граф состояний процесса. Управление переходами.
- •№6 Процессы и потоки.
- •№7 Архитектуры ос. Функции ядра.
- •№8 Управление потоками. Многопоточное программирование.
- •№9 Проблема тупиков в ос. Необх условия возникновения тупиков
- •№10 Предотвращение тупиков. Принципы Хавендера.
- •№11 Обнаружение тупиков
- •№12 Обход тупиков. Алгоритм банкира.
- •№13 Прерывания ос и bios. Обработка прерываний.
- •№14. Организация оперативной памяти. Однопрограммные системы. Оверлеи.
- •№15. Организация оперативной памяти. Мультипрограммные системы.
- •№ 16 Основные функции системы управления памятью.
- •№17 Организация оперативной памяти. Основные способы.
- •№18 Организация оперативной памяти. Системы со свопингом.
- •№19. Виды памяти вычислительных систем.
- •№20 Виртуальная память, назначение, основные проблемы. Методы организации.
- •№21 Задачи менеджера виртуальной памяти.
- •№22 Страничная организация виртуальной памяти.
- •№23 Сегментная организация виртуальной памяти.
- •№24 Сегментно-страничная организация виртуальной памяти.
- •№25 Концепция локальности и теория рабочего множества.
- •№26 Стратегии решения задачи замещения страниц при управлении виртуальной памятью.
- •№27 Управление процессами, переключение контекста, приоритеты.
- •№28 Управление процессами. Основные стратегии.
- •№29 Управление процессами. Цели и критерии.
- •№30. Организация файлов. Функции файловой системы. Распределение внешней памяти.
- •№31.Файловая система. Методы поблочного отображения.
- •№32. Hpfs, ntfs и cdfs. Управление доступом к файлам.
- •№33.Устройство нмд. Управление дисками. Критерии планирования.
- •№34.Управление дисками. Основные стратегии управления.
- •№35. Пути повышения производительности дисковых накопителей. Raid0, raid1
- •№36. Пути повышения производительности дисковых накопителей. Raid5, raid6.
- •№37.Пути повышения производительности дисковых накопителей. Raid7, matrix raid.
- •№38. Параллельные асинхронные процессы. Проблемы управления.
- •№39. Программное решение задачи взаимного исключения.
- •№40.Способы синхронизации процессов.
- •№41. Семафоры. Синхронизация и взаимоисключение при помощи семафоров.
- •№42.Межпроцесная коммуникация. Разделяемая память, сообщения.
- •№43.Межпроцесная коммуникация. Pipes и sockets.
- •№44. Защита операционных систем. Цели и методы. Методы идентификации пользователей.
- •45.Защита от вирусов. Методы.
- •№46. Особенности работы операционных систем в сетях.
- •№47.Кластерные вычислительные системы типа CoPc.
- •№48. Параллельные вычисления. Метод Монте-Карло.
- •№49. Параллельные вычисления. Численное интегрирование.
- •№50. Методы распределения нагрузки в параллельных системах.
- •№51.Основные направления развития ос.
- •№52. Прерывания. Обработчики прерываний. Маскирование прерываний.
- •Типы прерываний
№3 Концепция процесса. Состояния процесса.
Процесс – программа во время исполнения или объект, которому выделяются ресурсы ВС (процессор, память и..)
Процесс – динамический объект
Процесс характеризует: 1.Набор исполняемых команд 2.Выделенная для исполнения память (адресное пространство) 3.Адрес и состояние стеков 4.Используемые файлы 5.Устройства ввода-вывода 6.Значения регистров 7.Программный счетчик 8.Значение переменных
Состояния процесса: 1.Порождение – создаются условия для первого запуска 2.Готовность – у процесса есть все необходимые ресурсы, кроме ЦП 3.Активное – выделение процессора 4.Ожидание – (блокировка) нужный ресурс занят, процесс ждет его освобождения 5.Завершение – штатное или аварийное окончание работы программы
№4 Описание процесса в ос. Операции над процессами.
ОС должна обеспечить контроль над процессами в любом из возможных состояний.
Текущее состояние процесса описывается в системе с помощью PCB (Process Control Block)
PCB –хранит информацию:
Уникальный идентификатор процесса, пользователь
Состояние в котором находится процесс
Текущий приоритет
Программный счетчик процесса - IP (адрес команды которая должна быть выполнена для него следующей)
Содержимое регистров процесса
Адресное пространство (и стеки)
Связанные устройства ввода-вывода (файлы)
Область хранения регистров (для рестарта)
Операции над процессами: 1.Создание(образование процесса) 1)Присваивание имени процесса, включение этого имени в список имён известных системе 2)Опр-ние начального приоретета процесса 3) Формирование PCB 4)выделение процессу начальных ресурсов.
2.Уничтожение процесса
3.Возобновление процесса - Подготовка процесса к зупуску с той точки, на котором он был остановлен
4.Изменение приоретета
5.Блокирование
6.Разблокировка
7.Запуск
№5 Граф состояний процесса. Управление переходами.
№6 Процессы и потоки.
Первое, что надо усвоить – процесс состоит хотя бы из одного потока. В ОС каждому процессу соответствует адресное пространство и одиночный управляющий поток. Фактически это и определяет процесс.
С одной стороны, процесс можно рассматривать как способ объединения родственных ресурсов в одну группу.
С другой стороны, процесс можно рассматривать как поток исполняемых команд или просто поток. У потока есть счетчик команд, отслеживающий порядок выполнения действий. У него есть регистры, в которых хранятся текущие переменные. У него есть стек, содержащий протокол выполнения процесса, где на каждую процедуру, вызванную, но еще не вернувшуюся, отведен отдельный фрейм. Хотя поток должен исполняться внутри процесса, следует различать концепции потока и процесса. Процессы используются для группирования ресурсов, а потоки являются объектами, поочередно исполняющимися на центральном процессоре.
Различия потоков и процессов:
Различные потоки выполняются в одном адресном пространстве.
Различные процессы выполняются в разных адресных пространствах.
Потоки имеют «собственный» стек и набор регистров. Глобальные данные являются общими.
Как локальные, так и глобальные переменные процессов являются «собственными».
Любой поток состоит из двух компонентов:
1)объекта ядра, через который операционная система управляет потоком. Там же хранится статистическая информация о потоке(дополнительные потоки создаются также ядром); 2)стека потока, который содержит параметры всех функций и локальные переменные, необходимые потоку для выполнения кода.
Поток (thread) определяет последовательность исполнения кода в процессе.
Процесс ничего не исполняет, он просто служит контейнером потоков.
Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах.
Потоки могут исполнять один и тот же код и манипулировать одними и теми же данными, а также совместно использовать описатели объектов ядра, поскольку таблица описателей создается не в отдельных потоках, а в процессах.