Курс «Операційні системи»

Версія курсу: 2016-01-03

Цей курс читався в КПІ на факультеті інформатики і обчислювальної техніки з 2009 по 2015 рік. Мета курсу — сформувати уявлення про внутрішність операційних систем та розуміння можливостей, які вони дають прикладному програмісту.

Якщо ви хочете доповнити або зробити інший внесок у його розвиток, матеріали курсу знаходяться на github. Вони доступні для використання за ліцензією Creative Commons BY-NC 2.0

Конспекти лекцій

Ці матеріали побудовані у вигляді опорного конспекту без детального розгляду всіх тем. Для кожної теми приводиться підбірка до 10 додаткових джерел (в основному, англійською мовою), в яких детально розглядаються питання, що обговорюються під час лекції.
  1. Вступ
  2. Робота з апаратною частиною
  3. Бінарний інтерфейс
  4. Управління пам'яттю
  5. Виконувані файли
  6. Управління процесами
  7. Синхронізація
  8. Файлові системи
  9. Робота з мережею
  10. Безпека
  11. Unix
  12. Windows
Всі лекції одним файлом
Список літератури

Гостьові лекції

Кожного року я намагаюсь запрошувати представників ІТ-індустрії на гостьові лекції щодо тем, які стосуються курсу. Відео деяких з лекцій опубліковано в інтернеті.

Курс «Операционные системы»

Версия курса: 2016-01-03

Этот курс читается в КПИ на факультете информатики и вычислительной техники с 2009 по 2015 год. Цель курсу — сформировать представление про внутренность операционных систем и понимание возможностей, которые они дают прикладному програмисту.

Если вы хотите дополнить или сделать другой взнос в его развитие, материалы курсы находятся на github. Они доступны для использования под лицензией Creative Commons BY-NC 2.0

Конспекты лекций

Эти материали построены в виде опорного конспекта без детального рассмотрения всех тем. Для каждой темы приводится подборка до 10 дополнительных источников (в основном, на английском языке), в которых детально рассматриваются вопросы, обсуждаемые на лекциях.
  1. Вступление
  2. Работа с аппаратной частью
  3. Бинарный интерфейс
  4. Управление памятью
  5. Исполняемые файлы
  6. Управление процессами
  7. Синхронизация
  8. Файловые системи
  9. Работа с сетью
  10. Безопасность
  11. Unix
  12. Windows
Все лекции одним файлом
Список литературы

Гостевые лекции

Каждый год я стараюсь приглашать людей из ІТ-індустрии на гостевые лекции по темам, касающимся курса. Видео некоторых из лекций опубликовано в интернете.
       

Практична робота

Самостійна робота передбачає встановлення ОС Linux і знайомство з основними способами взаємодії з нею як типовою Unix-подібною OC. Для цієї роботи надаються наступні матеріали: загальне керівництво і лабораторні роботи:

Базові роботи:

  1. Shell (варіанти завдань, лог-файл)
  2. Системні виклики
  3. Асемблер
  4. Сихронізація (варіанти завдань)
  5. Файлова система (варіанти завдань)
  6. Взаємодія через мережу (варіанти завдань)

Додаткові роботи:

  1. Мови для конкурентного програмування
  2. Розробка модуля ядра Linux

Теоретичні тести

Список теоретичених питань до заліку/ісптиу.

Практическая работа

Самостоятельная работа требует установки ОС Linux и знакомство с основными способами взаимодействия с ней как типичной Unix-подобной OC. Для этой работы даются следующие материалы: общее руководство и лабораторные работы:

Базовые работы:

  1. Shell (варианты заданий, лог-файл)
  2. Системные вызовы
  3. Ассемблер
  4. Сихронизация (варианты заданий)
  5. Файловая система (варианты заданий)
  6. Взаимодействие через сеть (варианты заданий)

Дополнительные работы:

  1. Языки для конкуррентного программирования
  2. Разработка модуля ядра Linux

Теоретические тесты

Список теоретических вопросов к зачету/экзамену.

(cc) 2014-2016 Vsevolod Dyomkin