LINUX.ORG.RU
ФорумTalks

Да что вы знаете о некромантии

 ,


2

2

YouTube-блогер MattKC сумел портировать в Windows 95 тысячи современных приложений. Для этого ему пришлось обеспечить совместимость устаревшей операционной системы с фреймворком .NET, чего на момент её актуальности сделано разработчиками не было. Совместимость с фреймворком позволила запустить в Windows 95 тысячи приложений, которые прежде работать в ОС отказывались.

Блогер рассказал о результатах проделанной работы в 51-минутном видео. Любопытно, что для нормальной работы фреймворка в Windows 95 было недостаточно просто скопировать недостающие библиотеки из Windows 98. Энтузиасту пришлось внести множество правок в реестр операционной системы, в общей сложности он добавил 5409 ключей реестра.

Однако и этого оказалось недостаточно. Дело в том, что для нормальной работы .NET необходим системный компонент ndphlpr, который также отсутствует в Windows 98. Энтузиаст заставил систему «думать», что указанный компонент присутствует, после чего фреймворк начал работать, но не слишком стабильно. В дополнение к этому для повышения стабильности энтузиаст внёс ещё несколько изменений, связанных с самим фреймворком, а также библиотекой user32.dll.

Напомним, период поддержки Windows 95 закончился очень давно, поскольку эта версия программной платформы вышла в свет ещё в 1995 году. Поэтому проделанная MattKC работа вряд ли заинтересует большое количество пользователей. Тем не менее, по всему миру можно найти немало энтузиастов, которые продолжают изучать и модифицировать устаревшее программное обеспечение.

https://3dnews.ru/1103295/entuziast-portiroval-v-windows-95-tisyachi-sovremennih-prilogeniy

Линукс тут как водится не причём, а .net типа открытый. Вот мужик не спрашивал на лоре что ему написать на си, а сел и написал.

★★★★★
Ответ на: комментарий от Ygor

Отлично помню 2006 и дикий эксплоит который ронял любую XP SP2 в подсетке.

2006 верю. Но это уже не эпоха 9x.

99-00.

Не помню новостей о массовых заражениях/ботнетах тех лет. Скорее всего проекция из более поздних времён. У меня в тот момент основной вируснёй был OneHalf, который с завидной постоянностью кто-то приносил на машины для старых DOS лаб.

ВЫ ВСЕ ВРЁТИ

Ну так не только я вам выше указал, что вы сииильно сгущаете краски.

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

Кстати, не такое уж редкое явление в то время.

О, у меня свои офигительные истории есть. Класс компов с одинаковой начинкой. На всех одинаковая NT4. Одинаковый Photoshop 7. Но на одном компе, если делать заливку холста так, чтобы заливка коснулась края изображения - комп немедленно виснет. Не синий экран, а зависон. Только на этом компе. Только в этой программе. Только в этой операции. И если перед заливкой наажть Ctrl+A, т.е. «ограничить» область заливки размером изображения - не зависнет. Я так и не узнал почему так было.

Домашний комп. Linux + венда. Случайные зависания в случайные моменты. Причину искал 3 года. За это время (начало нулевых), поскольку железо было куда дешевле и устаревало быстрее - обновил 100% начинки компа. Процессор, мать с памятью, видюху, диски, блок питания... Проблема ушла только когда сменил корпус. Видать коротил где-то на мать.

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

Да, ну? Для меня вот в своё время было шоком, когда старшие товарищи показали, как в венде 95/NT4 можно управлять всем только с клавы. Как легко и быстро можно было добраться до любого элемента. Управлять окнами, иконками рабочего стола, свойства файлов, попасть на иконку в трее... Куда угодно.

Как раз после этого проникся уважением к дизайнерам.

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

Управлять окнами, иконками рабочего стола, свойства файлов, попасть на иконку в трее… Куда угодно.Как раз после этого проникся уважением к дизайнерам.

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

А я говорил о прикладном софте под виндами. И вот там с клавиатурным управление всё намного хуже.

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

Это тоже ошибки памяти/кэша. Когда я в то время добыл тест памяти «QMT» - он стал их показывать. Потом уже memtest86 появился,он еще лучше ошибки памяти ловит. Еще для кэша был Celem Cache Test - тоже хорош.

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

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

Это чтобы коллизий не было. Стрелки могут использоваться активным элементом. Хотя всегда можно было бы что-нибудь улучшить. Например Tab+стрелки...

А я говорил о прикладном софте под виндами. И вот там с клавиатурным управление всё намного хуже.

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

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

Это чтобы коллизий не было.

В интерфейсах программ под ДОС как-то с коллизиями проблем небыло. Как пример удобного устройства диалоговых окон - Norton Commander, Dos Navigator - это из общеизвестного. Смотреть на диалог настроек например. Там как раз много разных элементов. Несколько менее известен очень удобный текстовый редактор MultiEdit (версии до 6.01). Диалоги очень удобные.

