Максим Отставнов - Прикладные свободные программы и системы в школе
1
Первые десять «лекций» упомянутого цикла также публиковались отдельной брошюрой[73].
2
Пользуясь случаем, мы рады поблагодарить редакцию «Информатики» за возможность обратиться к широкой педагогической аудитории и, конечно же, всем читателям за отзывы, замечания и предложения, которые мы постарались учесть при подготовке этой книги.
3
Например, типичная цена одно-двухдискового дистрибутива российской сборки, включающего софт, достаточный для обеспечения школьной программы по информатике, не превышает трехсот рублей, в то время, как комплект из «Майкрософт Уиндоуз» и «Майкрософт Офис», покрывающий лишь часть программы, со всеми скидками обойдется не дешевле трех тысяч на каждое рабочее место.
4
В ноябре 2001 года, во время рабочей встречи «Свободное программное обеспечение», проведенной Высшей школой экономики и издательским домом «Компьютерра» в рамках разворачивания федеральной целевой программы «Электронная Россия»[74], было достигнуто принципиальное соглашение о том, чтобы учебные материалы, разработанные в ЦКТ МГИУ и касающиеся применения СПО в учебном процессе, были опубликованы также под свободной лицензией. И коллеги из МГИУ выполнили свое обещание, благодаря чему на их сайте можно найти учебник «Практическая информатика»[75] (также опубликован и выпущен в продажу в виде традиционного двухтомного издания).
5
В 2002 г. «Белл Лабз», подразделение «Эй-Ти-энд-Ти», занимающееся исследованиями и разработками, с какой-то целью релицензировало свободно одну из старых версию «Юникс», System 7, имеющую сегодня лишь историческое значение.
6
Следует также отметить, что зачастую недоступность технической документации скрывает различного рода подлоги и дезинформацию потребителя. Например для дешевого сканера с пластиковой механикой и слабой оптикой могут заявляться недостижимые в этом классе разрешение и цветопередача; при этом производитель «забудет» указать (или укажет мелким шрифтом), что они относятся не к работе самого устройства, а к результату программной интерполяции, выполняемой «закрытым» драйвером устройства. То же относится к заявляемой поддержке неправдоподобного количества протоколов дешевыми модемами и т.п.
7
Единым «концентратором» ссылок на сайты систем «БСД» является сайт www.bsd.org.
8
Ссылки на сайты большинства дистрибутивов «ГНУ/Линукс» можно найти на www.distrowatch.com.
9
Сборка системы на базе «Линукс» «с нуля» описана в книге Linux from Scratch (www.linuxfromscratch.org). Русский перевод можно найти на http://vnc.org.ua/lfsbook/.
10
Следует также понимать, что торговля коробками, как правило, не является основным бизнесом компании или команды, зарабатывающей чаще всего заказной разработкой и/или продажей услуг. Продажа коробок — низкорентабельные издательские проекты, в лучшем случае окупающие управление самим изданием.
11
Из русских публикаций в особенности отметим цикл статей Алексея Федорчука «Юникс для всех» (http://linuxshop.ru/unix4all/) и книгу: Алексей Федорчук, «Офис, графика, Web в Linux». — СПб.: BHV, 2001.
12
Ричард Столлмен. Руководство по GNU Emacs (тринадцатая редакция) — М.: Институт логики, 1999
13
Реально команды разработчиков этих двух дистрибутивов международные, как и большинства дистрибутивов, считающихся «зарубежными» по месту публикации.
14
Документация на издаваемые в России дистрибутивы ALT Linux и ASPLinux может быть найдена на http://docs.altlinux.ru и www.asplinux.ru/ru/docs, соответственно.
15
Во время подготовки книги к печати было объявлено о планах поглощения компании «SuSE» компанией «Новелл».
16
Промежутком также является знак табуляции, однако не следует применять табуляцию в этом качестве; большинство современных оболочек использует клавишу табуляции в интерактивном режиме особым способом. На самом деле, промежутком является и символ новой строки, который просто так ввести также не удастся, поскольку нажатие Enter означает ввод (передачу на исполнение) набранной команды.
17
По поводу приведенного примера заметим еще, что год «4» соответствует не две тысячи четвертому, и не тысяча девятьсот четвертому годам, а ровно четвертому году от Р.Х.
18
«By default», т.е. «при отказе» от явного указания параметров.
19
Сокр. от англ. manual — «руководство».
20
В документации, литературе и переписке часто имена команд ОС указываются с цифрой 1 в скобках, т.е. вместо «команда “link”» пишут «link(1)». Поскольку мы (почти) не обсуждаем сущностей, могущих оказаться омонимичными именам команд, мы такого соглашения не принимаем.
21
Нулевой символ не может быть так просто введен с клавиатуры, поэтому сейчас вам не нужно об этом беспокоиться.
22
Это первые предложения второго абзаца «Вечеров на хуторе близ Диканьки» Н.В.Гоголя.
23
Стандарт предусматривает также ключ «-u», обеспечивающий побайтное, а не построчное копирование, однако ввиду буферизации ввода-вывода терминалом большинства систем такое различие не будет заметно в нашем примере.
24
В восьмибитной (однобайтовой) кодировке. В кодировке UTF8 размер файла был бы почти в два раза больше, поскольку одному кириллическому символу в ней соответствует двухбайтовая (шестнадцатибитовая) последовательность.
25
Программистам дескрипторы 0, 1, 2 известны также как «STDIN», «STDOUT», «STDERR».
26
Команда может открывать и большее количество файлов ввода-вывода, но лишь три из них ассоциируются с терминалом автоматически при ее подаче.
27
Отсюда фольклорное название «битодробилка» и многочисленные шутки, касающиеся того, как бы могло выглядеть соответствующее устройство, выполненное «в железе», и как бороться с переполнением «/dev/null».
28
Также в строках вывода команды «ls -l» отсутствует поле «размер»; его место занимают пары чисел, называемых старшим и младшим номерами устройства (в данном случае «5, 1», «1, 3» и «5, 0»). Их значения зависят от конкретной реализации и интересны, как правило, администратору системы, но не обычному пользователю.
29
В большинстве реальных ситуаций пользователь работает не со стандартной оболочкой «sh», а с усовершенствованной оболочкой, такой как «bash» или «zsh», совместимой сверху вниз со стандартной. При этом команда «sh» может быть, в зависимости от конкретной ОС, либо синонимом такой усовершенствованной, либо также включенной в систему строго стандартной оболочкой.
30
От англ. «script» («сценарий»).
31
Это концепция так называемых «собственных групп», поддерживаемая во многих системах «ГНУ/Линукс».
32
В этом же поле отображаются и другие правомочия, которые мы не обсуждаем. В случае, если в этом поле присутствует другая буква, строчная буква (например, «s») означает исполняемый файл, а заглавная (например, «S») — неисполняемый.
33
Во многих системах крайне полезным оказывается определить особый режим для некоторых каталогов, при котором пользователь имеет право создавать в нем новые файлы, но удалять может лишь те, что принадлежат ему. Для этого стандарт предусматривает расширение набора прав, известное, как «липкий бит».
34
Именно поэтому метафора «папка» для каталога является неприемлемой.
35
Формальное определение стандарта гласит, что процесс — «Адресное пространство с одним или более витком, исполняющимся в нем, и системными ресурсами, необходимыми для исполнения этих витков». Виток (thread, поток) в свою очередь определяется как «поток управления». Понятие витка в этом курсе нам не понадобится, поскольку отдельные витки недоступны оператору оболочки. Хотя стандарт и определяет процесс через виток, понятие витка является менее фундаментальной позднейшей добавкой к концепции открытых ОС и, по мнению многих авторитетных аналитиков, является лишь средством повышения производительности.
36
В некоторых системах части кода ядра все же представлены в виде процессов, «усыновленных» инициализационным процессом.
37
Точность представления «снимка» в различных реализациях варьирует; так что не пугайтесь, если при подаче такой команды, допустим, ОС «Солярис», не увидите информации о «ps» — используемая при выводе таблица просто не успела обновиться.