Перейти к основному содержанию
КФТИ Moodle
  • В начало
  • Календарь
  • Дополнительно
Русский ‎(ru)‎
Русский ‎(ru)‎ English ‎(en)‎
Вы используете гостевой доступ
Вход
КФТИ Moodle
В начало Календарь
Операционные системы (архив специалисты, бакалавры 2001г - 2021г, Богомолов)
Развернуть всё Свернуть всё
  1. Личный кабинет
  2. ОС
  3. Лабораторные работы:
  4. 5* Обязательная лабораторная работа: Управление процессами.

5* Обязательная лабораторная работа: Управление процессами.

Команды LINUX для работы с процессами

at - запускает программы в определенное время

atq - выводит список заданий, поставленных в очередь командой at

atrm - удаление задания из очереди команды at

/etc/crontab - таблицу расписаний запуска заданий файл содержащий

kill - прекращение выполнения процесса по PID процесса

killall - прекращение выполнения процесса по имени процесса

nice - задает приоритет процесса перед его запуском

renice - изменяет приоритет работающего процесса

ps - выводит информацию о работающих процессах

top - выводит динамическую информацию о процессах

fg - вывод процесса из фонового режима

bg - продолжение выполнения фонового процесса, если он приостановлен нажатием <Ctrl+Z>

ipcs - взаимодействие процессов (разделяемая память, семафоры, сообщения)

Для получения более подробной информации, можно использовать help (например: ps --help), или документацию (например: man ps, для выхода нажмите q).

Запуск фонового процесса осуществляется так:

ps -x &

При загрузке системы, необходимые процессы, загружаются в фоновый режим, их называют "демонами". Они находятся в каталоге /etc/rc.d/init.d/.

Некоторые комбинации клавиш:

<Ctrl+Z> - приостановить выполнение задания

<Ctrl+C> - завершить выполнение задания

Связывание процессов с помощью каналов. Запуск нескольких команд с передачей выходного потока следующей программе, "|" означает передачу выходного потока от первой программы ко второй.

ps -ax | more

запускается команда ps -ax, и передает выходной поток программ more которая запускается на выполнение.

Перенаправление ввода/вывода. Запуск команды с записью выходного потока в файл

ps -ax > test.txt

ps -ax > test.txt - добавит в коней файла

Группы команд

command-1;command-2;command-3

{command-1;command-2} > test.txt

Задание:

  1. На языке С (gcc) напишите программу с вечным циклом, выводящую каждые 5 секунд на экран вашу ФИО и номер группы. Имя программы (файла) - ваша фамилия.
  2. В своей виртуальной машине сделать:
    - создать задание на запуск задание для вашей программы, минута,час,день месяца, месяц - последняя цифра в номере зачетки, показывать этот список, удалять из списка  (скриншоты в отчет)
    - прописать в crontab, задание на запуск задание для вашей программы, минута,час,день месяца, месяц - последняя цифра в номере зачетки (скриншоты в отчет)
    - запустите свою программу
    - пошлите сигнал на прекращение процесса вашей программы по ID и по имени  (скриншоты в отчет)
    - запустите процесс вашей программы с конкретным приоритетом (скриншоты в отчет)
    - измените приоритет процесса вашей программы (скриншоты в отчет)
    - выведите информацию о работающих процессах (ps) (скриншоты в отчет)
    - запустите процесс вашей программы в фоновом режиме, выведите из фонового режима (скриншоты в отчет)
    - запустите процесс вашей программы в интерактивном режиме, переведите в спящий режим, переведите в фоновый режим, выведите из фонового режима (скриншоты в отчет)
    - передайте выходной поток другой программе (поток ps) (скриншоты в отчет)
    - запишите выходной поток процесса (поток ps) в файл (скриншоты в отчет)
    - вывести информацию о работающих процессах, с различным количеством столбцов и процессов (ps) (скриншоты в отчет)
    - вывести динамическую информацию о процессах, сортировать эту информацию по столбцам, убирать и добавлять столбцы, менять приоритет процесса, уничтожать процесс. (top) (скриншоты в отчет)
  3. Изучить теорию: Процессы и потоки  (многозадачность, состояние, планирование, борьба за ресурсы, блокировки).

При сдаче: 

  1. умение работать с этими командами.
  2. выполненные задания на виртуальных машинах
  3. Знать теорию: Процессы и потоки  (многозадачность, состояние, планирование, борьба за ресурсы, блокировки).

Условия для выполнения:
  • Получить оценку
Вы используете гостевой доступ (Вход)
Сводка хранения данных
На платформе Moodle