
- •Лихачёв д.С.
- •1 Понятие операционной системы. Классификация операционных систем
- •2 Сетевые операционные системы
- •3 Назначение и основные функции операционных систем. Требования к современным операционным системам.
- •4 Назначение и основные функции операционных систем. Функции операционных систем по управлению ресурсами компьютера.
- •5 Функции операционных систем по управлению ресурсами компьютера. Управление процессами.
- •6 Функции операционных систем по управлению ресурсами компьютера. Управление памятью.
- •7 Функции операционных систем по управлению ресурсами компьютера. Управление файлами и внешними устройствами. Поддержка пользовательского интерфейса.
- •8 Функции операционных систем по управлению ресурсами компьютера. Защита данных и поддержка администрирования. Поддержка интерфейса прикладного программирования.
- •9 Обобщённая структура операционной системы.
- •10 Архитектура операционных систем на основе монолитного ядра.
- •11 Особенности работы ядра в привилегированном режиме.
- •12 Многослойная структура операционной системы.
- •13 Микроядерная архитектура.
- •14 Подсистема операционной системы управления памятью. Понятие виртуальной памяти.
- •15 Методы распределения памяти. Распределение памяти фиксированными разделами.
- •16 Методы распределения памяти. Распределение памяти динамическими разделами.
- •17 Методы распределения памяти. Распределение памяти перемещаемыми разделами.
- •18 Методы распределения памяти. Страничное распределение.
- •19 Методы распределения памяти. Сегментное распределение.
- •20 Методы распределения памяти. Странично-сегментное распределение. Свопинг.
- •21 Многозадачность. Особенности реализации многозадачности в системах пакетной обработки.
- •22 Многозадачность. Особенности реализации многозадачности в системах разделения времени.
- •23 Понятие процесса. Подсистема операционной системы управления процессами. Состояния процесса. Контекст и дескриптор процесса.
- •24 Совместное использование объектов ядра несколькими процессами. Наследование описателя объекта.
- •25 Совместное использование объектов ядра несколькими процессами. Именованные объекты
- •26 Совместное использование объектов ядра несколькими процессами. Дублирование описателей объектов
- •27Планирование и диспетчеризация потоков.
- •28 Вытесняющие и невытесняющие алгоритмы планирования.
- •29 Алгоритмы планирования, основанные на приоритетах.
- •30 Алгоритмы планирования, основанные на квантовании.
- •31 Принципы работы с потоками вWindows. Распределение процессорного времени между потоками
- •32 Приостановка и возобновление потоков/процессов
- •33 Потоки вWindows. Приоритеты потоков и процессов
- •34 Задача синхронизации потоков
- •35 Синхронизация потоков с объектами ядра. Функции ожидания объектов ядра
- •36 Мьютексы. Создание, открытие, освобождение и удаление мьютекса. Отказ от мьютекса
- •37 Семафоры. Создание, открытие, освобождение и удаление семафора
- •38 Понятие сетевой операционной системы. Компьютерная сеть
- •39 Типичная структура сетевых операционных систем.
- •40 Сетевые службы и сетевые ресурсы
- •41 Архитектура взаимодействия типа клиент – сервер.
- •42 Многоуровневая структура коммуникаций. Эталонная модель взаимодействия открытых систем osi. Принцип пакетной передачи данных.
- •43 Технологии, используемые для построения компьютерных сетей.
- •44 Стек протоколов tcp/ip. Ip-адресация.
- •45 Понятие программной модели ia-32. Регистры общего назначения. Сегментные регистры.
- •46 Понятие программной модели ia-32. Регистры состояния и управления.
- •47 Режимы работы микропроцессора
- •48 Понятие оперативной памяти. Формирование адреса в процессорах с архитектурой ia-32.
- •49 Режимы адресации для процессоров с архитектурой ia-32. Работа с массивами на ассемблере.
- •50 Понятие модульного программирования. Понятие подпрограммы. Ассемблерные процедуры и функции.
- •51 Способы передачи аргументов в процедуру.
- •52 Программная модель математического сопроцессора.
- •2. Три служебных регистра:
20 Методы распределения памяти. Странично-сегментное распределение. Свопинг.
Методы распределения памяти.
Необходимым условием для того, чтобы программа могла выполняться, является ее нахождение в оперативной памяти. Только в этом случае процессор может извлекать команды из памяти и интерпретировать их, выполняя заданные действия.
Все алгоритмы распределения памяти разделены на два класса: алгоритмы, в которых используется перемещение сегментов процессов между оперативной памятью и диском, и алгоритмы, в которых внешняя память не привлекается.
Классификация методов распределения памяти
Странично-сегментное распределение.
Данный метод представляет собой комбинацию страничного и сегментного механизмов управления памятью и направлен на реализацию достоинств обоих подходов.
Так же как и при сегментной организации памяти, виртуальное адресное пространство процесса разделено на сегменты. Это позволяет определять разные права доступа к разным частям кодов и данных программы.
Перемещение данных между памятью и диском осуществляется не сегментами, а страницами. Для этого каждый виртуальный сегмент и физическая память делятся на страницы равного размера, что позволяет более эффективно использовать память, сократив до минимума фрагментацию.
Для каждого процесса операционная система создает отдельную таблицу сегментов процесса, в которой содержатся описатели (дескрипторы) всех сегментов процесса, в которых для каждого сегмента указывается:
базовый адрес сегмента в оперативной памяти (начальный линейный виртуальный адрес сегмента в пространстве виртуальных адресов);
размер сегмента;
правила доступа к сегменту;
признаки модификации, присутствия и обращения к данному сегменту, а также некоторая другая информация.
Деление общего линейного виртуального адресного пространства процесса и физической памяти на страницы осуществляется следующим образом. Размер страниц выбирается равным степени двойки, что упрощает механизм преобразования виртуальных адресов в физические. Виртуальные страницы нумеруются в пределах виртуального адресного пространства каждого процесса, а физические страницы – в пределах оперативной памяти. При создании процесса в память загружается только часть страниц, остальные загружаются по мере необходимости. Время от времени система выгружает уже ненужные страницы, освобождая память для новых страниц. ОС ведет для каждого процесса таблицу страниц, в которой указывается соответствие виртуальных страниц физическим.
Достоинство: эффективное распределение памяти и возможность контроля прав и способа доступа к данным.
Недостатки: сложность реализации.
Свопинг.
Свопинг (swapping) – реализация механизма виртуальной памяти, при которой в многозадачной ОС на диск выгружаются образы неактивных процессов целиком, а в оперативную память загружается образ активного процесса.
Достоинство: простота реализации, надёжность.
Недостаток: неэффективное использование памяти, низкая производительность.
21 Многозадачность. Особенности реализации многозадачности в системах пакетной обработки.
Многозадачность.
Мультипрограммирование, илимногозадачность {multitasking), - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ.
Критерии эффективности вычислительных систем являются:
пропускная способность — количество задач, выполняемых вычислительной системой в единицу времени;
удобство работы пользователей
реактивность системы — способность системы выдерживать заранее заданные (возможно, очень короткие) интервалы времени между запуском программы и получением результата.
В зависимости от выбранного критерия эффективности ОС делятся на системы пакетной обработки,системы разделения времениисистемы реального времени.
Особенности реализации многозадачности в системах пакетной обработки.
Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени.
Для достижения этой цели в системах пакетной обработки используется следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие разные требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины. Например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается «выгодное» задание.
В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит по инициативе самой активной задачи, например, когда она отказывается от процессора из-за необходимости выполнить операцию ввода-вывода. Поэтому существует высокая вероятность того, что одна задача может надолго занять процессор и выполнение интерактивных задач станет невозможным. Взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат.
Достоинство: повышение эффективности функционирования аппаратуры,
Недостаток: снижение эффективности работы пользователя.