Смотреть что такое "Командный интерпретатор" в других словарях. Операционная система Unix

Оболочкой (shell) в системеUNIXназывают механизм взаимодействия между пользователями и системой. По сути дела, это интерпретатор команд, который считывает набираемые пользователем строки и запускает выполнение запрошен­ных системных функций. Полный командный язык, интерпретируемый оболоч­кой, богат по возможностям и достаточно сложен, однако большинство команд просты в использовании и запомнить их не составляет труда.

Командная строка состоит из имени команды (то есть имени выполняемого фай­ла), за которым следует список аргументов, разделённых пробелами. Оболочка разбивает командную строку на компоненты. Указанный в команде файл загружается, и ему обеспечивается доступ к заданным в команде аргументам.

Любой командный язык семейства shellфактически состоит из трёх частей:

 служебных конструкций, позволяющих манипулировать с текстовыми строками и строить сложные команды на основе простых команд;

 встроенных команд, выполняемых непосредственно интерпретатором команд­ного языка;

 команд, представляемых отдельными выполняемыми файлами.

В свою очередь, набор команд последнего вида включает стандартные команды (системные утилиты, такие как vi,ccи т. д.) и команды, созданные пользователями системы. Для того чтобы выполняемый файл, разработанный пользовате­лем ОСUNIX, можно было запускать как командуshell, достаточно определить в одном из исходных файлов функцию с именемmain(имяmainдолжно быть глобальным, то есть перед ним не должно указываться ключевое словоstatic). Если употребить в качестве имени команды имя такого выполняемого файла, команд­ный интерпретатор создаст новый процесс и запустит в нём указанную выпол­няемую программу, начиная с вызова функцииmain.

Тело функции main, вообще говоря, может быть произвольным (для интерпрета­тора существенно только наличие входной точки в программу с именемmain), но для того, чтобы создать команду, которой можно задавать параметры, нужно придерживаться некоторых стандартных правил. В этом случае каждая функцияmainдолжна определяться с двумя параметрами –argcиargv. После вызова ко­манды параметруargcбудет соответствовать число символьных строк, указан­ных в качестве аргументов вызова команды, аargv– массив указателей на пе­ременные, содержащие эти строки. При этом имя самой команды составляет первую строку аргументов (то есть после вызова значениеargcвсегда больше или равно 1). Код функцииmainдолжен проанализировать допустимость задан­ного значенияargcи соответствующим образом обработать заданные текстовые строки.

Например, следующий текст на языке С может быть использован для создания команды, которая выводит на экран текстовую строку, заданную в качестве её аргумента:

#include

main(argc, argv)

printf(“usage: %s your-text\n”, argv);

printf(“%s\n”, argv);

Процессы

Процесс в ОС UNIXпонимается в классическом смысле этого термина, то есть как программа, выполняемая в собственном виртуальном адресном пространст­ве. Когда пользователь входит в систему, автоматически создается процесс, в ко­тором выполняется программа командного интерпретатора. Если командному интерпретатору встречается команда, соответствующая выполняемому файлу, то он создает новый процесс и запускает в нём соответствующую программу, начи­ная с функцииmain. Эта запущенная программа, в свою очередь, может создать процесс и запустить в нём другую программу (она тоже должна содержать функ­циюmain) и т. д.

Для образования нового процесса и запуска в нём программы используются два системных вызова API–fork() и ехес(имя_выполняемого_файла). Системный вызовforkприводит к созданию нового адресного пространства, состояние которого абсолютно идентично состоянию адресного пространства основного процесса (то есть в нём содержатся те же программы и данные). Для дочернего процесса заво­дятся копии всех сегментов данных.

Другими словами, сразу после выполнения системного вызова forkосновной (родительский) и порожденный процессы являются абсолютными близнецами;

управление и в том и в другом находится в точке, непосредственно следующей за вызовом fork. Чтобы программа могла разобраться, в каком процессе она те­перь работает – в основном или порождённом, функцияforkвозвращает разные значения: 0 в порождённом процессе и целое положительное число (идентифи­катор порождённого процесса – так называемыйPID) в основном процессе.

Теперь, если мы хотим запустить новую программу в порождённом процессе, нужно обратиться к системному вызову ехес, указав в качестве аргументов вызо­ва имя файла, содержащего новую выполняемую программу, и, возможно, одну или несколько текстовых строк, которые будут переданы в качестве аргументов функции mainновой программы. Выполнение системного вызова ехес приводит к тому, что в адресное пространство порожденного процесса загружается но­вая выполняемая программа и запускается с адреса, соответствующего входу в функциюmain. Другими словами, это приводит к замене текущего программно­го сегмента и текущего сегмента данных, которые были унаследованы при вы­полнении вызоваfork, на новые соответствующие сегменты, заданные в файле. Прежние сегменты теряются. Это эффективный метод смены выполняемой про­цессом программы, но не самого процесса. Файлы, уже открытые до выполнения примитива ехес, остаются открытыми после его выполнения.

В следующем примере пользовательская программа, вызываемая как команда shell, выполняет в отдельном процессе стандартную командуshellls, которая выдаёт на экран содержимое текущего каталога файлов.

