Обзор курса и знакомство с преподавателем Евгений Лишенко представляет себя как главного преподавателя курса по высокопроизводительным вычислениям и параллельному программированию. Он рассказывает о своем профессиональном опыте в области разработки программного обеспечения, уделяя особое внимание системной архитектуре. Курс будет включать как теоретические знания, так и практические приложения, в основном на C++ и Java.
Структура курса: Лекции, Практические занятия, Задания Курс состоит из лекций, в которых теория сочетается с практикой, что обеспечивает понимание на реальных примерах. Также есть лабораторные задания, предназначенные для ознакомления студентов с распространенными ошибками в параллельном программировании. Студенты могут использовать любую предпочитаемую технологию или язык для этих лабораторных работ, но должны знать, что некоторые технологии могут потребовать значительно больших усилий.
Каналы коммуникации: Вопросы Во время занятий и Чат в Telegram Студентам рекомендуется задавать вопросы во время занятий или через организованный чат в Telegram в нерабочее время для получения дополнительной поддержки.
Объяснена частота и сроки выполнения заданий "Задания не будут выполняться еженедельно; вместо этого у них будут месячные сроки выполнения из-за сложности отладки кода, связанной именно с параллельным программированием профессионального уровня".
Поведение дочернего процесса в различных сценариях В первом случае дочерний процесс завершает работу вместе со своим родительским процессом, поскольку он не поддерживается в фоновом режиме. Во втором случае немедленный запуск в фоновом режиме предотвращает такое поведение, сообщая интерпретатору, что он не зависит от жизненного цикла родительского процесса.
Основы планирования процессов и потоков Планировщик операционной системы может назначить каждый поток или единицу планирования различным ядрам процессора. Современные системы используют преимущественную многозадачность, при которой потокам задаются временные интервалы независимо от их состояния, в отличие от совместной многозадачности, при которой процессы добровольно передают управление.
Понимание приоритетов в процессах и потоках Процессы имеют базовые приоритеты, наследуемые их потоками; меньшие значения указывают на более высокий приоритет. Такие инструменты, как "top", отображают эти приоритеты наряду с другими показателями, такими как использование памяти и процессорное время для каждого процесса.
Информация о "Высшем" командовании: Объяснено управление приоритетами Команда "Top" отображает различные столбцы, включая приоритет (меньшее число означает более высокую важность) и значение NI, указывающее на отклонение от уровней приоритета по умолчанию, что полезно для понимания распределения ресурсов между процессами.