Неделя 5

Пост по пятой неделе.

Введение

За прошедшую неделю были выполнены лабораторые работы 13 и 14 на следующие темы:

  1. Средства, применяемые при разработке программного обеспечения в ОС типа UNIX/Linux
  2. Именованные каналы

Лабораторная работа №13

В результате выполнения лабораторной работы приобрела простейшие навыки разработки, анализа, тестирования и отладки приложений в ОС типа UNIX/Linux на примере создания на языке программирования С калькулятора с простейшими функциями.

Были выполнены следующие задачи:

  1. В домашнем каталоге создайте подкаталог ~/work/os/lab_prog.
  2. Создайте в нём файлы: calculate.h, calculate.c, main.c. Это будет примитивнейший калькулятор, способный складывать, вычитать, умножать и делить, возводить число в степень, брать квадратный корень, вычислять sin, cos, tan. При запуске он будет запрашивать первое число, операцию, второе число. После этого программа выведет результат и остановится.
  3. Выполните компиляцию программы посредством gcc.
  4. При необходимости исправьте синтаксические ошибки.
  5. Создайте Makefile.
  6. С помощью gdb выполните отладку программы calcul.
  7. С помощью утилиты splint попробуйте проанализировать коды файлов calculate.c и main.c.

Лабораторная работа №14

В результате выполнения лабораторной работы приобрела практические навыки работы с именованными каналами.

Были решены следующие задачи:

Изучите приведённые в тексте программы server.c и client.c. Взяв данные примеры за образец, напишите аналогичные программы, внеся следующие изменения:

  1. Работает не 1 клиент, а несколько (например, два).
  2. Клиенты передают текущее время с некоторой периодичностью (например, раз в пять секунд). Используйте функцию sleep() для приостановки работы клиента.
  3. Сервер работает не бесконечно, а прекращает работу через некоторое время (напри- мер, 30 сек). Используйте функцию clock() для определения времени работы сервера. Что будет в случае, если сервер завершит работу, не закрыв канал?

Выводы

За прошедшую неделю я изучила именованные каналы и приобрела практические навыки работы с ними. Также я приобрести простейшие навыки разработки, анализа, тестирования и отладки приложений в ОС типа UNIX/Linux на примере создания на языке программирования калькулятора с простейшими функциями.. Поставленные задачи были интересными, но сложными, поэтому решала я их досаточно долго и не без чужой помощи. В целом я довольна результатами прошедшей недели, я выполнила все работы заранее и у меня не возникло никаких особенных трудностей.

Демидова Е. А.
Демидова Е. А.
Студентка

. В сферу моих интересов входят компьютерные науки, нейронные сети и высшая математика