Skip to content

salvoronis/operationSystemLab1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задание

Разработать программу на языке С, которая осуществляет следующие действия

  • Создает область памяти размером 242 мегабайт, начинающихся с адреса 0xC5FA086B (если возможно) при помощи mmap заполненную случайными числами /dev/urandom в 35 потоков. Используя системные средства мониторинга определите адрес начала в адресном пространстве процесса и характеристики выделенных участков памяти. Замеры виртуальной/физической памяти необходимо снять
    1. До аллокации
    2. После аллокации
    3. После заполнения участка данными
    4. После деаллокации
  • Записывает область памяти в файлы одинакового размера 162 мегабайт с использованием блочного обращения к диску. Размер блока ввода-вывода 129 байт. Преподаватель выдает в качестве задания последовательность записи/чтения блоков (последовательный)
  • Генерацию данных и запись осуществлять в бесконечном цикле.
  • В отдельных 46 потоках осуществлять чтение данных из файлов и подсчитывать агрегированные характеристики данных - сумму.
  • Чтение и запись данных в/из файла должна быть защищена примитивами синхронизации futex
  • По заданию преподавателя изменить приоритеты потоков и описать изменения в характеристиках программы. Измерить значения затраченного процессорного времени на выполнение программы и на операции ввода-вывода используя системные утилиты. Отследить трассу системных вызовов. Используя stap построить графики системных характеристик.

btw I use arch linux