LINUX.ORG.RU

Нашлась единственная уцелевшая копия ОС Unix v4

 , ,


2

3

В школе вычислительной техники при Университете Юты (США) нашли и восстановили магнитную ленту, на которой оказалась единственная из известных копий операционной системы Unix v4 — первой, чьё ядро, драйверы и основные утилиты были написаны на новомодном в те времена языке C.

Восстановленные данные заняли всего 40 Мбайт — они доступны для скачивания вместе с инструкцией по запуску ОС. Unix v4 работал на продвинутом по тем временам мини-компьютере DEC PDP-11, который эмулировали при помощи SimH. На момент выпуска система оставалась экспериментальным проектом.

>>> Анонс

>>> Исходные тексты

anonymous

Проверено: hobbit ()
Последнее исправление: CrX (всего исправлений: 3)

Я за либерализм в C, пишите, как хотите. Так как вам удобнее. Никто вам не указ. Вы творец.

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

дохлые Ryzen на Авито покупают периодически вместо рабочих

Было что-то кроме 5800x3d? А то у меня один кирпич уже лежит)

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от I-Love-Microsoft

Да. Шелл был другой, символы другие, принципы те же.

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

Принципиально другой. K&R - действительно макроассемблер

Ну не совсем. Но очень близко к этому. Наследник BCPL.

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

у меня был самособранный контроллер для спектрума на обычном заводском ВГ93, работал нормально. но БП у меня тоже был свой, на Веговском трансе и я очень тщательно настраивал, чтобы все напряжения были меньше 5% отклонения. дисководы были Teac на 800кб, купленные по случаю по дешману т.к. нафиг никому не были нужны, котировались только 360 (SD), либо 1.2 (HD) ибо уже пошли писюки даже и с косыми.

слова Ленина386 подтверждаю

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

Из положительных моментов — таки НЖМД могут храниться по сто лет.

А прошивки в их контроллерах лет 40-50, максимум.

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

Я не слышал про них лет 10-15

Ну тут ты больше прав. На самом деле судьба ско была странноватой. И я, откровенно говоря сам запутался и был несколько не прав, заявляя, что они еще живы. Дело в том, что этих sco было аж 2 штуки. И последняя благополучно сдохла окончательно в 2021 году, а я как-то упустил этот момент :)

DrRulez ★★★★★
()

А прошло-то всего ничего. Представители следующей цивилизации не найдут от нашей вообще ни черта, кроме остатков железобетонных коробок.

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

Нет, товарищ. Нет. Ясный ум и трезвая память. У меня и сейчас контроллеры на ВГ93 есть, работают. Видео - по запросу.

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

Представители следующей цивилизации не найдут от нашей вообще ни черта, кроме остатков железобетонных коробок.

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

В конце концов их труды будут вознаграждены. Этими, чудом сохранившимися письменами окажется архив LOR. После долгого изучения ученые и политики придут к выводу, что именно это послужило последней каплей к общемировой ядерной катастрофе ! :)

DrRulez ★★★★★
()
Последнее исправление: DrRulez (всего исправлений: 1)
Ответ на: комментарий от uart

void вполне себе возвращаемый тип:

Это только в C++ формально разрешено.

$ cc --ansi --pedantic -c test.c 
test.c: In function ‘b’:
test.c:7:12: warning: ISO C forbids ‘return’ with expression, in function returning void [-Wpedantic]
    7 |     return a();

И всё равно этот void нельзя никуда воткнуть. В отличие от unit в других языках, где это настоящий тип.

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

Помимо 5800, проблемные Ryzen 9 5900X, Ryzen 9 5950X, Ryzen 7 9800X3D, Ryzen 9 9950X3D. Список нейросеть выдала по открытым источникам, надеюсь нет фактологических ошибок, короче топовые

Имеющийся у меня AMD Ryzen 5 2600 к счастью в список ненадежных моделей не входит

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Ryzen 9 5900X, Ryzen 9 5950X

А они тут каким боком!? Проблема же в жирном кеше, который много жрет.

Список нейросеть выдала по открытым источникам

Процессоры AMD Ryzen 9 5950X не являются «умирающими» в плане массовых отказов — это мощные, хоть и не самые новые, чипы, которые остаются актуальными, особенно для рабочих задач благодаря 16 ядрам, но в играх уступают более новым моделям с 3D V-Cache (например, 5800X3D) и процессорам на платформе AM5 . (c)(r)(tm)Гуглошит.

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

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от I-Love-Microsoft

