Основные возможности платформы Hexlet не доступны в вашем браузере. Пожалуйста, обновитесь.

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

Курс посвящен главным принципам, лежащим в основе дизайна операционных систем. Мы узнаем о том, как и почему появились операционные системы, с какими проблемами столкнулись инженеры, как они их решили и продолжают решать. Как системы используют ресурсы компьютера, что такое виртуальная память, треды и мультитрединг. Как бороться с дедлоками и сегментацией памяти, зачем нужны семафоры и как с одним процессором можно создать иллюзию многозадачности.

Содержание курса

  • 1

    Что такое компьютер и операционная система

    Цель: Познакомиться с базовыми идеями: компьютер, операционная система и важные составные части компьютера.

    теория (34:03)   тесты  
  • 2

    Эволюция ОС. Фундаментальные проблемы. Слои абстракции.

    Цель: Узнать о самых главных проблемах компьютеров и разработки операционных систем.

    теория (34:59)   тесты  
  • 3

    Представление и обработка процессов. Структуры данных. Очереди.

    Цель: Разобраться в способе представления задач в контексте ОС.

    теория (51:30)   тесты  
  • 4

    Треды. SMP. Микроядро

    Цель: Изучить потоки и понять разницу между потоками и процессами, категории параллельных машин и микроядро.

    теория (39:57)   тесты  
  • 5

    Взаимное исключение. Семафоры. Мониторы. Передача сообщений. Проблема чтения/записи.

    Цель: Изучить проблемы, связанные с работой нескольких процессов на одной системе, а также пути решения этих проблем.

    теория (56:05)   тесты  
  • 6

    Дедлок. Проблема обедающих философов.

    Цель: Изучить проблемы, связанные с ограниченными ресурсами и несколькими процессами.

    теория (29:13)   тесты  
  • 7

    Организация памяти. Виртуальная память.

    Цель: Понять в чем смысл использования виртуальной памяти для решения проблем организации памяти.

    теория (40:13)   тесты  
  • 8

    Планирование выполнения задач. Диспетчеризация.

    Цель: Вникнуть в сложности, связанные с планированием задач (процессов) и изучить классические способы планирования.

    теория (24:43)   тесты  
  • 9

    Ввод и вывод

    Цель: Рассмотреть принципы работы с устройствами ввода и вывода.

    теория (33:38)   тесты  
  • Course completed

  • Практика после курса

    В некоторых курсах есть практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. В этом курсе таких заданий нет, но вы можете посмотреть задания из других курсов.

Подробнее о курсе

Учащихся
7160
Сообщений
96
Упражнений
0
Часов
7

Практика после курса

В некоторых курсах есть практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. В этом курсе таких заданий нет, но вы можете посмотреть задания из других курсов.