Операционные системы

Михаил Кринкин, преподаватель СПбАУ

СПбАУ, Computer Science Center

Онлайн-курс является упрощенной и укороченной версией курса ОС, читаемого в Академическом университете. Но несмотря на небольшую продолжительность курс довольно детально покрывает следующие темы:
управление памятью (разделение на физическую и логическую память, аппаратные средства организации логической памяти, алгоритмы аллокации)
планирование и многозадачность (вытесняющая и невытесняющая многозадачность, критерии планирования, переключение потоков управления)
средства синхронизации потоков (взаимное исключение, реализация примитивов взаимного исключения, дедлоки и средства борьбы с ними)
пространство пользователя и системные вызовы (реализации системных вызовов, структура исполняемого файла, запуск приложений)
Предполагается, что информации, данной в курсе, достаточно для написания простейшей многозадачной ОС, но так как проверять подобные задания в полностью автоматическим режиме довольно тяжело, то мы не будем просить вас это делать. Вместо этого по мере прохождения мы просто будем предоставлять вам доступ к исходным кодам, демонстрирующим информацию из курса на примере простейшей учебной ОС. Для того чтобы работать с примерами, вам понадобятся средства разработки GNU (компилятор языка С и компоновщик) и утилита make.

Программа

1 Введение
1.1 Введение
1.2 Язык ассемблера 1
1.3 Язык ассемблера 2
1.4 Прерывания
1.5 Загрузка ОС
2 Управление памятью
2.1 Физическая память
2.2 Логическая память
2.3 Сегментация
2.4 Страничная организация памяти
2.5 Простой подход к аллокации памяти
2.6 Buddy аллокатор
2.7 SLAB аллокатор
3 Планирование и многозадачность
3.1 Потоки исполнения и многопоточность
3.2 Переключение потоков
3.3 Кооперативная и вытесняющая многозадачности
3.4 Планирование и критерии планирования
3.5 Реалистичное планирование
4 Средства синхронизации потоков
4.1 Состояние гонки по данным и взаимное исключение
4.2 Взаимное исключение с использованием RW регистров, часть 1
4.3 Взаимное исключение с использованием RW регистров, часть 2
4.4 Взаимное исключение с использованием RMW регистров
4.5 Прочие примитивы синхронизации
4.6 Deadlock-и и средства борьбы с ними
5 Пространство пользователя
5.1 Исполняемые файлы и процессы
5.2 Динамические библиотеки
5.3 Системные вызовы
5.4 Средства управления процессами
5.5 Средства межпроцессного взаимодействия

Ключевые слова

операционные системы, управление памятью, многозадачность, язык ассемблера


Характеристики курса

Направление в конкурсе
Естественные и технические науки
Вид образования
Внеформальное
Уровень формального образования
Профессиональное совершенствование
Рекомендуемый возраст для неформального обучения
16-18, 19-25, 25-45, 45-65, 65+
Язык обучения
Русский
Дисциплина
Информационно-коммуникационные технологии (ИКТ)
Авторы курса
Михаил Кринкин, преподаватель СПбАУ
Организация
СПбАУ, Computer Science Center
Входные требования по уровню знаний
владение C или C++ на уровне, достаточном для реализации простых алгоритмов (переменные, массивы, функции, работа с указателями и адресная арифметика) владение базовыми структурами данных (массивы, связные списки и тому подобное) базовые навыки использования GIT, чтобы скачивать примеры базовое владение английским языком, чтобы поглядывать в документацию
Выходные знания, умения, навыки
Знание основ внутреннего устройства ядра ОС.
Входной тест
Формирование групп по уровню подготовленности
Присутствие преподавателей
Присутствие тьюторов
Присутствие фасилитаторов
Форма представления учебных материалов
тексты, мультимедиа, видеолекции, онлайн общение с преподавателем
Наличие обратной связи в материалах
Наличие совместного обучения
Наличие форумов, дискуссий
Наличие вебинаров, видеоконференций
Наличие неформального общения, meetup
Интеграция с LMS
Учебная аналитика
Наличие сертификации
Виды сертификации
электронный сертификат
Название сертификата
Сертификат Stepik
Уровни сертификата
Обычный сертификат Сертификат с отличием
Наличие временных границ
Продолжительность
5 (недели)
Тип занятий (синхронность)
асинхронные
Виды оценивания
тест
Количество модулей в курсе
5
Возможность формирования собственной траектории, индивидуализации на курсе
Операционные системы
Windows (начиная с версии 7), Linux, Ubuntu, Debian, MacOS, iOS, Android (начиная с версии 4.0)
Поддерживаемые браузеры
Минимальные версии поддерживаемых браузеров: IE / Edge 10 Firefox 38 Chrome 31 Safari 8 Opera 30 iOS Safari 9 Android Browser 4.4 Chrome for Android 44
Устройства для обучения
Компьютер, ноутбук, планшет, телефон
Поддержка лиц с ограниченными возможностями

Комментарии