Лаба 1
.docxМинистерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
Уфимский государственный авиационный технический университет
Кафедра АСУ
Лабораторная работа №1
по дисциплине «Операционные системы»
ВЫПОЛНЕНИЕ КОМАНД В СРЕДЕ ОС LINUX
Выполнил:
ст. гр. ИВТ-325Б
Колязов К.А.
Проверил:
Лянцев О.Д.
Уфа 2022
Лабораторная работа №1
ВЫПОЛНЕНИЕ КОМАНД В СРЕДЕ ОС LINUX
Цель работы:
Целью работы является изучение архитектуры и принципов функционирования многопользовательской многозадачной операционной системы Linux, особенности ее использования в качестве рабочей станции.
Задачи работы:
Закрепление, углубление и расширение знаний студентов при использовании операционной системы Linux.
Приобретение умений и навыков работы с командным интерпретатором Bash в операционной системе Linux.
Выработка способности логического мышления, осмысления полученных результатов при применении системных и встроенных команд интерпретатора.
Ход работы:
Определение дня недели, в который родился студент, показано на рисунке 1.
Рисунок 1 – Определения дня недели дня рождения.
Подробная информация обо всех активных процессах показана на рисунке 2.
Рисунок 2 – Информация обо всех активных процессах.
3.3. Создание и объединение текстовых файлов с помощью редактора VI, их просмотр командой CAT показано на рисунке 3.
Рисунок 3 – Работа с редактором VI и командой CAT
3.4. Создание текстового файла, в который записали количество работающих пользователей.
Рисунок 4 – Информация о работающих пользователях.
3.5. Просмотр приоритета своего процесса и уменьшение скорости его выполнения за счет повышения номера его приоритета представлены на рисунке 5.
Рисунок 5 – Изменение приоритета процесса.
3.6. Трансляция программы на языке C в фоновом, активном режиме, просмотр текста программы с помощью команды CAT представлены на рисунке 5.
Рисунок 6 – Запуск трансляции программы в фоновом режиме.
4. Контрольные вопросы:
4.1. Перечислите основные функции и назначения многопользовательской многозадачной операционной системы LINUX и ее отличительные особенности от однопрограммной системы DOS.
Назначением ОС LINUX является организация работы многих задач многих пользователей с аппаратным обеспечением единственной машины.
Функции LINUX:
- Планирование заданий и использования процессора.
- Управление памятью
- Управление файловой системой
- Управление вводом-выводом
- Обеспечение программ средствами коммуникации и синхронизации
- Обеспечение безопасности
Главным отличием от ОС DOS является возможность организации работы многих процессов (связанная с этим иерархическая структура процессов, с родительским процессом «init» во главе и необходимость тщательного планирования задач и использования процессора) многих пользователей (связанные с этим аспекты планирования использования процессора и защиты данных).
4.2. Какое назначение имеет ядро системы и интерпретатор команд?
Ядро – часть ОС, постоянно находящаяся в работе, предоставляющая наиболее важные функции ОС.
Ядро выполняет функции управления памятью, процессами. Осуществляет диспетчеризацию выполнения всех программ и обслуживание внешних устройств.
Интерпретатор команд анализирует команды пользователя, вводимые с терминала либо из командного файла, и передает их для выполнения в ядро системы.
4.3. В чем заключается понятие «процесс» и какие операции можно выполнить над процессами?
Понятие процесса характеризует некоторую совокупность набора исполняющихся команд, ассоциированных с ним ресурсов (выделенная для исполнения память или адресное пространство, используемые файлы, устройства ввода-вывода и т.д.) и текущего момента его выполнения (значения регистров, программного счетчика, состояния стека и значения переменных), находящихся под управлением операционной системы.
Над процессом можно производить следующие действия:
1) Создание – завершение
2) Приостановка – запуск (перевод процесса из состояния исполнения в состояние готовности и перевод процесса из состояния готовности – в исполнение)
3) Блокирование – разблокирование (перевод процесса из состояния исполнения в состояние ожидания и перевод процесса из состояния ожидания – в исполнение).
4.4. Как задаются и выполняются простые и сложные команды?
Формат команд: имя команды [аргументы][параметры][метасимволы]
Сложные команды формируются с помощью специальных символов:
& - процесс выполняется в фоновом режиме, не дожидаясь окончания предыдущих процессов;
? – шаблон, распространяется только на один символ;
* - шаблон, распространяется на все оставшиеся символы;
| - программный канал – стандартный вывод одного процесса является стандартным вводом другого;
> - переадресация вывода в файл;
< - переадресация ввода из файла;
; - если в списке команд команды отделяются друг от друга точкой с запятой, то они выполняются друг за другом;
&& - эта конструкция между командами означает, что последующая команда выполняется только при нормальном завершении предыдущей команды (код возврата 0);
|| - последующая команда выполняется только, если не выполнилась предыдущая команда (код возврата 1);
() – группирование команд в скобки;
{} – группирование команд с объединенным выводом;
[] – указание диапазона или явное перечисление (без запятых);
>> - добавление содержимого файла в конец другого файла.
4.5. Какие функции выполняет командный интерпретатор Shell?
Интерпретатор команд Shell анализирует команды пользователя, вводимые с терминала либо из командного файла, и передает их для выполнения в ядро системы. Shell является также языком программирования, на котором можно создавать командные файлы (shell-файлы). При входе в ОС пользователь получает копию интерпретатора Shell в качестве родительского процесса. Далее, после ввода команды пользователем создается порожденный процесс, называемый процессом-потомком. Т.е. после запуска ОС каждый новый процесс функционирует только как процесс - потомок существующего процесса.