Операционные системы
Курс по выбору
- Обзор компьютерных систем. Процессор. Общие принципы работы процессора. Наборы команд. Регистры. Прерывания. Многозадачность. Запоминающие устройства. Память. Кэш. Технологии ввода-вывода.
- Обзор операционных систем. Понятие операционной системы. Основные функции. История Вычислительных систем(1-4 поколение). Краткая история ОС. ОС как универсальный менеджер ресурсов. Задачи Решаемые современными ОС. Классификация ОС. Современные ОС.
- Процессы. Концепция процесса. Определение процесса. Модель процесса. Жизненный цикл процесса. Примеры для различных систем. Состояния процессов.
- Потоки. Многопоточность. Симметричная обработка данных. Микроядро.
- Параллельные вычисления: взаимоисключения и многозадачность. Взаимодействие между процессами. Критические области. Взаимное исключение со строгим чередованием. Запрет прерываний. Переменная блокировки. Строгое чередование. Алгоритм Петерсона. Задача Производитель-Потребитель. Семафоры. Мониторы. Передача сообщений.
- Проблемы синхронизации пути их обнаружения и решения. Взаимоблокировки. Голодание.
- Управление памятью. Физическая память. Страничная и сегментая организация памяти. Подкачка. Выборка, размещение и замещение страниц. Алгоритмы замещения страниц. Виртуальная память.
- Планирование. Планирование в системах с одним процессором. Типы и критерии планирования. Функция выбора. Алгоритмы планирования. Многопроцессорное планирование. Групповое планирование. Планирование систем реального времени
- Управление вводом-выводом. Дисковое планирование. Диски. Сектора, цилиндры, дорожки. Форматирование. Кэширование. RAID. Уровни RAID. Планирование движения головки диска
- Файловая система и взаимодействие с ней. Файлы (Имена, структура, типы, доступ, атрибуты, операции). Каталоги(Одно- и многоуровневые имя пути, операции). Реализация Файловой системы. B-деревья.
- Обзор сетей. Введение в TCP/IP. Реализация работы с сетью. Понятие компьютерной сети. Понятие пакета. Стек TCP/IP. OSI. Типичные системные вызовы. UDP, ICMP, HTTP, SSH, SSL.
- Распределенные вычисления. Архитектура клиент-сервер. Распределенная передача сообщений. Кластер.
Литература
- Э. Таненбаум. Современные операционные системы
- В. Столлингс. Операционные системы
- Б. Эккель. Философия Java