Jump to content

Комментарий к операционной системе UNIX

Комментарий к операционной системе Unix
Брайан Керниган держит копию Lions's Commentary
Автор Джон Лайонс
Язык Английский; также доступен на китайском и японском языках
Предмет Юникс Операционная система
Жанр Информатика
Издатель Университет Нового Южного Уэльса
Дата публикации
1976
Место публикации
  • Австралия (оригинал)
  • США (переиздание 1996 г.)
ОКЛК 36099640
005.43
Класс ЛК КА 76.76 .O63 L56

Комментарий Джона Лайонса к шестому изданию операционной системы UNIX ( позже переиздан как «Комментарий Лайонса к шестому изданию UNIX»). [ 1 ] [ 2 ] и обычно называемая Львиной книгой ) является весьма влиятельным [ 3 ] Публикация 1976 года, содержащая аналитический комментарий к исходному коду « 6-го издания Unix компьютерной операционной системы резидентное ядро». [ 4 ] (т. е. ядро ) , а также копию, отформатированную и проиндексированную Lions, указанного исходного кода, полученного от авторов в AT&T Bell Labs .

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

Обычно считалось, что это самая копируемая книга по информатике . [ нужна ссылка ] Несмотря на свой возраст, книга Лайонса по-прежнему считается отличным комментарием к простому, высококачественному коду.

Последний раз работа Лайонса была переиздана в 1996 году издательством Peer-To-Peer Communications. [ 6 ] и был распространен, воссоздан или реконструирован различными способами в ряде средств массовой информации другими сторонами. [ 5 ]

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

Исходный код и комментарии были напечатаны в виде книги в 1977 году после того, как впервые были собраны в мае 1976 года в виде набора конспектов лекций. [ 4 ] Лайонса на курсы информатики (6.602B и 6.657G, упомянутые во введении к книге) в Университете Нового Южного Уэльса .

UNSW фактически получил исходный код UNIX в 1975 году в ответ на запрос Кена Робинсона в 1974 году Деннису Ритчи из Bell. [ 7 ] Bell Labs была дочерней компанией AT&T, на которую налагались ограничения из-за ее монопольного характера в качестве национального поставщика телекоммуникационной инфраструктуры, и ей не разрешалось вести бизнес в какой-либо другой области. [ нужна ссылка ] и поэтому не имел права получать прибыль от продажи программного обеспечения, [ нужна ссылка ] однако UNIX предоставлялась по лицензии другой дочерней компанией AT&T, Western Electric, по крайней мере, к 1977 году. [ нужны разъяснения ]

Группа пользователей UNIX, UNIX информационный бюллетень USENIX News , в марте 1977 года объявил о доступности книги для лицензиатов UNIX. [ 4 ]

Трудность успевать за популярностью книги привела к тому, что к 1978 году ее можно было приобрести только в AT&T Bell Labs . [ 8 ]

Когда AT&T анонсировала UNIX версии 7 на USENIX в июне 1979 года, академическая/исследовательская лицензия больше не позволяла автоматически использовать ее в классе. Однако тысячи студентов-компьютерщиков по всему миру распространяют фотокопии. Поскольку их не учили этому в классе, они иногда встречались в нерабочее время, чтобы обсудить книгу. Многие пионеры UNIX и открытого исходного кода имели ценные фотокопии нескольких поколений. [ нужна ссылка ]

Другими последствиями изменения лицензии стало Эндрю С. Таненбаумом создание Minix . Как писал Таненбаум в «Операционных системах» (1987):

Когда AT&T выпустила версию 7, она начала понимать, что UNIX является ценным коммерческим продуктом, поэтому выпустила версию 7 с лицензией, которая запрещала изучение исходного кода на курсах, чтобы не ставить под угрозу ее статус коммерческой тайны. Многие университеты подчинились этому, просто отказавшись от изучения UNIX и преподавая только теорию.

Различные представители UNIX, в частности Питер Х. Салус , Деннис Ритчи и Берни Гудхарт, в течение многих лет лоббировали различных владельцев Unix (AT&T, Novell , Santa Cruz Operation ) с целью разрешить официальную публикацию книги. В 1996 году операция Санта-Крус наконец санкционировала выпуск исходного кода 6-го издания двадцатилетней давности (вместе с исходным кодом других версий « Древней UNIX »), и полный код плюс версия комментариев 1977 года были опубликовано Peer-To-Peer Communications ( ISBN   978-1-57398-013-5 ). [ 6 ] Переиздание включает комментарии Майкла Тилсона (ШОС), Питера Салуса, Денниса Ритчи, Кена Томпсона , Питера Коллинсона, Грега Роуза, Майка О'Делла , Берни Гудхарта и Питера Рейнтьеса .

Содержание

[ редактировать ]
Комментарий Lions к 6-му изданию UNIX с переизданием исходного кода 1996 г. [ 6 ]

