
- •Часть 1. Функции, состав и назначение ос
- •Место ос в структуре вычислительной системы
- •Две основные функции, выполняемые операционными системами.
- •Эволюция ос. Многозадачность и режим разделения времени
- •Эволюция ос. Дружественный интерфейс. Сетевые и распределенные ос
- •Классификация ос и краткая характеристика каждого класса
- •Требования, предъявляемые к современным ос. Их краткая характеристика
- •Часть 2. Архитектура ос
- •Монолитные ос
- •Многоуровневые ос. Основные и вспомогательные модули
- •Ядро ос в привилегированном положении
- •Многослойная структура ос и ядра
- •Виртуальные машины и гипервизоры
- •Микроядерная архитектура ос
- •Структура типовой unix-подобной ос
- •Структура ос семейства Windows nt
- •Аппаратная зависимость ос
- •Переносимость ос
- •Часть 3. Управление процессами и потоками
- •Мультипрограммирование или многозадачность. Вытесняющая и невытесняющая многозадачность.
- •Описатели процессов и потоков. Состояния процессов и потоков.
- •Описатели процессов и потоков. Операции над процессами и потоками.
- •20. Планирование и диспетчеризация. Контекст потока
- •Обработка прерываний. Типы прерываний.
- •Системные вызовы. Синхронный и асинхронный режим.
- •Синхронизация процессов и потоков. Блокирующие переменные и семафоры Дийкстры.
- •24. Сигналы. Реакция ос и приложений на сигналы.
- •Часть 4. Управление памятью
- •25. Функции ос по управлению памятью. Организация памяти.
- •26. Иерархия зу. Классификация зу.
- •27. Типы адресов памяти. Способы структурирования вап процесса.
- •28. Алгоритмы распределения памяти без использования внешней памяти. Достоинства и недостатки.
- •29. Виртуальная память и свопинг. Реализация виртуальной памяти.
- •30. Страничное распределение памяти. Преобразование виртуальных адресов в физические.
- •31. Методы выбора страницы для выгрузки ее на диск. Примеры.
- •32. Сегментное и сегментно-страничное распределение памяти. Отличительные особенности.
- •33. Разделяемые и невыгружаемые области памяти.
- •Часть 5. Управление данными
- •34. Основные функции подсистемы управления вводом-выводом.
- •35. Многослойная организация по ввода-вывода.
- •36. Менеджер (диспетчер) ввода-вывода.
- •37. Многоуровневые драйверы.
- •38. Файловая система. Логическая организация. Цели и задачи.
- •39. Типы файлов. Иерархическая структура фс.
- •40. Именование файлов. Типы имен файлов. Примеры.
- •41. Атрибуты файлов. Способы их хранения в конкретных файловых системах.
- •43. Физическая организация и адресация файла. Примеры.
- •Часть 6. Сетевые ос 46. Концепции распределенной обработки данных. Двухзвенные приложения.
- •48. Механизм сокетов. Примитивы передачи сообщений. (лекция 6)
- •Часть 7. Системные программы 49. Понятие и структура систем программирования.
- •50. Интерпретаторы, ассемблеры, макроассемблеры.(лекция 7)
- •51. Отладчики и загрузчики. Функции и назначение (лекция 7)
- •52. Процесс трансляции. Этапы, фазы и проходы.
- •53. Роль рекурсии в грамматике. Примеры. (лекция 7)
- •54. Порождения. Левое и правое порождения. Дерево синтаксического разбора. (лекция7)
Описатели процессов и потоков. Состояния процессов и потоков.
Представителем процесса в ОС является его описатель, который называют также блоком управления роцессом (БУП)
• БУП – это одна или несколько информационных структур, содержащих все сведения о процессе, необходимые ОС для управления им (идентификатор, состояние, детали расположения в памяти и другие)
• Примерами БУП являются дескриптор процесса в UNIX, а также объект-процесс в Windows NT
• Создание БУП знаменует появление в системе еще одного претендента на вычислительные ресурсы, и при их распределении ОС должна принимать во внимание потребности нового процесса.
В многопоточной системе при создании процесса ОС создает для каждого процесса как минимум один поток
выполнения
При создании потока ОС генерирует специальную информационную структуру – описатель потока
В описателе обычно хранятся идентификатор потока, данные о правах доступа и приоритете и т.д.
Состояния процессов и потоков
В период своего существования поток (и процесс в системах без многопоточной обработки) проходит через ряд дискретных состояний, их смену вызывают разные события
Поток может находиться в одном из трех основных состояний:
Поток является активным, если в данный момент ему выделен ЦП и остальные ресурсы
Поток блокирован, если его выполнение может быть продолжено только после наступления некоторого события
Поток находится в состоянии готовности, если он не является активным или заблокированным, т. е.
обладает всеми ресурсами, кроме ЦП, и может начать работу, когда процессор поступит в его распоряжение.
Описатели процессов и потоков. Операции над процессами и потоками.
Системы, управляющие процессами и потоками, должны иметь возможность выполнять определенные операции над ними:
Создание процесса (потока);
Уничтожение процесса (потока);
Возобновление процесса (потока);
Изменение приоритета процесса (потока);
Блокирование процесса (потока);
Запуск процесса (потока);
Привязка процесса (потока) к процессору и т.д.
20. Планирование и диспетчеризация. Контекст потока
• Переход от выполнения одного потока к другому осуществляется в результате планирования и диспетчеризации
Работа по определению того, в какой момент времени необходимо прервать выполнение активного потока и какому потоку предоставить возможность выполняться, называется планированием.
Модуль, выполняющий планирование, называется планировщиком.
Планирование осуществляется на основе информации из описателей и включает решение двух задач:
определение момента времени для смены текущего потока
выбор для активизации потока из очереди готовых потоков
В большинстве ОС планирование осуществляется динамически
Другой тип планирования – статический
Планировщик называется статическим, если он принимает решения о планировании до начала работы
системы.
Диспетчеризация заключается в реализации найденного в результате динамического или статического
планирования решения.
Перед приостановкой потока ОС запоминает его контекст, чтобы впоследствии использовать эту
информацию для возобновления выполнения данного потока.
Модуль, занимающий диспетчеризацией, в большинстве ОС называется планировщиком.
Контекст потока содержит менее оперативную и более объемную часть информации о потоке и отражает:
состояние аппаратуры в момент прерывания потока
параметры операционной среды
Контекст, как и БУП, доступен только программам ядра, т. е. находится в ВАП ОС, но хранится не в области ядра, а может быть выгружен из оперативной памяти на диск.