Использование механизмов операционных систем в разработке программного обеспечения

  • 4.1
Approx. 27 hours to complete

Course Summary

This course covers the fundamentals of operating systems and their development in C++. Students will learn about memory management, process synchronization, and file systems, among other topics.

Key Learning Points

  • Gain a deep understanding of operating systems and their development
  • Learn to write efficient and effective code in C++
  • Apply your knowledge to real-world projects and scenarios

Related Topics for further study


Learning Outcomes

  • Develop a deep understanding of operating systems
  • Gain proficiency in C++ programming
  • Learn to implement memory management, process synchronization, and file systems

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge
  • Familiarity with C++ is recommended

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced

Similar Courses

  • Operating Systems and You: Becoming a Power User
  • Operating Systems and System Programming
  • UNIX/Linux Fundamentals and Shell Scripting

Related Education Paths


Related Books

Description

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

Outline

  • Основные понятия и определения операционных систем
  • Основные понятия и определения операционных систем
  • Основные функции операционной системы
  • Состав операционных систем
  • Основные понятия и определения операционных систем
  • Основные функции операционной системы
  • Состав операционных систем
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Итоговый тест к модулю 1
  • Организация операционной системы
  • Супервизор операционной системы
  • Виды ядер операционной системы
  • Операционная система как виртуальная машина
  • Системные вызовы
  • Прерывания
  • Cупервизор операционной системы
  • Виды ядер операционной системы
  • Операционная система как виртуальная машина
  • Системные вызовы
  • Прерывания
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Итоговый тест к модулю 2
  • Процессы
  • Понятие процесса
  • Диаграмма состояния процесса
  • Операции над процессами
  • Типы и атрибуты процессов в UNIX
  • Образ и состояние процессов в UNIX
  • Реализации процессов в Linux
  • Понятие процесса
  • Диаграмма состояния процесса
  • Операции над процессами
  • Типы и атрибуты процессов в UNIX
  • Образ и состояние процессов в UNIX
  • Реализации процессов в Linux
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Итоговый тест к модулю 3
  • Ресурсы и потоки в операционной системе
  • Планирование использования ресурсов
  • Очереди планирования
  • Перепланировка
  • Понятие потока
  • Управление потоками
  • Потоки в Windows
  • Работа с потоками в Windows
  • Граф состояний нити
  • Особенности реализации потоков UNIX
  • Особенности реализации потоков Linux
  • Планирование использования ресурсов
  • Очереди планирования
  • Перепланировка
  • Понятие потока
  • Управление потоками
  • Потоки в Windows
  • Работа с потоками в Windows
  • Граф состояний нити
  • Особенности реализации потоков UNIX
  • Особенности реализации потоков Linux
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Итоговый тест к модулю 4
  • Взаимодействие и синхронизация процессов
  • Взаимоисключения
  • Способы синхронизации процессов
  • Сигналы
  • Семафоры, мьютексы, мониторы
  • Взаимоисключения
  • Способы синхронизации процессов
  • Сигналы
  • Семафоры, мьютексы, мониторы
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Итоговый тест к модулю 5
  • Высокоуровневые средства взаимодействия процессов
  • Обмен данными
  • Очереди сообщений. Почтовые ящики
  • Сокеты
  • Каналы
  • Особенности сетевого взаимодействия
  • Адресация в сети
  • Обмен данными
  • Очереди сообщений. Почтовые ящики
  • Сокеты
  • Каналы
  • Особенности сетевого взаимодействия
  • Адресация в сети
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Итоговый тест к модулю 6
  • Механизмы использования памяти
  • Понятие памяти в операционной системе
  • Свопинг и виртуальная память
  • Адресное пространство процесса
  • Иерархия памяти. Кэширование
  • Понятие памяти в операционной системе
  • Свопинг и виртуальная память
  • Адресное пространство процесса
  • Иерархия памяти. Кэширование
  • Тренировочный тест
  • Тренировочный тест
  • Тренировочный тест
  • Итоговый тест к модулю 7

Summary of User Reviews

Read reviews of the OS development course on Coursera. Users praise the course for its comprehensive coverage of key topics and practical approach that allows them to apply the concepts learned. Many users recommend it for anyone looking to build a strong foundation in OS development.

Key Aspect Users Liked About This Course

Comprehensive coverage of key topics

Pros from User Reviews

  • Practical approach to learning
  • Clear and concise explanations
  • Great resources and supplementary materials
  • Excellent support from instructors and community
  • Ideal for beginners and intermediate learners

Cons from User Reviews

  • Some topics are covered in more depth than others
  • Challenging assignments can be time-consuming
  • Some users find the pace too fast or too slow
  • Not suitable for advanced learners or those looking for specialized topics
  • Course structure and organization can be improved
Russian
Available now
Approx. 27 hours to complete
Котельников Андрей Сергеевич, Красникова Светлана Анатольевна, Атовмян Игорь Оганович
National Research Nuclear University MEPhI
Coursera
Share
Saved Course list
Cancel
Get Course Update
Computer Courses