Почему 'umount' не записан 'размонтирование'?

Я обычно использую следующие два:

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

  2. daemontools: набор инструментов для руководящих сервисов UNIX

65
30.08.2011, 19:54
3 ответа

Это датируется полностью назад к самому первому выпуску Unix, где все стандартные имена файлов были только самое большее 6 символами долго (думать passwd), даже при том, что эта версия поддерживала кричащий 8 символов в имени файла. Большинство команд имело связанный исходный файл, заканчивающийся в .c (например. umount.c), который оставил только 6 символов для базового имени.

Ограничение с 6 символами, возможно, также было пережитком от более ранней версии разработки или наследовалось тогдашней текущей системе IBM, которая действительно имела ограничение с 6 символами. (Ранние реализации C имели предел с 6 символами на идентификаторы — более длительные идентификаторы были приняты, но компилятор только посмотрел на первые 6 символов, таким образом, foobar1 и foobar2 была та же переменная.)

(Я думал, что помнил a umount страница справочника, которая перечислила написание как ошибку неизвестного источника, но я не могу найти его теперь.)

79
27.01.2020, 19:32
  • 1
    6 + .c (или .s) расширение = 8 символьных пределов имени файла. –  geekosaur 21.03.2011, 23:25
  • 2
    @geekosaur: А-ч, право, исходный файл. Если Вы запишете ответ, то я удалю мой. –  Gilles 'SO- stop being evil' 21.03.2011, 23:37
  • 3
    Enh, просто аннотируйте его, если Вы хотите. –  geekosaur 21.03.2011, 23:38
  • 4
    @geekosaur: Я думал о странице справочника, также, но V1 не сделал, чтобы человек управлял (и одну из страниц справочника называют directory, который еще не имел бы соответствия). Так интересно почему passwd было усеченным к 6 символам (не было a passwd управляйте все же также, просто /etc/passwd). –  Gilles 'SO- stop being evil' 22.03.2011, 00:52
  • 5
    Возможно, это из-за греческого суффикса οὐ, что означает "не", который также объяснил бы urandom –  Anthony Garcia 02.06.2016, 17:04

По той же причине creat системный вызов не записан create ?

https://stackoverflow.com/questions/1713457/what-did-ken-thompson-mean-when-he-said-id-spell-create-with-an-e

-1
27.01.2020, 19:32
  • 1
    смысла Нет. Сожаление в кавычке, на которую Вы ссылаетесь, - то, потому что они, возможно, добавили 'e' даже несмотря на 6 символьных пределов, обсуждаемых в другом ответе. Действительно нет никакого серьезного основания для него, чтобы быть усеченным, в отличие от этого, с umount. –  Warren Young 22.03.2011, 04:50
  • 2
    я предполагаю к тому времени это, был традицией для усечения букв, если Вы могли. спасибо вам обоим –  Shadur 22.03.2011, 10:00

Похоже, здесь уже давно сидит некоторая неверная информация.

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

Вероятная причина того, что системный вызов unmount, имеющий имя umount () , заключается в том, что ранние компоновщики ограничивали длину внешних идентификаторов до 6 символов (только для одного случая) на некоторых типах систем (и в то время имело смысл поддерживать совместимость с такими инструментами), а «umount» - это логическая форма сокращения от «unmount». См. Страницу 179 первого издания The C Programming Language для получения списка характеристик внешнего идентификатора различных систем, представляющих интерес на момент публикации.

Отметим также, что ранние компиляторы C считали первые 8 символов идентификатора значимыми, но позволяли идентификаторам быть длиннее. (K&R стр. 33)

Обратите внимание, что длина идентификаторов в таблицах символов ничего не имеет прямого отношения к длине имени файла, по крайней мере, не в пределах Unix (таблицы символов Unix, начиная с версии V1, имеют 8 символов для идентификаторы, хотя в руководстве V1 отмечается, что ассемблер " генерирует символы размером не более 7 байтов " ).

8
27.01.2020, 19:32

Теги

Похожие вопросы