Архив: Write a C program that computes the letter histogram (a letter frequency analysis tool)

Бюджет 8$ / 500
руб
в месяц
Создан: 4 года назад
Закрыт
Описание
Лабораторная работа по предмету операционные системы.
Потоки должны создаваться по примеру clone.c
Для синхронизации потоков использоваться должен использоваться mutex.
Все блоки кода должны быть с комментариями.

Write a C program that computes the letter histogram (a letter frequency analysis tool) of a large text file in a multi-threaded manner. The program shall have the following usage:
./histogram    
The program shall take the  as input and shall calculate the letter frequency using  threads. The output file shall be written as percentage of occurrence for each letter in the  as text.

The program must work in the following way:

the main process shall create 2 other child processes: a computing process and a writing process.
the computing process shall read the input file (using system calls) and shall provide data chunks of length  (maximum) to the threads.
The computing process shall create a thread for each data chunk but no more than  threads to run in parallel.
Each thread shall receive its workload (the data chunk and its size) and shall calculate the letter frequency for that chunk. After a thread finished its work it will terminate
the computing process shall monitor de activity of the threads. If a thread terminated its workload and there are still unprocessed data chunk then the computing process shall create another thread in order to complete the work
it is recommended that the computing process shall always keep active 
each time a thread finished its workload, the computing process will issue another thread until the whole workload is finished
the threads may or may not be joinable
all the threads shall work on a common memory zone, as output, where the computing will be stored. In this case the usage of at least a mutex is necessary in order to synchronize accesses to the common memory zone. The memory zone must contain the number of occurrence of each letter and also the total number of letters. (design a compatible data structure)
when all the workload is finished, the computing process shall send the results to the writing process. The writing process shall write the result into the output file.
also the computing process shall count the total of threads used to compute the whole workload. This result will be sent to the parent process
the writing process shall announce its start and end through stdout printing also its PID
the parent process shall also announce its start and end through stdout printing also its PID
the parent process shall print to stdout the second result of the computing process: the total number of threads that have been used.
the parent process shall wait for the termination of the 2 child processes
the histogram will include only uppercase and lowercase letters.
Категория

Похожие проекты

$21
0 1
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 неделя назад
safe 
0 0
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
2 недели назад
safe$21
0 3
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 месяц назад
$214
0 1
Здравствуйте, у кого есть проект по продвижению chaturbate? Или кто-то делает?...
1 месяц назад
$21
0 0
Заказные доработки функционирующих учётно-управленческих систем на производственных предприятиях. Навыки программирования в MS SQL, VBScript, 1С, знание принципов ООП....
safe$36
0 2
Нужно опубликовать мобильное приложение для Android в Гугл маркет с аккаунта разработчика Гугл плей консоль, созданного ДО Ноября 2023. В рамках проекта, необходимо прислать приглашение мне на почту, чтобы я загрузила приложение и отправила его на модерацию, с сохранением безвременного доступа к моему......
safe$71
0 3
Сделать игру для яндекс игр, настроить рекламу в игре и помочь с публикацией игры в платформе яндекс игры. Игра - карточная игра Пасьянс Паук (косынка) Игровой процесс: Тип игры: Пасьянс Паук. Количество мастей: Игрок может выбирать количество мастей: 1, 2, 3 или 4. Подсказки: Автоматические подсказки,......
$14
0 3
Без акцента на идею, необходимо создать мобильное приложение iOs и Android, с возможностью трансляции основной информации в миниапп Tg. Интеграция с платежной системой, внутренний кошелек, две валюты. В зависимости от гео, возможность конвертации валют ч/з сервер. На старте, сервер скорее облачный. Двухфакторная......
$1200
0 0
Необходимо перевести действующую БД с версии 77 на 8 (переписать конфигурацию, настроить обработки для переноса данных).   Не типовая конфигурация по учету пенсионеров в ГУ РК....
safe$22
9 3
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
$714
0 2
Описание задачи: Необходимо разработать serverless функцию на базе NestJS и TypeScript для автоматизированной обработки видеофайлов, загружаемых в Yandex Cloud Storage. Функция должна выполнять конвертацию видео в формат, поддерживаемый основными веб-браузерами, с последующим сжатием до оптимального......
safe$44
49 1
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
safe 
28 1
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
2 месяца назад
safe 
44 8
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
safe$1111
23 0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
safe$22
55 0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
2 месяца назад
 
36 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
2 месяца назад
 
37 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
2 месяца назад
Смотреть все