Cтраница 3
Часто порожденный процесс определенным образом дезориентирует дескрипторы файлов, а затем выполняет системный вызов exec, который замещает его программу и данные программой и данными из выполняемого файла, определенного в качестве параметра к вызову exec. Например, если пользователь печатает команду xyz, то интерпретатор команд ( оболочка) выполняет операцию fork, создавая таким образом порожденный процесс. [31]
Основными средствами, ориентированными на оператора, являются командный язык SHELL и средства учета и регистрации пользователей. Диалог пользователя с системой поддерживается стандартным интерпретатором, но имеется возможность указать интерпретатор команд, отличный от стандартного. [32]
Как основной инструмент интерактивной работы пользователя командный язык ИНМОС определяет многие важные свойства и характеристики системы. В этой главе рассмотрим подробно особенности командного языка ИНМОС, его алгоритмические свойства, интерпретатор команд shell и возможности основного набора команд системы. [33]
В состав ОС может входить один из пяти мониторов. Каждый монитор состоит из трех основных компонентов: резидентного монитора, модуля обслуживания пользователя и интерпретатора команд монитора. Резидентный монитор постоянно находится в оперативной памяти. В его состав входят программы обработки прерываний, обслуживания таймера, интерпретации системных макрокоманд, диагностики программных сбоев и системных таблиц. Модуль обслуживания пользователя выполняет основные операции с каталогами внешних устройств и обработку командных строк. Интерпретатор команд выполняет обработку вводимых с терминала команд монитора. [34]
Обеспечена полная программная совместимость СМ-50 / 60 с ВК СМ-1 / СМ-2 в многозадачном и двухраздельном однопроцессорных режимах. Для того, чтобы иметь возможность использовать имеющиеся драйверы устройств ввода - вывода, выходящих на интерфейс 2К ( с помощью дуплексного регистра) или на интерфейс ИРПР в СМ-50 / 60, реализован схемно-микропро-граммный интерпретатор команд ввода - вывода. [35]
После того как начальный загрузчик получает управление, определяется конфигурация микроЭВМ СМ-1800, и операционная система настраивается на имеющиеся контроллеры периферийных устройств и накопители на гибких магнитных дисках. Далее начальный загрузчик помещает в оперативную память супервизор и монитор ДОС 1800, которые хранятся в файле DOS. Начало работы интерпретатора команд индицируется выводом знака - в качестве подсказки. [36]
Если обобщить возможности, предоставляемые системными вызовами fork, exec, wait и exit, можно охарактеризовать тип задач, которые решаются с их помощью. Именно этот механизм использует интерпретатор команд sh при построении конвейера для последовательной обработки данных. Для передачи данных между порожденными процессами в этом случае используется программный канал, создаваемый при помощи системного вызова pipe. [37]
Имя PROGRAM относится к самой внешней процедуре программы, которая должна быть запущена, например MACRO или ARCHIVE. Поле PROGRAM фактически заполняется интерпретатором команды, однако детали здесь вряд ли уместны. С помощью оператора INCLUDET осуществляется подключение файла, как описано в гл. DEFINE служит для обработки макроопределения, как описано в гл. Процедура MESSAGE аналогична WRITELN, за исключением того, что результат ее выполнения гарантированно выводится на терминал получателя, так что она в точности представляет собой упомянутый примитив MESSAGE. Примитив HALT служит для корректного завершения процесса. [38]
Основу системы составляют два блока - базовая ДОС ( БДОС) п БСВВ. Первый блок обеспечивает взаимодействие с микроЭВМ с помощью интерпретатора команд, вводимых с клавиатуры. Кроме того, БДОС организует управление ресурсами, системы, прежде всего файлами, и обменом информацией между различными ПУ. В БДОС входят ряд резидентных процедур управления раС - ото: дисковой системы, вводом-выводом. В прикладных программах могут применяться специальные операции БДОС, расширяющие функциональные возможности этих программ. [39]
Важным компонентом резидентной части ДОС является интерпретатор команд ( командный процессор), который обеспечивает взаимодействие пользователя с операционной системой. Пользователь общается с ДОС с помощью набора команд. Одна часть этих команд ( резидентная) исполняется непосредственно интерпретатором команд. Для выполнения остальных ( транзитных) командному процессору требуется найти на диске соответствующую программу, загрузить ее в ОП и передать ей управление. [40]
Учетный файл пользователей / etc / passwd играет большую роль в многопользовательской защите. Это текстовый файл, каждая строка которого соответствует одному пользователю. Поля в строке разделяются двоеточиями и содержат информацию следующего характера: имя пользователя, зашифрованный пароль, идентификатор пользователя, идентификатор группы, первоначальный текущий каталог, имя выполняемого файла, используемого в качестве интерпретатора команд. [41]
С каждым процессом связаны два идентификатора: идентификатор пользователя и идентификатор группы пользователей. Порожденный процесс наследует эти идентификаторы от породившего процесса. В частности, процесс, порожденный интерпретатором команд для выполнения введенной команды, получает в итоге эти идентификаторы от пользователя, работающего за терминалом. [42]
Системное программное обеспечение ( СПО) непосредственно контролирует аппаратные средства ПЛК. СПО отвечает за тестирование и индикацию работы памяти, источника питания, модулей ввода-вывода и интерфейсов, таймеров и часов реального времени. Система исполнения кода прикладной программы является составной частью СПО. Система исполнения включает драйверы модулей ввода-вывода, загрузчик кода программ пользователя, интерпретатор команд и отладочный монитор. Код СПО расположен в ПЗУ и может быть изменен только изготовителем ПЛК. [43]
![]() |
Образование виртуального адресного пространства ядра и процессов, разделяющих один процедурный сегмент в различные моменты времени. [44] |
В свою очередь, диспетчерский процесс создает процесс с идентификатором 1, который будет выполнять роль прародителя всех остальных процессов в системе. Этот процесс порождает по одному процессу для каждого терминала, указанного в файле, терминальной конфигурации. Каждый из этих процессов, в свою очередь, после входа пользователя в систему вызывает интерпретатор команд, который будет поддерживать диалог системы с пользователем. [45]