LINUX.ORG.RU

40 лет UNIX

 ,


0

0

Ровно 40 лет назад, третьего ноября 1971 года вышла первая версия Unix Programmer's Manual, описывающая UNIX v1, первую версию операционной системы, которая оказала громадное влияние на все последующие ОС и на вычислительную технику в целом.
Языка C ещё не было, а UNIX уже была.

Многое изменилось с тех пор: сменились поколения вычислительной техники, от телетайпов перешли к терминалам с экранами, от мейнфреймов к персональным компьютерам, а UNIX продолжает жить в наших сердцах, да и системы, которые мы используем сегодня, имеют много общего с UNIX той поры.
Текстовый редактор ed популярен и по сей день, большая часть иерархии каталогов осталась прежней, такие конфигурационные файлы как /etc/passwd были и тогда. И восьмеричные права доступа, пусть они тогда и были только в двух цифрах (suid, executable, read for owner, write for owner, read for others, write for others).

>>> Подробности

★★★★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 4)
Ответ на: комментарий от Quasar

Этот костыль - именно костыль. Не приемлемый костыль. Нужна простая и прозрачная работа со всеми удалёнными ресурсами, включая прозрачную работу с железом удалённой машины. Это способна предоставить Inferno.

lucentcode ★★★★★
()
Ответ на: комментарий от Quasar

Так первая версия была на ассемблере, и её переписали на C, как и игру Space Travels. Они поняли, как важна простая кросс-платформеность в эпоху множества архитектур.

lucentcode ★★★★★
()
Ответ на: комментарий от Quasar

А суровые дядьки верят, что для работы:) Они просто книжек не читают...

lucentcode ★★★★★
()
Ответ на: комментарий от Quasar

Немного истории про ассемблер, эту игру и Unix. Я же кэп очевидность, я читал книгу о хакерах из MIT, и запомнил детали. Вики подтверждает. И про PDP-7, а не PDP-11. Язык C был избретён как раз для портирования на PDP-11 и последующие архитектры, в то время несовместимость старого и более нового железа была в порядке вещей, и ПО писалось конкретно под железяку. Fortran и PL/1 были первыми попытками преодолеть эту порочную практику, но не самыми низкоуровневыми и шустрыми, C оказался удачным кросс-платформенным ассемблером.

lucentcode ★★★★★
()
Ответ на: комментарий от Quasar

Некоторые концепции MULTICS, вроде разделения системы, и пере-конфигурации на лету, горячей замены любого железа и т.п. - не реализовано толком и теперь. Не в одной ОС. Это была уникальная ОС, опередившая по своим концепциям своё время на сотню лет. Такое понадобится в будущем, но не скоро. Разделение и слияние системы - очень мощная фишка. Попробуйте собрать и загрузить новоё ядро Linux без остановки работы сервера, и ребута. Сможете? Или выдернуть пяток процессоров? И вставить назад? Эффект какой будет? А оффтопик даже дрова многие без перезагрузки не может юзать, в 21 веке. Это позор.

lucentcode ★★★★★
()
Ответ на: комментарий от lucentcode

>Попробуйте собрать и загрузить новоё ядро Linux без остановки работы сервера, и ребута. Сможете?

это возможно.

Или выдернуть пяток процессоров? И вставить назад?

а с этим-то какие проблемы?

AVL2 ★★★★★
()
Ответ на: комментарий от Quasar

ru.wikipedia.org> Space Travel (рус. Космический полёт или Космическое путешествие) — компьютерная игра симулирующая путешествие по солнечной системе. Разработка этой игры, привела к созданию операционной системы Unix.[1][2]

ААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Поклоняюсь и нарекаю тебя мастером, че :)

pihter ★★★★★
()
Ответ на: комментарий от Ingwar

ну, если считать что у нее почти полный POSIX, вполне юниксовское микроядро Mach, файловая структура, и все юникс-атрибуты вроде shell и sed — то вполне совместимая.

BeOS, а за ней и Haiku, не ставила себе целью быть в чём-то похожей на Unix. Пользователь вообще не увидит в ней Unix, так как файловое представление информации извращено тэгированием и метаинформацией. Это как PalmOS, в которой нет файлов, но есть некая информация, привязанная к набору тэгов, и сассоциирована с определёнными приложениями, способными её обрабатывать — прямая противоположность файловому представлению в Unix и POSIX, где файл является структурообразующим элементом системы.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

>BeOS, а за ней и Haiku, не ставила себе целью быть в чём-то похожей на Unix.

