Skip to content

KiVorobev/Operating-systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Вариант 312439

Основная цель лабораторной работы - знакомство с системными инструментами анализа производительности и поведения программ. Для этого предлагается для выданной по варианту программы выяснить следующую информацию:

  1. Количество потоков создаваемое программой;
  2. Список файлов и сетевых соединений с которыми работает программа
  3. Карту памяти процесса;
  4. Содержимое передаваемых по сети данных;
  5. Построить графики:
  • Потребления программой cpu;
  • Нагрузки генерируемой программой на подсистему ввода-вывода;
  • Нагрузки генерируемой программой на сетевую подсистему.
  • Смены состояния исполнения потоков;

Вариант: ioctl: page, syscall_info

Разработать комплекс программ на пользовательском уровне и уровне ярда, который собирает информацию на стороне ядра и передает информацию на уровень пользователя, и выводит ее в удобном для чтения человеком виде. Программа на уровне пользователя получает на вход аргумент(ы) командной строки (не адрес!), позволяющие идентифицировать из системных таблиц необходимый путь до целевой структуры, осуществляет передачу на уровень ядра, получает информацию из данной структуры и распечатывает структуру в стандартный вывод. Загружаемый модуль ядра принимает запрос через указанный в задании интерфейс, определяет путь до целевой структуры по переданному запросу и возвращает результат на уровень пользователя.

Интерфейс передачи между программой пользователя и ядром и целевая структура задается преподавателем. Интерфейс передачи может быть один из следующих:

  1. syscall - интерфейс системных вызовов.
  2. ioctl - передача параметров через управляющий вызов к файлу/устройству.
  3. procfs - файловая система /proc, передача параметров через запись в файл.
  4. debugfs - отладочная файловая система /sys/kernel/debug, передача параметров через запись в файл.

Целевая структура может быть задана двумя способами:

  1. Именем структуры в заголовочных файлах Linux
  2. Файлом в каталоге /proc. В этом случае необходимо определить целевую структуру по пути файла в /proc и выводимым данным.

About

Laboratory works in operating systems and databases (ITMO University, third year)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published