Главная страница
Навигация по странице:

  • Теоретические сведения

  • Управление процессами

  • Команды Ввод команды и специальные клавиши В качестве средства взаимодействия используется интерпретатор команд shell.

  • Команда ps Команда “ps”

  • Контрольные вопросы

  • ВСРВ. ПР_1_Вычислительные_системы. Практическая работа 1 Ознакомление с базовыми инструментальными средствами ос unix


    Скачать 0.54 Mb.
    НазваниеПрактическая работа 1 Ознакомление с базовыми инструментальными средствами ос unix
    Дата09.10.2021
    Размер0.54 Mb.
    Формат файлаpdf
    Имя файлаПР_1_Вычислительные_системы.pdf
    ТипПрактическая работа
    #244157

    Практическая работа №1
    Ознакомление с базовыми инструментальными средствами ОС
    Unix.
    Цель работы: получить начальные сведения о среде выполнения лабораторного практикума, уметь осуществлять вход в систему, получить практические навыки по работе с терминалом, изучить синтаксис команд соответствующей операционной среды, научиться корректно завершать работу с системой.
    Теоретические сведения:
    Лабораторный практикум проходит в операционной среде OC
    SINIX. ОС SINIX семейство UNIX-подобных операционных систем, выпускавшихся достаточно длительное время компанией
    Siemens Nixdorf Informationssysteme (SNI)
    и характеризующихся высокой степенью соответствия промышленным стандартам (В настоящее время
    Wincor
    Nixdorf).
    ОС
    SINIX многопользовательская и многозадачная система и многозадачная система с разделением времени. Все лабораторные работы выполняются в интерфейсной оболочке – командной строке. Вход в систему осуществляется при помощи логина и пароля, которые сообщит преподаватель перед началом занятия. При входе в систему пользователь видит приглашение shell на ввод команд, в общем случае это символ - $. Взаимодействие с системой через оболочку shell осуществляется при помощи команд, которые вводятся в командной строке.
    Управление процессами
    Понятие процесса
    Процесс – это программа в стадии выполнения, т.е. выполняющаяся программа.
    В UNIX одновременно выполняется много процессов ( организован многозадачный режим
    – multitasking, с вытесняющей многозадачностью).
    У каждого процесса есть своя область памяти, где хранится код или инструкции (область кода), данные (область данных), стек. Для взаимодействия с системой процессы используют системные вызовы. Для взаимодействия пользователей
    с системой используются интерфейсные оболочки. В нашем случае интерфейс командной строки Доступ к файлам, обмен сигналами между процессами, выделение памяти и проч. производится через системные вызовы.
    Для управления процессами операционной системе необходима, разумеется, еще и дополнительная информация о процессе, например:
    1. идентификатор процесса Process IDentifier (PID), уникальный номер процесса, который используется для временной идентификации (во время выполнения) процессов в большинстве операционных систем - , таких как ядро UNIX, Mac OS X или
    Microsoft Windows). Этот номер может использоваться в качестве параметра при различных системных вызовах, с помощью которых можно управлять выполнением процессов, например изменять приоритет процессов или завершать их. Узнать PID данного процесса можно c помощью системного вызова getpid(). Всего существует три вида процессов: системные процессы, процессы- демоны и пользовательские процессы.
    2.
    UID/GID процесса. UID (user id) цифровое значение пользователя (первый не-root пользователь в сиcтеме как правило
    1000, рут - 0 ) GID (group id) цифровое значение группы пользователей (группа users - 100, группа root 0). По умолчанию mount разрешен только root пользователю, если хотите дать права другим пользователям, то uid=1000,1001,1002 и т.д. или группам gid=100,10. цифровые значения можно посмотреть в /etc/shadows /etc/groups.
    Этот параметр влияет на права доступа к файлам и папкам на смонтированном девайсе. Значение по умолчанию uid=gid=0. Это значит, что на смонтированном устройстве владельцем всех файлов будет root, группа root.
    По договорённости, демонам (“не-юзерам”) дают uid/gid в диапазоне от 1 до 999 3. состояние процесса
    4. использованное время процессора
    5. текущий каталог
    6. и многое другое.
    Порождение процесса
    В UNIX процессы (почти) всегда порождаются процессами.
    Порождающий процесс - это родительский процесс (parent process), порожденный процесс - это дочерний процесс (child process).

    Новые процессы не порождаются, если
    1. в системе порождено максимальное число процессов;
    2. порождено максимальное число процессов пользователя;
    3. больше нет места в основной памяти и области swap. рис.1 Диаграмма состояния процесса
    Состояние процесса
    Процесс, среди прочих, может находиться в одном из следующих состояний:
    1. ready to run (готов к исполнению, в состоянии готовности)
    2. operating (исполняется, в состоянии выполнения)
    3. sleeping ("спит", в состоянии ожидания)
    Команды

    Ввод команды и специальные клавиши
    В качестве средства взаимодействия используется интерпретатор команд shell. Интерпретатор shell различает строчные и прописные буквы.
    Нажатие это клавиши завершает ввод команды. Если вы при вводе команды допустили ошибку, для исправления используйте следующие клавиши:
    Удаляет знак слева от курсора или прерывает ввод команды.
    Если вы работаете с shell, никогда не используйте перемещения курсора клавиши со стрелкой.
    Специальные клавиши: устанавливает режим ввода прописных букв. останавливает ввод на экран и блокирует клавиатуру. деблокирует ввод на экран и клавиатуру. или прерывает текущую программу. завершает ввод для текущей программы
    (прерывание по клавиатуре, в некоторых nix системах CTRL+C).
    Структура командной строки
    Команда UNIX имеет следующую структуру:
    Имя_команды [-опция(и)] [аргумент(ы)]
    Имя команды, опции и аргументы должны отделяться друг от друга, по меньшей мере, одним пробелом или символом табуляции.
    В качестве опции используются некоторые буквы латинского алфавита. Если при записи команды используется несколько опций одновременно, то они записываются подряд после символа “-” без пробелов между ними. Ввод команды в командной строке осуществляется нажатием клавиши (ENTER).
    В описании в дальнейшем предполагается:

    команда обязательный параметр

    [-опция(и)]необязательный параметр
    Del
    CTRL
    C
    CAPS
    CTRL
    S
    Q
    =
    CTRL
    Del
    CTRL
    C
    CTRL
    D


    [аргумент(ы)] необязательный параметр
    Опции (модификатор команды):
    • влияют на функцию команды (например, длинный вывод)
    • начинаются, как правило, с символа "-"
    • состоят из одного символа или нескольких символов
    • как правило, могут быть скомбинированы любым образом
    • могут указываться в любой последовательности
    Параметры указывают объекты, которые должны обрабатываться командой, например:
    • имя_файла
    • имя_пользователя
    • номер_процесса
    Команды для управления процессами и пользователями
    man имя__команды
    выводит страницы диалогового руководства Online-Manual для указанной команды.
    passwd
    с ее помощью пользователь может изменить пароль. Команда призывает к вводу нового пароля.
    who
    выводит информацию о зарегистрированных пользователях.
    Пример:
    $ who mueller pts/0 Aug 23 13:09 spies pts/1 Aug 23 09:52 дата и время регистрации терминал пользователя имя пользователя
    tty
    выводит имя терминала, на котором работает пользователь
    id
    выводит UID и GID пользователя
    ps [опции] выводит информацию о процессах

    Опции (часть команды):
    -е краткая справка обо всех процессах
    -f подробная справка
    -u имя справка о процессах пользователя имя
    Пример:
    $ ps -fu Mueller
    UI
    D
    PID PPID С STIME TTY TIME COMD mueller 834 824 0 08:38:15 ? 10:15 /usr/bin/.. . mueller 833 824 0 08:38:15 ? 0:01 /usr/bin... mueller 832 824 0 08:38:15 ? 1:02 /usr/bin... mueller 824 814 0 08:38:15 ? 0:00 /usr/lib/... mueller 866 865 0 08:41:15 ? 35:33 /opt/fmas3. . . mueller 865 1 0 08:41:15 ? 0:00 tee ... mueller 2366 1 4 13:09:19 ? 0:22 x97801-480. . . mueller 5727 2379 13 17:45:15 pts/0 0:00 ps -fu mueller mueller 2379 2366 0 13:09:30 pts/0 0:02 -ksh использованное имя процессора управляющий терминал время запуска процесса номер родительского процесса номер процесса имя владельца процесса
    kill [-сигнал] PID посылает процессу сигнал с номером PID и обычно используется для завершения процессов. Сигналом является одно из следующих чисел:
    15 оканчивает (в большинстве случаев) данный процесс
    9 оканчивает всегда данный процесс
    1 оканчивает (в большинстве случаев) данный процесс
    2 оканчивает (в большинстве случаев) данный процесс
    3 оканчивает (в большинстве случаев) данный процесс, дополнительно выводится содержимое памяти процесса.
    Команда ps

    Команда “ps” позволяет получить список процессов выполняющихся на UNIX системе. По умолчанию вывод отображается в 4 колонки.
    PID = ID номер процесса, которое ядро использует, чтобы отследить запущенный процесс
    TTY = ассоциированное терминальное устройство
    TIME = время CPU затраченное на выполнение процесса
    CMD = название команды
    Команда “ps” используется с несколькими опциями, которые позволяют модифицировать вывод:
    -e отображает все процессы в системе
    -f выдает полный список процессов, включая аргументы командной строки
    -l обеспечивает длинный список
    -uusers выдает отчет об активности пользователей
    Команда whoami позволяет получить сведения о номере tty пользователя и shell.
    whoami
    Команда uname позволяет получить сведения о системе.
    uname [-опция(и)]
    Пример:
    uname
    SINIX
    Команда uname –a позволяет получить полные сведения о системе.
    Команда & Если команда запускается таким образом, то можно сразу продолжить работу с терминала (shell не ждет конца процесса) или выводит номер фонового процесса.
    Контрольные вопросы:
    1. Что такое многопользовательская система?
    2.
    Что такое процесс?

    3.
    За что отвечает ядро?
    4. Как определить, какие процессы активны?
    5. Как прервать процесс принудительно?
    6.
    Ввод команд на уровне shell.


    написать администратору сайта