понедельник, 17 сентября 2012 г.

Командный процессор


При работе пользователя в текстовой консоли или терминале первичный диалог осуществляет системная программа, называемая командным процессором. В простейшем случае эта программа выдает приглашение и ожидает ввода команды. Команда представляет собой имя исполняемого файла (двоичного или текстового, так называемого скрипта, написанного на одном из специальных командных языков) или имя внутренней команды самого процессора. По окончании работы эти программы, как правило, возвращают управление командному процессору, однако могут также возвращать управление, не завершая работы (при этом командный процессор выдает приглашение, а ранее запущенная программа продолжает работу в фоновом режиме).
Существует несколько широко распространенных командных процессоров и еще несколько малораспространенных, специфичных для конкретных вариантов UNIX. В Solaris принято использовать ksh, csh или bash.

Первый в мире UNIX командный интерпретатор в 1976 году написал Стив Баурн (Steve Bourne), когда он работал в Bell Laboratories в AT&T. По другим данным, Стив написал его в 1974 году. Через некоторое время в University of California Berkeley был написан C-shell (csh, произносится "си шелл"), а потом число разных командных процессоров стало быстро расти. Самые популярные из них сейчас - это Bourne again shell (bash), разработанный в рамках проекта GNU, и Korn shell (ksh) Дэвида Корна (David Korn).

С-shell был разработан студентом Университета в Беркли (University of California Berkeley) Биллом Джоем (Bill Joy), который по окончании Berkeley основал компанию Sun Microsystems. Еще Билл Джой написал самый известный в UNIX редактор vi и был одним из авторов первой версии BSD UNIX.

Командный процессор призван выполнять в системе ниже перечисленные задачи:


* интерпретация команд пользователя, в том числе разбор командной строки;

* запуск программ;

* организация перенаправлений потоков между процессами;

* интерпретация языка скриптов и их выполнение;

* управление заданиями;

* интерпретация шаблонов имен файлов;

* подстановка имен файлов в командную строку.

 


Комментариев нет:

Отправить комментарий