А вот это и заставило любить гайдлайны.

В общем случае я с вами согласен. Но гайдлайны бывают и неудачные. В частности вот это «прощелкивание» элементов диалога табом - это из древнего гайдлайна от IBM. Назывался Common User Access, выпущен в 87 году.

Сейчас бы тому же Дос Навигатору перерисовать морду в современной графике вместо текстовых рамочек,оставив абсолютно всё управление как было - вот была бы вещь! Кстати,в виндах примерно это и сделали - получился Total Commander. В линуксе попытались сделать Double Commander но клавиатурное управление нормально не смогли.

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

В интерфейсах программ под ДОС как-то с коллизиями проблем небыло.

Ну потому что там не особо часто встречались элементы вроде «блок текста с прокруткой» или spinedit, когда нажимая вверх/вниз можно менять значение на фиксированный шаг, или выпадающих списков, открывающихся по стрелке вниз, или фрейма, блока с элементами управления и полосами прокрутки.

Я плохо помню уже DOS, но кажется много где выбор активного элемента требовалась подтверждать enter'ом.

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

Я плохо помню уже DOS

Я помню достаточно хорошо. Я в нем программистом работал,за хорошую зарплату :)

много где выбор активного элемента требовалась подтверждать enter’ом.

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

элементы вроде «блок текста с прокруткой» или spinedit или выпадающих списков, открывающихся по стрелке вниз

Отлично работают с входом по enter. Причем если выход esc/enter то добавляется возможность отказаться от изменений если передумал,нажав esc. Кстати,если поле текстовое или цифровое то вход в режим ввода/редактирования был и без энтера,просто по первому нажатию алфавитно-цифровых клавиш.

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

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

Для работы «длинными» указателями в виде селектор:смещение нужно будет городить непортабельный велосипед.

Если писать по стандарту С, то проблем с переносимостью не будет.

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

Если писать по стандарту С, то проблем с переносимостью не будет.

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

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

Угу, особенно не будет проблем с ассемблерными вставками…

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

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

Дык там нет проблем. Там есть 128-битные регистры.

А вот длинный указатель состоящий из двух частей которые нужно загружать раздельно - это звездец.

адресная арифметика длинных указателей тоже должна вызывать головную боль.

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

А вот длинный указатель состоящий из двух частей которые нужно загружать раздельно - это звездец.

Тридцать лет назад с этим вполне справлялся микрософтовский компилятор Си, собиравший код под дос-экстендер где вся эта сегментная механика отлично работала. А вот GCC как тогда не умел так не умеет и сейчас. У него тогда даже свой собственный дос-экстендер был без поддержки работы с сегментами.

адресная арифметика длинных указателей тоже должна вызывать головную боль.

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

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

уже на этом этапе Win2000 была полноценной виндой, объединяющей оба продукта

Просто пятый сервиспак для винтукея был бы перебором и маркетинговый отдел решил что внешних изменений достатрчно чтоб обозвать его ХП

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

Надеюсь, что для создателей 286-го процессора в аду есть отдельный котёл! 386-й и выше были вынуждены ориентироваться на всё говно из 286-го.

Я сейчас с отвращением вспоминаю работу через дос-экстендер. Это такой адский набор костылей!

Господи! Как хорошо, что это дерьмо не стали реализовывать в gcc!

Господи! Как хорошо, что я быстро свалил на linux, т.к. дос и оффтопик в те времена не умели работать с сетями.

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

Я сейчас с отвращением вспоминаю работу через дос-экстендер. Это такой адский набор костылей!

Безусловно согласен что дос-экстендер это набор костылей. Но практически неизбежных при тех ограниченных объемах памяти куда не влезали нормальные ОС. А вот в OS/2 уже тех костылей небыло. При этом возможность использования сегментного механизма - была! Всё же внутрипрограммная защита памяти - это круто при правильном ее использовании. Хорошо помогает от разного рода ошибок,связанных с неправильным обращением к памяти. Это и невозможность записи за границу буферов,и невозможность исполнения данных как кода и невозможность передачи управления в случайное произвольное место . К сожалению, у OS/2 было всё плохо с ассортиментом поддерживаемого железа,поэтому там где я тогда работал от ее использования отказались. А потом я на линукс свалил потому что альтернативой были винды,куда я совсем сильно не хотел.

watchcat382
()
Последнее исправление: watchcat382 (всего исправлений: 2)

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

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

Win 3.11 падал. DOS просто зависал без красивых окошек.

Win 3.11 тоже зависал без красивых окошек.

Только Win 3.11 пользовалось меньше народу. И использовало меньше софта.

Ну да... конечно...