if (fork ()==(0) wait(0); /* родительский процесс */

else execl("ls", "Is", 0); /* порождённый процесс */

Таким образом, с практической точки зрения процесс в UNIXявляется объектом, создаваемым в результате выполнения функцииfork(). Каждый процесс, за исключением начального (нулевого), порождается в результате запуска дру­гим процессом операции fork(). Каждый процесс имеет одного родителя, но мо­жет породить много процессов. Начальный (нулевой) процесс является особенным процессом, который создается в результате загрузки системы. После порожде­ния нового процесса с идентификатором 1 нулевой процесс становится процес­сом подкачки и реализует механизм виртуальной памяти. Процесс с идентифика­тором 1, известный под именемinit, является предком любого другого процесса в системе и связан с каждым процессом особым образом.

"1. Окружение - это
механизм передачи данных от родительского процесса дочернему +"

"2. Фильтром в UNIX-системах называется
программа, которая без перенаправления ввода-вывода читает с клавиатуры, а пишет на терминал+

"3. Термин ""стандартный вывод ошибок программы"" обозначает
поток данных, куда по умолчанию выводятся диагностические сообщения+
"
"6. Достраивание - это
подстановка полного имени объекта по части этого имени+
"
"5. Что не характерно для командного интерпретатора?
преобразование регулярного выражения в соответствующую ему подстроку+

"7. Сколько X-серверов может быть зарегистрировано на одном компьютере?
любое количество+

"8. В графической среде X11:
каждый X-клиент нуждается в X-сервере, идентификатор которого обязательно задавать с помощью параметра или переменной окружения+

"9. XFree86 - это
собственное имя графической подсистемы, ориентированной на архитектуру IBM PC +"

". Что такое инструментальная область человеческой деятельности?
область создания универсального подхода к решению класса задач +"

"14. В чём причина разделения прикладной и инструментальной областей при решении задачи?
устройство инструмента, решающего задачу может не иметь отношения ни к самой задаче, ни к её решению+
для того, чтобы пользоваться инструментом решения задачи, необязательно знать как он устроен+
одна и та же технология может быть использована для создания решений задач в самых разных областях, зачастую непересекающихся +"

"15. Знание каких областей необходимо опытному пользователю процедурной системы?
прикладной+
"

"17. Что не поддерживается в редакторе vim?
звуковое сопровождение команд +"

"20. Каталог /var в типичной UNIX-системе применяется для хранения
файлов, размер и количество которых заранее неизвестны+

"21. Что находится в каталоге /etc/rc3.d в Linux-системе?
символьные ссылки на стартовые сценарии системных служб +"

"23. Документация в виде info-страниц
гипертекст строгой структуры, который можно получить из других форматов представления документации+

"25. Принцип гарантированных навыков требует, чтобы
имея самые общие навыки работы с машиной, пользователь уже мог решать свои задачи+

"26. Предписание в процедурной системе - это
описание применения системы на языке прикладной области+

"27. Выберите пункт, содержащий только принципы организации процедурных систем
персональной ответственности и гарантированных навыков +"

"28. Номинальный субъект - это
то, на основании чего система принимает решение о предоставлении доступа к объекту+

"29. Вертикальные информационные потоки имеют дело с
объектами разной степени значимости+

30. Субъект-субъектная модель прав доступа используется для
ограничения прав доступа одного конкретного субъекта к одному конкретному объекту+

"31. Этапы процедуры трёхуровневой загрузки:
загрузки, выбор программы загрузки, выбор ядра системы+
"
"32. Чего нельзя сделать в схеме загрузки FreeBSD?
загрузчик с раздела, объявленного не в MBR, а в extended partition+
"

"34. (выберите неправильный ответ) Базовое регулярное выражение включает в себя понятие
номер группы+

"35. Расширенное регулярное выражение включает в себя понятие
операция выбора+

"36. Какая из строк ""abcdf"" ""abcdbcdf"" ""abcdef"" ""af"" ""adbdf"" ""acf"" соответствуют РВ "af"
acf+

"37. В чём заключается ""проблема управляющего ввода"" в текстовых редакторах?
команды управления многочисленнее и разнообразнее, чем управляющие клавиши, но для вызова команды управления желательно выполнять минимум действий+

"38. Утилита ex - это
построчный текстовый редактор, аналогичный редактору vi, постоянно работающему в режиме командной строки +"

"40. Активный процесс отличается от фонового тем, что
только активный процесс имеет возможность вводить данные с терминала +"

"41. PID (идентификатор процесса) - это
уникальное число, присваиваемое каждому процессу+

"42. Как остановить ""зависшую"" программу?
узнать её PID и послать сигнал ""KILL"" с помощью программы kill+
"
"43. Разделение ресурсов - это
ограничение способа доступа к ресурсам (политика доступа) и самой возможности использовать ресурс (права доступа)+
"

"45. В функции операционной среды входит
унификация, разделение и учёт системных ресурсов+

"46. Сколько _способов_ доступа в файловой системе UNIX?
три: запись, чтение и использование+

"48. Номинальный субъект в UNIX однозначно определяется
UID+

"49. Создатели UNIX-систем рассчитывали
на образованного и заинтересованного в развитии системы пользователя+
"
"0. Демоны в типичной UNIX-системе
соответствуют понятию системного наполнения операционной среды+
"
"51. Интерфейс UNIX-системы
основан на передаче текстовых данных+

"2. Подстановка в shell - это
временный или постоянный запуск другой программы вместо командного интерпретатора+

"4. Основные команды работы с файлами:
ls, rm, mv, cp+

"6. Если в текущем каталоге есть по крайней мере файл с именем ""a"", то по команде ls a* утилита ls получит

список всех файлов текущего каталога, чьё имя начинается на "a"+ "

"7. Число 11 в имени X11 - это
номер версии протокола передачи графических данных+
"
"8. Какому из подходов к разработке ОС отвечает метафора ""рабочего стола""?
процедурному, так как содержит легенду+
"
"9. В графической среде X11:
X-клиент подаёт запросы графического ввода-вывода, а X-сервер выполняет их, а также взаимодействует с пользователем, опрашивая устройства ввода+
"
"10. Проект в проективной системе - это
набор данных, полностью задающих свойства созданной на их основе системы+

"11. Укажите область применения, не характерную для проективных систем
расчёт в супермаркете+

"12. Проект в проективной системе - это набор данных, однозначно описывающий
все необходимые пользователю свойства будущей системы+

"13. В качестве кого выступает пользователь процедурной системы?
Клиента+

"14. Что такое человеко-машинная система?
система, в которой решение задачи происходит в результате взаимодействия человека и машины+

"15. Назовите инструментальную и прикладную область при решении следующей задачи: создание железнодорожного расписания
транспортировка и безопасность – инструментальная область; математическая статистика и математическая логика - прикладная+
"
"16. Метки текста
используются в командах перемещения на заранее определённое пользователем место текста+

18. Можно ли реализовать функцию перемещения по гипертекстовым ссылкам в формате HTML?
да, но это, скорее всего, потребует применения внешних программ для анализа редактируемых данных и создания дополнительных рабочих файлов+

"19. Стандартные каталоги UNIX подразделяются
по способу использования хранимых файлов системой и пользователем +"

"20. В каталогах rc1.d, rc2.d и т. п. находятся
символьные ссылки на стартовые сценарии, двух различных видов+

"21. Каталог /etc в типичной UNIX-системе применяется для хранения
настроечных файлов и стартовых сценариев системы+

"22. Назначение поля NAME:
краткое описание объекта, служащее индексом в базе данных whatis+


NAME и DESCRIPTION+

"24. Выберите пункт, в котором упомянуты только основные источники информации о системе
руководства и /usr/share/doc+

"25. (выберите неправильный ответ) Соблюдение принципов организации процедурных систем помогает
самостоятельной постановке и решению задач+

"6. Диалог человека и машины в процедурной системе чаще всего строится на основе
активности машины, предлагающей варианты решений+

"28. Отсроченная передача данных возможна
только в системе с сеансами доступа+

"32. Дополнительный раздел диска (extended partition) - это
любая, кроме первой, используемая часть диска, начинающаяся таблицей разбиения диска+

"36. Какая из строк ""abcdf"" ""abcdbcdf"" ""abcdef"" ""af"" ""adbdf"" ""acf"" соответствуют РВ "a(bcd)*f"
abcdf abcdbcdf af+

"37. Аббревиативность команд в vi приводит к тому, что
последовательность команд редактирования можно читать их полными именами +"

"38. В редакторе vi три режима работы с текстом:
командной строки, командный и режим вставки+
"
"39. При нажатии клавиши ""c"" в командном режиме vi произойдёт
ожидание команды перемещения, после которой соответствующая часть строки будет удалена и произойдёт переход в режим вставки+

"40. Терминальная линия - это
устройство последовательной передачи байтов в /dev, способное преобразовывать входной и выходной потоки и передавать сигналы+

"42. Сигнал - это
не зависящий от файловой системы способ взаимодействия процессов +"

"43. В чём разница между операционной системой и операционной средой?
операционная система - это рассмотрение человеко-машинной системы с точки зрения её разработчика, а операционная среда - с точки зрения пользователя+

"44. Чем отличаются счётные и обменные задачи?
пока обменная задача ожидает конца операции ввода-вывода, счётная может выполняться, даже если стоит в очереди на выполнение позже +"

"45. В чём смысл различения системного и пользовательского наполнения ОС?
системное наполнение связано с инструментальными, а +"

"46. Что полностью реализовано в UNIX?
доверенный субъект +"

"47. Для чего нужен ""t-бит"" каталога?
чтобы пользователь не имел права удалять чужие файлы из этого каталога+

"49. Сложнее всего в UNIX-системе соблюсти

принцип умопостижимости контекста, так как возможности системы постоянно расширяются+
"
"50. Большинство функций пользовательского интерфейса в Unix-системах берёт на себя
командный интерпретатор и файловая система+

"51. Понятия ""системная утилита"" и ""пользовательская утилита"" в UNIX

пересекаются по причине смешения инструментальной и прикладной областей+
"
"3. Термин ""стандартный ввод программы"" обозначает

поток данных, откуда происходит чтение по умолчанию+

4. Интерфейс командной строки появился вследствие

необходимости совмещать разработку проекта, запуск решения и анализ результатов в едином интерфейсе+
"
"5. При редактировании командной строки и истории главное - это

минимизация действий по основным функциям - поиску, удалению, достраиванию и т. п.+

"9. X11R6 - это

имя и номер версии протокола передачи графических данных+
"
"10. Без соблюдения какого принципа невозможна полноценная проективная система?

принципы взаимосвязаны, поэтому нарушение любого вредит остальным, а следовательно, и системе +"
"11. При освоении проективной системы пользователю придётся


"
"11. Принцип информационной открытости требует, чтобы

в системе было достаточно информации для полного её освоения+

"15. Назовите инструментальную и прикладную область при решении следующей задачи: проектирование корпуса инвалидной коляски

автопромышленность и медицина - прикладная область; сопромат и химия металлов – инструментальная+
"
"16. По возможностям редактор vim
намного превосходит редактор vi+

"19. Что делает команда mount?
делает доступной указанную файловую систему в виде подкаталога в дереве каталогов+

"24. Выберите пункт, в котором упомянуты только важнейшие поля руководства

DESCRIPTION и SEE ALSO+"

"26. Процедура в процедурной системе - это

действие пользователя, приводящее к изменению свойств объекта +"
"27. Выберите пункт, содержащий только принципы организации процедурных систем

перекрытия процедур и гарантированных навыков+
"
"28. Информационный поток в модели секретности - это

изменение уровня значимости объекта+
,
"30. Доверенный субъект

может нарушать политику безопасности системы+
"
"31. Трёхуровневая схема позволяет

защитить процесс загрузки от взлома со стороны злоумышленника, получившего доступ к системной консоли "

BootROM, BootBlock, BootProg+
"
"33. Как много стандартных разделов помещается в одной таблице разбиения диска (HDPT) IBM-совместимого компьютера?

34. Причина частого применения регулярных выражений в UNIX

большинство проектов UNIX представляют собой структурированный текст, хорошо поддающийся разбору при помощи регулярного выражения+

"36. Контекстный адрес задаёт

диапазон строк, к которым применяется соответствующая команда+

оконечное оборудование, завершающее поток ввода или вывода данных+

"46. Можно ли удалить чужой файл из своего каталога?

да. Удаление - это операция над каталогом, а не над файлом+

"49. UNIX - это
название класса проективных человеко-машинных компьютерных систем+

"
"50. Пакеты в типичной UNIX-системе

"1. Операция ""|"" в shell

разделяет две команды: вывод первой перенаправляется на вход второй+

"8. В чём разница между терминами ""X-терминал"" и ""xterm""
X-терминал - это компьютер, а xterm - программа+
"

"10. В основе проективной системы лежит требование
понимания процессов, в ней происходящих+
"

"12. Обратная задача проективной системы - это

модификация проекта системы на основе анализа недостатков продукта+
"
"13. Что такое прикладная область человеческой деятельности

область постановки и решения задачи+
"

"15. Назовите инструментальную и прикладную область при решении следующей задачи: создание интернет-казино

математическая статистика и финансовая деятельность – прикладная область; web-дизайн и психология – инструментальная+
"
"16. Настройки редактора vi можно изменить

двумя способами без ограничений +"
"7. Что не поддерживается в редакторе vim?
перемещение по гипертекстовым ссылкам в формате HTML (без использования внешних ссылок)+
"
"18. Можно ли реализовать функцию редактирования электронных таблиц?

да, но это, скорее всего, потребует применения внешних программ для преобразования редактируемых данных+"
"19. Уровни выполнения - это

профили работы систем семейства USG, различающиеся списком выполняемых функций+
"
"20. Главный недостаток ""линейной"" схемы начальной загрузки (т. н. старая BSD-схема, FreeBSD4)

для изменения порядка загрузки служб необходимо редактировать стартовый сценарий, внесение синтаксических ошибок в который чревато неработоспособностью системы+ "
"21. Каталог /usr в типичной UNIX-системе применяется для хранения

большинства файлов, необходимых для штатной работы системы+"
"22. Назначение поля SYNOPSIS:
краткая справка по использованию объекта+

"
"23. Все страницы руководства

разбиты на семь-девять разделов+
"
"24. Выберите пункт, в котором упомянуты только основные источники информации о системе
руководства и info-страницы+"

"26. Легенда в процедурной системе - это
описание устройства системы на языке прикладной области+
"
"26. Предписание в процедурной системе - это

описание применения системы на языке прикладной области+
"
"28. Субъект-объектная модель на основе ACL

ставит в соответствие каждому объекту произвольный список субъектов и их прав доступа+
"

"32. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки

выбор устройства, выбор и настройка загрузчика, выбор и настройка ядра +"
"33. Как много стандартных основных разделов можно завести на диске IBM-совместимого компьютера?

четыре, если дополнительных разделов не предусмотрено, иначе - три +"

"35. Одно и то же регулярное выражение можно использовать во всех утилитах, работающих с РВ

только базовое, предварительно адаптированное согласно стилю+
"

"37. Экранный редактор vi

существует в любой UNIX-системе, однако при неудачно настроенном терминале воспользоваться им можно только в построчном режиме+
"
"38. Гнездовая команда в vi может состоять из

множителя, действия и перемещения по тексту+

объект файловой системы, содержащий строку, которая интерпретируется как путь к файлу+
"
"42. (выберите неправильный ответ) Как остановить запущенную без параметров программу ""cat""?

послать ей символ конца файла (обычно -- ""^Z"")+

унификация, разделение и учет системных ресурсов+
"
"45. Что такое ""контекст задачи""?

информация, необходимая для манипулирования задачей при организации псевдопараллельности+
"
"45. Что такое ""виртуальная память""?
способ разделения адресного пространства между задачами+

"49. Гнёзда UNIX

следствие постоянного развития системы различными организациями+
"

"51. Задачи в очереди UNIX-процессов

выполняются в порядке, учитывающем место в очереди, но с таким расчётом, чтобы уменьшить время простоя системы +"
"3. Термин ""стандартный вывод программы"" обозначает

поток данных, куда происходит запись по умолчанию+
"
"4. В строке, набираемой в ответ на ""подсказку"" shell первое слово - это чаще всего
утилита +"

"8. В графической среде X11:

X-сервер - программа, для работы которой нужны устройства графического ввода-вывода +"

"11. Принцип умопостижимости контекста требует, чтобы

для решения поставленной перед системой задачи не требовалось бы изучать работу большинства частей системы+

"19. В UNIX-системах

используется несколько типов файловых систем+
"
"20. Какой процесс связан с каждым терминалом немедленно по окончании загрузки?

программа getty+"

"25. В основе процедурной системы лежит требование

сокращения или исключения из диалога человека и машины понятий, не входящих в прикладную область +"
"26. Принцип перекрытия процедур требует, чтобы

любую задачу можно было решить с помощью одной имеющейся процедуры или последовательного применения нескольких+

"29. Модель надёжности вводит запрет

на операции, приводящие к перемещению объекта на более высокий уровень +"

"37. Главная область применения текстового редактора в UNIX
создание информационных и обучающих текстов
разработка и изменение программ и настроечных файлов+
разработка и преобразование системных служб
разработка и отображение внешнего вида печатной документации "
"38. Больше всего в vi

команд перемещения по тексту+
"

"42. Понятие ""терминал"" может обозначать

файл-дырку, особым образом интерпретирующую передаваемые через неё текстовые данные+++
"
"43. Для традиционного механизма виртуальной памяти справедливо утверждение:

любая задача имеет непрерывное адресное пространство, недоступное другой задаче+

"46. Кто чаще всего запускает команду ""chown""?
Суперпользователь+
"

"49. Интерфейс UNIX-системы

основан на передаче текстовых данных, поэтому вообще не требует устройств графического ввода-вывода+

"
"50. Функцию менеджера ресурсов в UNIX выполняет

ядро - для ресурсов, необходимых самой системе, демоны и системные программы - для пользовательских ресурсов+
"
"1. В каком случае оператор if в shell посчитает условие выполненным?

если после выполнения списка команд, помещённых в поле ""условие"", код возврата не равен 0 +"
"1. Профиль (profile) командного интерпретатора - это

сценарий, выполняющийся при входе в систему+

"5. При типичном использовании шаблона
командный интерпретатор подставляет в команду список соответствующих шаблону файлов+

"
"7. Перемещением, изменением размера и внешнего вида окон в X занимается

X-сервер отвечает за размер и положение окна, выполняя команды окновода, который вдобавок дориcовывает рамки и декораторы+"
"7. Особенность графических ресурсов в том, что они

могут понадобиться только пользователям, имеющим доступ к устройствам графического ввода-вывода+

"11. При освоении проективной системы пользователю придётся

реализовать несколько решений уже решённых простых задач+
"
"12. Выберите пункт, содержащий только принципы организации проективных систем

информационной открытости и персональной ответственности +"
"13. Знание каких областей необходимо опытному пользователю проективной системы?
прикладной и инструментальной+

"
"14. Пользователь какого вида систем чаще выступает в роли посредника между машиной и заказчиком?

Проективного+
"
"15. Какой тип человеко-машинных систем требует от пользователя знания инструментальной области?

Проективный+
"
"16. Сколько карманов у редактора vi?

один неименованный и несколько именованных+
"
"17. Имеет ли смысл хранить сложные команды vi в виде комментариев к тексту?

да, в vi есть команда выполнения содержимого кармана как списка команд +"

"23. Выберите пункт, в котором упомянуты только важнейшие поля руководства
NAME и SEE ALSO+

"25. Принцип ограниченной осведомлённости требует, чтобы
решение пользовательской задачи не требовало изучения самой системы+

различна для разных архитектур компьютеров+
"
"32. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки
универсальный программный уровень, многофункциональный программный уровень; уровень, ориентированный на определённый формат ядра и модулей
аппаратный уровень; универсальный программный уровень; многофункциональный программный уровень, ориентированный на определённый формат ядра и модулей+
уровень BIOS, уровень ядра, уровень самонастройки ядра
аппаратный уровень, уровень BIOS, универсальный программный уровень "

"34. Правило ""левый-длинный"" говорит о том, что
из всех соответствующих РВ подстрок выбирается та, что начинается раньше, а если таких несколько - самая длинная среди них+
"
"36. Какая из строк соответствуют РВ "m(1.3|)+"
m123x m1x3x1x3 m1-3yy1+3 m113113113 myxxz+
"
"37. (выберите неправильный ответ) Утилита ed - это

интерактивный редактор текстов с небольшим количеством мощных команд редактирования+

"
"39. Утилита ed - это
построчный текстовый редактор, работающий с любым типом терминалов+

"44. В функции операционной среды входит
унификация, разделение и учёт задач+

"45. Что такое ""псевдопараллелизм""?
технология одновременного выполнения нескольких задач независимо от количества процессоров компьютера+

"46. Почему ""login"" может запустить shell ""от лица"" любого пользователя?
программа ""login"" запускается с правами суперпользователя+
"
"23. Документацию по UNIX-системе
следует оформлять сообразно специфике: общие сведения и контекст - в виде man, сложные руководства - в виде info или html, книги и учебники - в специальных форматах+

"32. Стартовый виртуальный диск (initrd) - это
механизм размещения файловой системы в памяти для загрузки и компоновки модулей ядра во время досистемной загрузки+"

"42. (выберите неправильный ответ) Как на время приостановить слишком объёмистый вывод программы (например, ""ls -r /"")?
перенаправить оставшийся вывод в файл (обычно ""> file"")+

Лекция №1.

Информатика - наука о способах получения, накопления, хранения, преобразования, передачи, защиты и использования информации. Она включает дисциплины, относящиеся к обработке информации в вычислительных машинах и вычислительных сетях: как абстрактные, вроде анализа алгоритмов, так и довольно конкретные, например, разработка языков программирования. Информатика – молодая научная дисциплина, изучающая вопросы, связанные с поиском, сбором, хранением, преобразованием и использованием информации в самых различных сферах человеческой деятельности.

Термин «информатика» был впервые введён в Германии Карлом Штейнбухом в 1957 году. В 1962 году этот термин был введён во французский язык Ф. Дрейфусом, который также предложил переводы на ряд других европейских языков. В советской научно-технической литературе термин «информатика» был введён А. И. Михайловым, А. И. Черным и Р. С. Гиляревским в 1968 году.

Отдельной наукой информатика была признана лишь в 1970-х; до этого она развивалась в составе математики, электроники и других технических наук. Некоторые начала информатики можно обнаружить даже в лингвистике. С момента своего признания отдельной наукой информатика разработала собственные методы и терминологию.

Лекция №2.

В современной информатике используются в основном три системы счисления (все – позиционные): двоичная, шестнадцатеричная и десятичная.

Двоичная система счисления используется для кодирования дискретного сигнала, потребителем которого является вычислительная техника. Такое положение дел сложилось исторически, поскольку двоичный сигнал проще представлять на аппаратном уровне. В этой системе счисления для представления числа применяются два знака – 0 и 1.

Шестнадцатеричная система счисления используется для кодирования дискретного сигнала, потребителем которого является хорошо подготовленный пользователь – специалист в области информатики. Используемые знаки для представления числа – десятичные цифры от 0 до 9 и буквы латинского алфавита – A, B, C, D, E, F.

Десятичная система счисления используется для кодирования дискретного сигнала, потребителем которого является так называемый конечный пользователь – неспециалист в области информатики (очевидно, что и любой человек может выступать в роли такого потребителя). Используемые знаки для представления числа – цифры от 0 до 9.

Прямой код двоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или единица) перед его старшим числовым разрядом.

