Skip to content

Latest commit

 

History

History
67 lines (56 loc) · 3.07 KB

05_computer_architecture_tasks.md

File metadata and controls

67 lines (56 loc) · 3.07 KB

Практика

Разминка

  1. Создайте в своём репозитории 2022-polytech-%фамилия% директорию 05_computer_architecture
  2. Cоздайте пустой README.md файл
  3. Используя команду ps, напишите в README.md файл ответы на вопросы:
  • Какой процесс имеет наименьший идентификатор?
  • Какой идетификтор у вашего текущего shell-процесса?
  • Сколько всего запущено процессов?
  1. Добавьте к ответами команды, которыми были получены ответы
  2. Отправьте решение на GitHub

Задание

  1. Создайте в своём репозитории 2022-polytech-%фамилия% директорию 05_computer_architecture/meminfo
  2. Настройте cmake-проект
  3. Соберите программу, которая представлена ниже (для linux систем, проверить работу можно по ссылке)
#include <iostream>
#include <fstream>

void show_meminfo()
{
    char parameter[20];
    int value;
    char unit[3];
    
    std::ifstream in("/proc/meminfo", std::ios_base::in);
    while(in.good())
    {
        in >> parameter >> value >> unit;
        std::cout << parameter << " " << value << unit << std::endl;
    }
}

int main()
{
  show_meminfo();
  return 0;
}
  1. Прочитайте про работу с ifstream, /proc и /proc/meminfo
  2. Измените программу так, чтобы она выводила размер занимаемой памяти в компьютере в ASCII-графике (пример ниже)
..........   0%
|||||.....  50%
|||||||...  70%
|||||||||| 100%
  1. Отправьте решение на GitHub

Домашнее задание

  1. Создайте в своём репозитории 2022-polytech-%фамилия% директорию 05_computer_architecture/cpuinfo
  2. Настройте cmake-проект
  3. Напишите программу, которая выводит загрузку процессора по данным из /proc/stat (пример первой строки файла приведён ниже)
cpu  669992823 69963647 341652106 64211934534 34415383 0 8102966 0 0 0

Здесь числа обозначают время, проведённое процессором в разных состояниях. Четвёртое число обозначает время процессора без вычислений (состояние IDLE).

  1. Отправьте решение на GitHub

Комментарии

  • В этом файле есть опечатки, вы можете их исправить через pull request.
  • Всю работу удобно вести в отдельной ветке и затем влить готовый результат в основную ветку.