Вся линейка NT падала только или по кривому железу или по кривым драйверам.

Не только. Но если сравнивать с оболочками, то конечно NT стабильнее в разы.

В 98se появился ie - но выходить в интернет было нельзя, вирусы залетали моментально.

IE3 начал поставляться вместе с 95 OS2.

Дополню. И осла не любили совсем не из-за вирей, неудобная забагованная хрень была.

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

Отлично помню 2006 и дикий эксплоит который ронял любую XP SP2 в подсетке.

Ну Lovsan появился «чутка» пораньше 2006-го и ронял он не только ХРюшу.

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

У меня в тот момент основной вируснёй был OneHalf, который с завидной постоянностью кто-то приносил на машины для старых DOS лаб.

Проверяться надо было :) У нас в институте усе съемные носители только через админов проходили. :)

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

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

А если этот элемент управления что-то типа однострочного поля ввода текста, тоже стрелками?

А я говорил о прикладном софте под виндами. И вот там с клавиатурным управление всё намного хуже.

Это уж как барин кодер написал, так оно и получилось.

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

Хотя всегда можно было бы что-нибудь улучшить. Например Tab+стрелки...

Это две руки запользовать придется, а tab, shift-tab одной нажимается.

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

В линуксе попытались сделать Double Commander но клавиатурное управление нормально не смогли.
В линуксе

даавно есть mc

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

и маркетинговый отдел решил что внешних изменений достатрчно чтоб обозвать его ХП

Не, в хрюше в первую очередь добавили «параллельную» загрузку. И из-за того, что десктоп появлялся очень быстро, хомяки просто кипятком писали. А пока хомяк писался от счастья и остальное догрузиться успевало :)
Ну и плюс сговор с производителями железа, которые дровишки под 2к на отлюбись делать стали.

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

Господи! Как хорошо, что я быстро свалил на linux, т.к. дос и оффтопик в те времена не умели работать с сетями.

Эммм?

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

К сожалению, у OS/2 было всё плохо с ассортиментом поддерживаемого железа,поэтому там где я тогда работал от ее использования отказались.

Это в каком году произошло? Без подколов, просто интересно.

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

И по сей день этот сегментный механизм в процессорах есть.

Сегментная защита осталась только в 32-битном режиме.

В 64-битном режиме у сегментных дескрипторов игнорируются почти все поля (база, лимит, атрибуты), а адрес транслируется так, как будто база равна нулю.

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

А если этот элемент управления что-то типа однострочного поля ввода текста, тоже стрелками?

Посмотрите на софт под DOS - там такие поля вполне сочетались с управлением стрелками. Ну или если под линуксом - то диалоги в Midnight Commander,там как раз из досового софта скопировано. Стрелки работают, поля вовода(например поиск строки в файлах заданного каталога) тоже.

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

А что в 94-95 году можно было использовать в качестве роутера и почтового сервера (uucp) ?

Novell Netware 3.12 (IPX и чуть позже IP), Unix SCO (ODT 3.x) и linux-1.[23]

Фря и полумух у нас как-то не прижилась.

По мере освоения онтопика скотину похоронили.

Оффтопик 3.51 вышла в 95, но роутером она не могла быть. Только оффтопик 4.0 после какого-то SP мог изображать роутер.

Первый провайдер требовал RIP, который тогда не все могли изобразаить.

А потом, в 98 году, появился второй провайдер и выбор в пользу онтопика сал очевиден.

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

В линуксе попытались сделать Double Commander но клавиатурное управление нормально не смогли.

даавно есть mc

МС есть,но он не использует возможности GUI. Рисовать окна псевдографикой сейчас если смысл и есть то только при работе через ssh по медленному каналу. А я говорил про желаемый аналог виндового Total Commander,который сочетает вполне приличный gui и удобное управление с клавиатуры.

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

Win95 могла быть роутером.
Выставляешь один параметр в реестре, и после этого в winipcfg.exe можно наслаждаться галочкой «Routing Enabled».

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

Это в каком году произошло?

Я работал тогда в офисе информагентства,там был сервер на OS/2, переводили его на линукс(дебиан) в 1997 году. Как раз подключили выделенный канал 256К и выяснилось что под существенной нагрузкой сетевая подсистема полуоси падает. Может сама по себе,может из-за железа. Но линукс на том же железе не сбоил вообще.

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

Сегментная защита осталась только в 32-битном режиме.

В 64-битном режиме у сегментных дескрипторов игнорируются почти все поля

