up

Операционные системы семейства UNIX. Системное программирование

course video
Start date will be announced later

Start date for course enrollment has not been announced yet

  • 16 weeks

    course duration

  • от 9 до 10 часов в неделю

    needed to educate

  • 4 credit points

    for credit at your university

Слушатели познакомятся с программными и структурными компонентами UNIX-подобных операционных систем, а также аппаратом системных вызовов и синтаксисом командного языка программирования, особенностями системного программирования на процедурном и командном языках на разнообразных примерах реализации. Научатся разрабатывать системные и прикладные программные приложения (продукты) с учетом возможностей операционной системы.

About

Основной целью освоения дисциплины «Операционные системы семейства UNIX. Системное программирование» является обучение слушателей принципам организации современных вычислительных систем.  

Основу курса составляют теоретические и практические материалы, связанные с построением современных операционных систем, концепцией и алгоритмами управления локальными и распределенными ресурсами. Изучаются варианты реализации многозадачной обработки информации (средства синхронизации, транзакции, механизмы репликации), средства файловой системы и системы управления вводом-выводом, реализации управления оперативной памятью, обработки прерываний и подходы к обеспечению безопасности информации.

Рассматриваются инструментальные средства разработки прикладных и системных программных приложений (системные вызовы и инструкции командного языка программирования), обсуждаются различные аспекты их использования.

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

Format

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

Для успешного освоения дисциплины слушатель может использовать следующие программные средства: операционные системы FREE BSD, Linux-подобные, Solaris, AIX, MAC или др. UNIX-подобные ОС. Допускается в качестве альтернативы использование виртуальных UNIX/LINUX машин.

Предварительно, перед процессом обучения, предлагается познакомиться с аппаратом системных вызовов и утилитами файловой системы UNIX-подобных ОС.

Базовые учебники

  1. Стивен Р.У., Раго С.А. UNIX. Профессиональное программирование. 3-е издание. – СПб.: Символ-Плюс, 2010 г.
  2. Чан Т. Системное программирование на С++ для UNIX. – Киев: Издательская группа BHV, 1999 г.
  3. Тейнсли Д. Linux и UNIX: программирование в shell. Руководство разработчика. СПб.: БХВ-Петербург, 2004г. (http://litresp.com/kniga/ru/%D0%A2/tejnsli-devid/linux-i-unix-programmirovanie-v-shell-rukovodstvo-razrabotchika дата обращения 20.01.2021)

 Основная литература

  1. Моли Б. UNIX/LINUX: Теория и практика программирования. - М: КУДИЦ_ОБРАЗ, 2004 г.
  2. Роббинс А. LINUX: программирование в примерах. – М: КУДИЦ_ОБРАЗ, 2005 г.
  3. Истратов А.Ю. Межпроцессное взаимодействие на уровне «клиент-сервер» в ОС UNIX (Учебное пособие), М.: РГУИТиП, 2006 г.

Дополнительная литература (по необходимости)

Робачевский А., Немнюгин С., Стесик О. Операционная система UNIX. 2-е изд. СПб.: БХВ-Петербург, 2005 г.

Requirements

Для освоения курса слушатели должны владеть навыками программирования на языке С/С++, разбираться в компонентах оборудования вычислительной системы и знать основы дискретной математики.

Course program

1. Понятие «Операционная система»

2. Процессы и потоки в ОС UNIX

3 Системные вызовы и программы (утилиты) управления процессами в ОС UNIX. Примеры реализаций.

4. Файлы и файловые системы в ОС UNIX

5. Поддержка и реализация файлов в ОС UNIX. Системные вызовы и утилиты для получения информации о файле.

6. Системные вызовы работы с файлами в ОС UNIX. Примеры реализаций.

7. Управление устройствами ввода-вывода (УВВ) в ОС UNIX. Системные вызовы для ввода-вывода информации.

8. Межпроцессный (программный) канал в ОС UNIX. Примеры реализации.

9. Обработка прерываний в ОС UNIX

10. Системные вызовы и программы (утилиты) обработки прерываний в ОС UNIX. Примеры реализаций.

11. Примеры многозадачных процедурно-программных реализаций с обработкой прерываний в ОС UNIX.

12. Распределение и перераспределение оперативной памяти в ОС UNIX. Программные средства и системные вызовы работы с оперативной памятью.

13. Интерпретатор команд shell в ОС UNIX. Функции интерпретатора. Встроенные и внешние команды (утилиты) интерпретатора shell.

14. Понятие shell переменной. Специальные shell переменные. Конструкции командного языка программирования expr, let, test. Примеры реализаций.

15. Конструкции командного языка программирования while, until, for, if, case, trap. Примеры реализаций.

16. Примеры реализаций многозадачных программных приложений в shell.

Education results

Обладает навыками проектирования системных приложений и организации межпрограммного (межсетевого) обмена информацией.

Решает задачи взаимодействия между процессами ОС и задачи обработки прерываний. Умеет выбирать программные средства (системные вызовы, программные утилиты) для решения поставленной задачи.

Использует программные утилиты и системные вызовы ОС для проверки оборудования вычислительной системы и компонентов ОС.

Решает задачи разработки системных приложений на процедурном и командном языках программирования.

Демонстрирует знания компонент операционной системы.

Умеет объяснить принципы и алгоритмы работы компонент операционной системы и умеет работать в командной строке ОС.

Similar courses