Добавил:
github.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
30.09.2023
Размер:
875.49 Кб
Скачать
  1. Упражнения

    1. Начало работы

      1. В соответствии с п. 3.1 из Упражнений предыдущей лабораторной работы подключитесь к командной оболочке Raspberry Pi.

      2. Перейдите в каталог с вашими проектами, создайте в нем каталог «lab2» для данной лабораторной работы и перейдите в него:

        cd IVT31_Ivanov_Ivan

        mkdir lab2

        cd lab2

      3. Создайте еще один экземпляр командной оболочки. Для этого щелкните правок кнопкой мыши по заголовку окна Putty и выберите строку «Duplicate session». Перейдите в созданную в предыдущем пункте директорию lab2.

    1. Подготовка

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

        1. Откройте программу WinSCP

        1. В открывшемся окне заполните поля «имя хоста», «имя пользователя, «пароль». Далее нажмите кнопку «войти»:

Теперь возможно переносить файлы на привычным и удобным способом:

      1. Переместите файлы writer.sh, reader.sh в созданную вами директорию /home/pi/IBT31_Ivanov_Ivan/lab2

      2. Измените права доступа к перемещенным исполняемым файлам

        chmod +x sleep.sh

        chmod +x reader.sh

        chmod +x writer.sh

    1. Изучение процессов

      1. Введите команду

top

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

      1. Введите команду

ps

на экране отобразятся процессы, порожденные терминалом: «bash» и процесс «ps», который был вызван. В левой колонке будет показан PID каждого процесса.

      1. Введите команду

ps -aux

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

      1. Введите команду

ps -faxu

на экране отобразятся запущенные в системе процессы с указанием родительских и дочерних.

      1. Найдите дерево процессов, вызвавших используемый терминал. В корне дерева процесс "/usr/sbin/sshd" - программа «SSH Daemon», через которое произведено подключение.

      2. Найдите дерево процессов, соответствующих второму терминалу.

    1. Запуск и завершение процессов в командной оболочке:

      1. Запустите исполняемый файл sleep.sh который бесконечное количество раз ничего не делает раз в одну секунду.

./sleep.sh

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

      1. Завершите выполнение процесса с помощью сочетания клавиш "Ctrl+C" (процессу будет отправлен сигнал SIGINT).

      2. Запустите данный исполняемый файл в фоновом режиме

./sleep.sh &

на экране появятся его номер «jobspec» фоновых процессов [1] и значение PID.

      1. Запустите утилиту ps и обратите внимание на столбец STAT. Для запущенного процесса ps значение равняется «R+» - процесс исполняется на переднем плане. У запущенного процесса sleep значение равняется «S» - процесс находится в состоянии прерываемого сна.

        ps -au

      2. Посмотрите запущенные фоновые процессы пользователя pi с помощью команды

        jobs -l

      3. Добавьте еще 2 фоновых процесса

        ./sleep.sh &

        ./sleep.sh &

      4. Посмотрите фоновые процессы

        jobs -l

      5. Перевидите экземпляр фонового процесса [2] на передний план

fg %2

После перевода процесса на передний план командная строка стала недоступна для ввода новых команд. Завершите выполнение процесса с помощью сочетания клавиш «Ctrl+C».

Соседние файлы в папке OS_labs