И это называется «прогрессом» и «развитием» :-(

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

А что в 94-95 году можно было использовать в качестве роутера и почтового сервера (uucp) ?

Фря и полумух у нас как-то не прижилась.

Если именно uucp то как раз логична Фря. Хотя как раз в то же время мне приходилось иметь дело с сервером uucp на полуоси (ставил не я а мой предшественник на той работе,я потом на линукс переводил в 97).

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

Просто тупиковая ветвь, которая отпала. flat-модель удобнее, а защиту можно организовать на уровне отдельных страниц (пейджинга).

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

Ну да... конечно...

В смысле «конечно»? Сколько людей использовало 3.1 дома?

Win 3.11 тоже зависал без красивых окошек.

Могла, конечно. Но BSOD был даже у 1.0 венды.

И осла не любили совсем не из-за вирей, неудобная забагованная хрень была.

Опять же, ретроспективный взгляд. IE выиграл потому что до 6-й версии включительно был вполне хорош в своё время. Нетшкаф очень быстро слился, опера имела несколько киллер-фич, но платность ограничивала распространение. Ну и главное подход был не тот. Это же уже только после появления Firefox пошла тем, что браузер должен поддерживать все стандарты, ACID 1,2...

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

У нас в институте усе съемные носители только через админов проходили. :)

У нас это было не реально. Слишком много людей, которым надо что-то делать было. Вместо этого освоили салазки и быстрое клонирование разделов. Если систему накрывали - её просто разливали обратно.

Проверяться надо было :)

А не помогало. Рядом жил какой-то вирмейкер доморощеный. Постоянно приносил новую версию, которую не брали антивирусы. По этому после каждого появления Dis is one half. Я привычным движением грузился с дискеты, копировал нулевую дорожку и шёл дизассемблировать её. Убирал исправления и натравливал Drweb, который теперь видел его. Почему-то чел правил всегда только загрузочную часть.

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

И это называется «прогрессом» и «развитием» :-(

Да, называется. Сегменты устарели во времена 386. То, что их реализовали в 286 было пожалуй ошибкой. Такой способ управления памятью применялся в PDP-11, в старых unix, multics. Собственно по этому ошибка называется segmentation fault. Наверное интел тогда думал, что у них маленький 16-бит процессор, что страничная адресация это слишком круто для них. И вообще уже сегменты в реальном режиме были...

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

То, что их реализовали в 286 было пожалуй ошибкой.

Без сегментов мы бы довольствовались 64KB памяти. Разве были варианты без сегментов на 16-битных машинах?

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

Ради фана

Среди моих знакомых и коллег, слово «фан» имеет несколько иное значение. Хотя в контексте вашего высказывания оно подходит идеально.

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

Посмотрите на софт под DOS - там такие поля вполне сочетались с управлением стрелками.

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

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

А что в 94-95 году можно было использовать в качестве роутера и почтового сервера

Ну это уже чуть больше чем:

не умели работать с сетями

:)

полумух у нас как-то не прижилась

Полумух в банковской сфере очень даже прижившийся был. Это я ещё ИРЛ застал.

А вот в этой части дополню:

Novell Netware 3.12 (IPX и чуть позже IP)

Нетварь роутила IP весьма плохо, поэтому я бы её вычеркнул из списка.

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

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

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

Рисовать окна псевдографикой сейчас если смысл и есть то только при работе через ssh по медленному каналу. А я говорил про желаемый аналог виндового Total Commander,который сочетает вполне приличный gui и удобное управление с клавиатуры.

А чего в mc не хватает кроме гуевой раскраски ну и возможно тулбара?

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

Я работал тогда в офисе информагентства,там был сервер на OS/2, переводили его на линукс(дебиан) в 1997 году. Как раз подключили выделенный канал 256К и выяснилось что под существенной нагрузкой сетевая подсистема полуоси падает. Может сама по себе,может из-за железа. Но линукс на том же железе не сбоил вообще.

В 97-ом совершенно точно полумуха в банковской сфере было дофига, собстно и банкометы на нем же робили. Но так как вы пишите про единичный падающий сервер, то я больше склоняюсь к двум вариантам:
1. Кривые ручки.
2. Как вы написали «железо». Мой вариант в небо: полумух робил с родным гуем, который жрал больше мозгов, и вот добиралось до битой планки и полумух падал. Или что менее вероятно, но тем не менее опять про мозги, своп улетал на частично битый хард и попадал в «неудачный» сектор.

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

Но для перехода надо было держать стрелочку, что бы курсор добежал до конца

Обычно курсор сразу в конец строки становился,а также работали end/home.

это менее удобно чем нажать один tab.

Неудобно последовательное «прощелкивание» табом всех элементов которые есть в окне пока не доберешься до нужного. Особенно если их много и они в два-три столбика. А потом извольте щелкать дальше до кнопки OK.

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

Полумух в банковской сфере очень даже прижившийся был. Это я ещё ИРЛ застал.

Я тоже застал. Причем было известно что банки вкладывали заметные деньги в сетевые технологии под полумухом - держали программистов под полумух на зарплате.

watchcat382
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)