Рейтинговые книги
Читем онлайн Искусство программирования для Unix - Эрик Реймонд

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

12

Кен Томпсон напомнил автору, что сегодняшние сотовые телефоны обладают большим объемом оперативной памяти, чем совокупный объем оперативной памяти и дискового пространства PDP-7. Большой диск в то время имел емкость меньше одного мегабайта.

13

Существует Web-версия списка часто задаваемых вопросов (FAQ) по PDP-компьютерам <http://www.faqs.org/faqs/dec-faq/pdp8>, в котором по-другому трактуется роль компьютера PDP-7 в истории.

14

Руководства по седьмой версии доступны на странице http://plan9.bell-labs.com/7thEdMan/index.html.

15

UUCP считалась великолепным средством, когда быстрый модем обеспечивал скорость 300 бод.

16

Серия PS/2, тем не менее, действительно оставила свой след в последующих компьютерах IBM PC — в этой серии мышь стала стандартным периферийным устройством. Именно поэтому разъем для подключения мыши на задней панели системного блока называется "PS/2-портом".

17

Игра "SPACEWAR" никак не была связана с игрой Кена Томпсона "Space Travel", кроме того, что обе они привлекали поклонников научно-технической фантастики.

18

Современные и исторические графики рыночных долей Web-серверов доступны в ежемесячном обзоре "Netcraft Web Server Survey" по адресу <http://www.netcraft.com/survey/>.

19

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

20

Периодические прерывания от аппаратного таймера (periodic clock interrupt) необходимы в виде тактовых импульсов для системы разделения времени. В каждом такте таймер сообщает системе о том, что можно переключиться на другую задачу, определяя длительность кванта времени. В настоящее время Unix-системы настроены на 60 или 100 тактовых импульсов в секунду.

21

Для обозначения этого подхода в настоящее время используется новомодное понятие система безопасности на основе ролей (role-based security).

22

Данная проблема весьма серьезно рассматривалась в корпорации Microsoft в ходе перестройки службы Hotmail. См. [7].

23

Более подробный анализ технических характеристик различных операционных систем приведен на Web-сайте OSData <http://www.osdatа.com/>.

24

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

25

Подробности данного процесса описаны в статье Маршала Кирка Маккьюзика в [56].

26

Более подробная информация доступна на Web-сайте OpenVMS.org <http://www.openvms.org>

27

MacOS фактически состоит из двух частных уровней (перенесенные приложения OpenStep и классические GUI-интерфейсы Macintosh) поверх Unix-основы с открытым исходным кодом (проект Darwin).

28

Возвращаясь к вопросу о части технологии Amiga, IBM предоставила компании Commodore лицензию на свой язык сценариев REXX. Данная сделка описана на странице http://www.os2bbs.com/os2news/OS2Warp. html.

29

Адрес портала AmigaOS: <http://os.amiga.com/>.

30

Операционная система GEM <http://geocities.com/SiliconValley/Vista/6148/gem.htm>.

31

В качестве примера рекомендуются сайта OS Voice <http://www.os2voice.org/> и OS/2 BBS.COM <http://www.os2bbs.com/>.

32

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

33

http://security.tombom.со.uk/shatter.html

34

16 Корпорация Microsoft в марте 2003 года фактически публично признала, что NT-безопасность невозможна. См. Web-страницу http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS03-010.asp.

35

17 Проблема DLL hell в некоторой степени "смягчена" структурой разработки .NET, в которой осуществляется контроль версий, однако по состоянию на 2003 год технология .NET поставлялась только в профессиональные серверные версии Windows NT.

36

18 Технология Cygwin в значительной мере согласована с Единым стандартом Unix (Single Unix Specification), однако программы, требующие непосредственного доступа к аппаратным ресурсам, запускаются с ограничениями в ядре поддерживающей их Windows-системы. Так, широко известны проблемы с Ethernet-платами.

37

http://www.cbttape.org/cdrom.htm

38

Опытной машиной и первоначальной целью был компьютер серии 40 с измененным микрокодом, однако он оказался недостаточно мощным; действующая система была реализована на компьютере 360/67.

39

Результаты Linux-стратегии эмуляции и поглощения заметно отличаются от практики захвата и расширения, характерной для некоторых се конкурентов. Для начинающих: Linux не нарушает совместимости с тем, что эмулирует, и таким образом не привязывает клиентов к "расширенной" версии.

40

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

41

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

42

В основном труде по рассматриваемой теме, а именно "Refactoring" [21], автор фактически указывает, что принципиальная цель рефакторинга состоит в усилении ортогональности. Однако ввиду недостаточно развитой концепции он может только аппроксимировать данную идею из необходимости устранения дублирования кода и других нежелательных явлений, многие из которых являются следствием нарушения ортогональности.

43

Типичным примером плохой организации кэширования является директива rehash в csh(1); введите man 1 csh для получения более подробных сведений. Другой пример приведен в разделе 12.4.3.

44

Последний пример "переплетения" Unix и Дзэн приведен в приложении Г.

45

Архитектурный выбор порядка интерпретации битов в машинном слове — "обратный" и "прямой" (big-endian и little-endian). Хотя канонический адрес отсутствует, поиск в Web по фразе "On Holy Wars and a Plea for Peace" позволит найти классическую и интересную статью по данной теме.

46

Широко распространенное мнение о том, что автоинкрементная и автодекрементная функции вошли в С, поскольку они представляли машинные команды PDP-11, — это не более чем миф. Согласно воспоминаниям Денниса Ритчи, данные операции были предусмотрены в предшествующем языке В еще до появления PDP-11.

47

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

48

Много лет назад я узнал из книги Кернигана и Плоджера "The Elements of Programming Style" полезное правило: писать однострочный комментарий немедленно после прототипа функции, причем для вся без исключения функций.

49

Простейший способ сбора данных сведений заключается в анализе тег-файлов, сгенерированных с помощью таких утилит, как etags(1) или ctags(1).

50

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

51

Файлы паролей обычно считываются один раз в течение пользовательского сеанса во время регистрации в системе, а после этого иногда утилитами файловой системы, такими как ls(1), которые должны преобразовывать числовые идентификаторы пользователей и групп в имена.

На этой странице вы можете бесплатно читать книгу Искусство программирования для Unix - Эрик Реймонд бесплатно.
Похожие на Искусство программирования для Unix - Эрик Реймонд книги

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