- •1 Операционная система. Определение. Назначение. Функции ос.
- •2 История ос. Развитие операционных систем.
- •3 Классификация операционных систем.
- •4 Специальные регистры центрального процессора (счетчик команд, указатель стека, rsw)
- •5 Конвейерная и скалярная конструкция процессора
- •6 Устройство памяти. Виды памяти.
- •7 Базовый и предельный регистры. Диспетчер памяти.
- •8 Драйвера устройств ввода-вывода. Способы установки драйверов.
- •9 Три способа организации ввода-вывода.
- •10 Шины и их назначение.
- •11 Процесс. Характеристики процесса. Понятия, связанные с процессом (таблица процессов, оболочка и т.Д.)
- •12 Взаимоблокировки. Определение. Примеры.
- •13 Файловые системы. Определение. Понятия, связанные с файловыми системами.
- •14 Код защиты файлов в unix.
- •15 Оболочка. Определение. Командный интерпретатор unix.
- •16 Системные вызовы. Назначение, схема работы системного вызова.
- •17 Основные системные вызовы posix.
- •18 Системные вызовы для управления процессами. Работа, примеры.
- •19 Системные вызовы для управления файлами. Работа. Примеры.
- •20 Системные вызовы для управления каталогами. Работа. Примеры.
- •21 Системные вызовы в unix и windows сравнение.
- •22 Структура ос. Монолитные ос.
- •23 Многоуровневые ос.
- •24 Виртуальные машины.
- •25 Экзоядро. Модель клиент-сервер.
- •26 Многозадачность. Создание и завершение процесса.
- •27 Состояния процессов.
- •28 Последовательность обработки прерываний нижним уровнем ос.
- •29 Поток. Определение. Отличие потока от процесса. Примеры применения потоков.
- •30 Реализация потоков в пространстве пользователя и в ядре. Схема и отличия.
- •31 Всплывающие потоки. Проблемы при переводе программы из однопоточной в многопоточную.
- •32 Межпроцессорное взаимодействие. Состояние состязания. Примеры. 4 условия для эффективной совместной работы процессов.
- •33 Методы решения проблем межпроцессорного взаимодействия с активным ожиданием. Запрещение прерываний, переменные блокировки, строгое чередование.
- •34 Алгоритм Петерсона и команда tsl.
- •35 Примитивы межпроцессорного взаимодействия. Проблема производителя и потребителя.
- •36 Семафоры. Решение проблемы производителя и потребителя с помощью семафоров.
- •37 Мьютексы и мониторы.
- •38 Передача сообщений и барьеры.
- •40 Планирование. Назначение. Поведение процессов. Категории алгоритмов планирования.
- •41 Планирование в системах пакетной обработки: «Первым пришел – первым обслужен», «Кратчайшая задача – первая».
- •42 Алгоритмы планирования: Наименьшее оставшееся время выполнения, трехуровневое планирование.
- •43 Циклическое планирование и приоритетное планирование.
- •44 Алгоритмы планирования: «Самый короткий процесс – следующий», Гарантированное планирование, Лотерейное планирование.
- •45 Справедливое планирование и планирование в системах реального времени.
- •46 Выгружаемые и невыгружаемые ресурсы. Условия взаимоблокировки.
- •47 Моделирование взаимоблокировок.
- •48 Четыре стратегии избегания взаимоблокировок. Страусовый алгоритм.
- •49 Обнаружение взаимоблокировки при наличии одного ресурса каждого типа.
- •51 Выходы из взаимоблокировки. Траектории ресурсов.
- •52 Безопасные и небезопасные состояния. Алгоритм банкира. Предотвращение взаимоблокировок.
4 Специальные регистры центрального процессора (счетчик команд, указатель стека, rsw)
Счетчик команд — регистр процессора, содержащий адрес текущей выполняемой команды.
Другой специальный регистр, называемый указателем стека, ссылает-ся на вершину текущего стека в памяти. Стек содержит по одному фрейму (области данных) для каждой процедуры, в которую уже вошла, но из кото-рой еще не вышла программа. В стековом фрейме процедуры хранятся ее входные параметры, а также локальные переменные и временные перемен-ные, не содержащиеся в регистрах.
Еще один регистр содержит слово состояния программы — PSW (Program Status Word). В этом регистре содержатся биты кода условия, устанавливаемые инструкциями сравнения, а также биты управления приорите-том ЦП, режимом (пользовательским или ядра) и другие служебные биты. Обычно пользовательские программы могут считывать весь регистр PSW целиком, но записывать могут только в некоторые из его полей. Регистр PSW играет важную роль в системных вызовах и операциях ввода-вывода.
5 Конвейерная и скалярная конструкция процессора
Многие современные процессоры способны одновременно выполнять более одной команды. Например, у процессора могут быть отдельные блоки для выборки, декодирования и выполнения команд, тогда во время выполнения команды п он сможет декодировать ко- манду n+1 и осуществлять выборку команды n+2. Подобная организация работы называется конвейером. Обычно используются более длинные конвейеры. В большинстве конструкций конвейеров, как только команда выбрана и помещена в конвейер, она должна быть выполнена, даже если предыдущая выбранная команда была условным ветвлением.
Более совершенной конструкцией, по сравнению с конвейерной, обладает суперскалярный процессор. Он имеет несколько исполнительных блоков: например, один — для целочисленной арифметики, другой — для арифметики чисел с плавающей точкой, а третий — для логических операций.
6 Устройство памяти. Виды памяти.
Основной составляющей любого компьютера является память. Память должна быть максимально быстрой (работать быстрее, чем производится выполнение одной инструкции, чтобы работа центрального процессора не замедлялась обращениями к памяти), достаточно большой и чрезвычайно дешевой. Никакая современная технология не в состоянии удовлетворить все эти требования, поэтому используется другой подход. Система памяти создается в виде иерархии уровней: 1.Регистры 2.Кэш 3.Основная память 4.Магнитный диск 5.Магнитная лента
Верхние уровни обладают более высоким быстродействием, меньшим объемом и более высокой удельной стоимостью хранения одного бита информации, чем нижние уровни, иногда в миллиарды и более раз.
Верхний уровень состоит из внутренних регистров процессора. Они выполнены по той же технологии, что и сам процессор, и поэтому не уступают ему в быстродействии. Следовательно, к ним нет и задержек доступа. Внутренние регистры обычно предоставляют возможность для хранения 32 х 32 бит для 32-разрядного
процессора или 64 х 64 бит для 64-разрядного процессора. В обоих случаях этот объем не превышает одного килобайта. Программы могут сами управлять регистрами (то есть решать, что в них хранить) без вмешательства аппаратуры.
Затем следует кэш-память, которая управляется главным образом аппаратурой. Оперативная память разделяется на кэш-строки, обычно по 64 байт, с адресами от 0 до 63 в кэш-строке 0, адресами от 64 до 127 в кэш-строке 1, и т. д. Наиболее интенсивно используемые кэш-строки оперативной памяти сохраняются в высокоскоростной кэш-памяти, находящейся внутри процессора или очень близко к нему.
Оперативную память часто называют ОЗУ (оперативное запоминающее устройство) или памятью с произвольным доступом (RAM, Random Access Memory). В настоящее время блоки памяти имеют объем от сотен мегабайт до нескольких гигабайт, и этот объем стремительно растет. Все запросы процессора, которые не могут быть удовлетворены кэш-памятью, направляются к оперативной памяти.