Обратный код двоичного числа образуется по следующему правилу. Обратный код положительных чисел совпадает с их прямым кодом. Обратный код отрицательного числа содержит единицу в знаковом разряде числа, а значащие разряды числа заменяются на инверсные, т.е. нули заменяются единицами, а единицы - нулями.


Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак “+” в этих кодах кодируется двумя нулевыми знаковыми разрядами, а “-” - двумя единичными разрядами.

Лекция №3.

Алгебра логики – это раздел математики, изучающий высказывания, рассматриваемые со стороны их логических значений (истинности и ложности) и логических операций над ними.

Из элементарных высказываний с помощью логических связок " и", "или", "не", "если: то" и других (логических операций) строятся сложные высказывания - формулы (или функции) алгебры логики.

В алгебре логики основными (элементарными) операциями являются:

отрицание,

логическое сложение (дизъюнкция),

логическое умножение (конъюнкция),

импликация,

эквивалентность.

Способы построения новых высказываний из заданных с помощью логических связок, их преобразования и установления истинности изучаются в логике высказываний с помощью алгебраических методов.

Логической функцией называется функция f (X1,X2,...,Xn) , которая, так же как и ее аргументы, может принимать только два значения (0 и 1).

Так же, как и в алгебре арифметики, в алгебре логики устанавливается приоритет выполнения логических операций. Они упорядочены в следующей последовательности: отрицание; конъюнкция; дизъюнкция; импликация; эквивалентность.