Шестой уровень исходного кода операционной системы UNIX — это исходный код ядра, слегка отредактированный Lions для лучшего разделения функций — инициализации системы и управления процессами, прерываний и системных вызовов, базового ввода-вывода, файловых систем, каналов и символьных устройств. Все процедуры и символы перечислены в алфавитном порядке с перекрестными ссылками.

Представленный код будет работать на PDP-11 /40 с дисководом RK05 , интерфейсом линейного принтера LP11, устройством записи на бумажную ленту PCL11 и терминальным интерфейсом KL11 или подходящим эмулятором PDP-11, например SIMH .

Комментарий к операционной системе UNIX начинается с примечаний по UNIX и другой полезной документации (страницы руководства UNIX, руководства по аппаратному обеспечению DEC и т. д.), раздела об архитектуре PDP-11 и главы о том, как читать на языке C. программы Далее следует комментарий к исходному коду, разделенный на те же разделы, что и код. Книга заканчивается предлагаемыми упражнениями для ученика.

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

«От вас не ожидается, что вы это поймете»

[ редактировать ]

Печально известный программный комментарий «Вы не должны это понимать» встречается в строке 2238 исходного кода ( Комментарий Львов , стр. 22) в конце комментария, объясняющего механизм обмена процессами. Это относится к строке 325 файла slp.c. [ 9 ] Исходный код гласит: [ 10 ] [ 11 ]

        /*
         * If the new process paused because it was
         * swapped out, set the stack level to the last call
         * to savu(u_ssav).  This means that the return
         * which is executed immediately after the call to aretu
         * actually returns from the last routine which did
         * the savu.
         *
         * You are not expected to understand this.
         */
        if(rp->p_flag&SSWAP) {
                rp->p_flag =& ~SSWAP;
                aretu(u.u_ssav);
        }

Основная причина, по которой этот фрагмент кода было трудно понять, заключалась в том, что он зависел от особенности способа, которым C-компилятор для PDP-11 сохранял регистры при вызовах процедур. Этот код не удалось перенести на другие машины, и его пришлось переработать в версии 7 UNIX . [ 12 ] Деннис Ритчи позже объяснил смысл этого замечания: [ 10 ]

«От вас не ждут этого понимания» было задумано как замечание в духе «Этого не будет на экзамене», а не как наглый вызов.

См. также

[ редактировать ]
  • xv6 — современная реализация Unix шестого издания.
  1. ^ Лайонс, Джон (1976–1977). Комментарий к шестому изданию операционной системы UNIX . Университет Нового Южного Уэльса: факультет компьютерных наук. OCLC   494684468 .
  2. ^ Шестой уровень исходного кода операционной системы Unix . Университет Нового Южного Уэльса: факультет компьютерных наук. 1976–1977. OCLC   494684460 .
  3. ^ Джонатан Корбет Брайан Керниган о происхождении Unix LWN.net. 17 января 2022 г.
  4. ^ Перейти обратно: а б с «НОВАЯ КНИГА» . Новости UNIX . УСЕНИКС. Март 1977 года.
  5. ^ Перейти обратно: а б Лихи, Грег (14 сентября 2015 г.). « Комментарий к шестому изданию операционной системы UNIX » . Грег Лихи, Уоррен Туми.
  6. ^ Перейти обратно: а б с Лайонс, Джон (1996). Комментарий Львов к шестому изданию UNIX с исходным кодом . Одноранговые коммуникации. ISBN  978-1-57398-013-5 .
  7. ^ Инженерный факультет UNSW, (декан) (18 сентября 2020 г.). «Вспоминая Кена Робинсона» . Университет Нового Южного Уэльса: Инженерное дело. Архивировано из оригинала 20 октября 2020 г.
  8. ^ Демон, GNU и Пингвин - Главы 2 и 3 ( Питер Х. Салус )
  9. ^ Кен Томпсон. "unix-history-repo/usr/sys/ken/slp.c" . Гитхаб . Проверено 12 октября 2018 г.
  10. ^ Перейти обратно: а б Деннис Ричи (22 июня 2002 г.). «Странные комментарии и странные действия в Unix» . Проверено 14 мая 2021 г.
  11. ^ https://swtch.com/unix/
  12. ^ Джонсон, Южная Каролина; Ричи, DM (1978). «Система разделения времени UNIX: переносимость программ C и системы UNIX» (PDF) . Технический журнал Bell System . 57 (6): 2021–2048. дои : 10.1002/j.1538-7305.1978.tb02141.x . S2CID   17510065 . Архивировано (PDF) из оригинала 9 октября 2022 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5254a8958df63cbfbd40b622a0fc5d3d__1718727180
URL1:https://arc.ask3.ru/arc/aa/52/3d/5254a8958df63cbfbd40b622a0fc5d3d.html
Заголовок, (Title) документа по адресу, URL1:
A Commentary on the UNIX Operating System - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)