Имеющийся у меня AMD Ryzen 5 2600 к счастью в список ненадежных моделей не входит

5700x3d — тоже.

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

Вот и начинается. Дегроды из калосеток тянут дезинфу

Прикол в том что часть отказов от перегрева, а часть перечисленных брак на уровне производства. Мой запрос был какие вообще не надежны, а не дохнут от нагрузок. То есть информация не ошибочна оказалась

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от mumpster

Ну отлично, Я тоже с этого начал, когда у меня появился личный Pro 380. У него есть пультовый режим. Только я не понял, зачем записывать эту команду на два байта ниже начала страницы ввода-вывода? Меня это удивило. И да, Макро-11 действительно прекрасен. Мотороловский 68к был хорошим.

хотя PPC asm может с ним поспорить

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

После пидипишного, все RISC-подобные ассемблеры кажутся на него похожими. Альфовый, кстати, такой же ортогональный с поправкой на то, что на альфе счетчик команд не доступен. А так отличный ассемблер, трехадресный, как в учебнике.

Да и ARMовский вполне себе понимаем.

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

типов функции нет ... include нет, ну и return для слабаков

Нет, или не использовали? return() и тип функции встречается в find.c. А в исходниках компилятора встречается include. Просто особого смыла в include не было, в include-файлы пихали описания структур, define и глобальные переменные. Не было прототипов функций. Если вся программа в одном файле, то инклудить нечего.

Судя по коду не было typedef и, следовательно, указателей на функции не было, так как их сначала можно было только через typedef определять.

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

даже с std=c89

А как c89 поможет с K&R-с разобраться? Нужно искать K&R-компилятор. Но, что хуже, как-бы стандарт K&R — это 1978 год, а здесь 1974, вроде. Поэтому и может этот код можно будет собрать только этим компилятором.

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

практика сдачи целых машзалов

Ну, скорее всего, они просто раньше научились наносить золото очень тонким слоем. У нас ведь только по началу хватали машзалы не глядя. Потом научились смотреть на даты выпуска, место производства. Когда тонкая позолота, мало интереса это всё курочить.

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

Отличия не в include, там вобще можно было творить такое:

#include <stdio.h>

struct A {
  int x;
  int y;
};

struct B {
  int w;
  int z;
};

int main() {
  struct A a;
  struct B *bp;
  a.x = 1;
  a.y = 2;
  bp = &a;
  printf("%d\n", bp->x);
}

Типа, имена полей структур глобальный, поэтому не важно, что в struct B нет поля x, будет взято смещение поля x из struct A. https://sbaziotis.com/compilers/having-fun-with-k-and-r-c.html

На этом фоне меркнет длина имени переменной в 8 символов и инициализация без знака равно:

int symsiz 200;

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

и инициализация без знака равно:

Код на C++ потихоньку обновляют, а оно всего лишь back to the roots!

-	VkFramebufferCreateInfo frameBufferCreateInfo = {};
+	VkFramebufferCreateInfo frameBufferCreateInfo{};

https://github.com/SaschaWillems/Vulkan/commit/fc0e2341f31fcb76a59fd57c4e0efae554492372

gag ★★★★★
()
Последнее исправление: gag (всего исправлений: 1)

40мб для тех времен, по моему, слишком уж дофига.

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

Хотя, суда по картинке под новостью, его они где-то нашли.

В сентябре 2005-го видел что-то подобное в Библиотеке Конгресса... Может, спёрли позаимствoвали там??.. ;))

Somebody ★★★★
()
Последнее исправление: Somebody (всего исправлений: 1)
Ответ на: комментарий от Somebody

Был хороший эмулятор PDP-11 под мсдос, если кто не понял :)

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

Вроде в Калифорнийском музее вычислительной техники. Тут уже коллеги выяснили. Там много чего в рабочем состоянии поддерживается. Это тебе не наш политех, где массово-габаритные макеты в основном :)

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

поправкой на то, что на альфе счетчик команд не доступен

на PPC кстати из-за этого странновато выглядит обычное действие по установке стека при вызове функции. я сперва долго въезжал, что это за странная конструкция (код был сишный, но прога сама недоступна ибо прошивка):

95fc:       42 9f 00 05     bcl     20,4*cr7+so,9600 <entrypoint@@Base+0x18>  
9600:       7f c8 02 a6     mflr    r30  
9604:       80 1e ff e4     lwz     r0,-28(r30)  
9608:       7f c0 f2 14     add     r30,r0,r30
mumpster ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Ryzen 7 9800X3D