Лекция №4.

При проектировании цифровых логических устройств часто возникает задача по заданной таблице истинности записать выражение для логической функции и реализовать ее в виде логической схемы, состоящей из функционально полного набора логических элементов. Данную задачу называют также задачей синтеза логических схем или логических устройств.

Синтез логических схем на основе функционально полного набора логических элементов состоит из представления логических функций, описывающих данные логические схемы в нормальных формах. Нормальной формой представления считается форма, полученная посредством суперпозиций вспомогательных логических функций – минтермов и макстернов.

Минтермом называют логическую функцию, которая принимает значение логической единицы только при одном значении логических переменных и значение логического нуля при других значениях логических переменных.

Макстерном называют логическую функцию, которая принимает значение логического нуля только при одном значении логических переменных и значение логической единицы при других значениях логических переменных.

Из минтермов и макстернов методом суперпозиции можно составить логические функции, которые называются соответственно логической функцией, представленной посредством совершенных дизъюнктивных нормальных форм (СДНФ), и логической функцией, представленной посредством совершенных конъюнктивных нормальных форм (СКНФ). Полученные таким образом функции СДНФ и СКНФ будут представлять искомую логическую функцию по заданной таблице истинности.

Лекция №5

Программное обеспечение ПО - совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ.

Также - совокупность программ, процедур и правил, а также документации, относящихся к функционированию системы обработки данных.

