Курс посвящен главным принципам, лежащим в основе дизайна операционных систем. Мы узнаем о том, как и почему появились операционные системы, с какими проблемами столкнулись инженеры, как они их решили и продолжают решать. Как системы используют ресурсы компьютера, что такое виртуальная память, треды и мультитрединг. Как бороться с дедлоками и сегментацией памяти, зачем нужны семафоры и как с одним процессором можно создать иллюзию многозадачности.
Программа курса
Что такое компьютер и операционная система
- Эволюция ОС. Фундаментальные проблемы. Слои абстракции.
- Представление и обработка процессов. Структуры данных. Очереди.
- Треды. SMP. Микроядро
- Взаимное исключение. Семафоры. Мониторы. Передача сообщений. Проблема чтения/записи.
- Дедлок. Проблема обедающих философов.
- Организация памяти. Виртуальная память.
- Планирование выполнения задач. Диспетчеризация.
- Ввод и вывод