рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Свободные программы и системы в школе

Свободные программы и системы в школе - раздел Образование, Максим Отставнов ...

Максим Отставнов

Свободные программы и системы в школе

 

Свободные программы и системы в школе

Введение. Зачем программам быть свободными?   На сегодня в школе, как и в некоторых других сегментах рынка, преобладают «альтернативные», нестандартные операционные…

Право и экономика ПО

Поскольку существует изрядная путаница с терминологией, имеет смысл привести определения далее используемых терминов. Это особенно уместно, когда мы… Свободными называются программы, автор (или иной обладатель имущественных… Конкретная «лицензия» (условия конкретного договора) могут предоставлять приобретателю дополнительные правомочия,…

Логика и последовательность освоения СПО

Логика и последовательность изложения материала в этом курсе существенно отличается от логики, в которой написано большинство книг, посвященных… Чаще всего авторы исходят из того, что последовательность внедрения программ и… «Сплошная миграция», при которой администрации необходимо внедрять (а всем пользователям, включая учителей и учащихся,…

Глава 1. Краткое введение в открытые ОС

 

Традиционно существовало два жанра введений в ОС: введение в архитектуру ОС с точки зрения программиста, и введение в пользование ОС с точки зрения оператора. Как правило, такие книги освещают также элементы администрирования (чаще – какой‑то конкретной ОС).

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

В последние годы ситуация опять изменилась: сегодня доступно множество дистрибутивов свободных ОС, позволяющих в большинстве случаев получить по крайне мере базовую стандартную функциональность «из коробки», и продается достаточное количество компьютеров «персонального» и «домашнего» класса с предустановленной ОС «ГНУ/Линукс». Поэтому новичок может совершенно спокойно освоить сначала основы пользования системой, а затем, при необходимости, ее администрирование.

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

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

ориентация на современную версию стандарта ОС (ИСО/МЭК 9945:2001), а не особенности той или иной ОС.

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

Для воспроизведения примеров и другой практической работы потребуется доступ к терминалу открытой ОС. Идеальным вариантом является доступ к администрируемой и поддерживаемой в порядке системе. Если такой возможности нет, можно установить на имеющийся компьютер ОС «ГНУ/Линукс» или «БСД», руководствуясь документацией к дистрибутиву. Пользователи «Макинтошей» с установленной «МакОС X» могут получить доступ к терминалу ОС в соответствии с документацией последней.

Наименее проблемной будет установка из дистрибутива «Дебиан ГНУ/Линукс», особых сложностей также не должно быть с «АЛЬТ Линукс», «АСПЛинукс», «РедХэт Линукс», «Линукс‑Мандрейк» или «ФриБСД». Любой из этих дистрибутивов позволяет осуществить установку на компьютеры самой популярной архитектуры IA‑32 («IBM PC‑совместимые»). Еще лучше, если у студента есть знакомый, администрирующий любую открытую ОС, который сможет помочь с установкой; тогда дистрибутив должен порекомендовать он.

При установке следует обратить внимание на правильные национальные установки (кириллица с кодовой таблицей «KOI8‑R», клавиша переключения кодовых подстраниц) и на то, чтобы после загрузки не осуществлялся автоматический запуск графической оконной системы «Икс» («X Window System»). Последняя в нашем курсе вообще не нужна.

Для нормальной работы с оболочкой и утилитами должно хватить возможностей процессора Intel 386‑DX66 или аналога, 16 МБ ОЗУ, 100 МБ дискового пространства, хотя некоторые из перечисленных дистрибутивов могут требовать расширенного набора команд «Пентиум» и содержать программу установки, более требовательную к ресурсам (особенно к ОЗУ).

Современные загрузчики позволяют осуществлять попеременную загрузку на одном компьютере более одной ОС (в том числе альтернативных), так что если тот же компьютер эксплуатируется и под «МС‑ДОС» («Майкрософт Уиндоуз»), это не будет помехой (прочитайте внимательно разделы документации по установке и не забудьте осуществить резервное копирование данных перед переразбиением дисков на разделы, если таковое потребуется).

В крайнем случае можно запустить оболочку и команды под «Майкрософт Уиндоуз», пользуясь такими пакетами, как «Cygwin», «Unix Services for Windows» или «UWIN», что, впрочем, не рекомендуется.

 

Операционные системы

Существуют две группы определений операционных систем: «совокупность программ, управляющих оборудованием» и «совокупность программ, управляющих… Есть приложения вычислительной техники, для которых ОС излишни. Например,… (Многие встроенные компьютеры и даже некоторые игровые приставки на самом деле работают под управлением своих ОС. Мы…

Краткая история открытых ОС

Задуманная и реализованная Кеном Томсоном при участии нескольких коллег, она вобрала в себя многие черты более ранних ОС, но обладала целым рядом… компонентная архитектура: принцип «одна программа – одна функция» плюс мощные… минимизация ядра (кода, выполняющегося в привилегированном режиме процессора) и количества системных вызовов;

Роль свободных операционных систем

Спецификой рынка свободных ОС, особенно, основанных на ядре «Линукс», является их существование в виде «популяции» параллельно развивающихся…

Несвободные открытые операционные системы

Свое значение сохраняют и несвободные открытые операционные системы, такие как «Солярис», «AIX», «Тру64 Юникс». Как правило, они применяются в сочетании с соответствующими аппаратными платформами, сопровождаются и поддерживаются производителями последних. Большинство свободных прикладных программ и пакетов перенесены или легко переносятся на такие ОС.

Альтернативные операционные системы

«Майкрософт Уиндоуз НТ» («Майкрософт Уиндоуз 2000», «Майкрософт Уиндоуз Экс‑Пи») . ОС этой серии позиционируются компанией «Майкрософт» как… Для «Майкрософт Уиндоуз НТ» существуют специальные пакеты (Cygwin, UWIN, UNIX… Обольщаться по этому поводу не стоит: опыт применения альтернативных ОС в большинстве случаев окажется более чем…

Практическая интеграция

Сильными техническими сторонами открытых ОС, выгодно отличающими их от любых альтернатив в плане практической интеграции (разворачивания,… поддержка широкого спектра аппаратных платформ (самыми «всеядными» являются… поддержка различных топологий многопользовательских систем: от совокупности независимых рабочих станций до…

Критерии для выбора дистрибутива.

Пользовательская аудитория в сфере применения . Чем больше конечных пользователей применяют дистрибутив в вашей сфере деятельности (например, в… Пользовательская аудитория в языковой среде . Воспользоваться преимуществами… Местная (в географическом смысле) пользовательская аудитория. Распространение электронной почты и других приложений…

Технические параметры дистрибутивов.

Преимущество установки из исходников – оптимизация под конкретную машину и меньший объем пакетов. Преимущество бинарной установки – более высокая ее… Программа установки, управление пакетами и утилиты настройки. Как уже… Стандарта на пакетирование и управление пакетами не существует. Распространение получили три формата пакетов: rpm…

Обзор самых популярных дистрибутивов.

ALT Linux разрабатывается международным коллективом ALT Linux Team и публикуется одноименной московской компанией. Сильной стороной ALT является… ASPLinux – в значительной мере остается производным от Red Hat, причем… Debian GNU/Linux. «Образцово‑показательный» Debian – единственный из популярных дистрибутивов, принципиально…

Сеанс работы и команды

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

Загрузка и разгрузка системы

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

Вход в систему и выход из системы

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

Простая команда

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

Страницы руководства по простым командам

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

Файлы и файловые структуры

 

Создание и удаление файлов

  Рис. 1‑8

Каталоги

  Рис. 1‑13

Копирование, перемещение, переименование файлов

1) Если последним операндом является имя существующего каталога, то файлы, имена которых указаны в качестве предшествующих операндов, копируются или… 2) Если последним операндом является имя обычного файла, то файл, имя которого… Указание в этих командах единственного операнда, а также указание более двух операндов в случае, если последний из них…

Генерация имен файлов

Вопросительный знак («?») соответствует любому одному символу в имени файла. Если у нас в каталоге присутствуют файлы «a1», «a2», «a3», «b1», «b2»,… Звездочка (астериск, «*») соответствует последовательности из нуля или… Метаконструкция из последовательности символов, заключенных в квадратные скобки («[» и «]»), соответствует любому…

Экранирование специальных символов

Алиса перенесла в каталог «Старые_файлы/» файл «Домашняя страница[13].htm» из системы, которой ранее пользовалась. Как ей к нему обратиться? Буквальное указание в командной строке цепочки…

Оболочка как команда

  Рис. 1‑37

Маска прав по умолчанию

Команда «umask ‑S» без параметров выводит в символическом виде маску прав по умолчанию. Команда «umask» с параметром в «ugo»‑нотации…  

Особенности прав на каталоги

  Рис. 1‑42

Вся правда о файлах

Атрибутом записи о файле в каталоге является поле «имя». Атрибутам файла как единицы хранения (его называют индексным узлом или… Кстати говоря, поле «количество указателей» и содержит число «библиографических карточек» (записей в каталогах),…

Процессы

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

Управление заданиями и сигнализация процессов

В среде стандартной оболочки и команд открытой ОС запустить бесконечный процесс можно, введя команду «( while : ; do : ; done )», запускающую бесконечный цикл в подчиненном экземпляре оболочки (Рис. 1‑47).

Пока не нужно беспокоиться о понятности синтаксиса управляющих конструкций.

 

Рис. 1‑47

 

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

Справиться с этой ситуацией ей поможет клавиатурная комбинация Control‑C. Как и комбинация Control‑D, она не отображается на экране, но после ее нажатия Алиса получает приглашение оболочки и при помощи команды «ps» убеждается, что никаких процессов, кроме самой оболочки и «ps», под этой оболочкой не выполняется.

 

Рис. 1‑48

 

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

Клавиатурная комбинация Control‑Z побуждает драйвер терминала отправить выполняемому процессу другой сигнал – приостановки[41].

 

Рис. 1‑49

 

После нажатия Control‑Z оболочка выдает сообщение, состоящее из числа в квадратных скобках, слова «остановлен» («stopped» в стандартной локали) и введенной ранее команды (Рис. 1‑49).

Число в квадратных скобках – это номер задания . Заданием является любая начавшая выполняться простая команда.

Состояние соответствующего процесса (колонка «S» в выводе «ps ‑l» (эль)) обозначено буквой «T», означающей, что процесс остановлен . Задание, соответствующее такому процессу, также называется остановленным.

Возобновить исполнение задания можно двумя способами. Команда «fg» возобновляет выполнение задания на переднем плане , а команда «bg» – на заднем плане (или в фоновом режиме )[42]. Заданием переднего плана называется задание, завершения ведущего процесса (первого процесса, запущенного подачей команды) которого ожидает оболочка перед выводом очередного приглашения, и которое может свободно выводить данные на управляющий терминал и вводить их с терминала.

В любой момент времени на переднем плане каждого управляющего терминала находится не более одного задания. Заданий заднего плана может быть неограниченное[43]количество.

 

Рис. 1‑50

 

В примере на Рис. 1‑50 Алиса запускает сценарий «цикл», останавливает его нажатием Control‑Z, затем возобновляет его выполнение на переднем плане командой «fg», снова останавливает, и затем возобновляет на заднем плане командой «bg». После этого Алиса сразу получает приглашение и, введя команду «ps ‑l», видит соответствующий выполнению сценария процесс «bash» (PID 2765) с состоянием «R» («выполняемый»).

Нажатие клавиатурных комбинаций Control‑C и Control‑Z всегда вызывает передачу сигнала заданию переднего плана. Заданию заднего плана передавать сигнал можно только явно, для чего служит команда «kill». Указание в качестве ее единственного аргумента идентификатора процесса приводит к тому, что процессу передается сигнал «нормально завершиться» (это соответствует нажатию комбинации Control‑C для задания переднего плана) (Рис. 1‑51).

 

Рис. 1‑51

 

Подача команды «kill» с ключом «‑s» и идентификатором сигнала в качестве параметра этого ключа позволяет подать процессу произвольный сигнал. Стандартом определены восемь сигналов, перечисленных в таблице на Рис. 1‑52.

 

Рис. 1‑52

 

Реализация может предусматривать большее их количество[44]. Практически во всех системах реализован сигнал SIGSTOP, его отправка процессу переднего плана большинством современных оболочек осуществляется нажатием Control‑Z, как описано выше.

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

До сих пор Алиса отправляла сигналы по собственной инициативе. Отправляющим процессом выступали оболочка (при передаче сигналов процессу переднего плана нажатием клавиш) или команда «kill». Но передача сигналов (межпроцессная коммуникация) может осуществляться между любыми процессами, и является широко используемым в системном и прикладном программировании механизмом ОС. Как и при доступе к файлам, при доступе к процессам ОС руководствуется системой распределения полномочий. Стандартное поведение проще, чем в случае с файлами: процесс, запущенный обычным пользователем (не главным пользователем), может сигнализировать процессу, запущенному тем же пользователем, и не может сигнализировать процессу, которым «владеет» другой пользователь. В примере на Рис. 1‑53 попытка Алисы «убить» процесс, принадлежащий другому пользователю, привела к сообщению об ошибке.

 

Рис. 1‑53

 

Реализацией может быть определено более сложное поведение[45].

Программа может переопределить смысл сигналов, которые получает процесс (в частности, отменить завершение процесса), за исключением сигнала SIGKILL. Все стандартные команды ОС обрабатывают сигналы стандартным образом[46].

Если вам не удается завершить запущенный вами процесс подачей команды «kill ‑s SIGKILL», значит, в системе возникли очень серьезные неполадки.

Вы также можете столкнуться с ситуацией, когда программа переопределяет SIGINT, SIGSTOP и входит в бесконечный цикл (или ожидает события, наступления которого в обозримом будущем не предвидится). Запустив такую программу на переднем плане, вы не сможете завершить ее нажатием Control‑C или приостановить нажатием Control‑Z, а подать SIGKILL командой «kill» также будет невозможно, поскольку оболочка ожидает завершения процесса переднего плана.

Простого выхода из этой ситуации нет, но обычно можно зарегистрироваться на другом терминале (включая виртуальную консоль) и «убить» хитрый процесс командой «kill ‑s SIGKILL». Если таким образом «завис» сеанс в окне виртуального терминала, его обычно можно «убить» средствами оконного менеджера (закрыв окно). Наконец, если вы работаете на последовательном терминале, можно попытаться выключить и снова включить его. Оболочка по выключении получит сигнал SIGHUP и «убьет» подчиненные себе процессы.

Сложные команды и задания

Чтобы запустить задание на заднем плане, не обязательно запускать его на переднем плане, приостанавливать и возобновлять командой «bg». Можно воспользоваться символом завершения команды «&» (читается «амперсенд») (Рис. 1‑54).

 

Рис. 1‑54

 

Использование символа завершения «&» позволяет ввести в одной строке более одной команды (и, соответственно, запустить более одного задания), связав их этим символом (Рис. 1‑55). Список заданий можно получить командой «jobs».

 

Рис. 1‑55

 

Знак «+» после номера задания обозначает «текущее» задание, то есть задание, которым можно управлять командами «bg» и «fg» без аргументов. Знаком «‑» помечено «предыдущее» задание (которое станет текущим по завершению текущего). При переводе задания переднего плана на задний или запуске нового задания текущее задание (если оно есть) становится «предыдущим», а вновь запущенное – текущим.

Если нужно возобновить исполнение задания на переднем или заднем плане, или перевести задание на передний план, можно воспользоваться командами «fg» и «bg», задав им аргумент, состоящий из «%» («процент»), и следующим за ним слитно номером задания (Рис. 1‑56).

 

Рис. 1‑56

 

Другим символом завершения команды, также позволяющим подать более одной команды и инициировать более одного задания одной строкой является «;» (точка с запятой). Команда, завершенная этим символом, будет выполняться на переднем плане, а последующие команды (задания) будут выполняться после ее завершения.

При подаче сложных команд (команд, включающих в себя более одной команды) их можно группировать с использованием круглых скобок. Сгруппированные скобками команды (вне зависимости от использованного символа завершения) образуют группу команд[47], выполняемых как одно задание (Рис. 1‑57).

 

Рис. 1‑57

 

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

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

Существуют также символы завершения команды «&&» и «||». Их действие связано с понятием кода завершения , возвращаемого каждой командой. Код завершения определяется программой, но обычно успешно выполнившаяся команда возвращает код «0» (ноль), а выполнившаяся с ошибкой – числовое значение кода ошибки. Явную работу с кодами завершения мы обсудим при введении элементов программирования оболочки, а здесь лишь упомянем, что символ завершения «&&» означает, что заданную за ним команду следует выполнить только в случае, если указанная перед ним команда выполнилась успешно, а символ «||» – наоборот, что «правую» команду следует выполнить только при ошибочном завершении «левой» (Рис. 1‑58).

 

Рис. 1‑58

Переменные

До сих пор мы имели дело с параметрами, передававшимися команде в виде аргументов, следующих за именем команды. Команда интерпретирует аргументы… В открытых системах существует еще один механизм передачи параметров –…

Конвейер

Помимо использования символов завершения («&», «;», «&&» и «||») и скобок «(» и «)», в открытых ОС имеется еще один механизм объединения… В отличие от групп команд, объединенных упомянутыми символами завершения и… В следующем примере Алисе по каким‑то причинам нужно получить пронумерованный список файлов в одном из…

Элементы обработки текста

Обработка «плоских» (неразмеченных) текстов – одно из первых (после собственно вычислительных задач и управления приборами), очень важное и хорошо… Работа с текстами критична для многих других пользовательских приложений.… Даже картинки и звуковые файлы, размещенные в WWW, передаются незаметно для пользователя между машинами в…

Редакторы

С удешевлением компьютерной техники и разработкой многопользовательских систем появилась возможность посадить оператора за подключенный к машине… Следующий шаг был сделан, когда телетайп (электрическую пишущую машинку) в… «Vi» и «Emacs»

Дидактика редакторов

За четверть века существования «Emacs», благодаря свободной модели лицензирования и открытой модели разработки, «оброс» невероятным количеством… Или – что не менее интересно – не выходя из Emacs, можно прогнать текст… Фактически, регулярно используемый «Emacs» позволяет реализовать (чисто в текстовом режиме, даже в системах, вообще не…

Автоматизированная обработка текстов

Команда «grep» выводит строки, содержащие заданную подстроку, команда «sort» сортирует строки по алфавиту, «uniq» удаляет неуникальные… В стандартной операционной среде отдельные утилиты могут «склеиваться» с…

Базовые регулярные выражения

Регулярное выражение – это последовательность символов. При использовании (передаче в качестве аргумента программе или вводе в ходе сеанса… Сами же символы могут (в зависимости от значения и, иногда, положения) иметь… В буквальном значении символ автонимен, т.е. обозначает сам себя. /а/ обозначает букву «а», /слово/ означает слово…

Элементы программирования оболочки

В предыдущих главах мы рассматривали язык оболочки с точки зрения, в основном, непосредственного исполнения вводимых команд. Теперь взглянем на него… От универсального языка программирования ожидаются: средства описания структур… Все эти средства присутствуют в стандартном языке оболочки[61]. Его особенностью явяется возможность использовать…

Комментарии и указание оболочки

Во многих системах (включая «ГНУ/Линукс») специальная нестандартная форма комментария может использоваться также для передачи ядру системы… Информация из специального комментария востребуется только если файлу сценария…

Переменные и присваивание значений

Чтобы значение переменной передавалась всем вызываемым командам, ее следует сделать передаваемой (экспортировать ее) командой «export» с именем… Для того, чтобы присвоить переменной новое значение, ее просто переопределяют;… Все переменные стандартной оболочки имеют строковый тип, то есть могут принимать значения, равные строкам (или…

Генерация кодов возврата

(Отсутствие простого механизма согласования между раскрытием арифметических выражений и условиями условного и циклического исполнения, различие в… Хотя условие условного или циклического исполнения может задаваться самыми…

Циклическое исполнение с предусловием

  Рис. 1‑82

Циклическое исполнение со списком значений

  Рис. 1‑84

Многовариантное условное исполнение

Для многовариантного условного исполнения в зависимости от значения строковой переменной оболочка поддерживает оператор «case» с на редкость причудливым синтаксисом (Рис. 1‑86).

 

Рис. 1‑86

 

Указанная строка (обычно – результат раскрытия значения переменной) поочередно сравнивается с шаблонами и при первом совпадении выполняется соответствующий список команд (до конструкции «;;»), после чего выполнение оператора «case» завершается.

Строки, указанные в качестве шаблонов, подвергаются обычному раскрытию, за исключением того, что специальные символы «*», «*», «[ ... ]» не приводят к поиску файлов, а используются (по тем же правилам, что и при раскрытии шаблонов имен файлов) как метасимволы при сравнении.

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

Ввод‑вывод

Вывод значений переменных и выражений сценарием как правило осуществляется известной нам командой «echo» или командой «printf» (предназначенной для форматированного вывода), которую мы в этом курсе не рассматриваем.

Ввести данные (т.е. присвоить значения переменным) можно с помощью команды «read». Эта команда читает из стандартного ввода строку, разделяет ее на отдельные аргументы (пробелами, табуляцией, знаком переноса или символами, содержащимися в переменной окружения $IF), и присваивает их перечисленным в команде переменным. Если аргументов оказывается больше, чем переменных, остаток строки присваивается последней переменной (Рис. 1‑87).

 

Рис. 1‑87

 

Однако во многих случаях вывод (и ввод) осуществляется не только командой «echo», но и прочими командами, применяемыми в сценарии. Следует понимать, что каждая команда, ввод‑вывод которой не переназначен явно и не включен в конвейер, наследует , в числе прочих атрибутов, дескрипторы стандартных ввода‑вывода от подающего ее процесса. Таким образом, переназначив, например, стандартный вывод сценария в файл, мы тем самым переназначаем стандартный вывод каждой вызываемой программы, если только ее вывод не переназначается отдельно или не передается по конвейеру.

Передача аргументов сценарию

Сценарию эти параметры доступны посредством ряда специальных переменных, перечисленных в таблице на Рис. 1‑88.  

Функции и вызов других сценариев

Определение функции имеет вид, указанный на Рис. 1‑89.  

Раскрытие команды

  Рис. 1‑91

Включенный документ

На Рис. представлена конструкция вида «<<цепочка», внешне похожая на перенаправление ввода команды из файла. Однако цепочка представляет собой…  

Справочник по наиболее употребительным стандартным командам ОС

exit ‑ завершить исполнение оболочки Синтаксис: exit [код_зав] Семантика: exit завершает исполнение оболочки с кодом возврата (0‑255), указанным в «код_зав». Перехват «exit»…

Глава 2. Графический пользовательский интерфейс

 

До середины девяностых существовали отдельно компьютерная графика и отдельно – настольные игры в компьютерную графику. Помнящие историю отечественной школьной информатизации читатели, возможно, сталкивались с чудом техники под названием «цифровой дисплей растровый» (ЦДР), которое удавалось подключить к первому отечественному персональному компьютеру ДВК, чтобы отображать на экране телевизора несколько тысяч пикселов в четырех цветах. В то время в Лабораториях Компьютерной Графики некоторых вузов можно было встретить Графические Рабочие Станции с векторными устройствами и X‑терминалами, и даже плоттерами.

Закон Мура тем временем делал свое (в данном случае, не черное, а многоцветное) дело, и к середине девяностых на компьютере с процессором Intel 486 уже запускалась та самая система, которую пятью годами раньше наблюдать можно было лишь на X‑терминалах и графических станциях, стоивших каких‑то немыслимых (что по тем временам, что сегодня) денег.

Игры в самодельную графику, конечно, продолжаются и сегодня, но в целом мир воссоединился, и особой нужды в таких играх давно нет. Хотя – такова диалектика массовых рынков – именно эти игры (включая игры в буквальном смысле) породили спрос на дешевые устройства (прежде всего, графические акселераторы), которые и делают настоящую компьютерную графику доступной пользователю массовой x86‑ и PowerPC‑техники, даже устаревшие «персоналки» – сопоставимыми с X‑терминалами, а более новые и мощные – соперниками и с профессиональных графических рабочих станций начального и среднего уровня.

 

2.1 Оконная система «Икс» и XFree86

 

Оконная система «Икс» – один из самых больших и успешных проектов в истории компьютерной техники – восходит к 1984 г., когда разработчики двух систем компьютерной графики, претендующих на универсальность – проектов Athena (Массачусетский технологический институт) и W Windowing (Стэнфордский университет) – решили объединить свои усилия. С тех пор практически каждая компания, серьезно занимающаяся графикой, считала своим долгом внести какие‑либо разработки в систему, формальным «хозяином» которой в 1987 г. стал вновь созданный X Consortium (ныне Open Group, www.X.org).

С тех пор «Икс» прошла через одиннадцать основных релизов и множество версий.

Дальнейшее изложение ориентировано на свободную реализацию «Икс», которая называется XFree86, поддерживается одноименным партнерством (www.xfree86.org) и воплощает на сегодня версию 4.2 текущего релиза. XFree86 – самая популярная реализация «Икс», она поставляется в составе подавляющего большинства открытых систем (как свободных, так и несвободных) для x86‑совместимых компьютеров, поддерживает беспрецедентно широкий спектр оборудования и, благодаря доступности исходных текстов и пользовательской аудитории в десятки миллионов человек, достаточно «вылизана», по крайней мере, насколько это возможно для такого разнообразия «железа». Несмотря на то, что исторически цифры «86» в названии пакета относятся к соответствующему семейству процессоров от Intel, современные версии XFree86 реализованы для большинства других популярных процессоров. XFree86 доступен и для некоторых альтернативных архитектур ОС, включая «Майкрософт Уиндоуз НТ».

Большинство нижесказанного справедливо для любой реализации «Икс» на любом оборудовании и под любой ОС, список которых можно найти на www.X.org.

 

Цветной сэндвич

То, что пользователю, сидящему за монитором, представляется сплошной графической операционной средой, реализовано как многослойный сэндвич… Непосредственно с оборудованием (видеосистемой, устройствами ввода и… Здесь сразу видно отличие «Икс» от большинства самодельных систем графики, используемых в проприетарных системах:…

Окноводы

Как же менеджер окон преодолевает указанное ограничение X‑протокола? Никак – просто выделенным ему окном является весь экран. (На самом деле,… Менеджеров окон существует превеликое множество – под любой набор задач,… «Просвещение» (www.Enlightenment.org) создано Карстеном Хайцлером и Джеффом Харрисоном (Carsten Haitzler, Geoff…

Столоначальники

...Что демонстрирует отсутствие резкой границы между ними. Существует два подхода к тому, чтобы достроить оконную систему до полнофункциональной… Другой путь – «дотянуть» до полнофункциональной среды функциональность самого… Чего нам не хватает до полнофункциональной среды? Менеджера программ и утилит. Так вот, в «Просвещении» есть и такая…

Базовая функциональность оконного менеджера

Как уже говорилось, ключевой компонент графической платформы – Икс‑сервер: захватывает оборудование, создает по запросу других программ (которые в этой терминологии называются X‑клиентами) окна и

Расширенная функциональность оконного менеджера

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

Интегрированные графические среды

Запуск графической среды (точнее, «бутерброда» из оконной среды «Икс», оконного менеджера и графической среды) в открытой операционной системе можно… Однако, сходство заканчивается, не успев начаться. «МС‑ДОС» – это… При запуске графической среды под полноценной ОС, она, с точки зрения последней, представляет группу обычных…

Плюсы и минусы интегрированных сред

Однородность опыта и связанная с нею привычность (иногда ошибочно называемая «интуитивностью», хотя она не имеет отношения к философскому и… (Разумеется, это сильно идеализированная картина. Иногда прикладная логика… Как ни парадоксально, основной недостаток работы в интегрированной среде является оборотной стороной основного…

Общие черты интегрированных сред

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

Стандарты разметки текста

Первый из них, это семейство, называемое *ML‑языками: на эти две буквы заканчиваются аббревиатуры их названий – GML, SGML, HTML, XML, – а сами… Второй – разработанный выдающимся американским теоретиком и практиком… За пределами этих типов – огромное множество нестандартных (и даже неопубликованных) форматов, зачастую использующих…

Программирование особого рода

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

Свободные редакторы электронных таблиц

Однако знакомство с содержанием коммуникации на форумах поддержки позволяет предположить, что реальную широкую пользовательскую аудиторию получили… «OpenCalc» – электронно‑табличный компонент уже знакомого нам по… KSpread – компонент еще одного конкурирующего пакета под названием KOffice, который мы пока обходим вниманием. KSpread…

Векторизация растровых изображений

  Рис. 4‑9  

Источники и параметры растровой графики

Обычным источником растровых изображений является сканер – устройство, «проходящее» (сканирующее) лист бумаги или кадр фотопленки точка за точкой и… Растровые изображения могут также создаваться человеком на компьютере с… Важнейшими параметрами растрового изображения являются его растровый размер (в точках) и «глубина цвета» (количество…

Источники и параметры и форматы представления растровой графики

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

Интерактивная функциональность и эргономика

  Рис. 5‑1

Фильтрация и синтез изображений

Основной прием автоматизированной обработки изображений – фильтрация их целиком, либо выделенных в них областей. Большая часть упомянутых внешних… изменение цвета, насыщенности, яркости и контраста изображения; удаление «шума»;

– Конец работы –

Используемые теги: Свободные, программы, системы, школе0.072

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Вопрос о взаимосвязи математики и философии (Милетская школа, Пифагорейская школа, Элейская школа, Демокрит, Платоновский идеализм, Система философии математики Аристотеля)
Наряду с этим прогрессирующая математизация науки оказывает активное воздействие на философское мышление.Совместный путь математики и философии… Известно, что греческая цивилизация на начальном этапе своего развития… Папирус Райнда ок. 2000 г. до н.э. начинался с обещания научить совершенному и основательному исследованию всех вещей,…

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

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

Микропроцессорные системы: система ДЦ-МПК, система "Юг"
Использован практический опыт внедрения линейных пунктов управления (ЛПУ) на 60 станциях в увязке с ЭЦ-4, ЭЦ-9, МРЦ-12, МРЦ-13. Выполнен переход на… В состав аппаратуры центрального пункта управления (ПУ) входят IBM-совместные… Круглосуточный режим работы аппаратных средств ПУ обеспечивается источниками бесперебойного питания, а также системой…

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

ТЕЛЕКОММУНИКАЦИОННЫЕ СИСТЕМЫ. СИГНАЛЫ И КАНАЛЫ ЭЛЕКТРИЧЕСКОЙ СВЯЗИ. СИСТЕМЫ СВЯЗИ С ЧАСТОТНЫМ РАЗДЕЛЕНИЕМ КАНАЛОВ. ЦИФРОВЫЕ СИСТЕМЫ ПЕРЕДАЧИ
Лабораторные работы часа... Практические занятия часа... Всего аудиторных занятий часов...

Экспертные системы. Классификация экспертных систем. Разработка простейшей экспертной системы
Глава 2. Структура систем, основанных на знаниях. 1. Категории пользователей экспертных систем. 2.2. Подсистема приобретения знаний. 3. База… ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.

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

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

0.041
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам