Курсовая работа: Особенности операционной системы UNIX
каталог. Текущий для процесса каталог является начальным каталогом, имя которого присоединяется ко всем именам путей поиска, которые не начинаются с
наклонной черты. Пользователь может запустить внутреннюю команду shell'а cd
(изменить каталог) для перемещения по дереву файловой системы и для смены
текущего каталога. Командная строка
cd /usr/src/uts
делает текущим каталог "/usr/src/uts". Командная строка
cd ../..
делает текущим каталог, который на две вершины "ближе" к корню (корневому
каталогу): параметр ".." относится к каталогу, являющемуся родительским для
текущего.
Поскольку shell является пользовательской программой и не входит в состав ядра операционной системы, его легко модифицировать и помещать в конкретные условия эксплуатации. Например, вместо командного процессора Баурна
(называемого так по имени его создателя, Стива Баурна), являющегося частью
версии V стандартной системы, можно использовать процессор команд Си, обеспечивающий работу механизма ведения истории изменений и позволяющий збегать
повторного ввода только что использованных команд. В некоторых случаях при
желании можно воспользоваться командным процессором shell с ограниченными
возможностями, являющимся предыдущей версией обычного shell'а. Система может
работать с несколькими командными процессорами одновременно. Пользователи
имеют возможность запускать одновременно множество процессов, процессы же в
свою очередь могут динамически порождать новые процессы и синхронизировать
их выполнение. Все эти возможности обеспечиваются благодаря наличию мощных
программных и аппаратных средств, составляющих среду выполнения процессов.
Хотя привлекательность shell'а в наибольшей степени определяется его возможнос-тями как языка программирования и его возможностями в обработке аргументов, в данном разделе основное внимание концентрируется на среде выполнения процес-сов, управление которой в системе возложено на командный процессор Shell.
3.3 Элементы конструкционных блоков
Как уже говорилось ранее, концепция разработки системы UNIX заключалась
в построении операционной системы из элементов, которые позволили бы пользователю создавать небольшие программные модули, выступающие в качестве конструкционных блоков при создании более сложных программ. Одним из таких элементов, с которым часто сталкиваются пользователи при работе с командным
процессором shell, является возможность переназначения ввода-вывода. Говоря
условно, процессы имеют доступ к трем файлам: они читают из файла стандартного ввода, записывают в файл стандартного вывода и выводят сообщения об
ошибках в стандартный файл ошибок. Процессы, запускаемые с терминала, обычно
используют терминал вместо всех этих трех файлов, однако каждый файл независимо от других может быть "переназначен". Например, команда