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