Программное обеспечение компьютера постоянно пополняется, развивается, совершенствуется. Стоимость установленных программ на современном ПК зачастую превышает стоимость его технических устройств. Разработка современного ПО требует очень высокой квалификации от программистов.

Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением.

Программное обеспечение принято по назначению подразделять на системное, прикладное и инструментальное, а по способу распространения и использования на несвободное/закрытое, открытое и свободное. Свободное программное обеспечение может распространяться, устанавливаться и использоваться на любых компьютерах дома, в офисах, школах, вузах, а также коммерческих и государственных учреждениях без ограничений.

Лекция №6

Операционная система - комплекс программ, обеспечивающий управление аппаратными средствами компьютера, организующий работу с файлами и выполнение прикладных программ, осуществляющий ввод и вывод данных.

Общими словами, операционная система - это первый и основной набор программ, загружающийся в компьютер. Помимо вышеуказанных функций ОС может осуществлять и другие, например предоставление общего пользовательского интерфейса и т.п.

Сегодня наиболее известными операционными системами являются ОС семейства Microsoft Windows и UNIX-подобные системы.

Интерфейсные функции:

Управление аппаратными средствами, устройствами ввода- вывода

Файловая система

Поддержка многозадачности (разделение использования памяти, времени выполнения)

Ограничение доступа, многопользовательский режим работы (если взять к примеру ДОС, то он не может быть многопользовательским)

