АКОС II весна 2025: различия между версиями
Перейти к навигации
Перейти к поиску
Новая страница: «Test» |
|||
| (не показано 10 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
= Общие сведения = | |||
* Формат: очный | |||
* Форма контроля: дифференцированный зачет | |||
* Запись вводного занятия | |||
= Команда курса = | |||
* Андреев Александр Николаевич, лектор | |||
* Манаков Данила Дмитриевич, ассистент | |||
* Копанов Антон Олегович, ассистент | |||
* Лыков Иван Александрович, ассистен | |||
== План курса == | |||
* 1. Вводная лекция | |||
* 2. Процессор и I/O устройства | |||
* 3. Прерывания процессора и работа со временем | |||
* 4. Работа с памятью в ОС: виртуальная память, кэши процессора, buddy и SLAB аллокаторы | |||
* 5. Аллокация памяти в ОС | |||
* 6. Процессы: пространство пользователя, переключение контекста и системные вызовы | |||
* 7. Мультипроцессорность и особенности синхронизации в ОС | |||
* 8. Файловые системы: FAT, Unix FFS и семество ext*, ReiserFS, log-structured, CoW | |||
Операционные системы – неотъемлимая часть всех компьютеров. На АКОС вы уже изучали как взаимодействовать с ОС и какие-то базовые принципы их построения. В курсе «Операционные системы 2» мы тоже будем рассматривать принципы построения современных ОС, но уже с «обратной стороны» – со стороны пространства ядра. | |||
Мы с вами: | |||
* узнаем как ОС управляют виртуальной и физической памятью; | |||
* изучим как они взаимодействуют с дисками, контроллерами прерываний и другой периферией; | |||
* на примере актуальных файловых систем поймём как хранятся файлы и каталоги, и как устроен кэш дисковых страниц в Linux; | |||
* посмотрим как создаются, планируются и изолируются процессы; | |||
* вспомним уязвимость Meltdown, узнаем почему же её фикс замедляет работу всей ОС, причём здесь TLB и как с этим можно бороться; | |||
* заново пройдём привычные примитивы синхронизации и увидим новые сложности, которые появляются в контексте ОС; | |||
* и, конечно, почувствуем себя немного kernel hacker`ами 😏 | |||
Курс состоит из семинаров, на которых мы будем изучать теоретический материал и реализацию игрушечной ОС. Также будет несколько лабораторных работ, в ходы выполнения которых вы реализуете недостающий функционал в HellOS. | |||
== Важные ссылки == | |||
* '''[https://docs.google.com/forms/d/e/1FAIpQLSdWprzsmMgWij2uAfhvRnga8aidd58wE8JgbW88g5oxtHuEfw/viewform?usp=header Регистрация на курс]''' | |||
Ограничений по регистрации на курс нет. | |||
* '''[https://t.me/+CS4a4rDq9DUxNzcy Телеграм-чат курса]''' | |||
* '''[https://gitlab.carzil.ru/os-advanced/lectures Материалы курсa]''' | |||
== Требования == | |||
* Физтех-почта (домен phystech.edu) | |||
* Аккаунт на GitHub | |||
* Ноутбук на семинарах | |||
Текущая версия от 18:06, 31 января 2025
Общие сведения
- Формат: очный
- Форма контроля: дифференцированный зачет
- Запись вводного занятия
Команда курса
- Андреев Александр Николаевич, лектор
- Манаков Данила Дмитриевич, ассистент
- Копанов Антон Олегович, ассистент
- Лыков Иван Александрович, ассистен
План курса
- 1. Вводная лекция
- 2. Процессор и I/O устройства
- 3. Прерывания процессора и работа со временем
- 4. Работа с памятью в ОС: виртуальная память, кэши процессора, buddy и SLAB аллокаторы
- 5. Аллокация памяти в ОС
- 6. Процессы: пространство пользователя, переключение контекста и системные вызовы
- 7. Мультипроцессорность и особенности синхронизации в ОС
- 8. Файловые системы: FAT, Unix FFS и семество ext*, ReiserFS, log-structured, CoW
Операционные системы – неотъемлимая часть всех компьютеров. На АКОС вы уже изучали как взаимодействовать с ОС и какие-то базовые принципы их построения. В курсе «Операционные системы 2» мы тоже будем рассматривать принципы построения современных ОС, но уже с «обратной стороны» – со стороны пространства ядра.
Мы с вами:
- узнаем как ОС управляют виртуальной и физической памятью;
- изучим как они взаимодействуют с дисками, контроллерами прерываний и другой периферией;
- на примере актуальных файловых систем поймём как хранятся файлы и каталоги, и как устроен кэш дисковых страниц в Linux;
- посмотрим как создаются, планируются и изолируются процессы;
- вспомним уязвимость Meltdown, узнаем почему же её фикс замедляет работу всей ОС, причём здесь TLB и как с этим можно бороться;
- заново пройдём привычные примитивы синхронизации и увидим новые сложности, которые появляются в контексте ОС;
- и, конечно, почувствуем себя немного kernel hacker`ами 😏
Курс состоит из семинаров, на которых мы будем изучать теоретический материал и реализацию игрушечной ОС. Также будет несколько лабораторных работ, в ходы выполнения которых вы реализуете недостающий функционал в HellOS.
Важные ссылки
Ограничений по регистрации на курс нет.
Требования
- Физтех-почта (домен phystech.edu)
- Аккаунт на GitHub
- Ноутбук на семинарах