то же самое можно сказать и о Mac OS X, к примеру.

Ingwar ★★★★★
()

Юникс костыль, Мультикс форева!!!

anonymous
()
Ответ на: комментарий от iZEN

> BeOS, а за ней и Haiku, не ставила себе целью быть в чём-то похожей на Unix.

ну да, а баш, терминал и gcc в DevKit из коробки — это так, особенности реализации.

Кстати, libstdc++ там по умолчанию не линкуется, потому что уже есть в ядре (libroot.so в Хайку или libbe.so в BeOS).

За исключением C++ API системы и драйверов (Сишечные сисколлы в Хайку реализованы через native C++ API), дефолтных библиотек и отсутствия LDD для динамических библиотек (этот беосный .so это не линуксовый гнусный динамический LDD, а встроенный в ядро лоадер) — что БеОСь, что Хайка оставляют дежа-вю ощущение какой-то BSD, с недопиленными учётками пользователей.

Если залазить в юзерленд, читать BeBook и писать на Be API, то ситуация меняется конечно, но не намного.

Пользователь вообще не увидит в ней Unix, так как файловое представление информации извращено тэгированием и метаинформацией.


Я конечно понимаю, что аналогичное FUSE в Be ядре сделано из коробки, плагином файловой системы, но вот логическое представление файловой системы там вполне обыкновенное. Разве что в Хайке мутят что-то с пакетным менеджером, пытаясь сделать адресацию по метаинформации, и таким образом, логическую адресацию поверх физической.

А теги и расширенные атрибуты достаются по запросам из трекера .

anonymous
()
Ответ на: комментарий от Quasar

Одна только организация виртуальной памяти в Мультикс чего стоит (ау, dz-шный Фантом!! всё уже придумано до нас, только с реализацией подкачали)

anonymous
()
Ответ на: комментарий от Ingwar

> ну, если считать что у нее почти полный POSIX,

если ты про гайку, а не про макось, то таки неполный. Каждый раз при портировании приходится вычищать калёным железом линуксизмы и переписывать на недоPOSIX. Хотя в репе есть тесты совместимости на POSIX, они как-то проходят.
С реальным софтом однако надо портировать, ну или — на локалхосте неспешно пилится elibgc под Хайку (gnu libc — это зело толсто по линуксизмам будет).

вполне юниксовское микроядро Mach,


Нету в Гайке Mach, нету — это не тебе макось. Тоже микроядро, но NewOS, сисколлов минимум, остальное через libc (поэтому портирование libc задача нетривиальная, хотя больше просто скучная). Гайка ближе всё-таки к гибриду, потому что это NewOS + native C++ Be API ядра + какая-то затычка вместо Libc.

anonymous
()
Ответ на: комментарий от dk2

>> После инста надолго подсел на оффтоп («персональных юниксов» тогда не было),

Это когда?


ну MS свой XENIX пилил вообще в ранние 80-е.

anonymous
()
Ответ на: комментарий от anonymous

>>Ритчи так и не увидел сороковой день рождения своего творения =(

И хорошо


на сороковой день уже закапывать пора, а вы — день рождения

anonymous
()
Ответ на: комментарий от Ingwar

>Сюрприз, у BeOS тоже было Mach-like микроядро.

Mach-like — не было. Тревис сразу решил, что делать всё через IDL и посылку сообщений, как в Mach — дикое УГ по производительности (и флейм хурдеров про Mach/L4/ViengoOS кагбе это подтверждает), и делал проще.

Там за референс дизайн бралась AmigaDOS / Exec / kickstart (1985 год) с её library (OpenLibrary, CloseLibrary) и вызовом функций через хендлы. Хендлы в Exec / AmigaDOS выдавались на списки, которые ну не plist как в MacOSX/NeXT (.nib), но что-то похоже, и всё системное API работало не со структурами, а со списками.

Почему и расширялось прозрачно.

А BeOS это по сути С++ -ный интерфейс ко всему этому и декоратор в виде BMessage этих амижных списков. Хендл = VTable из this указателя.

В Хайке, кстати уже больше захардкожено прямо в ядро, то есть Хайковый С++ native API ядра он менее ориентирован на BMessage, есть интринсики.

// Кстати, лучше бы на L4 переписали.. хотя сейчас NewOS / Haiku немного в другом направлении развивается, в более полную POSIX-совместимость

anonymous
()
Ответ на: комментарий от Nxx

> UNIX - это 1969 год. То, что мануал осилили написать только в 1971 не является поводом для юбилея.

ну как мануал писать без работающего ed и troff-а?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.