Сеть (взять спектрум в пример...)

Внутренние функции:

Обработка прерываний

Виртуальная память

"Планировщик" задач

Буферы ввода- вывода

Обслуживание драйверов устройств

Лекция №7

Оболочка операционной системы (от англ. shell - оболочка) - интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.

В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI).

Командный интерпретатор.

Для обеспечения интерфейса командной строки в операционных системах часто используются командные интерпретаторы, которые могут представлять собой самостоятельные языки программирования, с собственным синтаксисом и отличительными функциональными возможностями.

В операционные системы MS-DOS и Windows 9x включён командный интерпретатор command.com, в Windows NT включён cmd.exe. В большом семействе командных оболочек UNIX наиболее популярны bash, csh, ksh, zsh, в UNIX-подобных системах у пользователя есть возможность менять командный интерпретатор, используемый по умолчанию.

Функции.

Командный интерпретатор исполняет команды своего языка, заданные в командной строке или поступающие из стандартного ввода или указанного файла.

В качестве команд интерпретируются вызовы системных или прикладных утилит, а также управляющие конструкции. Кроме того, оболочка отвечает за раскрытие шаблонов имен файлов и за перенаправление и связывание ввода-вывода утилит.

В совокупности с набором утилит, оболочка представляет собой операционную среду, язык программирования и средство решения как системных, так и некоторых прикладных задач, в особенности, автоматизации часто выполняемых последовательностей команд.

Лекция №8

Текстовый редактор - компьютерная программа, предназначенная для обработки текстовых файлов, такой как создание и внесение изменений.

Условно выделяют два типа редакторов: потоковые текстовые редакторы и интерактивные.

Потоковые текстовые редакторы представляют собой компьютерные программы, которые предназначены для автоматизированной обработки входных текстовых данных, полученных из текстового файла, в соответствии с заранее заданными пользователями правилами. Чаще всего правила представляют собой регулярные выражения, на специфичном для данного конкретного текстового редактора диалекте. Примером такого текстового редактора может служить редактор Sed.