есть аномальное кол-во горелых 9800x3d конкретно на материнках ASRock

в целом же стата в пределах нормы, 12900k-14900k горят сильно активнее

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

Вроде в Калифорнийском музее вычислительной техники.

Если так, значит, ошибся я...

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

Ну самое простое - у тебя есть 2 переменные, a и b. Есть цикл (пофиг какой вообще) и скажем, в цикле какие-то условия, где надо a и b менять местами. Вот, вместо того чтоб сделать переменную c для обмена значениями вне цикла, её многие в цикле делают (да и зачем она вне цикла то, вроде не требуется), а c может и не переменная вовсе, а класс или вообще какая-то дичь из фреймворка вроде джавовского Spring-а создание которой тянет за собой кучу всего незаметно фоном, который совсем дорого создавать. Но оно и так сойдёт как костыль, тем более компиляторы нынче вроде как умные, а компьютеры быстрые, ну и можно же в динамике джава инстансы поднимать за каким-то энжиниксом, если всё лагает и юзеры кладут бэк.

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

Я чот не понял, по адресу 95fc условный переход куда? На следующую инструкцию? Как-то заморочено получается. И да, походу это не установка стека при вызове функции, а клинап после вызова. Тут не ассемблер смотреть надо, а ABI. Я на вскидку не понимаю, как используется регистр связи, содержимое которого грузится в r30 в строке 9600 и что лежит по оффсету -28(r30) ?

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

Тут ещё вопрос упихается ли компилятор в 64k сегмент если добавить прототипы функций. bcc, который ни разу не c89, с какой-то версии перестаёт влезать (ну правда на i286 я опыты проводил).

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

Я тоже помню i286. Помню, например, как там тормозил борландовский Си (именно Си, не плюсы) с прототипами и header-ами. А вот борландовский же Турбо Паскаль, у которого вместо препроцессорных костылей были настоящие модули, работал куда более шустро и предсказуемо.

Но это уже, конечно, не про 64к.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от pihter

Вот про такие истории и говорят «слишком тонко».

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

я же написал: «странновато выглядит обычное действие по установке стека при вызове функции.»

по адресу 0x95fc не простой условный переход (branch conditional), а условный переход со связыванием (сиречь вызов подпрограммы известной в x86 как call, с занесением в Link Reg. адреса возврата) т.е. bcl - это branch link + conditional в отличие от просто bl. а итог выполнения - идёт в cr7, по факту - /dev/null )) в r30 да, ссылка на текущий адрес 0x9600-0x28 - ячейку, где хранится ссылка-смещение на область передаваемых параметров. ABI естественно не описано, это прошивка.

я долго над этим медитировал пока не почитал комменты на stackoveflowб etc. что это так загрузка параметров сделана через одно место в ppc.

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

тащемтя я грил про Macro-11! можете пройти по ссылкам и убедиться.

а про PPC я сказал, что странно выглядит простейшая операция установки рабочего адреса стека для переменных.

и что по некрасивости с x86 asm может поспорить ppcшный.

а, понял, мою фразу можно трактовать двояко. я хотел сказать, что ppc и asm и устройство - несколько странные и местами - некрасивые. ARM - точно проще, логичнее и красивее! сравни:

0000000000039720 <main@@Base>:
39720: a9bd7bfd stp x29, x30, [sp, #-48]!
39724: 910003fd mov x29, sp

mumpster ★★★★★
()
Последнее исправление: mumpster (всего исправлений: 1)
Ответ на: комментарий от hobbit

Особенно если диск медленный – каждый заголовочный файл звучал своим особенным хрустом.

Я кстати нашёл порт PCC для i286 где-то середины 80х с поддержкой сегментов, но он выплёвывает какой-то свой ассемблер с мнемониками из pdp-11, несовместимый с ack или борландом, а сам ассемблер выплёвывает a.out который несовместим с миниксовским ld. В этом плане bcc конечно смотрится куда как более интересный компилятор для моих экспериментов, даже с рудиментарной поддержкой прототипов функций.

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

В этом плане bcc конечно смотрится куда как более интересный компилятор для моих экспериментов, даже с рудиментарной поддержкой прототипов функций.

а c86 под elks который не подошёл?

https://github.com/ghaerr/8086-toolchain

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

Интересно попробовать. Я думал они bcc используют, но времена меняются. От Брюса Эванса получается только линекер да ассемблер остались.

luke ★★★★★
()
Последнее исправление: luke (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.