АКОС II весна 2025 — различия между версиями
(Новая страница: «Test») |
Irinaiv (обсуждение | вклад) (→Важные ссылки) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 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://t.me/+UlVQFGD4wEoyYzg6 Телеграм-чат курса]''' | ||
+ | * '''[https://drive.google.com/drive/folders/1wWWyxy1ZUJ-yAW3VxUQ1YDzi2_RdR9Kx?usp=share_link Материалы курсa]''' | ||
+ | |||
+ | == Требования == | ||
+ | * Физтех-почта (домен phystech.edu) | ||
+ | * Аккаунт на GitHub | ||
+ | * Ноутбук на семинарах |
Текущая версия на 18:40, 20 декабря 2024
Общие сведения
- Формат: очный
- Форма контроля: дифференцированный зачет
- Запись вводного занятия
Команда курса
- Преподаватели:
- Андреев Александр
- Ассистенты:
- Горбунов Сергей
План курса
- 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
- Ноутбук на семинарах