Интерактивные текстовые редакторы - это семейство компьютерных программ предназначенных для внесения изменений в текстовый файл в интерактивном режиме. Такие программы позволяют отображать текущее состояние текстовых данных в файле и производить над ними различные действия.

Строго говоря, текстовый процессор может быть причислен к интерактивным текстовым редакторам, однако для данного класса компьютерных программ их возможность применения в качестве интерактивного текстового редактора не является целевой.

Лекция №9

Табличный процессор - категория программного обеспечения, предназначенного для работы с электронными таблицами. Изначально табличные редакторы позволяли обрабатывать исключительно двухмерные таблицы, прежде всего с числовыми данными, но затем появились продукты, обладавшие помимо этого возможностью включать текстовые, графические и другие мультимедийные элементы. Инструментарий электронных таблиц включает мощные математические функции, позволяющие вести сложные статистические, финансовые и прочие расчеты.

Электронные таблицы (или табличные процессоры) - это прикладные программы, предназначенные для проведения табличных расчетов. Появление электронных таблиц исторически совпадает с началом распространения персональных компьютеров. Первая программа для работы с электронными таблицами - табличный процессор, была создана в 1979 году, предназначалась для компьютеров типа Apple II и называлась VisiCalc. Одним из самых популярных табличных процессоров сегодня является MS Excel, входящий в состав пакета Microsoft Office.

Лекция №10

Компьютерная графика (также машинная графика) - область деятельности, в которой компьютеры используются как инструмент для синтеза (создания) изображений, так и для обработки визуальной информации, полученной из реального мира. Также компьютерной графикой называют результат такой деятельности.

История

Первые вычислительные машины не имели отдельных средств для работы с графикой, однако уже использовались для получения и обработки изображений. Программируя память первых электронных машин, построенную на основе матрицы ламп, можно было получать узоры.

В 1961 году программист С. Рассел возглавил проект по созданию первой компьютерной игры с графикой. Создание игры («Космические войны») заняло около 200 человеко-часов. Игра была создана на машине PDP-1.

В 1963 году американский учёный Айвен Сазерленд создал программно-аппаратный комплекс Sketchpad, который позволял рисовать точки, линии и окружности на трубке цифровым пером. Поддерживались базовые действия с примитивами: перемещение, копирование и др. По сути, это был первый векторный редактор, реализованный на компьютере. Также программу можно назвать первым графическим интерфейсом, причём она являлась таковой ещё до появления самого термина.

В середине 1960-х гг. появились разработки в промышленных приложениях компьютерной графики. Так, под руководством Т. Мофетта и Н. Тейлора фирма Itek разработала цифровую электронную чертёжную машину. В 1964 году General Motors представила систему автоматизированного проектирования DAC-1, разработанную совместно с IBM.

В 1968 году группой под руководством Н. Н. Константинова была создана компьютерная математическая модель движения кошки. Машина БЭСМ-4, выполняя написанную программу решения дифференциальных уравнений, рисовала мультфильм «Кошечка», который для своего времени являлся прорывом. Для визуализации использовался алфавитно-цифровой принтер.

Существенный прогресс компьютерная графика испытала с появлением возможности запоминать изображения и выводить их на компьютерном дисплее, электронно-лучевой трубке.

Чтобы обеспечить взаимодействие пользователя с операционной системой и с прикладными программами необходим интерфейс: система передачи команд пользователя операционной системе и ответов системы обратно пользователю. Такое взаимодействие представляет собой «диалог» пользователя с компьютером на специальном языке, будь то язык, использующий знаки, похожие на слова и высказывания естественного языка, или язык изображений. На сегодня известны две принципиальные возможности организации интерфейса: графический интерфейс и командная строка.

Командная строка - приглашение оболочки, обозначающее готовность системы принимать команду пользователя, - в наиболее явной форме демонстрирует идею диалога. На каждую введенную команду пользователь получает ответ от системы: либо очередное приглашение, обозначающее, что команда выполнена и можно вводить следующую, либо сообщение об ошибке, представляющее собой высказывание системы о произошедших в ней событиях, адресованное пользователю. При работе в операционной среде с графическим интерфейсом происходящий диалог пользователя с системой не столь очевиден, хотя с точки зрения системы клик мышью в определенной области на экране аналогичен команде, введенной с клавиатуры, а ответ системы пользователю может быть представлен в виде диалогового окна.

При работе с командной строкой для организации интерфейса используются специальные программы - командные интерпретаторы. Они принимают от пользователя выдаваемые им команды в виде строк текста, содержащих имена программы и параметры, с которыми эти программы следует выполнить, производят разбор полученных строк, запускают необходимые программы и передают пользователю их вывод - также строки текста. Всё взаимодействие пользователя с системой происходит через командный интерпретатор, поэтому его часто называют оболочкой (shell). Для выполнения типовых действий последовательности команд оказываются одинаковыми. Такие последовательности команд можно записать в текстовый файл и далее передать этот текстовый файл командному интерпретатору для выполнения. Такие текстовые файлы называются скриптами. Для запуска они должны иметь соответствующие права (флаг "x"). Командные интерпретаторы поддерживают условное выполнение команд (структуры if-then-else), циклы, создание и вызовы подпрограмм и т.п. Язык командного интерпретатора исключительно мощный и позволяет автоматизировать практически любую задачу в системе. Например, действия при загрузке системы осуществляются скриптами командного интерпретатора - начиная от /etc/rc.d/rc.sysinit, который, в свою очередь, вызывает большое количество других скриптов.

В системах *nix, в соответствии с их модульным построением, доступны несколько командных интерпретаторов. В-основном сейчас используется интерпретатор bash (/bin/bash).

Команды операционной системы представляют из себя небольшие программы, расположенные в каталогах /bin, /usr/bin, /sbin, /usr/sbin. В дальнейшем, говоря о командах, мы будем понимать под этим именно указанные программы.

Общий формат вызова команды выглядит следующим образом:

$ command -f --flag --key=parameter argument1 agrument2 ...

