Skip to content

natalevichmv/OS-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Простая многопоточность

  1. Умножение матриц

std::mutex

  1. Подсчет количества простых чисел в векторе
    • 0.5 балла: если подсчет реализован с разбиением вектора на заранее заданные части
    • 1 балл: если потоки разбирают числа в векторе по мере освобождения
  2. Поиск нулевого подмножества

std::condition_variable

  1. Producer-consumer
    • Поиск следующего простого числа в два потока. Первый поток считает ответ, второй выводит ответ на экран.
  2. Read-write lock
    • Интерфейс как в файле rw_lock.h, только реализовать с помощью condition_variable
    • Описание

std::atomic

  1. Spinlock
    • Реализуем мьютекс через атомики, это было на семинаре
  2. Lock-free stack
    • Стек на основе односвязного списка. Реализуем при помощи std::atomic и паттерна CAS-цикл (CAS-loop).

CMake

  1. См. задачу cmake
  2. POCO + CMake
    • Скачать библиотеку POCO с гитхаба и настроить проект CMake, чтобы запустилась программа в файле hello-http/poco_request.cpp

HTTP

  1. См. задачу hello-http

Оценивание

Всего в списке 10 задач, из них 5 "простых" (1, 2, 4, 6, 8) и 5 "сложных" (3, 5, 7, 9, 10). Оценки предлагаю следующие:

  • 4 балла: задача №1
  • 5 баллов: 2.5 простых задачи (т.е. либо 3 задачи полностью, либо задача №2 на 0.5 + еще одна простая задача)
  • 6 баллов: 4 простых задачи
  • 7 баллов: 5 простых задач
  • 8 баллов: 5 простых задач + 1 сложная
  • 9 баллов: 5 простых задач + 2 сложных
  • 10 баллов: 5 простых задач + 3 сложных

About

BSU Operating Systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages