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

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

СПбАУ, Computer Science Center

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

Syllabus

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 Средства межпроцессного взаимодействия

key words, tags

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


Course properties

Competition track
Science and engineering
Form of education
Informal
Formal education level
Professional development
Recommended age for informal learning
16-18, 19-25, 25-45, 45-65, 65+
Learning language
Russian
Discipline
Information and Communication Technologies (ICTs)
Course authors
Михаил Кринкин, преподаватель СПбАУ
Organization
СПбАУ, Computer Science Center
Knowledge level entrance requirements
владение C или C++ на уровне, достаточном для реализации простых алгоритмов (переменные, массивы, функции, работа с указателями и адресная арифметика) владение базовыми структурами данных (массивы, связные списки и тому подобное) базовые навыки использования GIT, чтобы скачивать примеры базовое владение английским языком, чтобы поглядывать в документацию
Output knowledge, abilities, skills
Знание основ внутреннего устройства ядра ОС.
Entrance test
Groups formation by readiness level
Teachers presence
Tutors presence
Facilitators presence
Training materials forms
texts, multimedia, video lecture, synchronous video
Interactivity in training materials
Collaborative learning presence
Discussions, forums presence
Webinars, video conferences presence
meetup presence
LMS integration
Learning Analytics
Certification presence
Certification types
электронный сертификат
Certificate name
Сертификат Stepik
Certificate levels
Обычный сертификат Сертификат с отличием
Course time limits
Duration
5 (weeks)
Learning types (sync/async)
asynchronous
Assessment types
test
Course modules number
5
Personal learning path possibility, course individualization
Operating System
Windows (начиная с версии 7), Linux, Ubuntu, Debian, MacOS, iOS, Android (начиная с версии 4.0)
Supported browsers
Минимальные версии поддерживаемых браузеров: IE / Edge 10 Firefox 38 Chrome 31 Safari 8 Opera 30 iOS Safari 9 Android Browser 4.4 Chrome for Android 44
Learner’s devices
Компьютер, ноутбук, планшет, телефон
Special needs support

Comments