Здесь "$" - это приглашение операционной системы к вводу команды. Для обычных пользователей оно имеет вид "$", для суперпользователя (root) - "#". В дальнейшем для команд, которые требуют привилегий root, будет использоваться запись вида "# command".

command - имя команды. Для часто использующихся команд имена короткие, состоящие из 2-3 букв.

После имени команды, при необходимости, указываются ключи. Ключ - параметр команды, который влияет на результат её выполнения. Часто использующиеся ключи - короткие, односимвольные; для требующихся реже длинных ключей используются слова или сокращения. Короткие ключи начинаются с символа "-", длинные - с двух символов "-". Короткие ключи часто дублируются длинными - для повышения читабельности скриптов. После ключей может допускаться указание дополнительных параметров, для длинных ключей такие параметры принято записывать через знак "=". Несколько односимвольных ключей разрешается объединять вместе: например, вместо "$ ls -l -a" можно записать "$ ls -la".

Порядок ключей, как правило, не важен.

После всех ключей следуют аргументы команды. Аргументы чаще всего представляют из себя пути к файлам или каталогам. Возможно использовать аргументы, начинающиеся со знака "-". В этом случае от ключей они отделяются двумя символами "-":

$ touch -- -file-with-

Команды могут использовать различные ключи и параметры. Запоминать все возможные комбинации формата вызова каждой программы невозможно и бессмысленно. Поэтому в системе доступны описания и подсказки по использованию практически каждой утилиты и программы.

Обычно программы поддерживают несколько стандартных ключей. По ключу "-h" или "--help" выдаётся краткая справка о программе. По ключу "-v" или "--version" - её версия. Если краткой справки не достаточно, то можно вызвать описание программы в справочной системе. Для работы со справкой используется команда man (сокращение от "manual" - руководство). Команда man в качестве аргумента принимает имя команды или файла конфигурации, ищет и выводит на экран страницу справочного руководства. В справке, выдаваемой командой man, содержится информация о формате вызова программы, поддерживаемых ей ключах и параметрах, информация об авторах и лицензии программы, в ряде случаев - примеры использования, ссылки на сайты разработчиков с дополнительной документацией.

Для просмотра страниц руководства, не помещающихся на экране, следует использовать прокрутку клавишами перемещения курсором, "Page Up" и "Page Down". Пробел перемещает руководство на страницу вперёд. Для выхода из man и продолжения работы с системой следует нажать клавишу "q" (quit).

Часть программ, помимо руководств в формате "man", также имеют и более пространную документацию в формате "info" - с вызовом её через одноимённую утилиту.

В отличии от встроенной системы подсказки программ в операционной системе Windows, руководства man и info содержат полную подробную техническую информацию о работе команд.

Из книги Журнал «Компьютерра» N 33 от 12 сентября 2006 года автора Журнал «Компьютерра»

СОФТЕРРА: Высокохудожественный командный интерпретатор Автор: Илья ШпаньковКогда разговор заходит о растровых графических редакторах, абсолютное большинство людей в первую очередь вспоминает Adobe Photoshop. Сторонники свободного софта, конечно, не забудут упомянуть и

Из книги Давайте создадим компилятор! автора Креншоу Джек

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

19.7. Интерпретатор команд bash Интерпретатор команд - это программа, выполняющая команды пользователя. Стандартным интерпретатором (или оболочкой) является bash (Bourne Again Shell). Достаточно распространенными также являются следующие интерпретаторы: sh, ash, bsh, tcsh, csh, zsh. Список

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

Из книги Бесплатные разговоры через Интернет автора Фрузоров Сергей

16.2. Простой интерпретатор программ, управляемых образцами Для описания модулей, управляемых образцами, мы применим следующую синтаксическую конструкцию:ЧастьУсловия ---> ЧастьДействияЧасть условия представляет собой список условий:[ Условие1, Условие2, Условие3, ...]где

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

Глава 4 TeamSpeak - командный разговор через компьютерную сеть Чем TeamSpeak отличается от TeamTalk Программа TeamSpeak очень уж похожа на TeamTalk: те же каналы, та же возможность работать как в Интернете, так и в локальной сети, выбор разнообразных кодеков по сжатию звука, клиент-серверный

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Глава 22 Командный интерпретатор bash 22.1. Что нужно знать о bash bash - это наиболее часто использующаяся командная оболочка (командный интерпретатор) Linux. Основное предназначение bash - выполнение команд, введенных пользователем. Пользователь вводит команду, bash ищет программу,

Из книги Операционная система UNIX автора Робачевский Андрей М.

Командный режим Хотя isql имеет некоторые удобные интерактивные возможности, она не ограничена только этим режимом. Многие интерактивные команды доступны также в виде переключателей командной строки. Некоторые функции isql, такие как извлечение метаданных, доступны только

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Командный интерпретатор shell Все современные системы UNIX поставляются по крайней мере с тремя командными интерпретаторами: Bourne shell (/bin/sh), С shell (/bin/csh) и Korn shell (/bin/ksh). Существует еще несколько интерпретаторов, например Bourne-Again shell (bash), со сходными функциями.Командный

Из книги UNIX - универсальная среда программирования автора Пайк Роб

Интерпретатор bourne shell Bourne shell является стандартным интерпретатором команд, который входит в состав всех систем UNIX и совместим с интерпретатором bash в Linux. В книге, посвященной shell–программированию и не привязанной к конкретной операционной системе, в качестве общего

Из книги автора

Интерпретатор shell В первой части книги рассматриваются общие вопросы, связанные с работой в интерпретаторе shell.В главе 1 рассказывается о правах доступа к файлам и каталогам, а также о том, как создавать символические ссылки.Чтобы на поиск созданного вами файла не уходило

Из книги автора

24.1. Полный список команд, встроенных в интерпретатор shell В табл. 24.1 содержится полный перечень стандартных встроенных команд. Таблица 24.1. Стандартные встроенные команды: Нуль, всегда возвращает истинное значение. Считывание файлов из текущего интерпретатора