Как стать автором
Обновить

Комментарии 254

Искренне интересно, неужели два человека независимо решили сделать перевод одной и той же статьи и выложить его на Хабр? Или это типа челлендж? Пора свою версию перевода пилить уже или нет?)
habr.com/post/428706
Да, забавно вышло :) Честно, не сговаривались.

На хабре стало слишком много переводчиков, происходят колизии.


https://habr.com/company/ruvds/blog/428570/
https://habr.com/company/plarium/blog/428612/


https://habr.com/company/ruvds/blog/428173/
https://habr.com/company/skillbox/blog/428231/

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

Писать в фирменный блог что-то надо — за него деньги уплочены.
Писать некому и нечего.
А давай брать популярные статьи и переводить!

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

Это не корпоративный блог

Да, вы правы, это не корпоративный блог, это три корпоративных блога.
А почему вы решили заострить на этом внимание?

Я подумал, что вы про текущий топик.

Не одной и той же. Это переводы разных репостов.
А про оригинал всё давно забыли…
Но ведь это не оригинал постов, переведённых сейчас. Просто там поднята та же тема…
И тот и другой перевод — хреновые.

Просто подстрочник, без попытки перевести текст на русский.

Да и в оригинале это не статья, а поток сознания из какого-то чата.

Переводчиков мало, переведунов много.

P.S.



что я делаю не так?
Попробуйте теперь эти файлы открыть через проводник.
Far Manager их, кстати, открывает без проблем — видимо, использует UNC-имена для доступа к файлам.
Знаете, забавно: не открываются файлы .txt, (Не удается найти `\\. \con.txt`) но с просто aux, con — предлагает сопоставить расширение.

Впрочем, заголовок все равно кликбейтный. А перевод хреновый.

P.S. Опять могу отвечать раз в час. Нет, плохие переводчики все равно не заткнут мне рот. Я сделаю хабр лучше, пусть даже ценой своей «кармы»!
Я тоже поначалу пошел по не правильному пути, создавая файлы как раз в ФАР и хотел написать тут подобным образом, типа ЧЯДНТ. Однако потом, случайно попытавшись удалить файл в Проводнике, получил ошибку про несуществующий файл. Дальше стал экспериментировать в Проводнике и понял, что статья отражает правду жизни.
При удалении — FAR сообщает о «неправильном пути» но все прекрасно удаляет.

Но в общем, это не бага. Это такая документированная фича.

Примерно такая же, как если бы чел начал ныть в твиттере, что

«Он не может создать файл с именем из двух точек и сейчас расскажет вам, ПОЧЕМУ такой звездец творится в Виндоус с 1974 года»

Нет, вы подумайте, на дворе 2018 год, папки, а он я/он может создать папку с двумя точками!


P.S. Статью штоле написать — «Как я не смог создать папку с двумя точками и почему или немного об устройстве файловых систем»

Хотя нет, серьезные люди кликбейтный заголовок не оценят. Да и кто не знает, что за записи такие в оглавлении каталога — "." и ".."? :)
FAR сообщает о «неправильном» пути потому что пытается сначала положить файл в корзину через Shell API.

Если удалять через Shift+Del — удаляет сразу.
Не знаю. У меня win10 попробовал создать файл con написали «Указано неверное имя устройство». И файл con.txt не дал сохранить написал, что это имя зарезервировано.
Перевод ужасен, как минимум потому, что там пишется о каких-то культурных событиях вообще непонятных человеку который вырос в СНГ или Европе.
Да это то ладно. Было бы оно изложено нормальным человеческим языком (а в идеале — были бы проведены параллели с событиями в СССР/РФ)…

Но — нет. Это ведь слишком сложно, правда? :(
Я не думаю что в переводе стоит заменять одни события на другие из другой части света. Это все же перевод, а не статья на ту же тему.
НЛО прилетело и опубликовало эту надпись здесь
С этим — согласен, сноски были бы в тему. И уже в них можно было и историческую справку дать и аналоги из культуры другой страны.
… и не интересовавшемуся ничем за его пределами. Хотя, отсылок как-то многовато, больше похоже на тоску по молодости, а не описанию бага (бага ли?)
Вот она, новая эпоха переводов на хабре! :(
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
«Были программы, написанные пять тысяч лет назад, когда человечество еще не покинуло Землю. И самое чудесное (самое ужасное, как говорила Сура) было то, что, в отличие от бесполезных обломков прошлого Канберры, эти программы все еще работали! И через миллион миллионов запутанных нитей наследования многие из старейших программ все еще выполнялись во внутренностях системы Кенг Хо. Например, методы слежения за временем у торговцев. Поправки вносились неимоверно сложно – но на самом дне лежала крошечная программа, которая гоняла счетчик. Секунду за секундой отсчитывала система Кенг Хо с того момента, как нога человек ступила на Луну Старой Земли. Но если приглядеться еще пристальнее… начальный момент был миллионов на сотню секунд позже; момент «ноль» одной из первых компьютерных операционных систем Человечества.» (С)
Буквально 20 минут назад читал на Хабре эту же цитату в комментарии к другой статье. )
В Матрице техработы, вот глюки чаще появляются

Вернон Виндж, все у него перечитал. Эх…

Для тех, кто хочет создать такой файл: type nul > "\\?\C:\con.txt"
Раньше я таким образом создавал на флешках системную папку autorun.inf с файлом con внутри, такая себе защита от автозапускающихся вирусов.
Системной папку autorun.inf лучше как раз не делать: на это агрятся некоторые антивирусы.

Может быть лучше не пользоваться этими самыми некоторыми антивирусами?

Так весь смысл защиты флешки — когда ее приходится вставлять в чужие компьютеры. А там может стоять любой антивирус.
Как по мне, смысл защиты флешки не подхватить вирус на нее с чужого компьютера, или не дать ему запуститься на моем. И системная папка autorun.inf может помочь. Я правда в системе просто автозапуск для всех дисков отключаю.
Мне как-то раз принесли на флешке фотографии для распечатки.
А у меня с давних времён параноидальная привычка отключать опцию «скрывать расширения для зарегистрированных типов файлов». Человек говорит фотки в папке «Foto», а я смотрю, что у этой папки (несмотря на правильную иконку) расширение «exe». Включил детальный режим просмотра папки, и таки да — это файл, а не папка. Троян подменил папку на своё тело.
оригинальная папка Foto скорее всего сушествует просто помечена трояном как скрытая.
Опцию «показывать скрытые» и «показывать системные» я тоже всегда первым делом включаю.
А у меня с давних времён параноидальная привычка отключать опцию «скрывать расширения для зарегистрированных типов файлов».
Это абсолютно нормальная привычка выключать то, что придумали дебилы. Это настоятельно рекомендуется делать сразу же после установки Windows, у меня на этот случай даже *.reg-файл есть для импорта, созданный ещё со времён Win2k.
Целевая ветвь реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt
Параметры: CheckedValue, DefaultValue, UncheckedValue.
Нормально — это не использовать древний, глючный и убогий Windows любых версий в 2018м году. И значительная часть его убогости — именно из-за параноидального стремления сохранить обратную совместимость, которая всё равно ничерта не совместима
Ну, может на нашем веку ещё случится долгожданный Вендекапец. :) Вобщем-то можно: если деньги позволяют — купить Мак, если не позволяют — повозиться с Хакинтошем или накатить за дидов Ubuntu, а играть на PS4/XBox. Но вот с предприятиями-то как быть? Особенно, где количество сотрудников исчисляется тысячами?
Использовать практику западных государств, где не было пиратства в таком объёме — использовать Linux/Unix. Для задач малых и средних бизнесов там из коробки есть всё, что нужно
у меня с давних времён параноидальная привычка отключать опцию «скрывать расширения для зарегистрированных типов файлов»

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


PS: и почему на серверах эта настройка по умолчанию не включена? Их же под админов делают, а не под пользователей, кому типа не нужно думать о расширениях (с) ?

А с самым смешным вирусом я столкнулся во времена Active Desktop на Win98SE.
Майкрософтовцы экспериментировали с активным содержимым — в любой папке можно было создать файлик folder.htt, содержащий код веб-страницы, и она использовалась проводником. Я тогда ещё игрался, устанавливая страничку с видео-файлом, проигрывающимся прямо на рабочем столе.
Так вот однажды притащили мне комп с жалобами «тормозит неимоверно, наверное вирус». Включил — действительно тормоза. Дай, думаю, сниму оттуда жёсткий диск и прогоню на нём проверку из-под моей системы.
Так вот идея вируса оказалась гениальной. Вирус создаёт файлик «folder.htt», который содержит внутри себя тело вируса и код, который выгружает это тело в системную папку и запускает на выполнение. Вирус, запустившись, начинает сканировать всю структуру диска, и создавать «folder.htt» в каждой папке, до которой дотянется. Для заражения достаточно просто зайти в папку — запускать ничего не требуется, всю остальную работу за вирус делал сам майкрософт.
Повезло, что вирус был написан явно для прикола и без особых изысков — он сам демаскировал себя тем, что клал на лопатки заражённую систему, не заботясь о скрытности, паузах, использовании iddle и т.д. Ну и единственной его задачей оказалось самораспространение — никаких других вредоносных функций у него не было.
Ох и долго я с ним боролся — тогдашние антивирусы с ним справлялись очень плохо. Вирус запускал несколько своих копий, которые постоянно следили за тем, чтобы юзер не мог закрыть сразу все процессы вируса и постоянно запускал новые процессы вместо остановленных. Прописал себя сразу во все возможные места автозагрузки, и если пропустил хотя бы одно возможное место — при перезапуске сразу же прописывался заново в остальных местах.
Был тогда совсем ещё зелёный, интернета можно сказать не было, антивирус не справился, поэтому пришлось до всего доходить самостоятельно.
Потратил сутки на вычистку всех folder.htt со своего компа, только успокоился, как захожу в одну из папок, а там folder.htt — начинай всё сначала. Очень цепкая оказалась сволочь.

А вот оно, с подробным описанием.
Как вам системная папка autorun.inf поможет, если ее удалит антивирус на этом самом чужом компьютере?

Так как он её удалит, если в ней есть NUL.txt?))

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Права доступа только на чтение?
Если бы вы могли гарантировать, что эти самые права доступа будут соблюдаться — вам бы не требовалось исхитряться с папкой autorun.inf.
Можно просто использовать Far Manager.

Баг ещё в том, что система выдаёт "File too large" вместо того, чтобы понять, почему на самом деле файл не копируется. Вот это — и правда позорище.

Оно еще и по разному на разных версиях себя ведет. Хотя казалось бы если это наследие времен ДОСа, то везде должно быть одинаково. Но нет, видимо это не раз переделывали, но оставляли на месте.

Например win XP попытка создания(или копирования на диск файла созданного где-то еще) подобного файла без расширения в проводнике молча отменяется (ничего не происходит), а с расширением выдает ошибку «такой файл уже существует» (а не слишком большой файл как в 10ке).
А при попытки сделать тоже самое через API из какой-то другой программы (не майрософта) обрабатывается корректно, выдает сообщение: «Это имя зарезервировано как имя устройства, выберете другое имя файла.»
пофиг на это.

"Это как будто живёшь на космической станции — а тут появляется лошадь".


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

А что с ней вообще не так?
image

Это из Матрицы? Но вроде в оригинале не было столько проводов.
Запустил в Win10 и C:\aux\aux и C:\con\con. Ничего не случилось. Какой же это баг? Это фича.
Это работало только в Wn95/98/Me. Причем через шару в том числе, можно было любой комп в сетку заблускринить.
вы указать LST для распечатки
Вы чем переводить?
Мне одному кажется, что называть это «багом», особенно «БАГОМ», немного некорректно?
Особенно с учётом того, что «Microsoft приводит полный список запрещённых названий» — то есть это вполне документированное поведение.
Очередной хайп для тех, кто не застал книжки Питера Нортона, короче.

Выдавать File too large и единственную опцию Skip — это точно баг

А это уже баг «проводника».
единственную опцию Skip — это точно баг
Вы пытаетесь работать проводником с файлом, который проводником создать нельзя и вообще он запрещён к созданию в этой ОС, так какую ещё опцию вы хотите? Радуйтесь, что не БСОД.

Например, "Данное имя файла зарезервированнот системой и не может быть использовано. Переименовать?".


БСОД при копировании это сильно. Надеюсь, этот подход похоронили где-то еще до OSR2..

Данное имя файла зарезервированнот системой и не может быть использовано.
Это разумно писать при попытке создания файла с таким именем. При копировании устройства как файла ошибка может выглядеть как угодно, ведь такого объекта и действия быть не может.
НЛО прилетело и опубликовало эту надпись здесь

Дык в том то и дело что он ничего не может сделать с этим файлом. И переименовать тоже не может. По этому только скип

Но Far Manager может.

Радуйтесь, что не БСОД.

Вы не в государственных структурах работаете случайно?
Получается ситуация «Это не баг, а фича», доведенная до абсурда — фича абсолютно не нужная, устаревшая больше 30 лет назад, но тем не менее заботливо поддерживаемая. И ведь наверняка есть тесты на то, чтобы нельзя было создать файл с именем «con»!
фича абсолютно не нужная, устаревшая больше 30 лет назад, но тем не менее заботливо поддерживаемая.
Это называется «обратная совместимость». Чем Microsoft до сих пор и кроет остальные «альтернативные ОС», как бык овцу.
И ведь наверняка есть тесты на то, чтобы нельзя было создать файл с именем «con»!
Ну создайте. Стандартными средствами. А то получается, как в анекдоте с японской лесопилкой и суровыми сибирскими мужиками.
Ну 16-разрядные программы под 64-разрядными Windows все равно уже не запускаются, так что такая обратная совместимость все равно не работает. Хотя вроде и в Win32-приложении можно просто открыть файл «COM1» и оно будет работать с com-портом, так что может для кого-то это все-таки нужно.
Про тесты, я имел в виду, что раз это фича, в Windows должны быть интеграционные тесты, которые проверяют, что оно работает именно так.
А командный интерпретатор и не является 16-битным приложением. Для него совместимость нужна.
Свою-то систему можно тестировать хоть до посинения. Нельзя протестировать другие реализации файловой системы под другими ОС. Но какое-то поведение системы при появлении таких файлов можно предусмотреть, да.
фича абсолютно не нужная, устаревшая больше 30 лет назад, но тем не менее заботливо поддерживаемая.
Если бы она была ненужной её бы выпилили.

Как указывает статья 15-летней давности скритов проверяющих существание директории через «финт ушами» if exist directoryname\nul и документов, в которых написано «чтобы сделать конфигурационный файл наберите copy con ...» со временем меньше не становится…
Удивительная по своей бесполезности статья, а стиль так вообще за гранью.
В Windows есть зарезервированные имена файлов, которые являются устройствами — этим предложением можно было ограничиться
Буквально вчера прочитал на StackOverflow про аналогичный фокус с папкой `....` (три и более точек подряд).

«Работает» примерно также, за исключением того что файлы из этой папки не видны в большинстве программ, включая поиск. Explorer либо не может зайти в папку, либо показывает содержимое материнской папки. Total Commander при попытке зайти в неё выбрасывает в корневой каталог диска, хотя его поиск работает. Тем не менее, chkdsk не обращает на подобное внимания.

Проблема опять же в совместимости с DOS, и, возможно, CP/M: запись «test.» воспринимается как файл «test» с пустым расширением. Это нужно, например, чтобы запретить DOS-программе добавлять своё расширение к файлу, например, если текстовому редактору при сохранении ввести имя файла «test», тот как правило запишет файл «test.txt»; чтобы сохранить файл без расширения нужно написать «test.»; многие windows-программы работают также. В результате парсер по умолчанию обрезает имя файла/папки "...." до пустой строки, а путь «C:\test\....\file.txt» превратится в «C:\test\\file.txt» что эквивалентно «C:\test\file.txt»

Эти файлы и папки (AUX, LPT1, `....`) можно создать/удалить/переименовать командами используя синтаксис "\\?\диск:\полный\путь", например: `mkdir \\?\c:\test\aux` или `rmdir \\?\d:\test\....`. Функции WinAPI тоже понимают такую запись; Total Commander может даже сделать такой каталог текущим, достаточно ввести `cd \\?\c:\` в его коммандную строку.

Поскольку подобные файлы/папки стандартными средствами не удаляются, некоторые во времена Windows XP использовали их, например, для создания на флэшке неудаляемой папки «D:\autorun.inf\NUL», не позволяющей вредоносам удалить её и создать не её месте вредоносный файл «autorun.inf».
Одно время был вирус, который прятал все папки из корневого каталога в каталог с длинным именем ".." (две точки) в корневом каталоге. При этом:

1) Система позволяла создавать такой каталог (две точки да ещё и в корневом каталоге — это улёт)
2) Ни FAR, ни ПРоводник этот каталог не видели
3) chkdsk не находил ничего предосудительного
4) имеющиеся под рукой антивирусы вирус прибивали, но папку ".." оставляли как есть.

В результате приходит человек с флешкой, она почти вся занята, а на ней — ПУСТО.

Приходилось использовать короткие имена. Там этот каталог назывался «E2E2~1», хотя логичнее было бы «2E2E~1»
Я знаю о ещё более забавном случае. Жила-была СХД, использовавшаяся бэкап-софтом для хранения данных.
Иерархия хранилища была простая — \ПапкаХранилища\ИмяКомпании\ИмяАккаунта
При разработке немного завтыкали с валидацией имени аккаунта, и одна из компаний в тестовых целях создала себе аккаунт с именем "..".
На СХД периодически запускались скрипты, которые чистили хранилище от данных неактивных аккаунтов. Создатель скрипта, не подозревая о такой подставе, не учёл возможность существования аккаунтов с именем "..", в итоге purge-скрипт добрался до этой папки, поднялся с уровня ИмяАккаунта на уровень ИмяКомпании и… Правильно, начал чистить другие ни в чём не повинные компании.
На СХД хранились террабайты данных, для Purge-скрипта нормальным было работать долго, поэтому никто особенно не парился мониторингом его работы — запустили на выходные и пошли себе отдыхать.
К тому моменту, как админы заподозрили неладное, скрипт успел пережевать пару компаний.
К счастью — бОльшую часть удалённых данных удалось восстановить разными способами.
Весьма поучительная история. Всегда валидируйте пользовательский ввод, зеркалируйте данные (особенно данные бэкапов), мониторьте скрипты.
Тоже история про две точки. Некоторая организация рассылает письма с файлами, назвннными как контрагентов-получатель по типу «ЧП Иванову И.И.». В XP-шные времена, когда пользователь задавал в GUI имя файла с точкой на конце, она обрезалась и получалось «ЧП Иванову И.И.docx», например. В Проводнике и пободных окнах отображалось без второй точки «ЧП Иванову И.И», было некрасиво. Поэтому в Висте решили эстетствовать и файл стал именоваться «ЧП Иванову И.И..docx» с двумя точками перед расширением. В результате в Проводнике отображается нормально "«ЧП Иванову И.И.», но зато появилась проблема с OutLook Express.

Он считал, что разрешение не «docx», а .docx" (с точкой) и отказывался открывать файл с неизвестным расширением. Причём выбрать, какой программой открывать неизвестное расширение он не давал. Приходилось сохранять такой файл на диск и уже там при открытии выполнять привязку программ с расширением. И так для каждого такого расширения. Я даже хотел универсальный обработчик написать.

Особенно запомнился "..pdf". Его таким образом привязать почему-то не удавалось — Outlook Express рисует PDF-ный значок, а всё равно — «неизвестный тип файла».
Сколь помню — значок там получается из системы запросом «дай мне значок на это имя файла» или «это расширение». А оно могло работать корректно (не беря последнюю точку).
Так дело в том, что у других расширений было всё наоборот — картинка не показывается, зато привязка через сохранение файла на диске с запуском работает, а вот ..PDF «рыжим» оказался. С диска работает, из OutLook Express — ни в какую.

При том, что в реестре ничего подозрительного для PDF не было.

Высосонное из пальца словоблудие. Почему это вообще на хабре?

Стиль ютуба теперь на хабре? Почему весь текст не капсом?

с\con\con в win95/98 даже по локальной сети работал.
\\ip_address\c\con\con
Мы так развлекались на парах, кидая в синюю смерть соседние компьютеры.

В те времена только изобрели штрих-коды, в Америке работала лишь одна телефонная компания, Тед Банди ещё бегал на свободе, а рекорд Бейба Рута по хоум-ранам стоял последние дни.


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

Тоже трясет от такого

Чикатило еще работал мастером в ПТУ, а Пахтакор блистал в Высшей лиге? Или про Блюменштрассе уже все знали, а про 3-ю улицу Строителей — только жители соседних домов?
Нет.

В те времена только изобрели штрих-коды, в Америке работала лишь одна телефонная компания, Тед Банди ещё бегал на свободе, а рекорд Бейба Рута по хоум-ранам стоял последние дни.

Когда появился этот баг, по телевизору ещё не показывали «Колесо Фортуны» (российский аналог: «Поле чудес», 1990 год — прим. пер.). Никто не видел «Шоу ужасов Рокки Хоррора», а Стивен Спилберг снял несколько телефильмов и один полноэкранный фильм, провалившийся в кинопрокате (но картина «Дуэль» получила несколько кинопремий — прим. пер.). По NBC не показывали «Субботним вечером в прямом эфире», а «Эдмунд Фицджеральд» ещё перевозил железную руду (гигантский сухогруз с экипажем затонул 9 ноября 1975 года — прим. пер.).

КОГДА ИЗОБРЕЛИ ЭТУ ГЛУПУЮ «ФИЧУ», НА ЭКРАНЫ ТОЛЬКО ВЫШЛА ВТОРАЯ ЧАСТЬ «КРЁСТНОГО ОТЦА».


сокращается до

В те времена только изобрели штрих-коды.


Это нормально, не нужно этого стесняться.
Про «Крёстного отца» уж лучше оставить — это реалия не местечковая, вполне себе точно передает дух времени.
НЛО прилетело и опубликовало эту надпись здесь

Ага, скажите это тем, кто пилит .net.

А что не так?

Пока что единственное, что меня коробит — отсутствие IEquatable<> и IComparable<> для типов-перечислений. Вводить не хотят, аргументируя обратной совместимостью.
А зачем они там? EqualityComparer.Default и Comparer.Default и без них работают…

Затем, что я не могу их использовать в качестве generic-параметров, одним из ограничений на которые является IEquatable<>. А отказываться от этого ограничения и использовать EqualityComparer.Default внутри кода я не считаю правильным:


  1. Наличие явного указания требования на сравнимость типов значительно повышает понятность кода. Я предпочитаю статическую типизацию, а не вычисление компаратора в процессе работы программы.


  2. Снижается производительность. При использовании EqualityComparer.Default всегда используется виртуальный вызов, тогда как вызов .Equals() с большой вероятностью вообще заинлайнится, особенно если используется тип-структура.


НЛО прилетело и опубликовало эту надпись здесь
В DOS под Windows 3.1 или 95 или 98 нельзя было обозвать папку mscdex001 (и прочие имена устройств) — так система по умолчанию именовала первый CDROM.
А в папку autorun.inf на разных дисках клали USB vaccine — файл с именем lpt или подобным, но это уже гораздо позже, во времена XP
Есть более неприятный и почему-то малоизвестный баг — нельзя именовать файлы cmd и bat командами DOS, иначе такой файл невозможно будет запустить в интерпретаторе. Скажем, файл robocopy.cmd при запуске сразу будет закрыватьчся без исполнения
Где-то вы ошиблись

Robocopy — не команда интерпретатора, оно подчиняется всем правилам обхода исполняемых файлов.
Может, нельзя будет запустить без явного указания расширения?
Так это… В 10-ке всё ещё можно так распечатать на принтере текстовый файл из командной строки?
Подозреваю, что уже нельзя (принтера нет, 10-ки тоже). Когда можно было последний раз? В 3.11, в 95?
А разве эту фичу поддерживал кто-то, кроме матричных принтеров? Ушли принтеры — ушла и возможность…
Вы не поверите, но… все PCL5e принтеры (а их сейчас большинство) так отлично умели и умеют.

Единственное но: не забывайте ^L посылать, а то оно так и будет ждать, пока вы страницу заполните до конца!
Ну ладно, кроме LPT-принтеров.
Сейчас попробовал copy con prn (у меня самсунг 1865 на USB) — не удается найти указанный файл.
P.S. Я, вообще, и имел в виду эпоху бытовых LPT-принтеров, но что-то не то написал.
Сейчас попробовал copy con prn (у меня самсунг 1865 на USB) — не удается найти указанный файл.
Я не знаю как в Windows 10, но в Windows 98 точно можно было для USB принтера указать, чтобы он висел на LPT1.

Если даже это уже не работает, то скорее всего его можно расшарить и потом подконнктится через net use lpt1 \\COMPUTER\PRINTER /persistent:yes
Можно. Если найти под неё контроллер с LPT-портом, подключить принтер по LPT, скорей всего он будет матричным и… будет печатать аж на бегом. Где-то видел проги которые делают виртуальный принтер на LPT и печать перенаправляется на принтер установленный в системе.
НЛО прилетело и опубликовало эту надпись здесь
Если найти под неё контроллер с LPT-портом, подключить принтер по LPT, скорей всего он будет матричным

Это, кстати, отнюдь не экзотический сценарий. LPT-шные матричные принтеры, например для печати чеков, вполне себе используются и матплаты с выведенными на заднюю панель LPT и COM портами не редкость. В тех же банках, где операции на полноценном компе а не на кассовом аппарате проводятся, вполне можно с таким столкнуться.
Вообще-то чеки и квитанции печатаются на термоигольчатых принтерах в 99% случаев, подключаемых по USB, причём у половины из них проприетарный API, то есть их как обычный принтер использовать не получится. В кассовых и операционных залах отделений банков матричники массово использовали до 2012-2014 годов, потом стали от них отказываться в пользу лазерных. Остались они разве что в кассах некоторых отделений Ощадбанка в райцентрах. Сейчас матричники в банках используются разве что в отделах обслуживания юрлиц и в отделах статистики, причём строго для внутренних целей, где нужна печать на рулоне.
Ну вот из того, с чем я лично сталкивался, Epson TM-U950. Вполне еще в продаже, подключается по LPT. Как минимум Сбербанк на таких сидит, причем продолжает закупать, гуглится закупка осенью 2017 года 600 штук. Поставщик Avrorus божится, что так же эта модель используется Россельхозбанком, ВТБ24, Банком Москвы и неупомянутыми «другими крупными учереждениями». Это все входит в оставшийся 1%, не подключающийся по usb?
Epson TM-U950. Вполне еще в продаже, подключается по LPT.
Ну, для матричников есть своя узкая ниша, в которой им нет равных — где требуется печать с минимальным присутствием человека из серии «поставил и забыл, вернулся через месяц», либо печать на рулоне. Лазерник нельзя научить печатать на рулоне в принципе.
Сбербанк на таких сидит, причем продолжает закупать, гуглится закупка осенью 2017 года 600 штук.
Сколько сейчас в РФ регионов — чуть больше 80? Это получается примерно по 7-8 принтеров в каждый регион. Думаю, матричные принтеры в таком количестве нужны для открытия новых отделений, если предположить что в среднем в каждом регионе открылось 2-3 новых отделения + резерв. Лазерников же при этом потребуется на порядок больше.
Это все входит в оставшийся 1%, не подключающийся по usb?
Вроде в плане арифметики всё сходится.
Ну, для матричников есть своя узкая ниша, в которой им нет равных — где требуется печать с минимальным присутствием человека из серии «поставил и забыл, вернулся через месяц», либо печать на рулоне.

Это принтер для печати чеков (раньше ими еще в книжки печатали). Он подключается локально к компу, за которым обслуживают клиентов.
Сколько сейчас в РФ регионов — чуть больше 80? Это получается примерно по 7-8 принтеров в каждый регион.

Такие принтеры стоят в каждом окне.
И это просто одна закупка, первая которая попалась. Беглое гугление, и их становится больше. Их закупают постоянно сотнями
otc.ru/tenders/region/77-moskva/8453591/31604442263-postavka-bankovskix-printerov-epson-tm-u950-1-300-shtuk
otc.ru/tenders/region/g-moskva/12685460/31705200412-postavka-bankovskix-printerov-epson-tm-u950-nuzhd-dal
otc.ru/tenders/region/g-moskva/14253388/31705541617-postavka-bankovskix-printerov-epson-tm-u950-nuzhd-dal%60nevostochnogo-banka-pao-sberbank-v-kol-ve-600-sht
zakupki.kontur.ru/31502852718
zakupki.gov.ru/223/contract/public/contract/view/subject-contract.html?id=2100074&viewMode=FULL
Это только первые из ссылок по запросу «сбербанк epson tm-u950 закупка».
К тому же, как это:
В кассовых и операционных залах отделений банков матричники массово использовали до 2012-2014 годов, потом стали от них отказываться в пользу лазерных.

Сочетается с этим:
Думаю, матричные принтеры в таком количестве нужны для открытия новых отделений

В старых снимают, а в новые ставят?
И я пишу только о Сбере потому, что с этими принтерами я сталкивался, а с другими сценариями нет. Не думаю, что Сбер это единственная в мире организация, до сих пор использующая такие принтеры.
Это очень большая редкость. Обычно портов нет вообще, за очень редким исключением. У меня, правда, на относительно новый компьютер искал материнку с 3-мя PCI слотами, я внимания не обратил но когда стал ставить оказался приятно удивлён — в наличии и COM и LPT-порт на задней панели! Неттоп, правда довольно старенький уже по меркам прогресса, на плате разъёмы под LPT/GPIO и 4 разъёма под аппаратные COM-порты. Но это опять же — исключения, довольно редкие.
Это очень большая редкость. Обычно портов нет вообще

Вы это так пишите, как будто это вероятностное событие, типа «есть LPT порт — печатаем, нет порта — облом». Это же сценарии корпоративного использования — если в кампании используются LPT-принтеры, то подходящее оборудование будет закупаться целенаправлено. А будет это порт на материнке или внешний контроллер будет зависеть от того, как дешевле. Скажем, материнка с готовым портом дороже материнки без него плюс контроллер, но проще в сопровождении. Или закупаются готовые системники с такой материнкой, и если ставить отдельный контроллер, то будет сложнее с гарантийщиками.
При этом LPT это не экзотика, материнки и контроллеры есть в обычных магазинах (в Ситилинке сейчас посотрел, 12 моделей матерей и 3 модели контроллера) не ISA какая-нибудь.
самое интересное, это не «баг», и не «ошибка»…
В Unix это делается через специальные файлы, существующие в специальных папках, как /dev/tty для консоли или /dev/lp0 для первого принтера. Вы можете получить бесконечный поток нулей из /dev/zero, случайные байты из /dev/random и т.д.!
В старых Unix — это делалось через файлы, реально присутсвовавшие на диске. Т.е. после выключения компьютера можно было взять диск и найти на нём эти имена — каталог "dev" в корневой файловой системе, а в нём — "tty и прочие (смотреть диск можно было на любом компьютере — в т.ч. и таком, который ничего не знает про специальное значение этих файлов).

В современном FreeBSD (про другие я как-то не интересовался) — каталог "dev" в корневой файловой системе присутствует, но в нём нет никаких файлов — он пустой. Все специальные файлы создаются в специальной виртуальной файловой системе, предназначенной только для таких вот специальных файлов; и эта файловая система монтируется в /dev (а при необходимости — ещё и в дополнительные точки; например, этого требует named при запуске в chroot). При выключении компьютера эти файлы пропадают.

Но без директорий вы не можете поместить свои файлы в каталог /dev/.
Ну и что, что нет такого каталога? Никто не мешает создать для спец.файлов виртуальный каталог — и распознавать спец.файлы по префиксу "/dev".

И с расширениями проблем тоже не будет.

Специальные файлы теперь могут быть в ЛЮБОМ КАТАЛОГЕ и С ЛЮБЫМ РАСШИРЕНИЕМ.
Ага. И в командных файлах для проверки существования каталога можно использовать хак:
IF EXIST диск:\каталог\nul
Результат будет отличаться от случая, когда есть просто файл с таким именем.

Конечно, мы не запускаем DOS 2.0… Но Windows 95 построили поверх DOS. Естественно, она унаследовала это поведение (как и Windows 1/2/3 ранее).
Осталось понять, зачем надо было тащить это в 32-битный API. Можно было бы оставить это в 16-битном API, но не портировать дальше.

Гэри Килдалл позаимствовал отличную идею из Unix
Подобное заимствование отдельных частей обычно плохо заканчивается. Например, в Unix работает конструкция
yes | программа
А в DOS она не сработает, если портировать туда программу yes.

Microsoft приводит полный список запрещённых названий: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9.
Уж могли бы сделать имена этих файлов в таком виде/формате, который не поддерживается файловой системой. Например, добавлять им всем в конец двоеточие — запретный для файловой системы символ.
Т.е. тут мы имеем проблему на этапе портирования функции в DOS. Что же — очередное доказательство криворукости Билла Гейтса.

Если вам интересно, как у меня появился «запрещённый» файл, который нельзя скопировать, то скажу. Эти имена специальных устройств реализуются на уровне ОС, а не на уровне файловой системы. Таким образом, это совершенно допустимые имена файлов NTFS, а я использовал диск NTFS под Linux.
Разные драйверы NTFS могут иметь разные представления о допустимости тех или иных имён.

CP/M не реализовала их на уровне ОС, как в DOS! Они были просто включены в PIP, команду копирования файлов.
Крайне неудачное решение.

Обратная совместимость, в общем, хорошая вещь.
Ну-ну, особенно совместимость с вирусами…
Но без директорий вы не можете поместить свои файлы в каталог /dev/.
Ну и что, что нет такого каталога?
Вы это. Немного недоперепоняли. Не не «такого каталога». Нет никакого каталога. В CP-M и в MS-DOS 1.0 вообще не было понятия «каталог»!

Никто не мешает создать для спец.файлов виртуальный каталог — и распознавать спец.файлы по префиксу "/dev".
Гениально, блин! А теперь посмотрите на FCB и скажите — куда вы собрались ваш префикс засовывать, если под наименование файла выделено 99 бит (не байт! в 13 байтах, отведённых под имя файла старшие биты были «забраны» под аттрибуты файлов — тут подробнее описано).

Осталось понять, зачем надо было тащить это в 32-битный API. Можно было бы оставить это в 16-битном API, но не портировать дальше.
Потому что исходники всё это использовавших 16-битных программ нужно было уметь перекомпилировать без изменений под 32-бита?

OS/2 решили «почистить API» при переходе с реального режима в защищённый — результат всем известен.

А в DOS она не сработает, если портировать туда программу yes.
Зависит от программы. Со многими программами — отлично срабатывает, но не со всеми. Ну так и в Unix — оно не со всеми программами работает.

Уж могли бы сделать имена этих файлов в таком виде/формате, который не поддерживается файловой системой.
А как тогда вводить их, если они будут отвергаться API?

Что же — очередное доказательство криворукости Билла Гейтса.
Ну если умение делать программы, которые люди будут хотеть использовать называть «криворукостью»…

CP/M не реализовала их на уровне ОС, как в DOS! Они были просто включены в PIP, команду копирования файлов.
Крайне неудачное решение.
Вы уж определитесь — вы «за» костыли или «против». Потому как без использования костылей никак иначе требовать вводить двоеточие не получится: в FCB для этого двоеточия попросту нет места!
Вы это. Немного недоперепоняли. Не не «такого каталога». Нет никакого каталога. В CP-M и в MS-DOS 1.0 вообще не было понятия «каталог»!
Да всё я прекрасно понял. Это Вы меня не поняли.

Вы утверждаете: «в операционной/файловой системе не было каталогов». Да, я в курсе. Но как это мешает работать команде
PIP /DEV/LST=FOO.TXT
? Особенно если это это сделано на уровне программы PIP?

А теперь посмотрите на FCB и скажите — куда вы собрались ваш префикс засовывать, если под наименование файла выделено 99 бит
99 бит = 12 байт + 3 бита.
"/DEV/LST" = 8 байт.
У нас осталось четыре байта.

Потому что исходники всё это использовавших 16-битных программ нужно было уметь перекомпилировать без изменений под 32-бита?
Я не верю, что вообще все без исключений 16-битные исходники можно было портировать по 32 бита без изменений. Вот и в данном случае — можно было депрекатнуть эту фичу, благо это был самый подходящий момент.

OS/2 решили «почистить API» при переходе с реального режима в защищённый — результат всем известен.
При переходе с W'9x на W'NT/2000/etc — API тоже почистили. Результат был отменный.
Не в этом причина коммерческого успеха. IBM просто просрала рынок персональных компьютеров изначально — и потом ни разу не пыталась принять реальные шаги, способные сделать её лидером этого рынка.

Ну так и в Unix — оно не со всеми программами работает.
Жду примера.

А как тогда вводить их, если они будут отвергаться API?
У операционки — много компонент. API какого компонента будет отвергать такие имена?
Вроде, мы вообще говорим о временах, когда API только создавался. И вполне можно было сделать так, чтобы API верхнего уровня принимал такие имена, а дальше в файловую систему попадали только валидные для неё имена; а остальные попадали бы в систему обслуживания спец.файлов.

Ну если умение делать программы, которые люди будут хотеть использовать называть «криворукостью»…
А тут вопрос не в умении делать программы. Чтобы люди хотели чего-то — в первую очередь нужен маркетинг.

Вы уж определитесь — вы «за» костыли или «против». Потому как без использования костылей никак иначе требовать вводить двоеточие не получится: в FCB для этого двоеточия попросту нет места!
Если ограничить имя спец.файла «на один байт короче, чем допускает файловая система» — то нет никакой проблемы.
Как вариант — если для спец.файлов запрещены расширения, то двоеточие как раз влезает, и ещё два байта свободны.
Но как это мешает работать команде
PIP /DEV/LST=FOO.TXT
? Особенно если это это сделано на уровне программы PIP?
В коменда PIP слеши использовались для задания опций (как во многих программах DOS потом). Но да, в принципе это никому не мешает.

А теперь посмотрите на FCB и скажите — куда вы собрались ваш префикс засовывать, если под наименование файла выделено 99 бит
99 бит = 12 байт + 3 бита.
"/DEV/LST" = 8 байт.
У нас осталось четыре байта.
Вот только вы тем самым создали нечто, что не выглядит, как имя файла. Оно содержит запрещённые символы. И нужно как-то особо его обрабатывать, чтобы оно через все программы прошло. Заметим, что делаете вы всё это для системы, в которой свободной памяти — 16K. Для PC DOS и для программ, для всего.

Я не верю, что вообще все без исключений 16-битные исходники можно было портировать по 32 бита без изменений.
Нет, конечно. Там были интересные истории с wParam и lParam.

Вот и в данном случае — можно было депрекатнуть эту фичу, благо это был самый подходящий момент.
Не очень понятно как вы это себе представляете. Вы не забываете, что 32-битные программы вначале запускались в течении 6 лет поверх 16-битной операционки? То есть к моменту, когда появилась полностью 32-битная операционка, в которой эту фичку, как-бы-типа-может-быть-и-можно было бы отключить — уже появилась куча 32х битных программ, которые её использовали?

При переходе с W'9x на W'NT/2000/etc — API тоже почистили.
А что именно там почистили? Я только про отказ от поддержки FCB знаю. Так FCB была к этому моменту уже 18 лет как deprecated. Хотя пользователи WordStar бузили, да.

IBM просто просрала рынок персональных компьютеров изначально — и потом ни разу не пыталась принять реальные шаги, способные сделать её лидером этого рынка.
Как это не пыталась? А OS/2 с ABIOS и прочее? Она пыталась. Но она как раз делала так, как вы предлагаете: «красиво» и «правильно». А людям нужно было «шоб работало».

Ну так и в Unix — оно не со всеми программами работает.
Жду примера.
Да хотя бы браузер, в котором вы этот текст набираете. Или вы каким-то образом Lynx к Хабру прикрутили?

А как тогда вводить их, если они будут отвергаться API?
У операционки — много компонент. API какого компонента будет отвергать такие имена?
Не так и много у PC DOS 1.0 компонент. Но Ok, INT 21h, AH=0Fh. Там проверка валидности имени осуществляется «на входе», до того, как передать FCB в файловую систему.

Вроде, мы вообще говорим о временах, когда API только создавался.
Нет. Мы говорим о временах, когда Microsoft писал операционку под уже существующий API.
CP-M API был воссоздан весьма тщательно, вплоть до CALL 5 интерфейса.

И вполне можно было сделать так, чтобы API верхнего уровня принимал такие имена, а дальше в файловую систему попадали только валидные для неё имена; а остальные попадали бы в систему обслуживания спец.файлов.
Всё так и было сделано — «правильными людьми» с «правильной технологией» в правильной OS. Про неё даже есть статья в Wikipedia! А пользователей… пользователей нету, да.

А тут вопрос не в умении делать программы. Чтобы люди хотели чего-то — в первую очередь нужен маркетинг.
Ваy! Расскажите же как в вашу вселенную, где все люди пользуются Windows Phone попасть — через червоточину или ещё как? Потому что в нашей вселенной маркетологи чёт ну никак не смогли справится с тем, чтобы это «правильную» OS кому-то впарить. Причём, что характерно, кривую, неправильную, ужасную «хрень» созданную под руководством Билла Гейтса и «настоящий», «правильно спроектированный», сделанный «по науке» Windows Phone — маркетологировали вот ровно те же самые люди… только в противоположным результатом. Притом что у них ещё и много миллирдов на рекламу было и куча лет опыта, чтобы понять как всё правильно маректологировать. Всё равно фиг вам вышел.

Как вариант — если для спец.файлов запрещены расширения, то двоеточие как раз влезает, и ещё два байта свободны.
Вот только это — всё равно ломает весь API. Потому что какой-нибудь IBM Pascal берёт от вас имя файла, обрезает его на 8 байт и безусловно к нему приписывает расширение. Ешё и ругается, зараза, когда вы пытаетесь больше одного символа перед двоеточием написать.

Понимаете — человек во многом при написании программ повторяет тот процесс, которым получился он сам. Выбирается всегда локально-оптимальное решение на основе того, что есть «здесь и сейчас». Мы с вами ходим на двух ногах (что, вообще говоря, дико неэффективно), потому что в тот момент, когда эволюция доковыляла до того, чтобы мозг смог эффективно обслуживать руки — все позвоночные уже были с четырьмя конечностями, других не было.

Точно так же и дизайн Windows XP был ограничен дизайном Windows 95, которой приходилось мириться с возможностями MS DOS, который был создан так, чтобы в нём можно было запускать программы для CP-M! Причём программы, написанные на ассмеблере (собственно дизайн 8086 был именно таким, потому что такая возможность в нём была изначально заложена).

И сделать так, чтобы фича, которая в CP-M была ограничена (только PIP использовать всякие CON: и LPT:) работала бы во всех программах без добавления в них особого, специального кода — было разумно. Это реально сделало PC DOS удобнее, чем CP-M! А что потом, через 37 лет — от этого будут страдать люди, копирующие файлик из комплекта OpenGL… об этом никто не думал… вернее кое-какие люди думали — и их даже немало было, но… их операционки «сошли с дистанции» и «потомства» не оставили…
В коменда PIP слеши использовались для задания опций (как во многих программах DOS потом).
Т.е. автор CP/M взялся портировать что-то из Unix и не стал портировать форму задания ключей оттуда? Поразительная криворукость!

Вот только вы тем самым создали нечто, что не выглядит, как имя файла.
Ой, а почему оно «не выглядит»? Может, потму, что изначально был задан другой стандарт?
Ну так изначально надо было делать нормально!

Кстати, использовать приставку "/dev/" действительно слишком накладно. Ну, можно было двоеточие в конце — и изначально задать в стандарте «двоеточие означает устройство».
Правда, и тут засада: буква диска с двоеточием д.б. устройством, но оно не обозначает дискету в том смысле, в котором это делает "/dev/fda", которое предлагает читать содержимое дискеты посекторно.

Вы не забываете, что 32-битные программы вначале запускались в течении 6 лет поверх 16-битной операционки?
Это Вы про что? W'NT появилась задолго до W'95, не говоря уж про Win32s (приблуду, позволявшую запускать некоторые 32-битные программы на W'3.11).

А что именно там почистили {при переходе с W'9x на W'NT/2000/etc}?
Ну, например, жёстко пресекли привычку программ писать в системную директорию — надо писать в директорию юзера.

Как это не пыталась {принять реальные шаги, способные сделать её лидером рынка персональных компьютеров}? А OS/2 с ABIOS и прочее?
Ну так это было позорная попытка покушения на рынок с негодными средствами.

Ну, начнём с того, что OS/2 — это рынок операционок, а не персональных компьютеров. Т.е. изначально Вы привели пример, только подтверждающий мою т.з. — шаги были, но глупые.

Первое, что надо было делать — это отказываться от писюковой совместимости. Т.е. взять нормальный RISC-процессор типа ARM или MIPS. Сбросить тяжкое наследие совместимости, все эти «640 килобайт», дебильный BIOS и прочее. Одновременно — сбросить совместимость с вирусами.

Затем — желательно было делать операционку типа Unix. Т.е. — многопользовательскую и многозадачную. Работал же Unix на PDP-11 с её 128 KB RAM.

Крайне желательно — сделать компьютер с операционкой в ПЗУ. Микросхема ПЗУ — заменяемая, но не пробиваемая для вирусов.
Одновременно — делать компьютер таким, чтобы тот одинаково хорошо работал и с локальныи накопителями, и с сервером. Сразу же приготовить серверы в широком диапазоне — от дешёвого (ценой дешевле компьютера — за счёт отсутствия видеокарты и прочего ненужного серверу) до супермощного. Это позволит успешно атаковать рынок мелких контор на пять компьютеров — не надо будет бегать с дискетами. Сети тоже д.б. широкого диапазона — дешёвая в пределах комнаты, дорогая на большое здание, плюс возможность коммутации разных офисов по телефонной линии.

IBM же выбрала дурацкое решение: выпустила патентованную PS/2, но совместимую с писюками. Т.е. никто другой не работал на популярность платформы, но совместимость портила жизнь. И на этой PS/2 можно было запускать DOS — это работало на Билла Гейтса.
А OS/2 не слишком хорошо работала на компьютерах других производителей.

Да хотя бы браузер, в котором вы этот текст набираете. Или вы каким-то образом Lynx к Хабру прикрутили?
Вы как-то резко перешли от «I/O redirect в Unix» к Lynx и Хабру. Я не понял.

INT 21h, AH=0Fh. Там проверка валидности имени осуществляется «на входе», до того, как передать FCB в файловую систему.
Замечательно. Вот в этом месте и надо было изначально делать правильно — имена файлов одного типа передавать в файловую систему, другого типа — в драйверы. В Unix всё это есть, и именно так — правда, я не знаю, когда это сделали; и там не по имени определяют, а по типу файла.

Мы говорим о временах, когда Microsoft писал операционку под уже существующий API.
CP-M API был воссоздан весьма тщательно, вплоть до CALL 5 интерфейса.
Была ли в этом API работа со спец.файлами?
Я так понял — сец.файлы ввели потом. И на момент их введения — им надо было дать особые имена.

Всё так и было сделано — «правильными людьми» с «правильной технологией» в правильной OS.
Байт-код — в те времена не мог быть правильным решением.

Причём, что характерно, кривую, неправильную, ужасную «хрень» созданную под руководством Билла Гейтса и «настоящий», «правильно спроектированный», сделанный «по науке» Windows Phone — маркетологировали вот ровно те же самые люди… только в противоположным результатом.
Во-первых, те люди, которые выводили на рынок DOS и первые Windows — либо давно уволились, либо состарились. Т.е. — не те же самые люди, а другие.
Во-вторых, надо понимать, что DOS и первые Windows выводились на только что созданные или даже ещё не созданные рынки. А Windows Phone выводился на рынок, где уже вовсю работали другие игроки.
Но главное — при выходе на рынок смартфонов Билл Гейтс не имел поддержки от IBM. Т.е. никто не энфорсил выпуск телефонов именно под Windows Phone — а в честной конкуренции выиграть не удалось.

Windows сильна на рыке, который она захватила. Т.е. на рынке персональных компьютеров.
Windows имеет неплохие шансы на рынках, тесно связанных с рынком персональных компьютеров — это клавиатуры, мышки, ноутбуки, серверы.
Windows неплохо выступала на рынке смартфонов/планшетов/etc — но только пока эти устройства взаимодействовали с компьютером, а на компьютерах была Windows. Как только смартфоны/планшеты/etc стали самостоятельно выходить в сеть — Windows сдулась, ибо IBM или кто-то другой такого масштаба ей уже не помогала.

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

IBM Pascal берёт от вас имя файла, обрезает его на 8 байт и безусловно к нему приписывает расширение.
А зачем IBM Pascal собирается обращаться к спец.файлам? Правильно обрезает — для него имя файла д.б. валидным по меркам файловой системы!

И сделать так, чтобы фича, которая в CP-M была ограничена (только PIP использовать всякие CON: и LPT:) работала бы во всех программах без добавления в них особого, специального кода — было разумно.
Двоеточие потребует специального кода???
В коменда PIP слеши использовались для задания опций (как во многих программах DOS потом).
Т.е. автор CP/M взялся портировать что-то из Unix и не стал портировать форму задания ключей оттуда? Поразительная криворукость!
Действительно — чего уж там. Увидев Unix на конференции (попробовать его в деле тогда ещё нельзя было) — Киндал должен быть срочно забыть про всё то, чем до этого пользовались десятилетиями и всё сделать как в Unix. «Забив» на привычки и опыт, конечно.

Вот только вы тем самым создали нечто, что не выглядит, как имя файла.

Ой, а почему оно «не выглядит»? Может, потму, что изначально был задан другой стандарт?
Ну так изначально надо было делать нормально!
А нормально — это как? Копируя интерфейс несуществующей системы? Вы, вообще, в курсе, что PIP — несколько постарше Unix'а будет? И в тот момент, когда Киндал решил его улучшить, позаимствовав пару идей из Unix уже имел десятилетний возраст?

Он должен был всё прям бросить и начать Unix копировать? Так такую операционку Microsoft тоже сделал! Только она не взлетела: очень дорого получилось из-за «космических» (по тем временам) требованиям к ресурсам.

Вы не забываете, что 32-битные программы вначале запускались в течении 6 лет поверх 16-битной операционки?
Это Вы про что? W'NT появилась задолго до W'95, не говоря уж про Win32s (приблуду, позволявшую запускать некоторые 32-битные программы на W'3.11).
Ну не так и «задолго» до Windows 95 появилась — на два года всего. Но главное — как раз Win32s и Windows95. Особенно Win32s. Они, как бы, работали «поверх» DOS — и потому были ограничены тем, что он умеет. А главное — на этих операционках использовалось много 16-битных программ, которые по-прежнему использовали PRN и CON. И было бы странно обнаружить, что в 16-битных версиях net use lpt: ... работает, а в 32-битных вдруг нет…

А что именно там почистили {при переходе с W'9x на W'NT/2000/etc}?
Ну, например, жёстко пресекли привычку программ писать в системную директорию — надо писать в директорию юзера.
Не очень-то это пресекли. Выстави права на каталог — и работай. Так и работали все. Под админом. Только в Windows Vista костыль подходящий завезли, чтобы это контролировать.

Ну, начнём с того, что OS/2 — это рынок операционок, а не персональных компьютеров.
Начнём с того, что вы так ни черта и не поняли. OS/2 и PS/2 изначально шли в паре. И были попыткой «переосмыслить» IBM PC/AT и сделать всё «как надо». И точно так же, как и «до того» были IBM OS/2 для «правильных» PS/2 и MS OS/2 для «всех остальных».

Вот только рынок «не оценил» всех глубин замысла.

Первое, что надо было делать — это отказываться от писюковой совместимости. Т.е. взять нормальный RISC-процессор типа ARM или MIPS. Сбросить тяжкое наследие совместимости, все эти «640 килобайт», дебильный BIOS и прочее. Одновременно — сбросить совместимость с вирусами.
Ну то есть разработать PReP и PC Power Series? И портировать туда OS/2?

Успех был таким «оглушительным», что вы, я думаю, даже не знаете об этой попытке всё сделать «правильно». Потому шта рынок на это посмотрел, подумал… и сказал, так веско, но внушительно: нам надо ШОБ РАБОТАЛО (в переводе на русский: а иде-ка вы со своими идеями… лесом).

Сразу же приготовить серверы в широком диапазоне — от дешёвого (ценой дешевле компьютера — за счёт отсутствия видеокарты и прочего ненужного серверу) до супермощного.
Видекарты там и не было. EGA — это Enhanced Graphics Adapter, а VGA — это Video Graphics Array — именно потому, что это была уже одна микросхема — и не очень дорогая.

А вот цену выставить дешевле, чем на PC никак не получалось, так как RISC-процессоры, заказные микросхемы и прочее — денег стоили, а тиражи были невелики. А с учётом того, что IBM тогда теряла деньги со страшной силой возможности продавать ниже себестоимости у неё тоже не было.

GSI и Sun, правда, провернули нечто похожее на ваши предложение — но тоже попали в ту же ловушку: какое-то время они могли конкурировать с рынком PC, но со временем x86 догнал их по производительности… и всё кончилось.

Да хотя бы браузер, в котором вы этот текст набираете. Или вы каким-то образом Lynx к Хабру прикрутили?
Вы как-то резко перешли от «I/O redirect в Unix» к Lynx и Хабру. Я не понял.
Как в Unix, так и в MS-DOS перенаправление отлично работает для всех программ, которые используют функции работы с консолью. И не работает для всех остальных. И также, как в MS DOS народ пользовался не «православным» dBase II, в который можно было перенапрвлять что угодно, а «богомерзким» FoxPro, который эти механизмы не поддерживал — так же в и Unix люди пользуются на «православным» Lynx'ом, а «ужасными» Chrome и Firefox'ом. Более того, на Хабр запостить ничего из Lynx'а нельзя — так что вы точно тем же «грехом» страдаете.

INT 21h, AH=0Fh. Там проверка валидности имени осуществляется «на входе», до того, как передать FCB в файловую систему.
Замечательно. Вот в этом месте и надо было изначально делать правильно — имена файлов одного типа передавать в файловую систему, другого типа — в драйверы. В Unix всё это есть, и именно так — правда, я не знаю, когда это сделали; и там не по имени определяют, а по типу файла.
А стоило бы узнать. Они это сделали за счёт добавления флага в структуру stat, но, основное и главное, за счёт наличия жёсткого диска. То есть ядро сначала обращается к файлу, узнаёт, что это — не файл, а специальное устройство, а потом уже идёт в ядро.

А CP/M и DOS 1.0 должны были работать на системе без жёсткого диска, только с флопами. Которые, как бы, нужно было руками менять, чтобы добраться до файлов на системном диске. Потому «внезапное» предложение сменить диск при выдаче команды copy con file.txt только для того, чтобы посмотреть на файл con и понять, что он вам не нужен — никого бы не обрадовало.

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

Мы говорим о временах, когда Microsoft писал операционку под уже существующий API.
CP-M API был воссоздан весьма тщательно, вплоть до CALL 5 интерфейса.
Была ли в этом API работа со спец.файлами?
Не было — и это, как раз, и было проблемой. В CP/M (как и в операционках 60х) спецфайлы существовали в программе PIP — и больше нигде. А MS-DOS — взял из Unix интересную идею (сделать драйвера разновидностью файлов) и добавил их в уже существовавший API CP/M.

И на момент их введения — им надо было дать особые имена.
В момент их введения — было уже поздно давать им особые имена, так как API уже был и программы, написанные под него уже тоже были. Хотя операционки ещё и не было. Вот такой парадокс.

Всё так и было сделано — «правильными людьми» с «правильной технологией» в правильной OS.
Байт-код — в те времена не мог быть правильным решением.
Я, если честно, считаю, что они никогда не может быть правильным решением, но «правильные пацаны» считают иначе. Не только UCSD p-System, но и Texas Instruments и Wang считали — что это «то, что надо».

Все они, конечно, сгинули, не оставив потомства, но… это мнение «правильных пацанов» не изменило.

Во-первых, те люди, которые выводили на рынок DOS и первые Windows — либо давно уволились, либо состарились. Т.е. — не те же самые люди, а другие.
PC DOS «на рынок» никто из Microsoft не выводил. Этим IBM занималась. А для продвижения MS-DOS и Windows был нанят маркетолог. Один маркетолог: Стив Баллмер. Который был как раз CEO Microsoft во время ужасного фиаско Windows Phone.

Во-вторых, надо понимать, что DOS и первые Windows выводились на только что созданные или даже ещё не созданные рынки. А Windows Phone выводился на рынок, где уже вовсю работали другие игроки.
Вы это серьёзно? Архитектура IBM PC завоевала первое место по популярности только примерно к 1984му. И первое место — это не 90 процентов с гаком, а где-то 30% (чуть меньше было у C64, дальше Apple ][ и так далее). После чего Apple «совершила революцию» со своими маками и потребовалось что-то с этим делать. Ну вот точь-в-точь ситуация как со смартфонами и iPhone.

Однако подумать — не значит сделать. Первые Windows провалились с треском. И стало понятно, что «нужна смена парадигмы». Но когда она произошла, то Bill Gates, понимающий до копчика что такое «обратная совместимость» порвал с IBM и выпустил Windows 3.0, в которой можно было даже запускать программы от Windows 1.0 (написанные во времена, когда о защищённом режиме никто и не мечтал), а IBM — выпустила сначала «правильно спроектированную» связку OS/2 и PS/2 (несовместимую с программами Windows 1-2 и плохо совместимую с тогдашними программами для PC DOS), а когда это не помогло — затеяла PReP. Всё точь-в-точь как Microsoft с Windows Phone.

С тем же результатом: жалкая кучка яростных фанатов — и дыра в кошельке. Как Microsoft под руководством «настоящих гуру» проделал тот же финт ушами и почему — я не знаю, но это точно было не с подачи маркетологов.

Как только смартфоны/планшеты/etc стали самостоятельно выходить в сеть — Windows сдулась, ибо IBM или кто-то другой такого масштаба ей уже не помогала.
А ничего в 90е, когда Microsoft выиграла битву за десктоп «IBM или кто-то другой такого масштаба» был с другой стороны баррикад?

А вот опыт здесь только вредил. Потому что это был опыт работы на уже покорённом рынке.
Ага. Работа «только на покорённом рынке». У человека, который был первым и долгое время единственным маркетологом в Microsoft. А кто ж до него этот рынок покорил, если маркетингом только он начал заниматься, извините? Какой, вообще, рынок Microsoft к 1980му году покорил?

IBM Pascal берёт от вас имя файла, обрезает его на 8 байт и безусловно к нему приписывает расширение.
А зачем IBM Pascal собирается обращаться к спец.файлам? Правильно обрезает — для него имя файла д.б. валидным по меркам файловой системы!
Браво, ура! Возьмите с полки пирожок… а потом положите на место. Ибо IBM Pascal хочет обращаться к файлам, да, всё верно — а вот пользователь часто хочет увидеть ошибки либо на экране, либо на принтере. И, вуаля, MS DOS это позволяет (указываете PRN, который PAS1.EXE превратит в PRN.TXT — и смотрите на ваши ошибки на принтере), а другие операционки — так не умеют.

И сделать так, чтобы фича, которая в CP-M была ограничена (только PIP использовать всякие CON: и LPT:) работала бы во всех программах без добавления в них особого, специального кода — было разумно.
Двоеточие потребует специального кода???
Конечно. Вот тот самый IBM Pascal, изначально заточенный под CP/M, проиyтерпретирует двоеточие как указание на имя диска. И, скорее всего, не допустит имя состоящее из более, чем одного символа перед двоеточием. А даже если допустит — то неизвестно что с ним сделает.
В коменда PIP слеши использовались для задания опций (как во многих программах DOS потом).

Т.е. автор CP/M взялся портировать что-то из Unix и не стал портировать форму задания ключей оттуда? Поразительная криворукость!

Действительно — чего уж там. Увидев Unix на конференции (попробовать его в деле тогда ещё нельзя было) — Киндал должен быть срочно забыть про всё то, чем до этого пользовались десятилетиями и всё сделать как в Unix. «Забив» на привычки и опыт, конечно.


Ребят, вы чего? Что сейчас началось-то? Причем тут ваш драный Unix? (тихо-тихо, шучу).
PIP — это из RSX-11M с PDP (ОСРВ СМ-1420), там ключи как раз были с виндовыми слешами, в том числе и в пипе.
Windows NT (OS/2 NT точнее) много имеет из VAX/VMS, который «стоит на» RSX. Тут получается «ромбовидное множественное наследование» — из RSX Килдал перенес ключи в CP/M, оттуда они попали в MS-DOS, оттуда — в Windows; из RSX — в VMS, оттуда — в NT.
Ребят, вы чего? Что сейчас началось-то?
Не обращайте внимание. Karpion — это местный гений. Который «так видит». А что и как там устроено в реальности — его мало волнует.
Так еще, из исходников PIP в CP/M: (кто не в курсе — CP/M написан на ЯВУ)
/* CHECK FOR DISK NAME OR DEVICE NAME */
IF CHAR = ':' THEN
DO; IF DISK <> 0 THEN RETURN; /* ALREADY SET */
IF FLEN = 1 THEN
/* MAY BE DISK NAME A ... Z */
DO;
IF (DISK := GETFCB(1) - 'A' + 1) > 26 THEN
/* ERROR, INVALID DISK NAME */ RETURN;
CALL DEBLANK; /* MAY BE DISK NAME ONLY */
IF DELIMITER(CHAR) THEN
DO; IF CHAR = LB THEN
CALL SCANPAR;
CBP = CBP - 1;
TYPE = DISKNAME;
RETURN;
END;
END; ELSE

/* MAY BE A THREE CHARACTER DEVICE NAME */
IF FLEN <> 3 THEN /* ERROR, CANNOT BE DEVICE NAME */
RETURN; ELSE

/* LOOK FOR DEVICE NAME */
DO; DECLARE (I,J,K) BYTE, M LITERALLY '20',
IO(*) BYTE DATA
('INPIRDPTRUR1UR2RDROUTLPTUL1PRNLST',
'PTPUP1UP2PUNTTYCRTUC1CONNULEOF',0);
Увидев Unix на конференции (попробовать его в деле тогда ещё нельзя было) — Киндал должен быть срочно забыть про всё то, чем до этого пользовались десятилетиями и всё сделать как в Unix.
Вообще-то, Unix был примерно на десять лет старше, чем CP/M. И это если не учитывать предшественников Unix'а. Т.е. десять лет можно был пощупать, как делать правильно.

А нормально — это как? Копируя интерфейс несуществующей системы?
Нормально — это как в Unix, который уже десять лет как существовал.

В Unix есть cp, cpio, dd — вот их и надо было копировать.

Ну не так и «задолго» до Windows 95 появилась — на два года всего.
По тем временам «два года» — это очень много. А разработка началась ещё раньше.

А главное — на этих операционках использовалось много 16-битных программ, которые по-прежнему использовали PRN и CON. И было бы странно обнаружить, что в 16-битных версиях net use lpt:… работает, а в 32-битных вдруг нет…
Я уже говорил, что можно было бы оставить старый API для 16-битных программ и не тащить это в 32-битный API.
А использование «lpt:» никак не конфликтует с именами файлов — там же двоеточие!

Начнём с того, что вы так ни черта и не поняли. OS/2 и PS/2 изначально шли в паре.
Спс, я в курсе.

И были попыткой «переосмыслить» IBM PC/AT и сделать всё «как надо».
А вот ни фига — это как раз было попыткой сделать через афедрон. Собственно, поэтому рынок и не оценил попытку продать геморрой за деньги.

Ну то есть разработать PReP и PC Power Series? И портировать туда OS/2?
Ну, можно было что-то разработать. Или взять готовое.
И не портировать туда OS/2, а изначально делать для этой архитектуры. Или ещё лучше — делать мультиплатформенно.

Потому шта рынок на это посмотрел, подумал… и сказал, так веско, но внушительно: нам надо ШОБ РАБОТАЛО
Как ни странно — но Биллу Гейтсу рынок этого не говорил, а покорно прогибался под необходимость танцевать с бубном.

Видекарты там и не было. EGA — это Enhanced Graphics Adapter, а VGA — это Video Graphics Array — именно потому, что это была уже одна микросхема — и не очень дорогая.
Ок, заменю это на «видеоподсистемы». Впрочем, видеоподсистему на сервере можно было иметь — но текстовую, ничего больше там не надо. Ну и штатную возможность подключения к консоли через сеть (с вводом пароля) или через COM-порт (без ввода пароля — и даже если сервер работает со сбоями, из-за чего сеть недоступна).

GSI и Sun, правда, провернули нечто похожее на ваши предложение — но тоже попали в ту же ловушку: какое-то время они могли конкурировать с рынком PC, но со временем x86 догнал их по производительности… и всё кончилось.
GSI и Sun попали в другую ловушку — никто не догадался записать операционку в ПЗУ и облегчить цену системы на стоимость жёсткого диска.

Как в Unix, так и в MS-DOS перенаправление отлично работает для всех программ, которые используют функции работы с консолью.
Шо???
Ни в Unix, ни в DOS — перенаправляемый вывод не позволяет нормально работать с консолью. Нормально — это менять цвет текста, перемещать курсор, etc. Такая работа через перенаправляемый вывод была только в Acorn; но перенаправление там было сделано немного совсем не так.
В DOS всё это доступно через BIOS API — а он неперенаправляемый.

так же в и Unix люди пользуются на «православным» Lynx'ом, а «ужасными» Chrome и Firefox'ом
Почему это Lynx — «православный»?

ядро сначала обращается к файлу, узнаёт, что это — не файл, а специальное устройство, а потом уже идёт в ядро.
Вы сами свои слова поняли?
Ядро не может обратиться к файлу. Ядро может обратиться к программе — например, к драйверу файловой системы.
А понять «потом ядро уже идёт в ядро» — я так и не осилил.

А в современном FreeBSD на каталог /dev вообще смонтирована специальная файловая система — devfs. Нормальных файлов там быть не может, только специальные. Хотя старый механизм всё ещё работает.

А CP/M и DOS 1.0 должны были работать на системе без жёсткого диска, только с флопами. Которые, как бы, нужно было руками менять, чтобы добраться до файлов на системном диске. Потому «внезапное» предложение сменить диск при выдаче команды copy con file.txt только для того, чтобы посмотреть на файл con и понять, что он вам не нужен — никого бы не обрадовало.
Вот тут как раз механизм devfs очень пригодился бы.

Потому было принято простое решение: драйвера названия своих устройств складывают в простую табличку и что там есть — то драйвер, чего нет — то не драйвер.
А есть ещё более простое решение, которое даже таблички не требует (правда, табличка всё равно потребуется — но позже): записывать имена спец.файлов в особом формате; таком, что таких имён файлов дна диске быть не может.

А MS-DOS — взял из Unix интересную идею (сделать драйвера разновидностью файлов) и добавил их в уже существовавший API CP/M.
И, как обычно — сделал это рукожопо.
Последний пример аналогичного рукожопства был со Skype.

В момент их введения — было уже поздно давать им особые имена, так как API уже был и программы, написанные под него уже тоже были.
И чем этот уже существующий API мешал дать спец.файлам особые имена?

Я, если честно, считаю, что они никогда не может быть правильным решением, но «правильные пацаны» считают иначе.
Байт-код хорош тогда, когда надо обеспечить выполнение программного кода на машине, которая не доверяет источнику этого кода. В частности — когда браузер загружает с сайта программу и выполняет её в себе.
Ибо байт-код позволяет быть уверенным, что внутри него не будет выполняться что-то плохое типа обращения за границу выделенной для него памяти.

А для продвижения MS-DOS и Windows был нанят маркетолог. Один маркетолог: Стив Баллмер. Который был как раз CEO Microsoft во время ужасного фиаско Windows Phone.
Во-первых, Стив Баллмер уже состарился. Во-вторых, он так и не понял, что новый рынок — совершенно не похож на тот рынок, куда он выводил MS-DOS и Windows.

Вы это серьёзно?
Да. Потому что тогда рынок персональных компьютеров быстро рос. Так быстро, как не рос никакой другой рынок.
Впрочем, возможно, какие-то рынки когда-то давно тоже были в таком состоянии — например, рынок автомобилей в начале 20-го века (точные годы назвать не берусь).

IBM — выпустила сначала «правильно спроектированную» связку OS/2 и PS/2
В том-то и дело, что эта связка была спроектирована катастрофически неверно. В частности, для неё локальный HDD был родным, а сеть — чуждой. Это видно по тому, что для работы с сетью надо загрузить программы с локального HDD.

А ничего в 90е, когда Microsoft выиграла битву за десктоп «IBM или кто-то другой такого масштаба» был с другой стороны баррикад?
А ничего, что IBM в тот момент выпускала PC-совместимые компьютеры?

У человека, который был первым и долгое время единственным маркетологом в Microsoft.
Люди с возрастом меняются. Стив Баллмер имел опыт создания нового рынка на фактически пустом месте — но опыт давний. Стив Баллмер имел опыт продвижения новых продуктов на уже захваченном рынке. Но опыта войны против превосходящего противника — у него не было.

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

Ибо IBM Pascal хочет обращаться к файлам, да, всё верно — а вот пользователь часто хочет увидеть ошибки либо на экране, либо на принтере. И, вуаля, MS DOS это позволяет (указываете PRN, который PAS1.EXE превратит в PRN.TXT — и смотрите на ваши ошибки на принтере), а другие операционки — так не умеют.
Если IBM Pascal открывает конкретный файл и что-то туда пишет — Вы никакими средствами (ну, разве что особо извращёнными — типа резидентных программ с перехватом функций/прерываний) не получите его вывод на экран или принтер.
Правда, если IBM Pascal согласен взять имя этого файла от пользователя (спросить интерактивно или взять из конфига) — то ему можно подсунуть имя типа «con». Всё отлично. Ну и что мешает подсунуть ему имя "«con:»? В восемь байт — влезает, расширение можно игнорировать.

Вот тот самый IBM Pascal, изначально заточенный под CP/M, проиyтерпретирует двоеточие как указание на имя диска.
Имя диска — состоит из одной буквы. Значит, если там много букв — то это имя устройства.
Ну ладно, не нравится двоеточие — можно взять другой символ. Например, "^", "#" или "@" ничем не хуже.
А использование «lpt:» никак не конфликтует с именами файлов — там же двоеточие!

Использование CON, PRN, LPT1, COM1 тоже никак не конфликтует — мы говорим о ряде операционных систем, где 99% файлов имеют расширение через точку.

Вообще-то, Unix был примерно на десять лет старше, чем CP/M. И это если не учитывать предшественников Unix'а. Т.е. десять лет можно был пощупать, как делать правильно.

Что Килдал и сделал — он взял стилистику RSX, которая того же возраста. Это просто другая «экосистема».

Шо???
Ни в Unix, ни в DOS — перенаправляемый вывод не позволяет нормально работать с консолью. Нормально — это менять цвет текста, перемещать курсор, etc.

Для этого в MS-DOS'е предназначен драйвер ansi.sys и используются escape последовательности.
А есть ещё более простое решение, которое даже таблички не требует (правда, табличка всё равно потребуется — но позже): записывать имена спец.файлов в особом формате; таком, что таких имён файлов дна диске быть не может.

См. первый ответ. Тут MS даже сделал гибче, чем надо было.

А ничего, что IBM в тот момент выпускала PC-совместимые компьютеры?

Всего-навсего как один из игроков, пытающийся к тому же продвинуть свою систему. Так что все верно — по другую сторону.
Использование CON, PRN, LPT1, COM1 тоже никак не конфликтует
Эти имена плохи тем, что они удовлетворяют формату имён файловой системы;, что они — не обычные файлы, а особые, надо знать список. При этом — в DOS список мог произвольно дополняться. Конфликт — как раз в том, что имена перекрывались.

Мне кажется правильным решением использовать имена, начинающиеся со спец.символа типа "@", "#" и им подобных; или заканчивающиеся на такой символ.
Похоже, в CP/M сделать такое было малореально. А вот в DOS — уже вполне можно было.

Для этого в MS-DOS'е предназначен драйвер ansi.sys и используются escape последовательности.
Я в курсе. Однако, большинство машин не имели его в автозагрузке (в т.ч. и для экономии памяти); а загружать и выгружать его по мере необходимости было невозможно.

Тут была типичная проблема: Пользователи не заружают его потому, что практически нет программ, которые его используют. А программисты не пишут программы, которые работают через ANSI — потому что знают, что пользователи не любят загружать его.

Хорошим решением было бы поместить этот драйвер в BIOS. Но биосописатели — это те ещё криворукие моральные уроды: они даже когда делали BIOS с поддержкой мыши, и то не дали его драйвер в DOS, и приходилось загружать драйвер мыши отдельно.

Тут MS даже сделал гибче, чем надо было.
А вот не надо было гибче!
Вот пример вредной гибкости: Операционку, записанную на HDD, можно изменять, апгрейдить, патчить. Но первыми этой гибкостью пользуются вирусы. Вторыми — криворукие юзеры, сносящие систему. А операционка в ПЗУ — не гибкая, и это хорошо.
Другой пример — перезаписываемый BIOS и вирус «Чернобыль». В афедрон такую гибкость!

Всего-навсего как один из игроков, пытающийся к тому же продвинуть свою систему. Так что все верно — по другую сторону.
У Вас странные представвления о «другой стороне».

Если бы IBM реально хотела завалить MS — она бы для начала выпустила полностью бесплатный DOS и этим подорвала бы экономику MS. Потому что без денег от продажи DOS — было бы намного труднее делать Windows.
Кроме того, надо было продвигать на рынок альтернативные компьютеры, несовместимые с DOS и Windows. Ибо чем меньше компьютеров под поделия Билла Гейтса — тем меньше продажи его программ. Ну и предоставить спецификации этой альтернативной платформы всем желающим — правда, не задаром, а за мелкий прайс.
Ну и было необходимо менять парадигму использования компьютера — от модели «автономный компьютер единоличного использования» переходить к сетевой модели пользования и к коллективному использованию компьютера (эти два подхода особенно хороши вместе).

iRL же тогдашняя война IBM и MS была похожа на нынешнюю войну РФ и Украины — когда военные действия перемежаются с торговлей и другим сотрудничеством, а воюющие стороны называют друг друга «уважаемые партнёры». Или на войну США против терроризма — когда США практически открыто поставляют террористам оружие.
Эти имена плохи тем, что они удовлетворяют формату имён файловой системы;, что они — не обычные файлы, а особые, надо знать список.
Однако этим же они и хороши: вы могли использовать программы, написанные задолго до появления этих файлов и всё работало. И да — люди этим пользовались. И сейчас пользуются.

Мне кажется правильным решением использовать имена, начинающиеся со спец.символа типа "@", "#" и им подобных; или заканчивающиеся на такой символ.
Примерно как ~1 в Windows95. Да — тут можно можно согласиться. Однако мешал всё тут же CP/M и его PIP. В нём-таки использовались имена вида prn: с двоеточием на конце — пусть и только в программе PIP. PC DOS эту идею изящно расширил: в каком-нибудь PC DOS 2.1 можно было написать copy con: text.txt: — и это отлично работало! То есть «лишнее» двоеточие просто игнорировалось. Вместо этого можно было бы потребовать чтобы всё работало с файлами вида prn: или, скажем, prn# — но… несколько байт решили съэконмить. То есть примерно та же история, что и со скрытыми файлами в любимим вами Unix'е.

Да, так бывает.

Но биосописатели — это те ещё криворукие моральные уроды: они даже когда делали BIOS с поддержкой мыши, и то не дали его драйвер в DOS, и приходилось загружать драйвер мыши отдельно.
А это уже тяжкое наследие совместимости: DOS не предоставляет для BIOS способов передать ему драйвер мыши. Были системы, которые так умели: Amiga, RiscOS… но мы знаем что с ними произошло…

Вот пример вредной гибкости: Операционку, записанную на HDD, можно изменять, апгрейдить, патчить. Но первыми этой гибкостью пользуются вирусы.
Нет. Первыми этим пользуются разработчики железа. Пресловутая Amiga 1000 не зря грузила операцинку с флопа: иначе компьютер нельзя было бы начать продавать 23 июля 1985го.

Кстати и RiscPC, несмотря на то, что имела операционку в ROM'е позволяла её апгрейдить. Ибо к моменту выхода компьютера не было возможности всё довести до ума. Это было верно в 80е так же, как и сегодня… просто флопы делать чуть сложнее, чем апдейт выложить на сайт — но всё равно гораздо проще, чем отзывать железо и менять микросхемы (как Amaga требует делать — только первая версия всё грузила с флопа… потом сделали как вы предлагаете… пришлось выпускать обновки в виде микросхем… они до сих пор, кстати, продаются).

Другой пример — перезаписываемый BIOS и вирус «Чернобыль»
Увы, но это банально дешевле. А покупатели денежки считать умеют хорошо, да.

Если бы IBM реально хотела завалить MS — она бы для начала выпустила полностью бесплатный DOS и этим подорвала бы экономику MS.
… если бы успела что-то сделать до того, как её разделили бы на части. Вы не забыли, что IBM в это время только-только сумела отбиться от DOJ, который собирался наложить на неё очень серьёзные санкции (вплоть до разделения на несколько компаний) за нечто подобное. Ей только-только удалось отбиться от US (в 1982м) и от Еврокомиссии — и вы предлагаете тут же развернуться и повторить?

Кроме того, надо было продвигать на рынок альтернативные компьютеры, несовместимые с DOS и Windows.
Пробовали. Не получилось. Ни до, ни после. Вы никогда не задумывались над тем почем IBM PC имела номер 5150? А потому что маркетинг продвигал её как потомок IBM 5100 — который никому не сдался ни для чего. А ещё у IBM были RS/6000.

Вот только программы для CP/M и DOS там не работали и потому их не покупали.

Ну и предоставить спецификации этой альтернативной платформы всем желающим — правда, не задаром, а за мелкий прайс.
А это уже PS/2 и PReP.

Ну и было необходимо менять парадигму использования компьютера — от модели «автономный компьютер единоличного использования» переходить к сетевой модели пользования и к коллективному использованию компьютера (эти два подхода особенно хороши вместе).
А ничего, что именно компьютеры, работающие по этой модели приносили тогда IBM почти всю прибыль? Вам слова IBM 3270 что-нибудь говорят? Что было бы с ними, если бы IBM выпустила то, о чём вы говорите и мейнфреймы стали бы никому не нужны? Их продажи и без того сокращались, IBM быстро приближалась к своим миллиардным убыткам — а вы предлагаете этот процесс ещё ускорить?

iRL же тогдашняя война IBM и MS была похожа на нынешнюю войну РФ и Украины — когда военные действия перемежаются с торговлей и другим сотрудничеством, а воюющие стороны называют друг друга «уважаемые партнёры».
А в бизнесе всегда так. Резкие движения скорее учнитожать тебя, чем того, кого ты пытаешься атаковать. Тот же Microsoft с Windows и Apple со своими маками однозанчно воевали всерьёз — однако при этом Microsoft был крупнейшим ISV для Маков! Первая версия Excel под Windows так и не вышла!

Да и потом: партнёрами они были до выхода Windows 3.0 в 1990м. После этого — всё, дорожки разошлись. А пересаживание людей на Windows только-только начиналось.
Однако этим же они и хороши: вы могли использовать программы, написанные задолго до появления этих файлов и всё работало.
Много ли было программ, которые не могли открыть файл с именем «prn:» (которое вовсе не то, что «prn»)? Многие ли программы проверяли имя файла не обращением в операционку, а сами?
Ну а если программист проверяет имя файла на неверный шаблон — это его личное дело. Мало ли неверно написанных программ?

Примерно как ~1 в Windows95.
Это туи при чём? Тильда — вполне легальный символ, такие имена могли появиться и при работе DOS.

То есть «лишнее» двоеточие просто игнорировалось.
Вот это и было неправильным!

но… несколько байт решили съэконмить.
Вообще-то — распознавание спец.файла по двоеточию в имени гораздо более экономно.

То есть примерно та же история, что и со скрытыми файлами в любимим вами Unix'е.
Ничего общего: эти скрытые имена — никак не мешают существованию файлов с любым именем!

А это уже тяжкое наследие совместимости: DOS не предоставляет для BIOS способов передать ему драйвер мыши.
Вы делаете мне смешно. Ну, расскажите, каким образом DOS вообще работает с мышью. Ой, оказывается, сам DOS — вообще никак! Это делают программы, вызывающие мышиный INT (номер не помню)! Ну и кто же мешает BIOS'у перехватить этот INT?

Были системы, которые так умели: Amiga, RiscOS…
Шо??? В RiscOS — не было ни DOS, ни BIOS! Про Amiga — не знаю.

Пресловутая Amiga 1000 не зря грузила операцинку с флопа: иначе компьютер нельзя было бы начать продавать 23 июля 1985го.
Почему нельзя? Может, закон запрещал? Может, там ещё и дисковод был обязательный?

Кстати и RiscPC, несмотря на то, что имела операционку в ROM'е позволяла её апгрейдить.
Но вирус — «апгрейдить» операционку не мог. Ой, странно-то как…

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

Увы, но это банально дешевле. А покупатели денежки считать умеют хорошо, да.
Я так понимаю, убытки от окирпичивания материнок покупатели посчитать забыли.

если бы успела что-то сделать до того, как её разделили бы на части.
За бесплатный выпуск операционки?
Ой, не проблема: создаём отдельную фирму, и она выпускает.

IBM в это время только-только сумела отбиться от DOJ, который собирался наложить на неё очень серьёзные санкции (вплоть до разделения на несколько компаний)
Ну так и надо было разделиться — и работать совместно.

А потому что маркетинг продвигал её как потомок IBM 5100 — который никому не сдался ни для чего. А ещё у IBM были RS/6000.
У IBM вообще было много архитектур, не все были удачные. И что?

Вот только программы для CP/M и DOS там не работали и потому их не покупали.
Я что-то сильно сомневаюсь, что «программы для CP/M и DOS» имели столь решающее значение. Тут в первую очередь важно то, что компьютеры этой архитектуры выпускают много фирм.

А это уже PS/2 и PReP.
PS/2 — работала на MS, т.к. на ней работали DOS и Windows. PReP — вот тут судить не берусь.

А ничего, что именно компьютеры, работающие по этой модели приносили тогда IBM почти всю прибыль?
А я думал — что основную прибыль IBM получала от мэйнфреймов коллективного доступа.

Вам слова IBM 3270 что-нибудь говорят?
Это вообще не компьютер — это терминал, никому не нужный без мейнфрейма…

Что было бы с ними, если бы IBM выпустила то, о чём вы говорите и мейнфреймы стали бы никому не нужны?
С кем «с ними»? С терминалами? Да и фиг с ними.
А мейнфреймы остались бы там, где были. Ну или стали бы терять позиции — так же, как и под натиском писюков.

А в бизнесе всегда так. Резкие движения скорее учнитожать тебя, чем того, кого ты пытаешься атаковать.
Расскажите это Novell — которую MS убила сетевыми возможностями сначала W'3.11, а потом W'NT!

Да и потом: партнёрами они были до выхода Windows 3.0 в 1990м. После этого — всё, дорожки разошлись. А пересаживание людей на Windows только-только начиналось.
Войну надо было начинать раньше. Но видимо, Билла Гейтса прикрывала мама. А потом уже было поздно.
За бесплатный выпуск операционки?
Ой, не проблема: создаём отдельную фирму, и она выпускает.

Вас не затруднит вспомнить недавнее прошлое — Windows 95, встроенный Internet Explorer, вотэтовсё.
А Вас не затруднит вспомнить недавнее прошлое — Linux, FreeBSD, FreeDOS, вотэтовсё? Были ли там хоть какие-то намёки/поползновения на судебные преследования? Очевидно, что не было — это же не встроенные операционки.

Серьёзные проблемы м.б., если операционка зашивается в ПЗУ. И особенно — если заменить её на другую невозможно (т.е. ПЗУ неизвлекаемое/незаменяемое): тут-то в полный рост идёт «встроенность».
Однако, Вас не затруднит вспомнить недавнее прошлое — Android, WindowsMobile, iOS, вотэтовсё?

А кстати, чем закончилось дело со встроенным в Windows Internet Explorer? Может, MS разделили или хотя бы оштрафовали?
А Вас не затруднит вспомнить недавнее прошлое — Linux, FreeBSD, FreeDOS, вотэтовсё?
А на каком рынке у них монополия, извиняюсь?

Очевидно, что не было — это же не встроенные операционки.
Встроенные/невстроенные — это никого не волнует. iOS — вот, вполне встроенный, а к нему претензий нет. Потому что 15-20% — это не монополия.

Однако, Вас не затруднит вспомнить недавнее прошлое — Android, WindowsMobile, iOS, вотэтовсё?
Не затруднит. iOS — 15-20%, Windows Mobile — где-то в районе 1%. Им можно делать что угодно. А у Андроида 80% — и, пожалуйста, разбирательства начались.

А кстати, чем закончилось дело со встроенным в Windows Internet Explorer? Может, MS разделили или хотя бы оштрафовали?
То есть вы тут разбираете «гениальные» стратегии не зная даже результатов столь яркого эпизода? Заставили выпустить версию без Internet Explorer. В обычной версии заставили сделать окно выбора браузера и когда оное «случайно» при обновлении пропало выписали неплохой такой штраф.

Знаете, мне надоело: у вас чуть не в каждом абзаце — фактическая ошибка. Вначале кажется что можно как-то показать, что вы неправы — и вы научитесь иногда в Гугл заходить перед тем, как чушь писать… но похоже вам просто нравится троллить… ну это ваш выбор — но, пожалуйста, без меня тогда уж.
Практически для любого значимого продукта — можно найти рынок, на котором он будет монополистом. Например, есть рынок смартфонов (железок) — он сильно сегментирован. Ну так можно взять рынок «смартфонов с экраном в пять дюймов», а при необходимости ограничить его ещё как-то — и найти монополиста. А можно объединить рынки смартфонов, сотовых телефонов, планшетов и ноутбуков — и внезапно у нас нет никакого монополиста.

Т.е. я как бы намекаю, что монополистом не становятся — монополистом назначают по произволу власти. Если бы Билл Гейтс догадался требовать от властей не разделять рынки персональных компьютеров и мейнфреймов — у него был бы шанс проскочить без наказания.
Хотя, если власти окрысились конкретно на него — никакие требования не помогут.

Но вернёмся к исходной теме.
Допустим, IBM финансирует независимую фирму/университет, и там делает бесплатную операционку. Что власти могут предъявить в этом случае?

Ну и наконец, остаётся та возможность, которую применила Intel: надо создать псевдоконкурента. Т.е. Билл Гейтс должен был бы сделать фирму, которая выпустила бы альтернативный браузер. И включить этот браузер в дистрибутив.
Практически для любого значимого продукта — можно найти рынок, на котором он будет монополистом.
Серьёзно? Просветите?

Например, есть рынок смартфонов (железок) — он сильно сегментирован.
Ой ли? Да, тем есть много моделей, но нет никаких доказательств того, что люди, покупающие, скажем, любимые вами пятидюймовые модели не могут купить телефон с экраном в пять с половиной дюймов.

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

Чего стоили бы все антимонопольные законы если бы кто-то (неважно кто) мог произвольно определять границы рынков? Да, иногда в суде всплывает этот вопрос — но он аж никак не решается путём чтения рекламных буклетов. Вопрос на тему «это у нас один рынок или два?» решается на основе возможности замены одного типа продукции другим. И да, этот процесс иногда бывает весьма долгим.

Т.е. я как бы намекаю, что монополистом не становятся — монополистом назначают по произволу власти.
Вы тут намекаете на то, что все кругом идиоты, а вы — д'Артаньян. Что вы знаете о том, как работает мир, а никто больше не знает. И если факты не согласуются с вашими теориями загвора — то тем хуже для фактов.

Допустим, IBM финансирует независимую фирму/университет, и там делает бесплатную операционку. Что власти могут предъявить в этом случае?
Демпинг с целью уничтожения конкурента. Вот если бы институт сам, без чужих денег что-то разработал, тогда да. А если ему даёт денег доказанный монополист…

Ну и наконец, остаётся та возможность, которую применила Intel: надо создать псевдоконкурента.
Создать нельзя — можно только следить за тем, чтобы он не умер. AMD получила лицензию, в своё время, по требованию IBM. Но тогда на рынке персоналок Intel не был монополистом — даже и близко. А сейчас внутри Intel действует жёствое правило: никто и ни при каких условиях не должен ссылаться на то, что он знает об AMD и что не является публичной информацией. Ибо обвинят в картельном сговоре — и… мало не покажется.

Т.е. Билл Гейтс должен был бы сделать фирму, которая выпустила бы альтернативный браузер.
В тот момент, когда суд установил, что ты монополист — уже поздно делать подобное. Так как суд будет (вполне логично) считать что фирма нужна для обхода ограничений.
Серьёзно? Просветите?
Ну, я уже огласил пример.
Могу привести другой пример: одно время RedHat была практически монополистом на рынке Linux-систем. Т.е. выделяем из «рынка персоналок» «рынок Linux-систем» — и выявляем там монополиста. Или выделяем «рынок Unix-систем» — и видим там Linux в роли монополиста.
«Закон — как дышло: куда повернул, туда и вышло.»

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

И любой юрист, проведя экспертизу, докажет, что в найтоящее время во многих случаях замена, скажем, ноута на телефон — невозможна.
Ключевое слово в этой фразе = «экспертиза». Я тут как бы намекаю, что её проводит эксперт — т.е. произвольно выбранный человек. Приведём одного человека — он заявит, что можно заменить. Приведём другого — он заявит, что разница слишком сильная, чтобы замену можно было считать равноценной. А кому поверит суд — это тоже вопрос субъективного мнения судьи (ну и объективной генеральной линии, которая предписывает верить толерантности).

Чего стоили бы все антимонопольные законы если бы кто-то (неважно кто) мог произвольно определять границы рынков?
Ну так мы все отлично знаем, чего стоят эти законы — когда под завывания о необходимости сохранить свободный рынок — антимонопольный комитет начинает рулить рынком в ручном режиме.

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

Что вы знаете о том, как работает мир, а никто больше не знает.
Ой, да это знает масса людей.

И если факты не согласуются с вашими теориями загвора
Так, стоп-стоп-стоп! Вы сказали «теория заговора»? Давайте определение!
Только не говорите мне, что заговоров не бывает. А то я Вам быстро ссылок накидаю — «заговор генералов против Гитлера», «пороховой заговор» и ещё тысячу.

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

Кстати. Билла Гейтса почему-то не зажопили, когда он продавал DOS дешевле, чем его конкурент продавал CP/M. Я же говорил, что в этом вопросе царят произвол и коррупция.

Вот если бы институт сам, без чужих денег что-то разработал, тогда да. А если ему даёт денег доказанный монополист…
Дать денег через «прокладку»?

Создать нельзя — можно только следить за тем, чтобы он не умер.
Ну, можно воспользоваться существующим. А если нет существующего — то можно создать.

А сейчас внутри Intel действует жёствое правило: никто и ни при каких условиях не должен ссылаться на то, что он знает об AMD и что не является публичной информацией.
Что значит «ссылаться»?

В тот момент, когда суд установил, что ты монополист — уже поздно делать подобное.
Разумеется, такие фирмы надо создавать заранее. И не одну.
Серьёзно? Просветите?
Ну, я уже огласил пример.
Вы привели не пример, а фантазии на тему. Определять «рынок машин весом 915кг и размерами 1650мм x 1402 мм x 4006мм», где Лада будет монополистом — вам никто не даст. Всем понятно, что если разрешить комитетут определять «границы рынка» произвольным образом — то ничего из этого не выйдет. Потому есть пояснения и разъяснения.

«Закон — как дышло: куда повернул, туда и вышло.»
И именно для того, чтобы это происходило не так часто — есть адвокаты и многоуровневая система аппeляций.

Ну, точно так же нет никаких доказательств того, что люди, покупающие PC — не могут купить мейнфрейм. Вообще, доказать невозможность чего-то — довольно сложно.
Для этого существует экспертиза. Результаты которой, в свою очередь, тоже можно оспорить.

Только не говорите мне, что заговоров не бывает. А то я Вам быстро ссылок накидаю — «заговор генералов против Гитлера», «пороховой заговор» и ещё тысячу.
Смешались в кучу кони, люди… Любой заговор — ограничен в своих масштабах. Если десятком-другим человек что-то можно «такое» замыслить и осуществить, то заговором в которые вовлечены тысячи или, как вы утверждаете, миллионы — как правило долго не живут. И вы это на всех ваших ссылках прочитаете.

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

Кстати. Билла Гейтса почему-то не зажопили, когда он продавал DOS дешевле, чем его конкурент продавал CP/M.
Потому что Caldera предпочла $280 миллионов.

Вот если бы институт сам, без чужих денег что-то разработал, тогда да. А если ему даёт денег доказанный монополист…
Дать денег через «прокладку»?
А где гарантия, что деньги не будут забраны, а результата не будет? Официально вы ведь ничего требовать не можете…

А сейчас внутри Intel действует жёствое правило: никто и ни при каких условиях не должен ссылаться на то, что он знает об AMD и что не является публичной информацией.
Что значит «ссылаться»?
Написать что-нибудь типа: мы должны делать A, потому что AMD делает B. Если этой информации нет в СМИ — то ссылаться не неё нельзя. Нигде. Даже во внутренней переписке.
Определять «рынок машин весом 915кг и размерами 1650мм x 1402 мм x 4006мм», где Лада будет монополистом — вам никто не даст.
Ну так кто я такой, чтобы это дали определять мне? А там есть специально обученные люди — эксперты!

есть адвокаты и многоуровневая система аппeляций.
А адвокаты как раз и занимается тем, что крутят дышло. Суд же просто смотрит — кто ловче крутит; в этом и есть суть состязательного процесса, в котором судья не ищет истину, а тупо сравнивает умение сторон болтать языком.

Для этого существует экспертиза.
О том, что такое «экспертиза», и кто такой «эксперт» — я уже говорил выше.

Если десятком-другим человек что-то можно «такое» замыслить и осуществить, то заговором в которые вовлечены тысячи или, как вы утверждаете, миллионы — как правило долго не живут.
Простите, а где я говорил про миллионы участников заговора?

не было бы таких его видов, как постоянный демпинг
Вы бы внимательно почитали то, что там написано. Там автор явно не дружит с головой. Например, он пишет: «Демпинговые цены существенно ниже рыночных цен»; очевидно, он не понимает принципов образования рыночной цены; ну или сознательно обманывает читателей. Я надеюсь, Вы это сами прекрасно понимаете — ну или я могу провести ликбез на эту тему.

Или вот ещё перл: «Демпинг нарушает правила справедливой конкуренции». «Справедливой», Карл!
Понятие справедливости в отношении конкуренции — это примерно как понятие цвета в отношении дня недели. Бывает ли синий вторник?

(Оффтопик: Тексты из Википедии следует воспринимать критично. Если про математику там обычно нормальные тексты, то про историю, политику и экономику — очень часто бывают запредельно ангажированные.)

Потому что Caldera предпочла $280 миллионов.
Caldera продавала CP/M ???

А где гарантия, что деньги не будут забраны, а результата не будет?
Деньги выделяются траншами, каждый этап работы оплачивается отдельно.
Простите, а где я говорил про миллионы участников заговора?
DOJ, ЕК, десятки антимонопольных комитетов (в том числе, скажем, Китайский) и связанных с ними судов… это много народу получается. Очень много.

И, если, как вы утверждаете, они дружно вертят законом так, как им хочется… то это и есть заговор на миллион человек.

Потому что Caldera предпочла $280 миллионов.
Caldera продавала CP/M ???
Caldera купила Digital Research — вместе с открытым иском к Microsoft. А Digital Research — та, разрабатывал и продавал CP/M.

А где гарантия, что деньги не будут забраны, а результата не будет?
Деньги выделяются траншами, каждый этап работы оплачивается отдельно.
Чем больше вы разводите подобной возни — тем больше денег уходит посреднкам и выше шанс «прокола». А у вас без этой «бессмысленной и беспощадной» войны «финансы поют романсы» (не забываем, что как раз примерно когда IBM попыталась резко и изменить курс истории с помощью PS/2 и OS/2 как раз начался массовый спад продаж на рынке мейнфреймов и к началу 90х IBM работала в убыток).
И, если, как вы утверждаете, они дружно вертят законом так, как им хочется… то это и есть заговор на миллион человек.
Карманными кражами, рэкетом, разными видами коррупции и прочими преступлениями занимаются гораздо большее число людей. Но никто не делает вывода о мировом заговоре карманников, рэкетиров или коррупционеров (хотя локальные заговоры рэкетиров и коррупционеров существуют; ну а карманники часто работают сами по себе).

Чтобы вертеть законом в одной локальной стране — совершенно не нужно создавать заговор с теми, кто вертит законом в соседней стране. Это же внутренние дела.

А как Вы насчитали миллион человек? Секретарш, сисадминов и уборщиц в судебной палате тоже посчитали?

Caldera купила Digital Research — вместе с открытым иском к Microsoft. А Digital Research — та, разрабатывал и продавал CP/M.
И сколько лет Digital Research не могла добиться правды?

Чем больше вы разводите подобной возни — тем больше денег уходит посреднкам и выше шанс «прокола».
Вообще-то, выделение денег траншами — это нормальная практика, позволяющая снизить риски. А посредники всё равно нужны — собственно, вся иерархическая система крупной корпорации и есть система посредников между высшими директорами и работниками.
И вообще, сейчас есть очень модная тема — «аутсорс». Все вопросы выноса разработки в стороннюю фирму — решаемы, и это считается выгодным.

как раз начался массовый спад продаж на рынке мейнфреймов и к началу 90х IBM работала в убыток
Ну, собственно, ничего неожиданного в этом нет — IBM доигралась с выпуском открытой архитектуры PC и сама вырыла себе яму.

Знаете, пожалуй, я соглашусь с Вами, что IBM уже в принципе не могла исправить ситуацию.
Точнее, может, и могла. Но это требовало таких точных действий, которые спланировать в то время было невозможно. Ну, допустим, можно было бы выпустить процессор с системой команд ARM — но вот угадать, что именно такая система команд даст решающий прорыв, было совершенно нереально.
Кроме собственно процессора — надо было планировать и архитектуру процессора. Сейчас мы знаем множество разных решений — но тогда их ещё не было. Сейчас можно взять и использовать знания о разных вариантах архитектуры — а тогда на разработку разных вариантов и на исследования их эффективности нужны были время, деньги и специалисты.

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

Ну так понятно, что коррупция до добра не доводит. Впрочем, высшим менеджерам IBM на это плевать — свои бонусы они получили.
Много ли было программ, которые не могли открыть файл с именем «prn:» (которое вовсе не то, что «prn»)?
Достаточно.

Многие ли программы проверяли имя файла не обращением в операционку, а сами?
99%. Им необходимо было это сделать, для того, чтобы разбить имя файла на три компонента.

Часть, правда, запрашивала три компонента отдельно — но сути это не меняло. Имя файла prn они принимали, а prn: — нет.

Это туи при чём? Тильда — вполне легальный символ, такие имена могли появиться и при работе DOS.
Это позволило бы снизить накал проблемы в будущих операционках. Типа Windows 10, да. Нелегальные символы (типа двоеточия) в имени файла требовать было нельзя, а легальные, но редкие (что-нибудь типа # или $) — вполне можно. Но решили не морочить людям жизнь, да.

То есть «лишнее» двоеточие просто игнорировалось.
Вот это и было неправильным!
Нет, это было как раз правильным, потому что иначе куча программ не смогла бы с такими файлами работать.

Вообще-то — распознавание спец.файла по двоеточию в имени гораздо более экономно.
Вообще-то двоеточие уже использовалось для имени диска. Так что всё не так просто — нужно было бы понимать, что одна буква — идёт в поле «диск» (причём не просто так себе идёт, а её ещё преобразовать нужно — «A» в 0, «B» в 1 и так далее), а если больше — то это уже «специальное имя файла и нужно обрабатывать по-другому.

В каждой программе, ещё раз повторяю.

Ничего общего: эти скрытые имена — никак не мешают существованию файлов с любым именем!
Однако создают другие проблемы.

Вы делаете мне смешно.
Ну то, что вы любите смеяться над собственным невежеством — это я давно заметил.

Ну, расскажите, каким образом DOS вообще работает с мышью. Ой, оказывается, сам DOS — вообще никак!
Великолепное замечание, возьмите с полки пирожок…

Это делают программы, вызывающие мышиный INT (номер не помню)!
33H… уже теплее… хотя настораживает, что вы снова пишите о чём-то, не зная всех деталей…

Ну и кто же мешает BIOS'у перехватить этот INT?
Перехватить INT — ничего… но вот только ни одна программа его вызывать не будет, пока DOS „добро“ на это не даст. Функция Int 21/AH=35h. Вызывать просто INT 33H без предварительной проверки нельзя, потому что иначе на системе без драйвера мыши ваша программа будет виснуть.

Да, можно сделать обработчик INT 33H в BIOS, а также мини-драйвер, единственной задачей которого будет зарегистрироваться и сказать „да-да, мышь есть, пользуйтесь“… но кому это нужно? Драйвер мыши и так у всех есть, да и было это во времена, когда мало кто в DOS уже работал, а если без драйвера не обойтись, тогда какой смысл во всех этих „плясках с бубнами“?

Шо??? В RiscOS — не было ни DOS, ни BIOS! Про Amiga — не знаю.
RiscOS вся, целиком, жила в ROM (хотя апдейты могли с диска грузиться), Amiga имела достаточно продвинутый
Kickstart
в ROM, который до запуска операционки создавал таблицы драйверов. А в IBM PC — ничего этого не было. Все драйвера добавлялись в таблицу только и исключительно после загрузки DOS — и через обращение к DOS.

Отзывать железо не надо — менять микрохемы могут и сами юзеры.
Какой процент юзеров может это сделать?

Я так понимаю, убытки от окирпичивания материнок покупатели посчитать забыли
Именно так! Если бы потребители умели считать деньги с учётом долгосрочных последствий, то они бы ни малого из пальмового масла, ни лампочки от которых „глаза вытекают“, ни окирпичивающиеся материки не покупали.

Но… в нашей вселейнной покупатели так не устроены.

За бесплатный выпуск операционки?
Ой, не проблема: создаём отдельную фирму, и она выпускает.
Вы хотите, чтобы на вас ещё и contempt навесили? Так это только усилит ваши страдания. Суды очень не любят, когда их за идиотов держат.

Ну так и надо было разделиться — и работать совместно.
Это будет очень тяжело сделать, сидя в тюрьме, уверяю вас. И когда Standard Oil и когда AT&T делили — то потом несколько лет правительство следило за тем, чтобы разделённые компании не то, что не „работали совместно“, а чтобы работники, и главное, руководители одной компании не могли даже видеть ничего, что о другой компании не известно публично.

У IBM вообще было много архитектур, не все были удачные. И что?
То что ни одна архитектура, которая не была бы собрана из „чужих“ компонент не оказалась достаточно дешёвой для того, чтобы успещно на рынок „персоналок“ выйти.

Я что-то сильно сомневаюсь, что «программы для CP/M и DOS» имели столь решающее значение. Тут в первую очередь важно то, что компьютеры этой архитектуры выпускают много фирм.
Вы опять ставите телегу впереди лошади. Да, то, что производителей у компьютеров определённой архитектуры много — это важно. Но ровно потому, что у них общий пул программ, которые там можно запускать. Если бы не это — никого не воловала бы ни IBM-PC совместимость, ни какая-либо ещё совместимость…

А я думал — что основную прибыль IBM получала от мэйнфреймов коллективного доступа.
А что такое мэйнфрейм, как не сетевая модели пользования и к коллективное использование компьютера?

Это вообще не компьютер — это терминал, никому не нужный без мейнфрейма…
Ну так и ваш „сетевой компьютер“ — это что-то подобное. Ну или может что-то похожее на Wang OIS (который успешно конкурировал с мейнфресмами, но, конечно, был убит персоналками весьма быстро).

А мейнфреймы остались бы там, где были. Ну или стали бы терять позиции — так же, как и под натиском писюков.
А деньги откуда брать, если вы самостоятельно, своими руками убили свой основной продукт?

Расскажите это Novell — которую MS убила сетевыми возможностями сначала W'3.11, а потом W'NT!
MS могла себе это позволить. Потому что до выхода W'3.11, а потом W'NT она на рынке сетевых компьютеров не играла. А у IBM это был основной источник доходов.

Войну надо было начинать раньше.
Когда? Когда Microsoft делал то, что ему говорил IBM, и когда его просили спрыгнуть с крыши, то он только спрашивал „в какую сторону“?

Да, так часто бывает, что твой лучший партнёр, по тем или иным причинам, становится твоим конкурентом (напомню, что Apple и Google были так близки лет 10-15 назад, что тогдашний CEO Google, Эрик Шмидт, входил в совет директоров Apple… но заметьте, что он покинул этот пост после выхода Андроида, а не до.

Вот ровно та же история, что в Microsoft: до выхода Windows 3.0 Microsoft удовлетворял все требования IBM — безоговорочно. А вот после выхода… да, тут уже другая история…

Да, подобная политика иногда „плохо кончается“… но компании, которые вдруг решают воевать со своими собственными партнёрами, потому что они, может быть, в будущем станут конкурентами… долго не живут. Примером тому — тот же Digital Research. Который начал войну с Microsoft, выпустив CBASIC
Им необходимо было это сделать, для того, чтобы разбить имя файла на три компонента.
Интересно было бы посмотреть типичный сценарий разбора полного имени файла. Я так понимаю, двоеточие искалось только во второй позиции — и если имя файла будет «prn:» или «a:prn:», то двоеточие будет воспринято как обычный символ. Дальше — ищется только точка для расширения.

Вообще, очень странно, что CP/M требовала от всех программ разбирать полное имя файла на компоненты. По идее — все часто употребляемые функции надо выносить в какой-то общий модул — т.е. помещать в ядро или в разделяемую библиотеку.

Но решили не морочить людям жизнь, да.
Но в результате — заморочили!

Однако {скрытые имена} создают другие проблемы.
И какие же?

Перехватить INT — ничего… но вот только ни одна программа его вызывать не будет, пока DOS „добро“ на это не даст. Функция Int 21/AH=35h.
По ссылке — описание функции DOS по перехвату прерывания. Но ничего не сказано про обязательность использования этого.

А теперь расскажите мне, как «DOS даёт „добро“».

А затем расскажите мне, как работают драйверы клавиатуры, текстового экрана и HDD/FDD, если они должны начат работать задолго до загрузки DOS. Как же «DOS даёт „добро“», если он ещё не начал грузиться?

Вызывать просто INT 33H без предварительной проверки нельзя, потому что иначе на системе без драйвера мыши ваша программа будет виснуть.
Ну, с нетерпением жду пример кода, делающего такую проверку. И описание — каким образом программа зависнет. Насколько я помню — все неперехваченные прерывания ведут на IRET; т.е. ничего не зависнет.
Проверить наличие обработчика просто: надо вызвать функцию, которая обязана изменить переданные ей данные (например, сбросить какой-то регистр в ноль).

а также мини-драйвер, единственной задачей которого будет зарегистрироваться и сказать „да-да, мышь есть, пользуйтесь“
Пример такого драйвера привести можете? Что он должен сделать?

но кому это нужно?
Тем, кому актуально сэкономить пару килобайт памяти. Что, разве не достойная цель?

Amiga имела достаточно продвинутый Kickstart в ROM, который до запуска операционки создавал таблицы драйверов.
Т.е. создать эту таблицу ещё на заводе и зашить в ПЗУ — религия не позволяла?

Все драйвера добавлялись в таблицу только и исключительно после загрузки DOS — и через обращение к DOS.
Шо, и драйвер диска тоже???

Какой процент юзеров может это сделать?
Примерно такой же, какой может переустановить операционку или создать бутявку.

Если бы потребители умели считать деньги с учётом долгосрочных последствий
Итак, Вы додумались до того, что эволюция компьютеров оптимизируется не на качественную работу, а на быстрое извлечение денег из юзеров, а потом пусть юзеры сами разгребают проблемы. Надеюсь, после этого Вы не будете утверждать разумность всего сущего?

Вы хотите, чтобы на вас ещё и contempt навесили?
Ну так поручить какому-нибудь институту выпустить свободный DOS. На институт — не навесят.

И когда Standard Oil и когда AT&T делили
Ну так делиться надо было заранее!

То что ни одна архитектура, которая не была бы собрана из „чужих“ компонент не оказалась достаточно дешёвой для того, чтобы успещно на рынок „персоналок“ выйти.
А где я предлагал отказаться от сторонних компонентов?

Да, то, что производителей у компьютеров определённой архитектуры много — это важно. Но ровно потому, что у них общий пул программ, которые там можно запускать.
Та-а-ак… Ну так я и предлагаю — сделать альтернатиную архитектуру, продавать лицензии на её копирование; на компьютерах, произведённых по этой лицензии, должна работать одна операционка (или несколько разных — но каждая на каждом компьютере). Т.е. предвосхитить бизнес-модель Андроида.

А что такое мэйнфрейм, как не сетевая модели пользования и к коллективное использование компьютера?
Э-э-э… Вы хотя бы знаете разницу между хост-терминальной и клиент-серверной моделями работы? Например, разницу в разделении труда и, следовательно, в масштабировании?

Ну так и ваш „сетевой компьютер“ — это что-то подобное.
Компьютеры Acorn (8-битные и RISC-OS) — одинаково хорошо работали и в сети, и с локальным накопителем.

Ну или может что-то похожее на Wang OIS
Узко специализированная система — не могла выжить.

А деньги откуда брать, если вы самостоятельно, своими руками убили свой основной продукт?
Почему убили? У мейнфреймов есть своя ниша — никакие писюки их оттуда выковырять не могут. И ещё долго не смогут.

MS могла себе это позволить. Потому что до выхода W'3.11, а потом W'NT она на рынке сетевых компьютеров не играла.
Эй, а под какой компьютер была заточена Novell — под какой ещё «сетевой компьютер»??? Под какой операционкой работал типичный клиент Netware???

Когда Microsoft делал то, что ему говорил IBM, и когда его просили спрыгнуть с крыши, то он только спрашивал „в какую сторону“?
Пример такого прыжка привести можете? Учитывая, что именно IBM содержала Билла Гейтса, пока тот писал DOS.

но компании, которые вдруг решают воевать со своими собственными партнёрами, потому что они, может быть, в будущем станут конкурентами… долго не живут.
Вообще-то, конкурентами IBM были те, кто выпускал PC-совместимые компьютеры для DOS. Ну и Билл Гейтс — который помогал им, выпуская DOS.
Тут было понятно, что PC будут выдавливать мейнфреймы с нижней части рынка (правда, эта часть была для мейнфреймов не очень ценной). И вопрос стоял о том, что IBM может или мириться с этим, выпуская PC вместе со всеми (т.е. вытесняя мейнфреймы и своими компьютерами тоже); или попытаться захватить этот рынок, выпустив альтернативный компьютер, не совместимый с PC.
В качестве преимущества альтернативы — можно было выдвинуть многопользовательскость, т.е. защиту данных юзера от остальных юзераов (клиент-серверная архитектура: данные хранятся на сервере, он же регулирует доступ). И/или неубиваемость операционки, зашитой в ПЗУ. И/или несовместимость с вирусами.
Т.е. мейнфреймы в любом случае будут ужиматься. Вопрос в том, кому достанется усок рынка, с которого будут выдавлены мейнфреймы — IBM или её конкурентам.

Примером тому — тот же Digital Research. Который начал войну с Microsoft, выпустив CBASIC
При чём тут война?
С какого плацдарма DR пыталась начать войну? И какой плацдарм был у IBM?
Почему когда MS аналогично выпускала продукты, альтернативные уже существующим (типа как выше — пример с Novell) — почти везде побеждала?
Вы знаете, я страшно не люблю людей, которые не имеют в голове «картины мира» (как в программистском камне написано). С ними, как правило, спорить бесполезно.

С вами же спорить не столько бесполезно, сколько утомительно. Потому что у вас в голове целостная, разумная, хорошая картина мира — которая не имеет никакого отношения к действительности! Ну честнос слово — посмотрите на нашу беседу: сколько раз вы попадали пальцем в небо?

Я так понимаю, двоеточие искалось только во второй позиции — и если имя файла будет «prn:» или «a:prn:», то двоеточие будет воспринято как обычный символ. Дальше — ищется только точка для расширения.
А проверить — слабо? Скачайте какой Turbo Pascal 1.0 из музея и поиграйтесь с ним. Задаёте файл «CON:» — и Turbo Pascal радостно открывает «A:CON.PAS». Можно написано «CON:CON.PAS» — и всё, что после ":" будет отрезано. И это было типичным поведением программ под CP/M!

Вообще, очень странно, что CP/M требовала от всех программ разбирать полное имя файла на компоненты. По идее — все часто употребляемые функции надо выносить в какой-то общий модул — т.е. помещать в ядро или в разделяемую библиотеку.
Ага. На компьютерах с Z80 и 20KiB памяти (это под всё, напоминаю, не только под ядро). А на вас посмотрю как вы в таких условиях вообще разделяемые библиотеки разведёте и останется ли у вас место хоть для чего-то в памяти кроме операционки.

Большинству программ не нужно было разбирать имена файлов: они тупо задавали «0» для диска (текущий) и вписывали фиксированное расширение. Turbo Pascal — редкая программа, которая позволяет вам задать-рсширение и даже может сделать его пустым (вводите «TEST» — получаете «TEST.PAS», вводите «TEST.» — получаете «TEST»).

Но решили не морочить людям жизнь, да.
Но в результате — заморочили!
Заморочили не тем, и, главное, главное, не тогда! Вот что важно! Эволюция не идёт по пути создания оптимальных решений, она идёт по пути локально-оптимальных решений! Потому мы ходим на двух ногах… и воюем с файлами AUX в Windows 10.

Насколько я помню — все неперехваченные прерывания ведут на IRET; т.е. ничего не зависнет.
Попадание пальцем в небо… который уж раз? Запускаем тот самый Turbo Pascal 1.0 под DOS 1.0, пишем простенькую программку:
begin
  writeln(mem[0:$33*4], ' ', mem[0:$33*4+1]);
  writeln(mem[0:$33*4+2], ' ', mem[0:$33*4+2]);
end.
запускаем… четыре нуля. Знаете что по этому адресу живёт? Да — представьте себе, там нифига не IRET.

Ну, с нетерпением жду пример кода, делающего такую проверку.
Ну возьмите, к примеру, исходники Turbo Vision (входили в комплект Borland Pascal 7.01) и посмотрите в файле DRIVERS.PAS:
procedure DetectMouse; near; assembler;
asm
        MOV     AX,3533H
        INT     21H
        MOV     AX,ES
        OR      AX,BX
        JE      @@1
        XOR     AX,AX
        INT     33H
        OR      AX,AX
        JE      @@1
        PUSH    BX
        MOV     AX,4
        XOR     CX,CX
        XOR     DX,DX
        INT     33H
        POP     AX
@@1:    MOV     ButtonCount,AL
end;
Перед тем, как дёргать INT 33h, нужно убедится о том, что DOS о нём знает. Иначе нельзя: попытка исполнять, вместо кода, таблицу прерываний к добру не доведёт… скорее всего программа просто зависнет.

Пример такого драйвера привести можете?
Нет, конечно. Я ж не BIOS'описатель.

Что он должен сделать?
Зарегистрировать прерывание 0x33 в DOS — как минимум.

Тем, кому актуально сэкономить пару килобайт памяти. Что, разве не достойная цель?
Во времена WinBIOS'а? Уже нет. Тогда память уже мегабайтами мерялась и, главное, из DOS только установка Windows производилась, больше ничего.

Т.е. создать эту таблицу ещё на заводе и зашить в ПЗУ — религия не позволяла?
А как тогда карты расширения вставлять, если таблица со списком драйверов задана раз и навсегда и изменению не подлежит?

Все драйвера добавлялись в таблицу только и исключительно после загрузки DOS — и через обращение к DOS.
Шо, и драйвер диска тоже???
Да, конечно. Но он был вшит в ядро PC DOS, так что этого «снаружи» нельзя было увидеть… разве что под дебаггером.

Какой процент юзеров может это сделать?
Примерно такой же, какой может переустановить операционку или создать бутявку.
И сновы вы приносите «понятия» 90х в 80е. В 80е практически все пользователи должны были «переустановить операционку или создать бутявку» — просто потому что IBM PC (и вроде даже IBM PC XT) продавалась без операционки и её нужно было устанавливать. А вот замена микросхем — требует кой-какого навыка, а иногда и инструмента.

Надеюсь, после этого Вы не будете утверждать разумность всего сущего?
Это вопрос философский. Считаете ли вы себя человеком разумным? Напомню, что появились на свет в результате примерно такого же процесса — и именно поэтому балансируете на двух ногах.

Ну так поручить какому-нибудь институту выпустить свободный DOS. На институт — не навесят.
Могут и на институт навесить. Если в вашей переписке пробелы обнаружатся. Вы вообще что такое litigation hold — знаете? Да и вообще — связывать судьбу компании с людьми, с которыми у вас есть, в лучшем случае, неформальная устная договорённость и которые могут «послать» вас с вашими идеями в любой момент… не лучшая бизнес-идея.

А где я предлагал отказаться от сторонних компонентов?
А если вы от них не откажитесь — то как остановите пресловутую девятку от копирования всего, что вы сделали?

И когда Standard Oil и когда AT&T делили
Ну так делиться надо было заранее!
Каддафи и Дерипаска — делились. Сильно им это помогло? Когда речь заходит о национальной безопасности, то даже богатейшие люди мира начинают ходить по струнке… и огребают «по полной».

Т.е. предвосхитить бизнес-модель Андроида.
Бизнес-модель Андроида это — теряем деньги на операционке, зарабатываем на поиске поверх этой операционки. На чём бы зарабатывал деньги IBM, выпуская и софт и железо в убыток?

Э-э-э… Вы хотя бы знаете разницу между хост-терминальной и клиент-серверной моделями работы? Например, разницу в разделении труда и, следовательно, в масштабировании?
Я боюсь вы этой разницы не знаете. На мейнфреймах IBM (в отличие от Unix-терминалов) терминал не общайтес с сервером при нажатии на каждую букву. Редактирование форм происходит локально… и только когда вы ввели данные для целой страницы — вы отсылаете данные на сервер.

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

То есть таки да — ваше предложение фактически было бы убийством основного бизнеса IBM.

Компьютеры Acorn (8-битные и RISC-OS) — одинаково хорошо работали и в сети, и с локальным накопителем.
Вот только давайте не рассказывать сказок, а? Скорости общения с жёстким диском и с сетью — отличаются на порядок, а то и на два. И ни Acorn, ни RiscOS, ни MacOS (нативно поддерживавший LocalTalk с ранних версий) сделать с этим ничего не могут. Расшарить принтер — легко, обойтись без жёсткого диска… ну делали некоторые мазохисты это… не взлетело… и понятно почему.

Пример такого прыжка привести можете?
Хотя бы тот факт, что OS/2, разработанная в Microsoft, не принадлежала ей (что, собственно, и позволило IBM разрабатывать версии после 2.0 в одиночку). И проект многозадачной MS-DOS 4.0 был успешно похоронен, для того, чтобы открыть дорогу для OS/2.

Учитывая, что именно IBM содержала Билла Гейтса, пока тот писал DOS.
Это что за сказки? Во-первых это заняло чуть больше, чем полгода (в декабре 1980го Microsoft купил QDOS, в августе 1981го IBC PC были уже в продаже), во-вторых главное, что продавал Microsoft в те годы — был вовсе не MS DOS, а совсем даже компиляторы и интерпретаторы! Всякие COBOL'ы, FORTRAN'ы и PASCAL'и (написанные Microsoft до того… под CP/M, конечно).

Примером тому — тот же Digital Research. Который начал войну с Microsoft, выпустив CBASIC
При чём тут война?
С какого плацдарма DR пыталась начать войну? И какой плацдарм был у IBM?
Digital Research выпускала CP/M и MP/M, а Microsoft — под них Basic и FORTRAN. И основной доход в те годы приносили Basic-лицензии. То есть выпуск CBASIC'а Digital Research'ем — фактичиски грозил уничтожить «дойную корову» Microsoft.

Почему когда MS аналогично выпускала продукты, альтернативные уже существующим (типа как выше — пример с Novell) — почти везде побеждала?
Потому что она выпускала продукцию, решавшую существующие проблемы пользователя, а не что-то с чем он столкнётся через 10 лет. Netware 4.x, в частности, содержала невероятно гибкие настроски для сетей с десятками подразделений и сотнями серверов — но это обозначало, что пользователям самый типичный варианта «5 компов и к ним ещё один сервер в придачу» должны были разбираться с кучей вещей, которые, как им казалось, им никогда не пригодятся. Да, возможно, когда-нибудь, когда компания вырастет… это и дало бы отдачу, но здесь, сейчас было проще и быстрее использовать Windows NT или вообще сделать «сервер» из одной из рабочих станций. Что? Нанадёжно и глючно? Зато дёшево и быстро!

Вот пока Microsoft решал проблемы, которые у пользователей возникали «здесь и сейчас» (даже порождая отдалённые последствия, которые и через полвека аукаются) — никто не мог его победить. Когда он занялся архитектурной астронавтикой — он начал проигрывать. Собственно все (ну хорошо… почти все) компании, которые Microsoft «убил» проиграли в тот момент, когда они, будучи лидерами, решили «отдышаться, разобраться с техническим долгом в архитектуре и инвестировать в будущее» — и все проигрыши Microsoft в последние лет 10 связаны с тем же самым.

P.S. Хорошая иллюстрация в тему: как известно при разработке Windows Vista был момент, когда процесс было решено перезапустить. Ну потому что очень всего было свалено в кучу, всё перепуталось и надо было «навести порядок». Что получили?
6.0.4083.0 (x64 beta) (последняя до перезагрузки): 500MB
6.0.5048.0 (x64 beta1) (первая версия после перезагрузки): 1.25GB
Та-да-даммм… почистили и упорядочили…
Вы знаете, я страшно не люблю людей, которые не имеют в голове «картины мира» {...}
С вами же спорить не столько бесполезно, сколько утомительно. Потому что у вас в голове целостная, разумная, хорошая картина мира — которая не имеет никакого отношения к действительности!
Ну и зачем Вы тут упомянули людей без картины мира в голове?

Ну честнос слово — посмотрите на нашу беседу: сколько раз вы попадали пальцем в небо?
Мы тут оба попадаем пальцем в небо примерно одинаково. Вот ниже Вы эпично зафейлились. И что?

Скачайте какой Turbo Pascal 1.0 из музея и поиграйтесь с ним.
Turbo Pascal — редкая программа
Зачем мне играть с редкой программой, когда мне нужна типичная?

Можно написано «CON:CON.PAS» — и всё, что после ":" будет отрезано.
Очень странное поведение. Программы не должны искать двоеточие нигде, кроме второй позиции.

На компьютерах с Z80 и 20KiB памяти
Чем меньше памяти — тем важнее её экономить, вынося общий код в процедуры общего пользования.

Большинству программ не нужно было разбирать имена файлов
Т.е. юзер не мог ввести произвольное имя файла?

Зачем вообще надо было делать такие извраты, когда можно было приказать программе отдельно дать команду «сменить диск» и потом обращаться к файлу?

Знаете что по этому адресу живёт? Да — представьте себе, там нифига не IRET.
Тогда уж надо было бы проверить, что именно там живёт.
Кстати, содержимое неинициализированных векторов — может зависеть от версии BIOS'а.

procedure DetectMouse; near; assembler;
asm
	MOV	AX,3533H
	INT	21H
	MOV	AX,ES
	OR	AX,BX
	JE	@@1
Замечательно! И Вы будете мне рассказывать про " в небо"!
Что вообще делает этот код? Ой, внезапно — он просто считывает содержимое таблицы векторов. И ему пофиг, откуда там взялись значения — были ли они занесены туда через вызов DOS или как-то ещё.
А потом это тупо сравнивается с нулём (через хитрый хак).

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

Перед тем, как дёргать INT 33h, нужно убедится о том, что DOS о нём знает.
У меня ощущение, что Вы употребляете слово «знает» как-то неправильно. Поясните, что он значит в отношении программы — как это программа может что-то «знать».

Зарегистрировать прерывание 0x33 в DOS — как минимум.
В чём заключается эта регистрация? Что, кроме записи адреса драйвера в вектор прерывания, там ещё делается?

А как тогда карты расширения вставлять, если таблица со списком драйверов задана раз и навсегда и изменению не подлежит?
Логично.

Да, конечно. Но {драйвер диска } был вшит в ядро PC DOS
А-а-а!!! (FacePalm...)
Рассмотрим наиболее частую загрузку — с HDD.

После инициализации устройств — BIOS загружает и запускает MBR (самый первый сектор HDD).

Если MBR там стандартная (тоже самый частый случай — по кр.мере, в прошлом), то она сканирует таблицу разделов (64 байта почти в конце этого сектора — они уже в памяти), ищет там активный раздел и загружает его BR — первый сектор раздела; а потом передаёт ему управление (делает JMP).

Дальше — зависит от операционки.
В DOS — BR загружает IO.SYS и MSDOS.SYS.
В операционках типа W'NT, Linux, FreeBSD — BR загружает OS_Loader;; а потом передаёт ему управление. OS_Loader загружает ядро операционки и дополнительные модули (в т.ч. драйверы устройств, работающие в защищённом режиме).

Видите там слово «загружает» (я его специально выделил)? Оно означает, что программа делает вызов драйвера диска, зашитого в BIOS. Причём для SCSI-дисков — драйвер особый.
И представляете, какая неожиданность — никакого DOS в памяти ещё нет, т.е. регистрировать драйверы некому. А драйвер диска уже вовсю работает! Причём вызывают его через самый стандартный INT!
Причём, я когда-то дизассемблировал MBR — вызывают без проверки.

А если драйвер диска «вшит в ядро PC DOS» — то каким образом «ядро PC DOS» оказывается загружено с диска в память?

В 80е практически все пользователи должны были «переустановить операционку или создать бутявку» — просто потому что IBM PC (и вроде даже IBM PC XT) продавалась без операционки и её нужно было устанавливать.
Ой, Вы делаете мне смешно. Как правило, пользователи обращались к более опытному человеку, который им это делал.

Но тот, кто умел «переустановить операционку или создать бутявку» — точно так же мог заменить и ПЗУ. Ну, если сделать его правильно — легкодоступным.

А вот замена микросхем — требует кой-какого навыка, а иногда и инструмента.
Замена модуля оперативной памяти — какого инструмента требует?

Считаете ли вы себя человеком разумным?
Частично. В основном моя жизнь протекает под неразумной работой мозга — рефлексы, «так принято», etc.

Могут и на институт навесить. Если в вашей переписке пробелы обнаружатся.
Какие пробелы?
Курировать этот процесс вообще должен человек, не числящийся в штате IBM — какой-нибудь аутсорсер.

связывать судьбу компании с людьми, с которыми у вас есть, в лучшем случае, неформальная устная договорённость и которые могут «послать» вас с вашими идеями в любой момент… не лучшая бизнес-идея.
Пошлют — не получат денег.

А если вы от них не откажитесь — то как остановите пресловутую девятку от копирования всего, что вы сделали?
Что там про «пальцем в небо»? Вы про патентную защиту никогда не слышали?

Каддафи и Дерипаска — делились.
Когда это Каддафи разделил Ливию???

Когда речь заходит о национальной безопасности
Персональные компьютеры времён DOS — никак не относились к национальной безопасности.

Бизнес-модель Андроида это — теряем деньги на операционке, зарабатываем на поиске поверх этой операционки.
Вообще-то, Android приносит деньги. Вроде, по пять баксов с устройства.

На чём бы зарабатывал деньги IBM, выпуская и софт и железо в убыток?
А почему в убыток? Железо продаётся по нормальной цене, окупающей производство.
С софтом сложнее. Можно продавать софт коробочно. А можно — выдавать право на софт вместе с лицензией на копирование железа (этот вариант особенно актуален при операционке, зашиваемой в ПЗУ).

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

На мейнфреймах IBM (в отличие от Unix-терминалов) терминал не общайтес с сервером при нажатии на каждую букву. Редактирование форм происходит локально… и только когда вы ввели данные для целой страницы — вы отсылаете данные на сервер.
Да, я в курсе. Расскажите, что будет, если по ходу работы сервер перезагрузится — при условии, что во время перезагрузки терминал к нему не обращался.

Да, есть ещё одно отличие: Клиент можно заставить работать терминалом. А терминал невозможно заставить работать клиентом.

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

Скорости общения с жёстким диском и с сетью — отличаются на порядок, а то и на два.
Ну и какие там скорости?
Ethernet — 10 Mbps. С поправкой на коллизии — КПД бывает от 30% до 60%, зависит от массы факторов.
IDE — 16 MB/sec = 128 Mbps. Коллизий там нет — но это скорость не диска, а интерфейса. Скорость же типичного диска была намного ниже.
Какие там два порядка? Там сопоставимые скорости были!
А ещё на сервер можно поставить несколько сетевых интерфейсов.
А ещё — сервер бывает не только файловый.

обойтись без жёсткого диска… ну делали некоторые мазохисты это… не взлетело… и понятно почему.
Конечно, понятно — ведь вся архитектура компьютера была заточена на локальный диск!

Хотя бы тот факт, что OS/2, разработанная в Microsoft, не принадлежала ей
А где здесь «прыжок с крыши»?

И проект многозадачной MS-DOS 4.0 был успешно похоронен, для того, чтобы открыть дорогу для OS/2.
Лично я думаю, что многозадачный MS-DOS 4.0 умер сам — уж слишком архитектура DOS не подходила для многозадачности. Например, в вопросе выделения памяти.

главное, что продавал Microsoft в те годы — был вовсе не MS DOS, а совсем даже компиляторы и интерпретаторы! Всякие COBOL'ы, FORTRAN'ы и PASCAL'и (написанные Microsoft до того… под CP/M, конечно).
И этот рынок был достаточен для прокормления?

Digital Research выпускала CP/M и MP/M, а Microsoft — под них Basic и FORTRAN. И основной доход в те годы приносили Basic-лицензии. То есть выпуск CBASIC'а Digital Research'ем — фактичиски грозил уничтожить «дойную корову» Microsoft.
А ничего, что IBM PC + MS-DOS — это была война против CP/M?

Потому что она выпускала продукцию, решавшую существующие проблемы пользователя, а не что-то с чем он столкнётся через 10 лет.
Ну, мне всегда казалось, что MS выпускала продукцию, создававшую новые проблемы.

Netware 4.x, в частности, содержала невероятно гибкие настроски для сетей с десятками подразделений и сотнями серверов — но это обозначало, что пользователям самый типичный варианта «5 компов и к ним ещё один сервер в придачу» должны были разбираться с кучей вещей, которые, как им казалось, им никогда не пригодятся.
А взять что-то попроще типа Netware'3.x или Netware Lite — им религия не позволяла?

А разбираться с NW при той документации, которую Novell поставляла — это был трэш, угор и содомия. Особенно на фоне полного отсутствия средств нормальной диагностики — типа ping.

Когда он занялся архитектурной астронавтикой — он начал проигрывать.
По ссылке — какой-то бред. Автор противопоставляет синхронизацию файлов (это нужно для тех, кт работает) и «twitter, и flickr, и delicious, и picasa, и tripit, и ebay, и миллион других веселых вещей» (для тех, кто развлекается).

Собственно все (ну хорошо… почти все) компании, которые Microsoft «убил» проиграли в тот момент, когда они, будучи лидерами, решили «отдышаться, разобраться с техническим долгом в архитектуре и инвестировать в будущее»
Когда MS создавала W'NT — она почему-то не умерла.
А где у Novell было «отдышаться, разобраться с техническим долгом в архитектуре и инвестировать в будущее»? Скорее она умерла в первую очередь потому, что не инвестировала в будущее — в Internet-технологии.

6.0.4083.0 (x64 beta) (последняя до перезагрузки): 500MB
6.0.5048.0 (x64 beta1) (первая версия после перезагрузки): 1.25GB
Та-да-даммм… почистили и упорядочили…
Индусы поработали?
Мы тут оба попадаем пальцем в небо примерно одинаково. Вот ниже Вы эпично зафейлились.
Где конкретно? Пока вся наша беседа устроена так:
Вы: все кругом идиоты, а я Дартаньян — нужно было сделать X!
Я: Сделать X было нельзя потому что Y.
Вы: Ну тогда нужно было делать X1!
Я: Сделать X1 было нельзя потому что Y1.
Вы: Ну значит нужно было делать X2!
Я: Сделать X2 было нельзя потому что Y2.

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

Можно написано «CON:CON.PAS» — и всё, что после ":" будет отрезано.
Очень странное поведение. Программы не должны искать двоеточие нигде, кроме второй позиции.
И, тем не менее, гораздо проще написать код, который будет считать что имя файла заканчивается на одном из «запретных» символов: _ . : ; < >. Системные команды CP/M интерпретировали их как разделитель параметров, потому, разумеется, сторонние программы более-менее следовали тому же правилу.

Зачем мне играть с редкой программой, когда мне нужна типичная?
Типичная программ под CP/M не принимала ни имени диска, ни расширения и с ней всё было просто: используем текущий диск, фиксированное расширение, считаем, что имя файла кончается, когда встретили один из «запретных» символов.

Зачем вообще надо было делать такие извраты, когда можно было приказать программе отдельно дать команду «сменить диск» и потом обращаться к файлу?
Так и делали. Но некоторым программам можно задавать файлы на разных дисках (тот же Turbo Pascal — исходники на одном, бинарники на другом), тогда такой трюк уже не прокатывал.

Чем меньше памяти — тем важнее её экономить, вынося общий код в процедуры общего пользования.
Нет. С учётом того, что все эти процедуры сидят в той же памяти, что и остальная программа (ещё раз: жёстких дисков пока нет, что считали в память — то у нас и есть), то гораздо важнее не включать в систему вещей, без которых можно обойтись. Удивительным образом код для разбора имени файла — одна из таких вещей.

У меня ощущение, что Вы употребляете слово «знает» как-то неправильно. Поясните, что он значит в отношении программы — как это программа может что-то «знать».
Когда программа что-то «знает», то это значит, что где-то внутри неё есть это знание. То есть переменная, таблица или ещё чего-нибудь. Далее:
Что вообще делает этот код? Ой, внезапно — он просто считывает содержимое таблицы векторов.
Если бы вы, ну на мгновенье, отказались вы от своей главной аксиомы, то смогли бы заподозрить, что это не так. Ну действительно: зачем для чтения/записи четырёх байтов из известного адреса заводить целых две функции и кучу «танцев с бубнами»? И да — если вы посмотрите на исходники MS DOS (ранние версии Microsoft вполне официально опубликовал), то вы обнаружите, что функции 25H/35H не просто читают эти четыре байта из таблицы. Они, в некоторых случаях, возращают другой адрес, чем тот, что написан в «настоящем» векторе. И это — делают даже самые ранние версии DOS! Распределение прерываний (кому что принадлежит) — не является секретом (оно описано, скажем, в документации на IBM PC AT) и прерывание 33H там отнесено к разделу «reserved for DOS» — что, собственно, и обозначает, что BIOS его перехватывать не должен.

Это значит, что если BIOS оставит в мышином векторе прерывания адрес своего драйвера — это процедура отработает как надо — скажет «вектор перехвачен».
Нет. Безопасно (ну… плюс-минус...) его можно было перехватить (нарушив вполне себе явные гаранции, описанные в документации, заметим) только после выхода Windows XP и объявления о том, что больше основанных на DOS версий Windows не будет — но в это время что-либо делать для DOS было уже бессмысленно… ровно по той причине, что новые версии пересталы выходить, так как их перестали и использовать!

Что, кроме записи адреса драйвера в вектор прерывания, там ещё делается?
Ничего — но мы не знаем что и куда записывается. Только DOS знает.

Да, конечно. Но {драйвер диска } был вшит в ядро PC DOS

А-а-а!!! (FacePalm...)
Вот только не надо изображать из себя идиота, а? Тот факт, что драйвер PC DOS (прерывания 25h и 26h) реализован поверх драйвера диска BIOS — мне прекрасно известен. Но это не отменяет того факта, что да, у DOS есть драйвера для диска — и нет, они не обязаны быть частью BIOS. То же самое с мышью — только с тем отличием, что аналога INT 13H для мыши нет.

Как тут уже сказали: если бы IBM PC (или хотя бы IBM PC AT) поддерживали бы мышь в BIOS — история могла бы сложиться иначе. Но… не срослось. BIOS прерываний для работы с мышью не предоставляет, а INT 33H — для него «чужое», его он не должен трогать.

Замена модуля оперативной памяти — какого инструмента требует?
В 80е-то годы? Паяльника. Можете на материнку IBM PC посмотреть — там всё запаяно наглухо. Это кстати, вторая ваша беда: вы категорически отказываетесь рассматривать контекст и считаете что все технологии были доступны всегда.

Могут и на институт навесить. Если в вашей переписке пробелы обнаружатся.
Какие пробелы?
Когда на компанию кто-то подал в суд (а особенно если на команию подал в суд DOJ), то все служебные документы у людей, которые потенциально могут иметь отношение к процессу должны храниться до его окончания — и выдавать по запросу. Причём «презумпция невиновности» не действует: отказ что-либо выдать по запросу суд слонен трактовать как попытку его обмануть.

Курировать этот процесс вообще должен человек, не числящийся в штате IBM — какой-нибудь аутсорсер.
Он не просто должен «не числиться». Он ещё общаться с руководителями IBM должен будет на «тайной квартире» так, чтобы следов не осталось. Причём все работники должны соблюдать конспирацию и следить за тем, чтобы не проговориться случайно о том, что этот институт, на самом деле, с нами таки связан, а не просто разрабатывает нужную нам операционку «чисто из любви к искусству». Вы считаете, что это реалистично?

Что там про «пальцем в небо»? Вы про патентную защиту никогда не слышали?
Слышал конечно. Но как вы это себе представляете? «Независимый» институт пишет для вас операционку, а потом лицензирует патенты только и исключительно IBM (или наоборот)? Да после этого все руководители в полном составе сменят прописку и будут жить в здании суда в попытках доказать свою невиновность!

Пошлют — не получат денег
Учитывая что вам придётся эти деньги передавать тайно, ночью, в чемодане, а ваши конкуренты могут просто выписать чек… их это вполне может не остановить.

Персональные компьютеры времён DOS — никак не относились к национальной безопасности.
Если бы. Всё, что связано с компьютерами — всегда было связано с безопасностью. С момента их изобретения. Intel даже специальную модель Pentium'а разрабатывал, которую можно было в Россию ввозить в 1993м (c ухудшенным блоком плавучки). Правда как раз тогда ограничения на импорт «высоких технологий» отменили и, вроде как, это не потребовалось — но это уже самый разгар войны… её исход уже мало у кого вызывал сомнения.

Каддафи и Дерипаска — делились.
Когда это Каддафи разделил Ливию???
Аааа! Вы имели в виду «делиться» в прямом смысле? Ну это-то как раз было бы бессмысленно и ничего бы не изменило.

Когда компанию делят по решению антимонопольного суда, то это не просто юридическое разделение: после этого идёт тот же процесс, что и с вышеупомянутым удержанием документов. Вы должны регулярно высылать «специально обученному человеку» внутренние документы — а он уже подтверждает, что между разделёнными компаниями нет контактов.

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

Вообще-то, Android приносит деньги. Вроде, по пять баксов с устройства.
Вы про эту новость? Will — это будущее время в английском. Так, для справки.

Да, есть ещё одно отличие: Клиент можно заставить работать терминалом. А терминал невозможно заставить работать клиентом.
Почему нельзя? Я хорошо помню нашу практику на каких-то древних VAX'ах. У них не тарминалах отлично работал Tetris и редактор. И они даже переживали перегрузку основной OS. У мейнфремов терминалы были сравнимой мощности. Фактически то, что вы, собственно, и предлагаете.

Я так понимаю, Вы не в курсе существования задач, которые на персональных компьютерах того времени не решались в принципе. И именно на такие задачи был нацелен основной бизнес IBM.
То, что такие задачи есть — я знаю. А про то, что только для таких задач мейнфреймы и использовались… как говорил Станиславский: «не верю». Даже обычные персоналки привели IBM почти к банкротству, а ваши сетевые компьютеры — сделали бы это ещё быстрее (если бы взлетели).

Ну и какие там скорости?
Ethernet — 10 Mbps. С поправкой на коллизии — КПД бывает от 30% до 60%, зависит от массы факторов.
IDE — 16 MB/sec = 128 Mbps. Коллизий там нет — но это скорость не диска, а интерфейса. Скорость же типичного диска была намного ниже.
И снова та же история. Про то, что первые жёсткие диски давали далеко не 16MB/sec вы вспомнили — молодец. А вот про то, что свитчи — это не 80е, а 90е — забыли. В 80е вы могли получить скорость 10Mbit/sec — на кластер из 20-50 машин! Суммарно! На каждую приходилось хорошо если 300kbit/sec. Это скорость дискеты, а не жёсткого диска.

А ещё — сервер бывает не только файловый.
Ха-чёрточка-ха-чёрточка-ха. Файловый сервер — это «новинка сезона» 1983го года! До Netware сервера образы дисков хранили! Получалось дискета — только ещё и на сервере. А нефайловые сервера — это уже 90е. Им пришлось ждать почти десять лет, так как их очень тяжело использовать в однозадачной среде. Хотя теоретически они существовали уже в 1980е…

Конечно, понятно — ведь вся архитектура компьютера была заточена на локальный диск!
Всё ещё хуже: все программы были рассчитаны либо на жёсткий, либо, на крайний случай, на гибкий диск! На «больших» компьютерах жёсткие диски появились в 1950е (sic!), а на персоналках — жёстких дисков не было, но и сетей у них тоже не было и вообще их обычно одну-две штуки на отдел покупали, чтобы документы печатать!

Хотя бы тот факт, что OS/2, разработанная в Microsoft, не принадлежала ей
А где здесь «прыжок с крыши»?
Ну нифига ж себе. Снять людей с основного проекта, который приносит тебе основной доход и перебросить их проект, который произведёт нечто, что тебе даже не будет принадлежать — это «не прыжок с крыши»?

Лично я думаю, что многозадачный MS-DOS 4.0 умер сам — уж слишком архитектура DOS не подходила для многозадачности. Например, в вопросе выделения памяти.
Да, там много вопросов возникало. Но если вы посмотрите на исходники MS DOS 2 — то вы уже там увидите подготовку к выпуску многозадачной версией! В конце-концов: CP/M на восмибитных компьютерах имела многозадачного родственника — а чем MS-DOS хуже?

Она была анонсирована и продемонстрирована в 1986м… но так и не вышла, хотя была готовы. Microsoft похоронил её и перебросил разработчиков на OS/2.

главное, что продавал Microsoft в те годы — был вовсе не MS DOS, а совсем даже компиляторы и интерпретаторы! Всякие COBOL'ы, FORTRAN'ы и PASCAL'и (написанные Microsoft до того… под CP/M, конечно).
И этот рынок был достаточен для прокормления?
Ну так, просто, для сравнения: IBM заплатила $700'000 аванса за компиляторы и $50'000 за MS DOS. Да, к началу 90х ситуация изменилась, но в 70e-80е деньги делались не на операционках.

А ничего, что IBM PC + MS-DOS — это была война против CP/M?
А ничего, что CBASIC — это 1976й год, а IBM PC — 1981й? Да, после того, как Digital Research «влез» на поле Microsoft — они перестали быть друзьями. Но тут важно понимать кто первым нарушил «джентльменское соглашение»… и это был не Microsoft.

Ну, мне всегда казалось, что MS выпускала продукцию, создававшую новые проблемы.
Ну дык а как иначе — решая одни проблемы ты всегда создаёшь какие-то другие.

Вопрос в том кому ты их создаёшь.

А взять что-то попроще типа Netware'3.x или Netware Lite — им религия не позволяла?
А тогда у тебя не было пути «наверх». Netware 3.11-3.12 не могла интегрироваться в NDS. Да, через пять лет Novell осознал что он натворил и выпустил Netware 3.2… но это не было бесплатным дополнением к Netware 4.x (что было бы логично). Вместо этого нужно было покупать обновление! На каждый сервер (если у вас было много подразделений и вы хотели их обновить). Что немедленно дало Microsoft возможность предложить Windows NT Server 4.0 со скидкой и пообещать, что интекрация в будущий домен Windows NT 5.0 будет бесплатной (Windows NT 5.0 превратилась в Windows 2000, но интеграция-таки осталась бесплатной).

По ссылке — какой-то бред. Автор противопоставляет синхронизацию файлов (это нужно для тех, кт работает) и «twitter, и flickr, и delicious, и picasa, и tripit, и ebay, и миллион других веселых вещей» (для тех, кто развлекается).
В том-то и дело, что «тем, кто работает» синхронизация файлов не нужна. Им нужно совместно над документами работать. И Microsoft это сделал. В Office 2016 (догадайтесь в каком году). А до этого был Microsoft Hailstorm в 2001м, Windows Live Mesh в 2005м и куча всего ещё.

Кончилась вся вакханалия когда Стива Баллмера убрали и поставили Сатью — который понимал чем кончается «астронавтика» и начал потихоньку «прищучивать» «астронавтов»…

Когда MS создавала W'NT — она почему-то не умерла.
Потому что она, кроме создания Windows NT также продолжала развивать MS-DOS и Windows на базе DOS. Переход на Windows NT был очень плавным и аккуратным. И от DOS и «классического Windows» отказались уже только тогда, когда он мало кому был нужен (Windows 98 поддерживалась до 2006го года).

А где у Novell было «отдышаться, разобраться с техническим долгом в архитектуре и инвестировать в будущее»?
Novell Netware 4.x — который изначально не мог работать в одной сети с более ранними версиями! Это кем надо было быть, чтобы такое сделать?

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

Да, это может показаться несправедливо — но такова жизнь. Microsoft с Биллом Гейтсом это очень хорошо понимал. А вот с Баллмером — нет.
Предположить, что, внезапно, кругом не все идиоты и у них была причина делать так, а не иначе — вы, почему-то, не можете.
Да я прекрасно знаю, что люди, работавшие в MS — не идиоты. Просто у них были иные цели — не «сделать качественно», а «создать юзерам проблемы и потом собрать деньги ещё и на исправлении этих проблем». При этом — ни «невидимая рука рынка», ни государство не могут и не хотят исправить ситуацию.

Когда программа что-то «знает», то это значит, что где-то внутри неё есть это знание.
По этой формулировке — «таблица векторов прерываний» д.б. внутри DOS. Что, совершенно очевидно, немного совсем не так — эта таблица существует до DOS, её вообще следует отнести даже не у BIOS, а к аппаратуре.

Ну действительно: зачем для чтения/записи четырёх байтов из известного адреса заводить целых две функции и кучу «танцев с бубнами»?
Ну, MS-DOS вообще имеет массу «танцев с бубнами», заведённую ради непонятно чего. Например, драйверы (те, которые грузятся из CONFIG.SYS) должны обслуживать два вызова — совершенно дебильная схема, сделанная ради непонятно чего. Человек, который мне это объяснял — сказал, что это было сделано ради многозадачности, которую в DOS так и не реализовали.

Вполне очевидно, что работа с векторами прерываний через системный вызов — более универсальная и гибкая, чем обращение напрямую в память; ибо в новых компьютерах таблицу прерываний могут разместить в ином месте. Плюс к тому — при работе с вектором прерываний надо заблокировать прерывания, а потом разблокировать, что некоторые программисты забывают сделать.

И да — если вы посмотрите на исходники MS DOS (ранние версии Microsoft вполне официально опубликовал), то вы обнаружите, что функции 25H/35H не просто читают эти четыре байта из таблицы. Они, в некоторых случаях, возвращают другой адрес, чем тот, что написан в «настоящем» векторе. И это — делают даже самые ранние версии DOS!
Честно говоря, мне лень копаться в этих исходниках. Где можно прочитать про это? Я так понимаю, Вы не сами копались в исходниках — ну так поделитесь источником сокровенного знания.
Заодно хотелось бы услышать — зачем нужно так мухлевать с векторами.

Распределение прерываний (кому что принадлежит) — не является секретом (оно описано, скажем, в документации на IBM PC AT) и прерывание 33H там отнесено к разделу «reserved for DOS» — что, собственно, и обозначает, что BIOS его перехватывать не должен.
Насколько я помню, аппаратные прерывания мапируются на общую таблицу извращённым способом — как раз из-за того, что Билл Гейтс привык класть на стандарты и документацию (известна даже его фраза: «мы улучшаем стандарты»; он даже хотел улучшить TCP/IP, чтобы никто другой не мог этим пользоваться).

BIOS имеет полное право перехватывать любые прерывания: если DOS захочет, то после загрузки перехватит что ему нужно. Рекомендации на тему «reserved for DOS» — относятся к программистам, которые пишут резидентные программы под DOS, в качестве рекомендации не использовать эти прерывания, дабы не создавать коллизий с DOS.

Вообще, мне странно, что «в документации на IBM PC AT» делается упор на DOS — при том, что на этом компьютере можно было запускать и другие операционки.

нарушив вполне себе явные гаранции, описанные в документации, заметим
Ссылочкой на документацию с гарантиями не поделитесь? Особенно учитывая любовь MS писать в EULA «никаких гарантий не гарантируем, всё на страх и риск конечного юзера».

но в это время что-либо делать для DOS было уже бессмысленно… ровно по той причине, что новые версии перестали выходить, так как их перестали и использовать!
Проект был начат в 1994 году программистом Джимом Холлом (Jim Hall) как PD-DOS, но вскоре название было изменено на FreeDOS. Версия FreeDOS 1.0 вышла в свет 3 сентября 2006 года.

Ничего — но мы не знаем что и куда записывается. Только DOS знает.
Ой, а как же тогда BIOS перехватывает векторы прерываний — ещё до того, как DOS начал грузиться?

Тот факт, что драйвер PC DOS (прерывания 25h и 26h) реализован поверх драйвера диска BIOS — мне прекрасно известен. Но это не отменяет того факта, что да, у DOS есть драйвера для диска — и нет, они не обязаны быть частью BIOS.
А-а-а!!! (FacePalm...)

В DOS нет драйвера диска. Там есть — драйвер раздела/партиции. Как раз из-за него DOS'3.x не мог создавать разделы более 32 MB — при этом сам диск м.б. гораздо больше.
Вы бы хоть читали то, что написано по ссылкам, которые Вы приводите: «AL = drive number (00h = A:, 01h = B:, etc)». Вот слово «etc» как бы намекает, что там речь о разделах, а не о физических дисках.

В 80е-то годы? {Замена модуля оперативной памяти требует} паяльника.
Т.е. сделать DIP-микросхему (стандарт придуман в 1965-м году) для размещения в «кроватке», как это обычно делали с BIOS-ROM и с процессорами 8086 — религия запрещает?

Можете на материнку IBM PC посмотреть — там всё запаяно наглухо.
А-а-а!!! (FacePalm...)
Ну, Вы точно не желаете смотреть ссылки, которые тут приводите. И не желаете признавать ошибки. Кто бы говорил про д'Артаньяна.

В разделе «Motherboard» я своими старыми слабыми глазами вижу две пустые «кроватки». Одна — в верхнем ряду по центру, чуть левее надписи «16KB-64KB CPU». Вторая — в правом-нижнем углу, строго над разъёмом питания. Возможно, там есть микросхемы в «кроватках» — но я не уверен, ракурс неудобный (а был бы удобный — было бы сложнее разглядывать саму плату, тут я к фотографу не в претензии).
А ещё там есть несколько ISA-слотов, куда тоже можно воткнуть ПЗУ с операционкой. Ну, так же, как «64KB Memory Expansion» втыкается в ISA — туда же можно воткнуть и ПЗУ.
Зачем тут паяльник??? Воткнул — и готово!

все служебные документы у людей, которые потенциально могут иметь отношение к процессу
Не вести документов вообще — религия запрещает?

Он не просто должен «не числиться». Он ещё общаться с руководителями IBM должен будет на «тайной квартире» так, чтобы следов не осталось.
Можно общаться в гольф-клубе — как с мамой Билла Гейтса.

Но как вы это себе представляете? «Независимый» институт пишет для вас операционку, а потом лицензирует патенты только и исключительно IBM (или наоборот)?
Ну, тут есть несколько вариантов развития событий. Вот примерные варианты:
* Институт получает финансирование на исследования; в документах цель не оговаривается, но устно требуют именно операционку, и под это подбирают институт/кафедру. В результате получается «всеобщая» операционка типа Linux или *BSD. Денег за её продажу не получить, но MS вылетает с рынка.
* Институт выпускает незавершённый продукт, который передаётся в коммерческую контору для окончательной доработки. Вот эта контора и патентует операционку (причём какой-то особый патент тут даже не нужен — программный продукт и так защищается законом).
* Институт делает операционку, но эта операционка работает только на компьютерах от IBM. А компьютеры защищены патентами.
* Можно и без института — просто сторонняя коммерческая контора делает операционку. Прямо как MS — но на более правильном (с т.з. IBM) контракте.

Ха-чёрточка-ха-чёрточка-ха. Файловый сервер — это «новинка сезона» 1983го года!
Заточенность PC на работу с локальным накопителем привела к замедлению развития сетей.
Но дата «1983-й год» мне кажется какой-то слишком поздней. Наверняка были файловые серверы на базе больших ЭВМ.

До Netware сервера образы дисков хранили!
А можно пруф? Что, и в NFS тоже — образы дисков?

А нефайловые сервера — это уже 90е. Им пришлось ждать почти десять лет, так как их очень тяжело использовать в однозадачной среде.
Простите, а что тут тяжёлого? Ну, не считая того, что в однозадачной среде — вообще тяжело.

Всё ещё хуже: все программы были рассчитаны либо на жёсткий, либо, на крайний случай, на гибкий диск!
А можете показать мне, где эта заточка? Вроде, программы работали с файлами — и им было пофиг, где эти файлы находятся.

На «больших» компьютерах жёсткие диски появились в 1950е (sic!), а на персоналках — жёстких дисков не было
Когда я говорю «локальный диск» или «локальный накопитель» — это и HDD, и FDD, и SSD. Главное, что метаданные файловой системы (FAT, директории) обрабатываются локально.

жёстких дисков не было, но и сетей у них тоже не было и вообще их обычно одну-две штуки на отдел покупали, чтобы документы печатать!
Вы опять не понимаете.

PC имели операционку, загружаемую с локального носителя. Поэтому локальный накопитель — требовался обязательно. А раз так — то и сеть как бы не нужна.

А вот Acorn сделала компьютеры с операционкой в ПЗУ. И тут можно было легко отказаться от локального накопителя и использовать сеть.

Снять людей с основного проекта, который приносит тебе основной доход и перебросить их проект, который произведёт нечто, что тебе даже не будет принадлежать — это «не прыжок с крыши»?
Я так понимаю — деньги на новый проект давала IBM.

Но если вы посмотрите на исходники MS DOS 2 — то вы уже там увидите подготовку к выпуску многозадачной версией!
И одновременно вводились стандарты/API, которые в принципе не допускали многозадачности. И по этим стандартам делались программы, совместимость с которыми была необходимой.

Но тут важно понимать кто первым нарушил «джентльменское соглашение»…
А было ли это соглашение? И разве это соглашение не должно привлечь внимание антимонопольного комитета?

Netware 3.11-3.12 не могла интегрироваться в NDS.
А зачем NDS конторе на пять машин?

Microsoft с Биллом Гейтсом это очень хорошо понимал. А вот с Баллмером — нет.
Вы утверждаете, что причины неудач MS — в уходе Билла Гейтса и замещении его Стивом Балмером.
Но мне всегда казалось, что всё было наоборот: проблемы начались до ухода Билла Гейтса, просто наружу информация не выпускалась; но Билл Гейтс не мог не знать — и решил свалить до того, как проблемы вырвутся наружу.
Кто из нас прав — решается на основе соображений о том, сколько времени проходит между «босс узнал о проблемах и посчитал их нерешаемыми» и «проблемы вырвались наружу».
Панельки под микросхемы не означает что их легко можно будет менять. Обычному неподготовленному пользователю будет очень сложно заменить даже такие микросхемы — во первых их надо для начала извлечь не повредив, а во вторых потом ещё и правильно вставить. особенно это касается УФ-стираемых ПЗУ на 28 и 32 вывода. Короче, даже эта операция — исключительно гиковское занятие. В третьих, тогда такие ПЗУ были очень дорогими. Новые вставил, а старые куда солить? Иметь только один комплект микросхем и программатор выйдет ещё дороже. К тому же нужен ещё второй компьютер чтобы прошивать микросхемы от первого, а если неудачная прошивка и не стартует… всё, паника!

BIOS имеет полное право перехватывать любые прерывания: если DOS захочет, то после загрузки перехватит что ему нужно.

Тут как раз правило очень простое — кто последний перехватил того и тапки. Биос стартует первым, реализует некоторые из прерываний, потом ДОС — реализует свои прерывания, перехватывает БИОС и в целом тот даже может быть не в курсе. ДОС может прописать свой обработчик прерывания для обращения к дискам, и реализовать функцию RAM-диска к примеру, или сетевого о которых БИОС и слыхом не слыхивала. Но между тем беззастенчиво пользоваться всеми функциями БИОСа ибо он последний и тапки его. Потом приходит драйвер, CD-рома например, и прописывается в прерывание ДОСа… тут важна только одна вещь — БИОС не должен вмешиваться в работу ДОС-а, а ДОС не должен вмешиваться в работу драйвера иначе это чревато.
п.с. запустится какой-нибудь виндовс и перепишет все прерывания под себя обрабатывая их единолично. Таким образом, например, обеспечивается работа старых приложений в режиме совместимости и если приложение не лезет куда-то напрямую оно продолжает работать(это к тому зачем нужна куча функций вместо прямого чтения из таблицы векторов).
ДОС может прописать свой обработчик прерывания для обращения к дискам, и реализовать функцию RAM-диска к примеру, или сетевого о которых БИОС и слыхом не слыхивала.
Я не знаю, как реализована функция RAM-диска. Но не вижу ни одной причины перехватывать прерывание у BIOS — всё это более чем решается через драйвер раздела.
Кстати, насколько я помню — у HDD и у FDD в BIOS имеются совершенно разные драйверы, работающие на разных прерываниях. Какое из них Вы предлагаете перехватить?

Что же касается сетевого диска — то это вообще не блочное устройство (не физический диск и не раздел диска), к нему нет посекторного доступа (и даже неизвестен размер сектора), а исключительно файловая система. Реализовать сетевой диск перехватом функций BIOS — в принципе невозможно.

Потом приходит драйвер, CD-рома например, и прописывается в прерывание ДОСа…
Вообще-то, у CD-ROM всегда было два драйвера — драйвер устройства и драйвер файловой системы. Вы сейчас о каком из них?

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

если приложение не лезет куда-то напрямую оно продолжает работать(это к тому зачем нужна куча функций вместо прямого чтения из таблицы векторов).
Если Windows держит на тех же прерываниях те же функции — то опять нет никакой разницы, читать значения векторов напрямую или через DOS.
Капитан Очевидность как бы намекает, что команда INT читает значения вектора прерывания напрямую, а не через DOS.
Я не знаю, как реализована функция RAM-диска. Но не вижу ни одной причины перехватывать прерывание у BIOS — всё это более чем решается через драйвер раздела.

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


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


Реализовать сетевой диск перехватом функций BIOS — в принципе невозможно.

Правильно, поэтому он реализовывается перехватом соответствующих функций DOS.

Никакого интерфейса для драйверов в DOS не было.
Всё взаимодействие с железом осуществлялось через определённые прерывания.
А-а-а!!! (FacePalm...)

Драйвер — это программа, специфичная для железки, и реализующая стандартный интерфейс для работы с этой железкой. Нет никакой разницы между такой программой, зашитой в ПЗУ (включённой в BIOS) или запущенной из DOS — обе есть драйверы.

А ещё бывают драйверы протоколов. Например, файловых систем или баз данных.

В DOS было отдельное понятие для этого слова — программа, которая запускалась из CONFIG.SYS через «DEVICE=...».

Драйвером называлась резидентная программа, которая перехватывала эти прерывания и реализовывала дополнительный функционал.
Кстати — не обязательно резидентная. Я видел BNU-драйвер, который не был резидентным. Он запускался, перехватывал прерывание, запускал из себя указанную ему программу; а когда она завершалась, драйвер верталд прерывание взад и завершался.

Правильно, поэтому он реализовывается перехватом соответствующих функций DOS.
Ага. Вот только это не было «диск». Как обычно — у MS предельно кривая терминология, специально сделанная для затуманивания сути.
Вот только никому не нужен RAM-диск со своим особым интерфейсом! Весь смысл RAM-диска — в том, что он притворяется диском обычным.
Я в упор не понимаю, что значит «со своим особым интерфейсом», если у реальных FDD, IDE-HDD и SCSI-HDD интерфейсы разные. Скажите конкретнее, где у RAM-диска должно появиться что-то особое.

Кстати, есть вариант — держать на RAM-диске не FAT, а особую файловую систему. Например, RAM-диску совершенно не требуется распределять пространство кластерами — пространство можно распределять хоть побайтно. И можно держать все файлы непрерывными, ибо дефрагментация RAM-диска обходится очень дёшево.

Вот кстати, CD-ROM имеет свою файловую систему (не FAT). И, имея особый интерфейс — не создаёт никаких проблем.
Я в упор не понимаю, что значит «со своим особым интерфейсом», если у реальных FDD, IDE-HDD и SCSI-HDD интерфейсы разные.

Работа и с FDD, и с HDD в DOS ведётся через один и тот же системный вызов (INT 13h) с одинаковым API, а каким образом работа ведётся на низком уровне, это забота BIOS и драйверов. Значит, и RAM-диск должен реализовывать тот же API, чтобы система могла прозрачно его использовать.


Кстати, есть вариант — держать на RAM-диске не FAT, а особую файловую систему.

Можно, но это более сложный вариант, так как реализовать блочное устройство намного проще, чем реализовать файловую систему.


Вот кстати, CD-ROM имеет свою файловую систему (не FAT). И, имея особый интерфейс — не создаёт никаких проблем.

Проблема в памяти, занимаемой драйвером. Когда от 640 КБ драйвер CD-ROM отъедает несколько десятков килобайт, становится как-то не очень приятно.

Драйвер — это программа, специфичная для железки, и реализующая стандартный интерфейс для работы с этой железкой.

Правильно. Но этим стандартным интерфейсом была система прерываний.


Как обычно — у MS предельно кривая терминология, специально сделанная для затуманивания сути.

Как по мне — довольно простая и удобная для домохозяек. Никаких заморочек с точками монтирования. Каждое устройство (раздел) — отдельный диск.

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

Понятия таки разные. "Системная функция" — это назначение вызова, а "программное прерывание" — это его реализация.


Кстати, когда появился защищённый режим x86, это оказалось не просто удобным, а вообще единственным способом переключиться в режим ядра до изобретения инструкции syscall/sysenter.

а вообще единственным способом переключиться в режим ядра до изобретения инструкции syscall/sysenter.

Я не помню деталей, но разве нельзя сделать вызов напрямую через селектор TSS?
Разве TSS доступен в user mode?
Я не помню деталей, но по идее мы можем вызвать код через селектор TSS в GDT напрямую. Как там с RPL/DPL не знаю, никогда таким способом не пользовался.
Зачем для межуровневого CALL иметь доступ к TSS??? Всё операционка должна сформировать. Читать Far Calls in Protected Mode.
Мимо — я и не говорю, что нужно иметь доступ к самому TSS. Речь про вызов через селектор, указывающий на TSS (т.е. как переключение задачи одновременно с самим вызовом). Мы обсуждаем возможные методы. Кроме шлюза в таблице прерываний. ЕМНИП, так как описал я (с одновременным переключением контекста через смену TSS) делать тоже можно.
Да не для домохозяек; это просто другая экосистема. Здесь все так же — эта терминология проистекает из времен PDP и операционной системы RSX. Есть две ветки — RSX и ветка-экосистема Unix. С каких-то больных пирогов юниксоиды считают, что их терминология — труЪ, а вторая — нет.
Система прерываний — это не интерфейс к драйверу, а способ вызова драйвера.
Тут слово «интерфейс» обозначает другое. Ну, например, драйвер диска — предоставляет интерфейс блочного устройства. Вызов драйвера — это не просто прерывание, но и значения регистров: в каком-то — номер дорожки, в другом — номер сектора, ещё там количество секторов, и т.д.

Терминология у MS — дебильная. Например, буквами «A» и «B» обозначаются гибкие диска; а «C» и далее — не диски, а разделы диска.

Ещё веселее бывает в сети. Например, человек работал на каком-то компьютере и держал документы в D:\dogovory — а потом перешёл на другой компьютер и не нашёл там своих документов, хотя залогинился в домен под тем же именем.
После этого становится ясно, чего стОят слова Билла Гейтса о «полноценной сетевой операционке» — он явно не мешки ворочает.
Терминология у MS — дебильная.
Не «дебильная», а «исторически сложившаяся».

Например, буквами «A» и «B» обозначаются гибкие диска; а «C» и далее — не диски, а разделы диска.
Только начиная с MS DOS 3.30 (1987й год). До этого на диске мог быть только один раздел и всё было достаточно логично. Однако с дисками больше 32MiB нужно было как-то уметь работать — и Ontrack со своим Disk Managerом научил один физический диск представлять в виде нескольких физических (а для MS DOS 2.0 он же умел делать виртуальные диски секторами в 8K, так что FAT12 можно было использовать с дисками до 32MiB), которые, разумеется, получали буквы D, E, F и так далее. Потом тот же принцип использовал Mitac Advanced Disk Management.

MS-DOS 3.30 же просто поддержал схему, которая и так уже активно использовалась.

После этого становится ясно, чего стОят слова Билла Гейтса о «полноценной сетевой операционке» — он явно не мешки ворочает.
Вы уже 100500й раз заходите на тот же самый круг: Билл Гейтс — мегасволочь, которая, почему-то, всегда думает о том, чтобы сделать всё так, чтобы существующие пользователи остались довольны. А ведь мог бы сделать как «нормальные» пацаны — устроить радикальный редизайн и всё сделать «как надо». Тогда операционки от Microsoft все бы хвалили и они отлично смотрелись бы в компьютерном музее рядом с UCSD p-System и прочими всякими BeOS…
а «C» и далее — не диски, а разделы диска.

Совершенно необязательно, и вы к тому же ставите все с ног на голову. Том в MS-DOS, запихнутый в Extended раздел, по сути — отдельный диск, поэтому и обозначается отдельной буквой.
Разделов диска ровно два: Master и Extended. Ни один из них буквой не обозначается, это не тот уровень абстракции.

Ещё веселее бывает в сети. Например, человек работал на каком-то компьютере и держал документы в D:\dogovory — а потом перешёл на другой компьютер и не нашёл там своих документов, хотя залогинился в домен под тем же именем.

Вы бы для начала ответили на вопрос, какого лешего этот человек работает с диском D. А потом изучили, как производится перенаправление каталогов в Active Directory. Да и D: можно подмонтировать при логине через AD без проблем.

После этого становится ясно, чего стОят слова Билла Гейтса о «полноценной сетевой операционке» — он явно не мешки ворочает.

После этих слов становится ясно, что вы AD не настраивали и не знаете, как пользоваться инструментами, о которых беретесь рассуждать.
Том в MS-DOS, запихнутый в Extended раздел, по сути — отдельный диск
«Диск» — это физическое устройство, имеющее геометрическую форму цилиндра, у которого высота меньше радиуса. Раздел — это элемент логической разметки носителя информации (диска/флешки/etc).

Разделов диска ровно два: Master и Extended.
На какую сумму денег мы будем спорить, что на диске можно сделать любое количество разделов типа Master и Extended, не превышающее в сумме четырёх (предел MBR)? И что DOS нормально будет с этим работать?

Кстати, внутри Extended-раздела можно делать неограниченное количество разделов обоих типов. Выше я говоил только о «внешних» разделах.

Ни один из них буквой не обозначается, это не тот уровень абстракции.
А что же тогда обозначают буквами?

Вот я после разбиения диска на разделы (допустим, грузился с дискеты) даю команду
format c:
Что форматируется? Т.е. какой объект компьютера программа format сопоставляет с этой буквой?

Вы бы для начала ответили на вопрос, какого лешего этот человек работает с диском D.
Что есть — с тем и работает.

После этих слов становится ясно, что вы AD не настраивали и не знаете, как пользоваться инструментами, о которых беретесь рассуждать.
Вообще-то, Билл Гейтс всегда орал о том, что у Windows — интуитивно понятный интерфейс. А тут, оказывается, надо настраивать…
Простите, но настроить можно и Unix — в т.ч. бесплатный. Тогда какой смысл платить, если можно бесплатно?
«Диск» — это физическое устройство, имеющее геометрическую форму цилиндра, у которого высота меньше радиуса.

RAM-диск ржет над вами — надорвется вот-вот.
На какую сумму денег мы будем спорить, что на диске можно сделать любое количество разделов типа Master и Extended, не превышающее в сумме четырёх (предел MBR)?

Не примпомню, чтобы fdisk позволил создать более одного master-раздела и подхватил бы их, но допустим, это проблемы моей памяти — проверять лень.

Это лишь означает всеядность нелюбимого вами инструмента, и проистекает это из возможности и необходимости комбинировать extended разделы разных физических дисков, не более.

А что же тогда обозначают буквами?

Логические диски — отдельные блочные устройства с некоторой нумерацией блоков от 0 и до обеда.
В случае запихивания в extended нескольких логических дисков каждый из них — как будто бы отдельное устройство, (блочное, диск с адресацией LBA) посему имеет отдельную букву.
Что форматируется? Т.е. какой объект компьютера программа format сопоставляет с этой буквой?

См. выше — логический диск/том. Он находится внутри контейнера, рамки которого заданы MBR. В случае флопчика этого контейнера нет, весь диск — такой контейнер. Контейнер в случае НМД нужен для создания несколких томов, отсюда дополнительный уровень абстракции. Но везде буква относится к логическому диску. Вы же утверждаете, будто A: относится к физическому диску, а C: к логическому, тогда как и A: — тоже относится к логическому диску (и файловая система работает с блоками со сквозной нумерацией), просто в данном конкретном случае отсутствует уровень абстракции «раздел».
НМД->раздел->том(логический диск)
НГМД->том(логический диск)
Необходимость в дополнительном уровне абстракции объясняется тем, что файловая система работает с блочными устройствами с линейной нумерацией блоков, а физический диск работает(л в те времена) по системе CHS. И когда вы обращаетесь к A:, вы обращаетесь к логическому диску с линейной нумерацией блоков. И это будет драйвером «переведено» на язык CHS для обращения к физическому устройству. При работе с НМД ФС работает поверх драйвера логического диска, который учитывая MBR переведет LBA файловой системы в LBA (для наших дней, т.к. НМД с 90х работают преимущественно по LBA) или CHS (лохматые годы) физического диска.
Что есть — с тем и работает.

Угу. «зачем ты бьешь себя молотком по пальцам? Как хочу, так и работаю. Производители молотков — изверги, мне так больно.....»
В норме человек при работе по системе Roaming profile не будет иметь доступ к корням дисков, у него будет его т.с. \home — десктоп и документы. Могут быть подмонтированы и какие-то диски, если по тем или иным причинам это нужно для работы каких-то программ (скажем, подмонтированы в сетевые папки).
Настройка — обязанность системного администратора.
Вообще-то, Билл Гейтс всегда орал о том, что у Windows — интуитивно понятный интерфейс. А тут, оказывается, надо настраивать…

У Windows на самом деле интуитивно понятный интерфейс, даже если вы с нуля ставите Server, настраиваете AD и групповые политики.
То, что в описанном вами случае система не сконфигурирована (используя интуитивно понятный интерфейс) правильно — вина администратора сети, а не БГ.
Причем, что самое смешное, настройка эта делается с из-под учетки админа, централизованно, ему даже задницу от админского кресла отрывать не надо.

Простите, но настроить можно и Unix — в т.ч. бесплатный. Тогда какой смысл платить, если можно бесплатно?

Да как вам будет угодно — рынок нас рассудит. Вы же претензию к дискам и их обозначению предъявляете. Не понимая, наверно, что «D:\» уже 20+ лет в системе NT — это всего-навсего Alias в общее пространство имен Object Manager'а ядра. В NT, в отличие от Unix с идеологией «все суть файлы» господствует идеология «все суть объекты».
Например, у меня на данной машине, где я сижу, D: — это Symbolic Link на \Devices\HarddiskVolume3
А мог быть при работе в сети маппингом сетевого каталога.
RAM-диск ржет над вами — надорвется вот-вот.
А это уже претензия к кривой терминологии. Я уже не раз говорил, что с терминологией вообще всё плохо, а у MS — особенно.

Не примпомню, чтобы fdisk позволил создать более одного master-раздела и подхватил бы их
А разве я говорил, что буду использовать fdisk?
Ну, например, я буду использовать менеджер разделов из W'NT/2000/XP/etc. Или Norton DiskEditor.
Прикол в том, что fdisk из DOS действительно отказывается создавать более одного Master-раздела и одного Extended-раздела; и отказывается создать Extended-раздел, пока не создан Master-раздел. Но успешно видит и удаляет их. А сам DOS — нормально использует эти разделы.

Это лишь означает всеядность нелюбимого вами инструмента, и проистекает это из возможности и необходимости комбинировать extended разделы разных физических дисков, не более.
Я ничего не понял ни про всеядность, ни про комбинирование разных дисков.

Логические диски — отдельные блочные устройства с некоторой нумерацией блоков от 0 и до обеда.
Вообще-то, буквами обозначают ещё и «сетевые диски» (кривая терминология) — которые совсем не блочные.

А что такое «логические диски», если не «разделы HDD»? (С FDD иначе — там сразу начинается BR, потом FAT, Root и рабочая область.)

Кстати, если я создам Extended-раздел — он не получит букву. Внезапно…
Потому что внутри него — надо создать Master-раздел. И если надо больше — то ещё один Extended-раздел. Грязные извращенцы!

физический диск работает(л в те времена) по системе CHS
Ну, это смотря какой. SCSI — линейный.

В норме человек при работе по системе Roaming profile
Почему-то по умолчанию профили юзеров — локальные.

Настройка — обязанность системного администратора.
Я в курсе. А сделать так, чтобы система изначально была удобной, чтобы настраивать надо было минимально — это обязанность программистов; но они на это болт ложили.

То, что в описанном вами случае система не сконфигурирована (используя интуитивно понятный интерфейс) правильно — вина администратора сети, а не БГ.
Как раз интуитивно понятно — что система изначально ставится в конфигурацию, приемлемую для большинства случаев. И тот факт, что после установки системы требуется допиливать её — это ни разу не интуитивно понятно. Т.е. по факту — уровень интуитивной понятности Windows оказывается не лучше, чем остальных систем.

Собственно, главная вина Билла Гейтса — в том, что он не мешки ворочает.

рынок нас рассудит.
А-а-а, так Вы, оказывается, поклонник «невидимой руки рынка»…

Вы же претензию к дискам и их обозначению предъявляете. Не понимая, наверно, что «D:\» уже 20+ лет в системе NT — это всего-навсего Alias в общее пространство имен Object Manager'а ядра.
А вот и ни фига!
Алиас создаётся при необходимости — а сама система работает с каноническими именами. И для юзера — система предлагает канонические имена. А алиасы — сидят тихо, не светятся, и срабатывают только если кто-то обращается по legasy-маршруту.

Т.е. я тут как бы намекаю на то, что сам интерфейс в Windows показывает «Мой компьютер» и далее «C:», «D:» и остальное. Что как бы намекает юзеру: бери и пользуйся.

Например, у меня на данной машине, где я сижу, D: — это Symbolic Link на \Devices\HarddiskVolume3
А мог быть при работе в сети маппингом сетевого каталога.
Да всё можно настроить. Просто это — как раз ни фига не интуитивно-понятно.

А корень проблемы зарыт гораздо глубже — в концепции загрузки операционки с локального накопителя. В результате чего Windows сначала ставится кк чисто локальная система, потом получает сетевые настройки и может войти в домен — но к этому моменту локальные накопители с файловыми системами уже заняли буквы. И, чт особенно плохо — эти буквы отображены в юзерском интерфейсе.
(Сразу скажу — в Unix ситуация ничуть не лучше.)

Тогда как реально сетевая операционка — должна дружить с сетью на том же уровне, что и с локальными накопителями. Но этому препятствует архитектура PC — и любая операционка, работающая на PC, получит этот первородный грех.
а у MS — особенно.

Стоп-стоп, «RAM диск» — это не терминология MS, это общее место.
А разве я говорил, что буду использовать fdisk? Ну, например, я буду использовать менеджер разделов из W'NT/2000/XP/etc. Или Norton DiskEditor.

Мы говорим про MS-DOS и происхождение определенных терминов. Почему использовать левые инструменты (NU) собираетесь вы, а виноват MS?
Я ничего не понял ни про всеядность, ни про комбинирование разных дисков.

У вас может быть, например, два физических жестких диска. И их разделы и логические диски надо объединять в одно пространство. Соответственно, ОС должна понимать комбинацию из нескольких Extended разделов.
Вообще-то, буквами обозначают ещё и «сетевые диски» (кривая терминология) — которые совсем не блочные.

Это не кривая терминология. В принципе, вам никто не мешает иметь драйвер сетевого диска, обеспечивающий поблочный, а не пофайловый доступ. Более того, такие системы имелись.
А что такое «логические диски», если не «разделы HDD»?

Ну вот у вас есть раздел (англ. parititon) под названием Extended, а в нем — несколько логических дисков.
Кстати, если я создам Extended-раздел — он не получит букву. Внезапно…

Я писал уже выше, вы на это отвечали и сейчас идем по второму кругу:
Ни один из них (разделов — прим.) буквой не обозначается, это не тот уровень абстракции.

А что же тогда обозначают буквами?

Логические диски

Вы абсолютно не восприняли ответ.

Ну, это смотря какой. SCSI — линейный.

И что? IDE года 2005 тоже линейный. Но мы говорим про истоки технологии.

Почему-то по умолчанию профили юзеров — локальные.

А почему должно быть иначе? Windows (не Server edition) — универсальная операционная система. Из коробки работает автономно. Вы еще посетуйте на то, что надо в розетку включать.

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

Система изначально удобна и настраивать надо минимально; вы просто не владеете предметом. Настройка, о которой мы ведем речь — это настройка УЧЕТНОЙ ЗАПИСИ. Сама система просто подключается к домену и все.

И тот факт, что после установки системы требуется допиливать её — это ни разу не интуитивно понятно

Занимается этим системный администратор, который подключает новую машину к домену и создает новый профиль пользователя. Система тут ни при чем.

А-а-а, так Вы, оказывается, поклонник «невидимой руки рынка»…

Нет, я поклонник кондового плана, но мы живем в условиях рыночной экономики сейчас.

А вот и ни фига!
Алиас создаётся при необходимости — а сама система работает с каноническими именами

Это вранье. Алиас создается автоматически при генерации системы.
И для юзера — система предлагает канонические имена

Обратная совместимость. Да и почему надо прибегать к другой терминологии, даже если ядро может гипотетически Unix оболочку обслуживать и Unix пространство имен?

Да всё можно настроить. Просто это — как раз ни фига не интуитивно-понятно.

Что сложно и непонятно? Как делать roaming профили и как мапить диск? Это понятно без документации.
И, чт особенно плохо — эти буквы отображены в юзерском интерфейсе.

Вас опять подводит незнание предмета. Это все отключается централизованно, не вставая с админского кресла. И будет у пользователя только рабочий стол и его документы, всё.

Когда участвуешь в подобных разговорах, складывается ощущение, что собеседник застрял во временах W98 и не пользовался более поздними инструментами, даже работая с NT системами.

Ну, это смотря какой. SCSI — линейный.
Не было никакого SCSI в эпоху MS DOS 3.0

SCSI появился только в 1986м, когда все эти разделы и прочее уже вовсю использовались. MS DOS 3.30 и расширенные разделы, правда, позже появились, но они вынуждены были следовать за тем, что люди использовали.

Почему-то по умолчанию профили юзеров — локальные.
Потому что по умолчанию на рабочем месте у каждого — свой компьютер. Индувидуальный. Было бы странно если бы по умолчанию всем «тыкали в нос» фичами, которыми пользуется несколько процентов пользователей.

А сделать так, чтобы система изначально была удобной, чтобы настраивать надо было минимально — это обязанность программистов; но они на это болт ложили.
Нет. Они сознательно сделали так, чтобы всё работало нормально у 90% пользователей. Ну а те 10%, кому нужно переходить с машины — настроят как-нибудь.

Можно ли сделать по-другому: заставить 90% пользователей возиться с вещами, которые им нафиг не сдались? Да — можно. Многие компании так и делали. После чего «неожиданно» оказывались на свалке истории…

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

Собственно, главная вина Билла Гейтса — в том, что он не мешки ворочает.
Вы просто не можете смириться с тем, что человек может разбираться в технике — и при это не «молиться на неё». Для Билла Гейтса потребносить пользователей всегда были важнее каких-то асбтрактных достоинств кода.

Вот когда после его ухода пресловутым «архитектурным астронавтам» дали волю — и начались проблемы. С этим перезапуском Longhorn'а и прочим.

А-а-а, так Вы, оказывается, поклонник «невидимой руки рынка»…
Рынок — это не очень хороший измеритель желаний людей… но лучшего у нас всё равно нет.

Тогда как реально сетевая операционка — должна дружить с сетью на том же уровне, что и с локальными накопителями.
Кому должна? Зачем должна? Почему должна? Какую задачу вы вообще решаете?

Только без астронавтики, пожалуйста. Вот для чего конкретной «Тане из бухгалтерии» может понадобится «реально сетевая операционка» и что она с ней будет делать?
SCSI появился только в 1986м
Раньше имел неофициальное название Shugart Computer Systems Interface в честь создателя Алана Ф. Шугарта, разработанный в 1978 г. и опубликованный в 1981 году.
1986-й — это стандартизация и применение его в Sun.

Потому что по умолчанию на рабочем месте у каждого — свой компьютер.
Ну так вот это и есть самое дебильное в PC, DOS и Windows!
Я сначала работал на больших ЭВМ — ЕС-1031 в студенческом режиме. Потом работал на Acorn B+, объединённых в сеть — по вычислениям это были персональные компьютеры, но можно было свободно перемещаться между компьютерами, ибо они были бездисковые. И в обоих случаях я заценил, насколько это удобно.

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

Было бы странно если бы по умолчанию всем «тыкали в нос» фичами, которыми пользуется несколько процентов пользователей.
Осталось объяснить, почему люди не пользуются удобными фичами. Впрочем, выше я уже объяснил.

О поблемах при бэкапе локальных профилей, я надеюсь, все знают.

Они сознательно сделали так, чтобы всё работало нормально у 90% пользователей. Ну а те 10%, кому нужно переходить с машины — настроят как-нибудь.
Нет. Они сознательно сделали всё, чтобы затруднить переход с машины на машину — поэтому люди и не переходят.

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

Вы просто не можете смириться с тем, что человек может разбираться в технике — и при это не «молиться на неё».
Это Вы про Билла Гейтса? Откуда Вы взяли, что он разбирался в технике?

Для Билла Гейтса потребность пользователей всегда были важнее каких-то асбтрактных достоинств кода.
Ой, Вы делаете мне смешно!

Для Билла Гейтса важнее всего была прибыль. Для этого надо было продавать новые версии программ. Но никто не купит новую версию, если старая будет удобной.
Поэтому в первую очередь — Билл Гейтс делал программы неудобными. Ну, умеренно неудобными. Благо пользователи не были знакомы с альтернативами и не знали, чо можно сделать лучше.
Во вторую очередь — Билл Гейтс регулярно ломал совместимость. Например, новая версия Word записывала результаты своей работы в формате, который не понимала старая версия — после чего людям приходилось обновлять программы. Как видите — прибыль извлекалась в результате намеренного создания неудобств.
Или вот ещё пример: категорический отказ делать USB-драйвер для W'NT'4.0. Выгода за счёт неудобств юзера — что м.б. лучше?

Вот когда после его ухода пресловутым «архитектурным астронавтам» дали волю — и начались проблемы.
Честно говоря — я не вижу у MS никаких проблем; ну, финансовых. Я считаю, что интерфейс они начали говнить ещё в W'Vista/7, а в W'8/10 он уже окончательно изговнился с этими плитками. Но пипл хавает.

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

Кому должна? Зачем должна? Почему должна? Какую задачу вы вообще решаете?
Я решаю задачу построения точной терминологии (кто-то из китайских мудрецов советовал императору: «в первую очередь привести в порядок терминологию»). Чтобы иметь право называться «полноценной сетевой» — операционка должна соответствовать некоторым критериям, до которых Windows — как пешком до Юпитера.
Впрочем, как я уже говорил выше — на писюках это вообще крайне проблематично, ибо проблема куда глубже, чем кажется. Вроде, ближе всего к этому подошла QNX — если то, что я по неё читал, является правдой.

Вот для чего конкретной «Тане из бухгалтерии» может понадобится «реально сетевая операционка» и что она с ней будет делать?
Таня — будет работать. При этом она избавится от привязки к конкретному компьютеру.
Но основная выгода — в облегчении администряния и в повышении надёжности.
А писюки — это дебильная система, в которой надо либо таскать с собой дискету, либо быть привязанным к конкретному компьютеру.
Причём даже с появлением сети — писюки не смогли избавиться от этой дебильности. Ибо она — архитектурная.

Персональные ЭВМ — внезапно персональные, вот это поворот!
Смогли, и успешно работают. То, что вы не умеете в roaming profiles — не вина PC.
Осталось объяснить, почему люди не пользуются удобными фичами. Впрочем, выше я уже объяснил.

Поправочка: ВЫ не пользуетесь. Почему? Видимо, не знаете или не умеете. Да, в маленьких конторках со студентами-эникейщиками о таком и не слышали. Я впервые о roaming profiles в NT система и работе с ними узнал в школе, на уроках информатики, много лет назад.
Нет. Они сознательно сделали всё, чтобы затруднить переход с машины на машину — поэтому люди и не переходят.

Нет никаких затруднений. Даже сетевые приложения графические можно туннелировать через RDP при желании, не то что roaming profiles использовать.
Банальное незнание, низкая квалификация. Половина псевдо-администраторов осталась в прошлом, во временах одноранговых сетей, а вторая, уйдя в те же времена на Unix системы, теперь нас в 2018 кормит байками про невозможность работы на разных машинах.
Таня — будет работать. При этом она избавится от привязки к конкретному компьютеру.

Эта Таня приходит каждый день в один и тот же кабинет, садится за один и тот же компьютер. Вот у нее монитор, вот клавиатура, вот ее кактус в горшочке. Это — реалии.
Но и при желании сделать ее рабочее место «мобильным» (возможность перемещения от рабочей станции к другой РС) все, что нужно — это знания администратора сети.

И в обоих случаях я заценил, насколько это удобно.
Вам, в силу особенностей характера — может быть. Но подавляющему большинству — нет. Теоретически токарь может подойти к любому станку и выточить деталь. А практически — у каждого свой станок. То же самое с персоналками — а каждого оператора ЕС-1031 на заводе моей матери был свой терминал. Несмотря на то, что теоретически они все одинаковы. Именно потому, что этот чёртов «кактус в горшочке» именно у него.

А значит, всякий, кто думает, будто на писюке можно сделать истинно сетевую операционку — не мешки ворочает.
Бред какой. Сделать сетевой компьютер на основе PC — раз плюнуть. Boot rom и всё прочее — известны с середины 1980х. Вот только нужда в этом — очень огранчена.

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

Осталось объяснить, почему люди не пользуются удобными фичами. Впрочем, выше я уже объяснил.
Ну да. Объяснение в стиле «весь мир идёт не в ногу, один я — в ногу».

Нет. Они сознательно сделали всё, чтобы затруднить переход с машины на машину — поэтому люди и не переходят.
А кто им мешал пользоваться системами, которые позволяли это делать? Acron'ами и MSX'ами всякими? Напомню, что до 1985го года IBM PC были в меньшинстве — на рынке рулили совсем другие персоналки.

Ну, умеренно неудобными. Благо пользователи не были знакомы с альтернативами и не знали, чо можно сделать лучше.
Садитесь. Двойка. Ни Microsoft Multiplan, ни Microsoft Word for DOS никогда не были ледерами рынка. Ими были сначала VisiCalc и WordStar, а затем — Lotus 1-2-3 и WordPerfect.

Пожалуй единственный «безальтернативный» продукт, про который можно было сказать что его использовали, так как ничего другого не видели — это был Microsoft Basic. Но он к истории PC имеет мало отношения.

Например, новая версия Word записывала результаты своей работы в формате, который не понимала старая версия — после чего людям приходилось обновлять программы.
Ещё одна двойка. Как раз переход с Lotus 1-2-3 на Excel и с WordPerfect на WinWord начался тогда, когда Microsoft подтянул экспорт. Вездесущий Джоель про это очень хорошо написал.

Да, совместимость не всегда была идеальной, иногда возникали проблемы… но по сравнению с тем, что учудила, скажем, MicroPro с WordStar 2000 или даже какой-нибудь Chi-Writer (у которого, действительно, был конвертор только из версию 3 в версию 4, но никак не наоборот) — это были мелочи. Да, блин, MS Office 2000 открывает документы, созданные в MS Office 2016 (если соответствующий апдейт поставить)!

Или вот ещё пример: категорический отказ делать USB-драйвер для W'NT'4.0.
Вообще-то распространение USB-устройств началось во времена, когда Windows NT 4.0 была уже довольно-таки стара.

Хотя я сам, лично, видел USB-устройства с поддержкой Windows NT 4.0 — так что тут скорее вопрос о готовности создателей таких устройств платить за драйвера.

Честно говоря — я не вижу у MS никаких проблем; ну, финансовых. Я считаю, что интерфейс они начали говнить ещё в W'Vista/7, а в W'8/10 он уже окончательно изговнился с этими плитками. Но пипл хавает.
Дык мы с вами об одном и том же периоде говорим. Билл ушёл после выхода Windows XP. После его ухода фантазию «астронавтов» уже ничто не могло сдержать — ну и получили то, что получили…

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

Я решаю задачу построения точной терминологии
А подумать о том, что любая терминология имеет смысл только в том, случае, когда ею пользуетесь не только вы — вам ваша гордость не даёт. Ну Ok. Дело ваше. Только смысла общаться с вами в этом случае немного.

Таня — будет работать. При этом она избавится от привязки к конкретному компьютеру.
А вы у Тани спросили — она, вообще, этого хочет? Или она, вы думаете, приклеи вает к компьютеру «ушки» всякииие, чтобы «избавится от привязки»? Или вы хотите её насильно в рай загнать? Ну так езжайте в Северную Корею — вроде только там остались люди, которые присваювают себе за других право решать как и почему у них должно счастье наступать.

Но основная выгода — в облегчении администряния и в повышении надёжности.
Для этого есть другие методы. Не требующие отказываться от быстрого локального диска только потому, что вам захотелось сделать «настоящую сетевую OS».
Вам, в силу особенностей характера — может быть.
Я так понимаю, Вы даже не предположили, что мой характер складывался в т.ч. под влиянием опыта работы на обезличенных компьютерах.

Теоретически токарь может подойти к любому станку и выточить деталь. А практически — у каждого свой станок.
Очевидно, это потому, что станок = аналоговое устройство, а компьютер = цифровое. Разницу Вы можете прочитать хоть у Вашего любимого Билла Гейтса: цифровые устройства м.б. идентичными, а аналоговые не могут.

а каждого оператора ЕС-1031 на заводе моей матери был свой терминал
Свой терминал — или своё стул+стол? Что было бы, если бы поменяли два терминала местами?

Сделать сетевой компьютер на основе PC — раз плюнуть. Boot rom и всё прочее — известны с середины 1980х. Вот только нужда в этом — очень огранчена.
BootROM — это вообще не решение, а заплатка. Разумеется, в заплатанной одежде никто ходить не хочет — ну и тут так же.

Начнём с того, что BootROM — это жуткая дыра в безопасности, ибо при появлении альтернативного сервера удалённой загрузки клиенты не смогут отличить, где настоящий, а где фальшивый. Собственно, вопрос даже не в злодейской атаке, а в случайной ошибке админов.

Кроме того, писюковые операционки — заточены на работу с локальным накопителем. В частности — они очень нервно реагируют на недоступность этого накопителя. Сетевая операционка д.б. написана иначе — в качестве одного из принципов (в первом приближении) я бы назвал такой: «компьютер не обращается к накопителя без явного приказа пользователя»; т.е. никакого свопинга в фоновом режиме быть не должно. Иными словами, тут надо ещё и переписывать программы, добиваясь компактности.

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

Объяснение в стиле «весь мир идёт не в ногу, один я — в ногу».
Скорее в стиле «и всё-таки он а вертится».

А кто им мешал пользоваться системами, которые позволяли это делать?
А это — какраз тот самый «рынок», который мы тыт раньше обсуждали. Да-да, тот самый iRL-рынок, где не спрос определяет предложение (как это нам втирают лживые теоретики), а предлагатели формируют спрос рекламой и ассортиментом.
Грубо говоря, производители писюков задавили рекламой конкурентов. Задавили даже не в смысле пользователей, а в смысле программистов и продавцов. А покупатели могут выбирать только из того, что есть в магазинах.

Ни Microsoft Multiplan, ни Microsoft Word for DOS никогда не были лидерами рынка. Ими были сначала VisiCalc и WordStar, а затем — Lotus 1-2-3 и WordPerfect.
Лично я под DOS помню Lixicon, MicroMir и ChiWriter. Перечисленных Вами продуктов у меня не было.

Рассказывая про Word — я привёл пример того, как Билл Гейтс преуспевал именно делая людям намеренные гадости. Да, это было под Windows — просто под DOS я с его продуктами не работал, так что не в теме.

но по сравнению с тем, что учудила, скажем, MicroPro с WordStar 2000 или даже какой-нибудь Chi-Writer
А разве я утверждал, что «только Билл Гейтс чудил с форматами файлов»? Безусловно, поискав, можно найти тех, кто чудил сильнее Билла Гейтса.
Но я предлагаю вернуться к Вашему тезису «Билл Гейтс ночей не спал — думал, как сделать юзерам удобнее».

Вообще-то распространение USB-устройств началось во времена, когда Windows NT 4.0 была уже довольно-таки стара.
И тем не менее — USB-драйвер для W'NT'4.0 был востребован, но Билл Гейтс не стал его делать.

Хотя я сам, лично, видел USB-устройства с поддержкой Windows NT 4.0 — так что тут скорее вопрос о готовности создателей таких устройств платить за драйвера.
Я так понимаю — если бы был универсальный USB-драйвер, то написание драйверов для конкретных устройств было бы тривиальным.

Билл ушёл после выхода Windows XP.
Windows 7 поступила в продажу 22 октября 2009 года — а Билл Гейтс ещё торчал в MS то ли 4, то ли 5 лет: В октябре 2013 года под данным Reuters три крупных акционера Microsoft (c долей около 5 %) потребовали отставки Билла Гейтса с должности главы совета директоров корпорации. На тот момент доля акций Гейтса составляла 4,5 процентов[24]. В феврале 2014 года Гейтс покинул пост главы совета директоров.

А когда отдельные личности считают, что их «хотелки» — это и есть истина в послденей инстанции, то это уже не смех, а слёзы.
Любая личность — отдельная. И, как показывает история: бежать за стадом не всегда разумно, а иногда и смертельно опасно.

А подумать о том, что любая терминология имеет смысл только в том, случае, когда ею пользуетесь не только вы — вам ваша гордость не даёт.
Т.е. Вы категорически против введения новой терминологии? И против исправления старой заведомо неадекватной терминологии?
Тот китайский мудрец, который советовал императору привести терминологию в порядок — Вы его дураком считаете?

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

Или она, вы думаете, приклеивает к компьютеру «ушки» всякие, чтобы «избавится от привязки»?
Оказывается, вдобавок ко всему Вы путаете компьютер и монитор…

Ну так езжайте в Северную Корею — вроде только там остались люди, которые присваивают себе за других право решать как и почему у них должно счастье наступать.
Вы ошибаетесь: люди, решающие за других, есть везде. Вот в США недавно отдельные люди решили за других, что негры и гомосексуалисты должны иметь преимущество при поступлении на работу — причём и за иностранцев тоже решили А ещё они регулярно решают за иностранцев, что тамошнее правительство надо сменить: Панама, Гренада, Афган, Ирак, Ливия, Сирия.

Для этого есть другие методы. Не требующие отказываться от быстрого локального диска только потому, что вам захотелось сделать «настоящую сетевую OS».
Учитывая, что вирусы и прочая малварь преимущественно живёт именно на локальном диске — от локального диска отказываться необходимо.
Что было бы, если бы поменяли два терминала местами?

И кто мешает построить вам сеть из рабочих станций на платформе NT, которые можно будет без проблем менять местами?
Ну отлично, тогда вирусы будут жить на «сетевых дисках» и доступны сразу всем. Это же мечта вирусописателя!
Кроме того, чтобы не испытывать тормозов при работе в сетевой системе сеть должна быть столь же быстра как нынешние локальные накопители. Можете себе представить такую сеть?
Попробуйте прикинуть инфраструктуру предприятия хотябы на 100 рабочих мест, где бы сетевое решение обеспечило столь же комфортную работу как локальные рабочие станции. И подумайте, что делать с десятками гигабайт рабочих файлов находящихся в профиле пользователя. Как думаете сколько времени будет дожидаться загрузки маленького рабочего проекта простой дизайнер по сетке в 100Мбит когда никто ещё не работает? Вот по этой причине и тогда и сейчас сетевые операционки без возможности работать локально были не очень востребованы. Да и сейчас возможность работы в сетевом режиме для ПК это вопрос лишь правильной настройки окружения и наличия инфраструктуры.
Кстати, как вам идея — давайте откажемся от оперативки, там малварь тоже живёт! Да и не нужна оперативка терминалу…
Кажется, Вы слабо представляете себе механизм заражения программ вирусами.

С т.з. вируса — идеальным является заражение загрузочных объектов, в т.ч. внедрение в загрузочные программы или прописывание себя в загрузочные конфигурационные файлы. Именно такие вирусы наиболее опасны.
На компьютерах без возможности организовать защиту ядра от приложений (что-то типа 8086) — вирус совершенно спокойно прописывает себя куда угодно.
На компьютерах с защитой ядра — вирусы пробивают защиту атакой на переполнение буфера или типа того.

Если мы записываем операционку в ПЗУ — то вирус в принципе не может пробить такую защиту. Проблема решена.

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

Скорость сети можно поднять. Пока что производители старательно повышают скорость дисков, но практически не работают над повышением скорости сетей.
Например, можно создать соединение между сервером и свичом, работающее на скорости как SATA — с тем же ограничением по расстоянию. А можно организовать параллельную передачу данных по нескольким линиям — и соответственно поднять скорость ещё в несколько раз. (Я в курсе, почему от PATA перешли к SATA. Так что передавать данные надо будет асинхронно.)
А скорость дисковой подсистемы — можно поднять RAID-массивом. На раб.станции это применяется редко, а для сервера это нормально.

Дизайнеры — это весьма небольшая часть юзеров. Им можно ставить локальные диски.
И кстати — я ни разу не видел сотню дизайнеров в одном месте. Они как-то предпочитают кучковаться по пять человек или около того.

PC может работать в сетевом режиме — но только на костылях. Естественно, такой режим работы не будет востребован.

Идея отказаться от оперативки мне не нравится: я не знаю программ, работающих без оперативки. Тогда как без локального диска — работать можно.

Терминалу — оперативка нужна. Это Вы действительно не знали? Или решили так подставиться?
Это не говоря уж о том, что на хосте оперативка будет в любом случае, и там тоже может жить малварь. Причём защищённости системы — намного хуже, чем у клиент-серверной модели, ибо программы выполняются на той же системе, где и драйвер файловой системы.

Терминальный режим работы мне не нравится — он очень чувствителен к задержкам; ещё более чувствителен к временной пропаже коннекта; и крайне плохо масштабируется.
Сколько там той оперативки нужно? Только под буфер экрана и функции выводящие на экран изображение и работающие с УВВ. А терминал с Оперативкой это уже буде тонкий клиент. И сейчас вобщем-то достаточно популярны в узких кругах бездисковые рабочие станции. Но это не очень востребовано, ибо там другие проблемы возникают. Винчестер вы оттуда убираете и переносите в сервер — даже при одинаковом объёме затраты уже больше ибо серверное стоит дороже. Во вторых рабочие файлы если они объёмные будут грузиться очень долго, а если ещё и все начнут работать… 100-мегабитная сетка быстро ложится уже при 20 пользователях — при этом на каждого уже остаётся по 5 мегабит в среднем. Переходим на гигабитную сеть, цены инфраструктуры растут уже в 5 раз…
Что касается надёжности, одно общее центральное хранилище накрывается разом и все остаются с носом пока идёт его восстановление(если есть вообще откуда и не произошел двойной отказ в добавок резервных копий), горячий резерв — как правило это очень дорого, да и холодный тоже не намного дешевле. Поэтому и используют гибридный режим — все рабочие станции персональные, но часть файлов хранится также и на центральном сервере(настройки профиля, перемещаемые файлы, и т.д.) и отдельном файлохранилище(репозиторий, архив, общая файлопомойка) но непосредственно работа ведётся с быстрых локальных накопителей. Причем в таком случае рабочие станции могут быть очень разными как по оснащению так и по мощности железа и версиям операционок. Поэтому такое решение победило.
Ну, в первом приближении — на терминале выполняется драйвер видеокарты. А сколько занимают современные видео-драйверы — я думаю, Вы сами можете выяснить. Не говоря уж о буферизации содержимого окон.

Терминал (неважно, с оперативкой или нет) — это не клиент. Вообще не клиент — ни толстый, ни тонкий. Это сервер. А клиентом является хост.

Бездисковые раб.станции, если они построены на базе писюка — всегда будут неудобны. Как я уже говорил — любовь писюков к диску заложена глубоко в архитектуре, поэтому для писюков нет ни операционок, ни программ, пригодных для бездисковой работы — они все написаны именно для дискового компьютера.

Фраза «серверное стоит дороже» мне непонятно. Там что — диски другие? А обычные диски туда не вставляются?

Фраза «при 20 пользователях {...} на каждого уже остаётся по 5 мегабит в среднем» показывает, что принципы работы сетей Вы не знаете. Сеть обычно нагружена не постоянно, а урывками — так что во время потребности клиенты получают не пропорциональную долю пропускной способности, а гораздо больше.

Правильная сеть строится так: 100 Mbps от клиентов до свича, 1000 Mbps от сервера до свича. Пересчитайте Ваши выкладки ещё раз — при таких раскладах.

Когда данные размазаны по раб.станциям — факапы получаются мелкие, но частые. Суммарный ущерб — примерно такой же.
НЛО прилетело и опубликовало эту надпись здесь
Ну, Вы правы в том, что загрузка — она многостадийная. При этом трудность внедрения и трудность обнаружения/удаления зловреда — зависит от стадии, в которую хочется внедриться.

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

А вот внедрение на стадию предзагрузчика (MBR, BR), загрузчика или ядра — это самое интересное. И при должном внедрении — для очистки надо грузиться с внешнего носителя (который сам м.б. заражён тем же зловредом — который не даст вычистить себя и с HDD).
Немного менее интересно — внедриться на стадию загрузки системных служб.

На локальном ПК — существуют уязвимости, позволяющие зловреду поднять привилегии исполняемого кода до уровня ядра. И всё — приплыли.
В концепции раздельных процессоров с раздельной памятью (в т.ч. для файлового сервера) — такое невозможно. Ну или если возможно — то точек потенциальной уязвимости там на порядок меньше.
«Диск» — это физическое устройство, имеющее геометрическую форму цилиндра, у которого высота меньше радиуса. Раздел — это элемент логической разметки носителя информации (диска/флешки/etc).

Трудности перевода. В английском используются слова "disk" и "drive". Первое обозначет объект в форме диска, второе — устройство (привод, накопитель), причём оно может быть как физическим (собственно железка), так и логическим. В русском же оба слова переводятся как "диск" — просто смиритесь с этим.


Например, когда мы вставляем объект "floppy disk" в "floppy disk drive", он становится "drive A:", а не "disk A:", тогда как по-русски будет — "диск A:".


При этом переводить "drive" как "раздел" некорректно, т.к. "drive" — это более широкое понятие.


А что же тогда обозначают буквами?

Операционная система назначает буквы логическим дискам согласно определённым правилам. В DOS drive C: — это первый раздел первого жёсткого диска.

Не существует никакого «мышиного прерывания» на самом деле все эти прерывания — это просто удобный способ реализации вызовов функций. Это только в ДОС-е конкретное прерывание было мышиным, а в другой операционке там могло висеть всё что угодно, и прерывание это создавалось и обрабатывалось драйвером мыши, без драйвера вызов этого прерывания не имел никакого смысла. И если бы БИОС реализовал бы это прерывание как мышиное то в мире остался бы только один производитель и тип «мышей», ведь тогда было бы очень сложно продавать мыши отличные от стандартных двухкнопочных, даже без скролла.
Вы фееричны.

Начнём с того, что на PC в подавляющем большинстве случаев использовались DOS или Windows. Т.к. Windows работает в защищённом режиме процессора, ей это неактуально; а значит, имеет смысл поддерживать только DOS. Собственно, приоритетную поддержку именно DOS — никто и не скрывал.

Далее: назначить номер прерывания (и особое значение типа нуля — для отключения этой функции) — можно в настройках (тех самых, которые используют мышь).

И наконец, Вы очень удивитесь — но BIOS поддерживал много разных типов мышей. Равно как и некоторые драйверы — могли работать с разными типами мышей.
А для тех мышей, которые данный BIOS не понимает — ну, остаётся прежний вариант с загрузкой драйвера с диска.
Т.к. Windows работает в защищённом режиме процессора, ей это неактуально; а значит, имеет смысл поддерживать только DOS.
Нет, не значит. Начиная с 1993го (Windows 3.1) или 1995го (Windows 95) года DOS рассматривался уже только как то, в чём вы исправляете аварии, приводящие к невозможности запуска Windows.

Потому поддерживать в нём мышь и прочие разные красивости — было бессмысленно.

А ни одного BIOS'а с поддержкой мыши, вышедшего до 1993го я не припомню — это скорее уже для XXI века типично… некоторые BIOS'ы сейчас и тачскрин поддерживать умеют. Как устроен драйвер для тачскрина в DOS, не подскажите?
Биос понимает ровно те мыши которые необходимы для его работы — две кнопки, две координаты и всё. Ему нет ни смысла ни необходимости поддерживать все мыши в мире. Большая часть мышей как раз таки сводятся к стандартному варианту и поэтому работает в БИОСах с поддержкой стандартной мыши. И если использовать тот же драйвер для всех операционок… получится не очень. Поэтому драйвер мыши был отдельным, хоть и мог поддерживаться БИОСОМ теоретически к тому времени в этом смысла уже небыло. А современные «биосы» которые уже UEFI не совсем те биосы что были раньше, вероятней всего там драйвер мыши так же отдельный(как дополнительный модуль БИОСа, например) хоть и кажется что встроенный. Потому что в этом НЕТ СМЫСЛА. На самом деле, те графические интерфейсы биоса что нам представляют уже сами по себе являются операционками, со своим софтом и драйверами.
Появись мышь раньше, вместе с клавиатурой к примеру, может всё было бы и по другому.
Я упорно не понимаю, что значит «Биос понимает ровно те мыши которые необходимы для его работы». Мне кажется — BIOS должен понимать максимально возможное разнообразие мышей.
Вообще, слово «понимать» в данном контексте — это про протокол передачи данных от мыши в компьютер. А вовсе не про число кнопок — которое обычно бывает две или три, а вот протоколов передачи там уйма.

Вы говорите: «графические интерфейсы биоса что нам представляют уже сами по себе являются операционками, со своим софтом и драйверами». Ну так объясните мне, какого фига я не могу работать, пока не загружу нормальную операционку с внутреннего HDD, с внешнего HDD/Flash, с вставленного в дисковод CD/DVD-диска или ещё как-то. Зачем нужна операционка в ПЗУ, если она не позволяет работать, а только и умеет, что грузить другую операционку?
Наверно, чисто попилить бюджет на разработке UEFI, который в конечном счёте делает практически то же, что и древний BIOS. Зато весь из себя модульный и всё такое прочее. Но на фига???
Так и надо понимать — для работы в БИОСе ничего кроме координат курсора и двух кнопок от мыши не надо, поэтому этот драйвер там и реализован. У мышей протокол передачи очень прост, и их там не так уж много — они постоянно передают состояние всех кнопок и дельты перемещения по осям с предыдущего опроса. Всё. Именно это и реализовано в простом драйвере.
А мыши тем временем бывают и со скролом, и с 17-ю дополнительными кнопками и… чего только не бывает!
Заложить сразу в протокол и драйвер 17 кнопок? А если завтра сделают мышь с 64-мя кнопками, гиродатчиком и акселлерометром? Это всё тащить в микросхему БИОСа объёмом в 128кБайт, в который порой не влазит даже так необходимый драйвер рейд-массива… Нет, ну потом конечно объёмы ПЗУ увеличились, только… драйвер мыши и даже драйвер клавиатура стал невостребованным, т.к. у каждой операционки уже были свои более универсальные, легко расширяемые решения. Вот представь в драйвер мыши в БИОСе закралась досадная ошибка, через пол часа теряется один байт и мышь становится «бешенной». Насколько оперативно можно исправить этот баг? БИОСы тогда шились на программаторах, а прошивка прямо в плате это был огромнейший риск сделать кирпич(что впрочем у меня пару раз и получалось).
Ну и потом пошли всякого рода UEFI которые представляли собой наборчик функций почти как у старого БИОСа только новее, правильнее и безопаснее, собственную операционку на основе линукса в том же ПЗУ и всё такое.
Спрашиваете нафига? А всё потому что старый БИОС состоял из дикого количества костылей, был дыряв в плане безопасности(в него можно прошить любой код троянца и он будет исполнен). Ну и заодно, раз осталось немного места во флеше, реализовали возможность слушать музыку без установленной основной операционки. А кое-где был доступен даже браузер. Но опять же, прогресс стал столь стремительным, что те браузеры сильно устарели а обновлять на современный ни объёмов памяти ни ресурса не осталось и вообще это снова стало бесмысленным, когда есть гораздо более оперативно обновляемые лайв-операционки и с большими возможностями. Ну правда, не перепрошивать же БИОС каждый месяц с риском получить кирпич.

Кстати, раз такое пошло… почему бы тогда в БИОС не добавить: драйвера на все сетевые карты, принтеры, сканеры и прочее прочее… Но увы, там находилось и находится всё только необходимое для работы. Кстати, вот ещё одна проблема: на моей плате в БИОСе нет драйверов для USB 3.0 портов а значит оттуда ни загрузится, ни обновление прошивки поменять и вообще ни-че-го с ним не сделать.
А в моём BIOS'е есть драйвер тачскрина и всё сопутствующее хозяйство. Вот нафиго оно там?
Кто-то прикольнулся. А точно BIOS, случайно не UEFI? он может быть предназначен для ноутов с тач-скрином, через тач БИОС настраивать или UEFI.
Скорее всего UEFI уже, да. Но зачем — не знаю.
Ну и заодно, раз осталось немного места во флеше, реализовали возможность слушать музыку без установленной основной операционки. А кое-где был доступен даже браузер.

Я такое видел только на одном ноутбуке от Toshiba 2000-ого года, и то так и не понял, работало ли оно :)
Там была отдельная кнопка сверху — «включить музыкальный плеер».
теоретически к тому времени в этом смысла уже небыло

Что значит «не было»? Как будто эту опцию было так сложно добавить. DOS, на минутку, всё ещё использовался.
Очень сложно. Особенно если тебе за это не платят.
То есть — не платят? MS-DOS вроде продавался за деньги, разве нет?
Ну, вы покупаете право пользования копией, и это мизерный мизер, так что надо смотреть от того, скольким пользователям надо именно это.
Вообще-то, Unix был примерно на десять лет старше, чем CP/M.
Вообще-то впервые Unix был продемонстрирован вне стен AT&T в 1973м году на SOSP, а первая версия CP/M вышла в 1974м. И это был только «показ на конференции» — в 1973м году Unix могли получить и попробовать только университеты. Коммерческие компании получили доступ в 1975м, уже после выпуска первой версии CP/M.

И это если не учитывать предшественников Unix'а.
О каких предшественниках идёт речь? В Multics слеш не использовался, там пути знаками больше (>) отделяллись, а знак меньше (<) использовался вместо /../

А нормально — это как? Копируя интерфейс несуществующей системы?
Нормально — это как в Unix, который уже десять лет как существовал.
Прекратите жрать грибы. Они у вас вызывают галлюцинации. Ну или может так палёная водка действует, я не знаю… В 1974м Unix был только презентован на конференции и был роздан некоторому количеству университетов. Всё. Его популярность — началась в конце 70х, а не в начале.

В Unix есть cp, cpio, dd — вот их и надо было копировать.
dd появился в 1975м, cpio вообще 1979м. Через год и пять лет, после выхода CP/M, соотвественно.

Я уже говорил, что можно было бы оставить старый API для 16-битных программ и не тащить это в 32-битный API.
Можно было, да. В этом случае мы бы пользовались не Windows, а какой-нибудь другой OS, а Microsoft бы повторил судьбу Digital Research.

Как ни странно — но Биллу Гейтсу рынок этого не говорил, а покорно прогибался под необходимость танцевать с бубном.
Где? Когда? Факты в студию, пжлста. Где и кого Билл Гейтс заставлял «танцевать с бубном»? Действия против прямых конкурентов (Borland, Digital Research, IBM, Lotus, etc) — сколько угодно. Действия против покупателей и рынка? Я такого не припомню.

GSI и Sun попали в другую ловушку — никто не догадался записать операционку в ПЗУ и облегчить цену системы на стоимость жёсткого диска.
Так. Про RiscOS, я так понял, вы тоже не в курсе. Я вам даже процитирую: Ядро системы RISC OS хранится в ПЗУ — это позволяет системе быстро запускаться и защищает от порчи по причине сбоев или вирусов.

Тоже не взлетело. Потому что работать без жёсткого диска — это страшно неудобно. А если уж он у вас, наконец, появился, то особо страдать от того, что OS у вас. Amiga и Mac, кстати, тоже довольно большую часть операционки в ПЗУ держат. Не всю, но достаточно для того, чтобы GUI OS можно было с флопа грузить. Первые версии, соответственно, были «облегчена на стоимость жёсткого диска».

Ни в Unix, ни в DOS — перенаправляемый вывод не позволяет нормально работать с консолью. Нормально — это менять цвет текста, перемещать курсор, etc.
Проздравляю: ещё одна дыра в ваших знаниях. Рекомендую изучить как работают управляющие последовательности ANSI. Поддерживаются кучей операционок. Начиная с MS DOS 2.0 поддерживаются и в DOS.

В DOS всё это доступно через BIOS API — а он неперенаправляемый.
Тут вы, частично, правы. В первой версии MS DOS этого не было, пофиксили только через два года.

Почему это Lynx — «православный»?
Потому что использует любимый вами переправляемый интерфейс.

Ядро не может обратиться к файлу.
Как это не может? Посмотреть на диске, где там живёт /dev, открыть его, узнать что такое nul, выяснить что его физически на диске нету, узнать номер процедуры в коде ядра, которая реализует интерфейсы read и write. Вот это вот всё.

А понять «потом ядро уже идёт в ядро» — я так и не осилил.
При ображении к /dev/random конечная процедура — находится в ядре, но чтобы это понять — ядро сначала должно сходить на диск.

Вот тут как раз механизм devfs очень пригодился бы.
Вот только на системе с 16K оперативки — это было бы недопустимой роскошью.

А так — да. Всё это это в MS-DOS пытались внедрить, когда компьютеры чуток подрости и минимальный конфиг с 16K стар редкостью. В PC DOS 2.x даже была опция AVAILDEV. Можно было написать AVAILDEV=FALSE — и создавать файлы с названием CON или LPT сколько угодно. Можете скачать и проверить, если не верите.

Не прижилось.

А есть ещё более простое решение, которое даже таблички не требует (правда, табличка всё равно потребуется — но позже): записывать имена спец.файлов в особом формате; таком, что таких имён файлов дна диске быть не может.
А то, что для этого потребуется все программы переписать — это нормально? Напомню: к моменту выхода PC DOS 1.0 прогрммы уже были, на них и шёл рассчёт. dBase II, Turbo Pascal (да-да, он тоже!), WordStar, даже Microsoft'овский Multiplan для CP/M изначально были написаны!

И чем этот уже существующий API мешал дать спец.файлам особые имена?
Тем, что в нём задавались ровно три компонента имени:
1. Буква диска.
2. Название файла (8 букв, есть список запрещённых)
3. Расширение (3 буквы, есть список запрещённых)

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

Но во всех случаях в операционку уходила структура с тремя отдельными полями.

Байт-код хорош тогда, когда надо обеспечить выполнение программного кода на машине, которая не доверяет источнику этого кода. В частности — когда браузер загружает с сайта программу и выполняет её в себе.
Ибо байт-код позволяет быть уверенным, что внутри него не будет выполняться что-то плохое типа обращения за границу выделенной для него памяти.
«Проверка боем» показала что эта «гениальная» теория не работает. Пять лет назад Oracle признал поражение.

Во-вторых, он так и не понял, что новый рынок — совершенно не похож на тот рынок, куда он выводил MS-DOS и Windows.
А в чём отличие? Насколько я вижу на обоих ранках выигрывают компании, которые заботятся о пользователях больше, чем о «правильном» дизайне. В обоих случаях Apple находится «на грани» — куча народу их не любит, но почему-то находится достаточное количество людей, которые любят «ходить строем» под лозунгом «Think DIfferent».

Вот только на рынках DOS и Windows Microsoft была компанией, которая заботилась о пользователях и разные «инновации», которые им не нравились, «откатывала» (см. тот же AVAILDEV, пропавший в PC DOS 3+), а на рынке смартфонов — она больше заботлась о «правильном дизайне».

Но я очень сомневаюсь, что вопросы «правильного дизайна» решал Баллмер — он, всё-таки, маркетолог, не программист.

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

Впрочем, возможно, какие-то рынки когда-то давно тоже были в таком состоянии — например, рынок автомобилей в начале 20-го века (точные годы назвать не берусь).
Не туда копаете. Рынок персоналок действительно рос фантастическими темпами. Скажем с 1981го (когда IBM PC только появлась на рынке) по 1986й (когда клоны IBM PC и MS DOS завоевали больше половины рынка) он вырос c 1 миллиона 400 тысяч продаж до 9 миллионов — почти в 7 раз. А что у нас со смартфонами? Оп-пань-ки: с 2009го (появление на рынка Android'а) рост со 173 миллионов за 5 лет до 1 миллиарда 300 миллионов. Рост больше, чем в 7 раз!

Ешё раз повоторяю вопрос: почему DOS и Windows удалось вывести на рынок «где уже вовсё работали другие игроки» и завоевать его в фазе бурного роста, а Windows Phone — нет? Рынки росли примерно с одинаоковой скоростью, маркетингом занимались те же люди…

В том-то и дело, что эта связка была спроектирована катастрофически неверно. В частности, для неё локальный HDD был родным, а сеть — чуждой. Это видно по тому, что для работы с сетью надо загрузить программы с локального HDD.
И что в этом страшного? Напомню: мы тут говорим о временах, когда жёсткие диски перестали быть чем-то безумно дорогим, а сети давали что-то типа 2.5Mбит/с. Флопы давали 250Кбит/с, а скорость сети в те времена делилась на всех (свитчи — это уже 90е). То есть ваш «сетевой компьютер» работал сильно медленнее флопа (о жёстком диске помолчим). Затачивать под это дело всё было просто глупо.

Но опыта войны против превосходящего противника — у него не было.
Это с чего вдруг вы решили? Как раз ровно на этом он и поднялся. Он пришёл в Microsoft, когда там работало 30 человек (меньше, чем в большинстве компьютерных компаний того времени и примерно столько же, сколько в Borland, Digital Research и т.п.). Выиграл битву у конкурентов (в том числе Apple, которая была гораздо больше и у которой было сильно больше денег) — но провалился с Windows Phone, владея компанией, которая была больше Гугла и у которой были миллиарды.

К тому же на рынке мобильных вычислений — на стороне MS не было IBM, которая за свои деньги разработала бы аппаратную составляющую и бесплатно раздала бы её всем желающим для копирования.
Зато были десятки компаний, готовых вкладываться в Windows Phone.

Ну и что мешает подсунуть ему имя "«con:»? В восемь байт — влезает, расширение можно игнорировать.
Ещё раз обисняю. Для непонятливых. IBM Pascal (равно как и любая другая программа, использующая FCB) не просто берёт имя файла и засовывает его в PC DOS (или CP/M) «как есть». Она должна разбить его на три части:
1. Имя диска — один байт.
2. Имя файла — не более 8 байт
3. Расширение — не более трёх байт
И вот в таком уже, обработанном, виде — передать в операционку. Как она отреагирует на CON:? Скорее всего — плохо.

То есть ваше предложение сводится к тому, что все программы нужно переписать. Такой подход тот же Microsoft испробовал с Windows Phone. Получилось… не шибко хорошо.
То есть ваше предложение сводится к тому, что все программы нужно переписать.

Иногда можно переписывать не очень удачный код. Если он правда неудачный. Как здесь — не берусь сказать, но я не думаю, что эти изменения были бы настолько неподъёмными.
Проблема в том, что изменения в ОС вносят одни люди, а код переписывать должны совершенно другие. И далеко не факт, что эти люди все еще свой код поддерживают. А пользователей не волнует, что разработчик их любимой программы ушел с рынка 5 лет назад, их волнует, что на новой операционке она не работает.
Ну значит часть пользователей уйдёт. Но не факт, что эта часть будет очень большой. Тут всё зависит от числа программ, которые поломаются.
Такой подход захвату рынка, мягко говоря, не способствует. Наоборот, Microsoft захватывала рынок именно за счет обратного подхода. Вплоть до поддержки чужих «недоработок» ради совместимости.
Потому, что у операционные системы (или шире — платформы) подвержены одному порочному кругу: если у ОС мало пользователей, то под нее не пишут ПО, а если под ОС мало ПО, то никто не будет ей пользоваться. И давать пользователям причину уходить это стрелять себе в ногу.
Мне такой подход не кажется верным.
Смотрите, отличный пример — Windows Phone. Под неё было довольно мало приложений (не успели написать), пользователей тоже было не то чтобы много. Но можно ли только исходя из этого говорить, что это плохая ОС? Сомневаюсь…
Это действительно отличный пример. Какой бы она не была замечательной с точки зрения чистоты кода, итогом 8 лет борьбы за мобильный рынок в мире современных смартфонов стало
In October 2017, it was revealed that Microsoft had ceased active development of Windows 10 Mobile due to its low market share and the lack of third-party development for the platform, and that the operating system would only receive bug and security fixes until December 2019.

Несмотря на вбуханные миллиарды и покупку целой Нокии история Windows phone это один грандиозный провал.
Причём провал просто классический — не было возможности запускать на Windows Phone 7 старые программы для Windows Windows Mobile 6.5, когды Windows Phone 8 вышел, то не было возможности разрабатывать нативные программы для Windows Phone 7 и так далее. Практически «история OS/2», чесслово.
Так я даже не про чистоту кода. А про скорость работы (на Win Phone 7 реально впечатляла) и относительную безглючность. Приложения самые необходимые, кстати, на момент выхода ОС тоже были в наличии.
Приложения самые необходимые, кстати, на момент выхода ОС тоже были в наличии.
Во-первых не было в наличии приложений от Windows CE — что сразу и резко ставило OS, разрабатывавшуюся с 1996го года, в позицию аутсайдера. Во-вторых всякие «вацапчики» появились-таки не в момент выхода OS, а с заметным опозданием. В-третьих невозможность (или, как минимум, крайнюю сложность) использования легаси-кода (опять-таки из-за «чудесных» архитектурных идей) привела к тому, что игр было очень мало (а игры — это основное, что люди на телефонах, на самом деле, покупают). Ну и гроб в крышку гроба, конечно, вбила вот эта самая невозможность проапгредится с Windows Phone 7 на Windows Phone 8 и на Windows 10 Phone — вкупе с тем, что каждая новая версия порождала новые способы написания программ, несовместымые со старыми OS.

В результате даже самые горячие поклонники были «без вины» наказаны трижды — чего, собственно, достаточно: больше вопрос о качестве OS уже не стоял.

Основная и самая главная характеристика любой «невстроенной» OS (то есть OS, где есть возможность запускать «сторонние» приложения) — это, собственно, количество этих приложений. До некоторой степени количество можно компенсировать качеством (скажем в 90е годы Маки предоставляли изрядное количество «графических» API, которых не было на Windows, что привело к тому, что 80% издательств «сидели» на Маках… сейчас многие видео редактирут с помощью Final Cut Pro — и из-за этого мирятся с недостатками MacOS X… и так далее), но этого ведь тоже не было: в лучшем случае приложения работали так же хорошо на Windows Phone, как на Android или iOS, а многие приложения работали хуже.

Так за что извините, эту OS любить?

Это, кстати, очень плохо понимают разработчики GNU/Linux для десктопа, которые прям упираются для того, чтобы какие-то аналоги предоставить для всего, что есть под Windows… людям не нужны аналоги! Они хотят либо что-то новое, уникальное, такое, чтобы можно сказать было «а зато у нас есть… XXX… ух какая вещь», либо — то же приложение, что «у соседа». Шоб не хуже. Причём чем больше у вас «пробелов» (того, что у соседа есть, а у вас нет), тем больше нужно вот этих «ух каких классных...» вещей.

Вот это пресловутое Keeping up with the Joneses влияет на людей куда сильнее, чем они сами в этом себе отчёт отдают.
Во-первых не было в наличии приложений от Windows CE — что сразу и резко ставило OS, разрабатывавшуюся с 1996го года, в позицию аутсайдера.

А Windows Phone != Windows CE. Это изначально была новая, иная ОС, не имеющая со старой ничего общего.

Во-вторых всякие «вацапчики» появились-таки не в момент выхода OS, а с заметным опозданием.

Совсем с небольшим. По крайней мере, сужу по приложениям фейсбука и вк (WhatsApp тогда вообще ещё не был особо популярен). Skype вообще шёл из коробки, благо MS его купила в то время.

В-третьих невозможность (или, как минимум, крайнюю сложность) использования легаси-кода

А зачем его использовать? С уходом Windows CE ушёл и старый подход к созданию интерфейса. Помните: стилус, много мелких элементов, менюшки, отсутствие свайпов? Кому нужен весь этот старый софт в условиях новых экранов и отсутствия стилусов? Не говоря уже о том, что 70-80 процентов того софта — была скажем так больше для профессионалов и бизнеса, чем для широких масс. Я смотрел каталоги софта в те времена, и сам с КПК на Windows CE/Mobile много работал.

а игры — это основное, что люди на телефонах, на самом деле, покупают

Кто вам такое сказал? Я вот ни разу в жизни не покупал ни одной игры для мобильной платформы (пару игр скачал бесплатных сразу после покупки первого смартфона, Cut The Rope и Angry Birds, прошёл их в первые 2-3 месяца, и больше никогда не играл). Серьёзно, телефон — это что угодно, но не игровая приставка. Начиная от начинки (не любой телефон потянет даже среднюю 2D игру без тормозов, не говоря о 3D), кончая необходимостью платить за покупку (или за отключение рекламы, что почти равносильно). Люди умеют считать деньги :)

P.S. Если вы имели в виду не портирование старых приложений «как есть», а просто использование старых кусков кода — тут да, соглашусь, могли бы многое выиграть, если бы сделали такую возможность для разработчиков.
А Windows Phone != Windows CE. Это изначально была новая, иная ОС, не имеющая со старой ничего общего.
Ну я же говорю: OS/2. «Гении» из IBM ту же самую ошибку, в своё время, совершили. В то время как MS-DOS поддерживала приложения для CP/M (написанной, вообще-то другими людьми, да ешё и для другого процессора) — отдалённые последствия чего мы, собственно, тут и обсудаем… Microsoft в XXI веке почему-то обуяла гордыня и они решили выстрелить себе в ногу. Раз пять. А потом ещё и гранату себе под ноги кинуть.

Skype вообще шёл из коробки, благо MS его купила в то время.
Что в результате не пошло на пользу ни Skype, ни Microsoft.

А зачем его использовать?
Потому что компоненты у многих разработчиков копились годами. Потому что всякие дурацкие RPG'шки и стрелялки «висят» поверх кода, который историей уходит в XX век. Потому что никто не будет их переписывать с нуля — уж точно не для того, чтобы выпустить продукт для экзотической платформы, которой пользуется 2-3% пользователей. Чуть не половина игр для MacOS — это, на самом деле, поделки поверх winelib… и ничего, пользуются, да ещё добавки просят…

Кому нужен весь этот старый софт в условиях новых экранов и отсутствия стилусов?
Во-первых далеко не весь софт был таким. HTC Touch — это, напомню, 2007й год. За три года какое-то количество софта «под палец» адаптировали. Во-вторых — никто не мешал включить опциональную поддержку стилуса. И позволить людям самим выбирать — хотят они пользоваться старыми программами или нет.

Не говоря уже о том, что 70-80 процентов того софта — была скажем так больше для профессионалов и бизнеса, чем для широких масс.
Да какая раница для кого? Главное — что он был. И были люди, которые его любили и пользовали. А этих людей — облили ушатом воды. Думаете они от этого воспылали вдруг любовью к Windows Phone? Да многие из них были готовы использовать что угодно, только чтобы оно было не от производителя, который такие фокусы устраивает!

Кто вам такое сказал?
Статистика, дорогой друг, статистика. Вот, например: продажи за первую половину 2018 в App Store — 22.6 миллиарда, из них игры — 16.3 миллиарда (заметно больше 70%), в Google Play — 11.8 миллиарда, из них игры — 10.3 миллиарда (хорошо так за 80%, ближе к 90%).

Серьёзно, телефон — это что угодно, но не игровая приставка.
Увы и ах, но телефон — это именно и в первую очередь игровая приставка. И во-вторую тоже. Да и в-пятую, пожалуй. Может на шестом месте и появится что-то ещё. Мобильные игры — это не только 70%-80% дохода в соответствующих «магазинах». Это ещё и 50%+ дохода мирового геймдева.

Люди умеют считать деньги :)
Таки да. А разработчики игр — особенно. Когда они увидели что им предложил Windows Phone — они сказали: «ну вас нафиг»… и платформа умерла.

P.S. Если вы имели в виду не портирование старых приложений «как есть», а просто использование старых кусков кода — тут да, соглашусь, могли бы многое выиграть, если бы сделали такую возможность для разработчиков.
Прежде всего нужна была возможность «с помощью лома и какой-то матери» портировать игры написанные под iOS. На Objective C, да. Собственно даже Андроид подбирает именно такие «объедки» после iOS. Если нет — возможность использовать библиотеки для настольной Windows. В крайнем случае — ну хоть какой-то Windows, какой-то DirectX, какой-то OpenGL… а что в результате? После трёх революций DirectX в Universal Windows Platform какой-то есть… но кому он нужен сейчас, когда все мобильные игры на OpenGL или Vulkan (на iOS поддерживается через MoltenVK) — а ни того, ни другого в Windows 10 Phone нету? Хотя на десктопе OpenGL был ещё с прошлого века…
Зачем вы всё непременно сводите к играм? Ну да, в метро многие играют (но обычно девушки/женщины, мужчин я за таким занятием почти не вижу, разве что совсем молодые парни, и то редко).

И даже эти люди, я уверен, скачали игру в Google Play бесплатно (там много бесплатных игр либо со встроенной рекламой, либо с внутриигровыми микротранзакциями, которыми почти никто не пользуется, ибо и так нормально играется).

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

P.S. Вспомните времена первых сотовых, монофонических, с монохромным дисплеем. Игры были уже там, но много ли в них играли, и часто ли? Это скорее опциональный довесок. У меня в навигаторе от Garmin с черно-белым экраном тоже есть аж 4 игры, и что теперь, тоже игровой приставкой назовём? :)
Потому что никто не будет их переписывать с нуля — уж точно не для того, чтобы выпустить продукт для экзотической платформы, которой пользуется 2-3% пользователей.

Так ведь если появится больше приложений — то и популярность платформы повысится. Это взаимосвязанные вещи. А про библиотеки… Ну так всё равно языки разработки под Android и iOS разные. А под Windows Mobile вообще был C, если я правильно понимаю. То есть уже три разных языка имеем, и три экосистемы приложений… Это если не вспоминать всякие вещи типа Symbian и приложения (вот тут и правда в основном были игры) на Java ME под старые обычные сотовые.
Заметьте, кстати, что Apple и Google выбрали два сильно разных подхода к совместимости.

Apple всех «загоняет под дулом писторлета в рай» и весьма опереативно обновляет все устройства — кроме совсем уж устаревших, железок пяти-шестилетней давности.

Google предоставляет новые API — но делает так, чтобы можно было достаточно безболезненно поддерживать старые версии (да, это небесплатно, да, это требует усилий, но такого выбора «новые плюшки или поддержка старых OS», как в истории с Windows Phone — ни разу не было). Были ситуации, когда разработчики решали, что те или иные API им настолько нужны, что они готовы мириться с проблемами.

Были ситуации, когда Google силой заставлял поддерживать новые API (не так давно, впрочем — когда мало кто из разработчиков всерьёз рассматривал отказ от поддержки Андроида).

Но такого «вот вам новая шняга, но помните, если вы только задумаетесь о том, чтобы использовать её, то все пользователи старых версий Windows Phone окажутся за бортом» — я не припомню. Где аналоги redistributable for Windows NT 4.0 SP6, Windows 2000, Windows 98, and Windows Me для Windows Phone? Нету? Ну вот и проложений — «нету». А без них — и операционки… тоже «нету».
Ну что значит нет? Что-то написали с нуля. MS даже финансово пыталась стимулировать процесс вроде.

Google предоставляет новые API — но делает так, чтобы можно было достаточно безболезненно поддерживать старые версии

И слава богу, иначе я бы не мог пользоваться на своём стареньком телефоне 2011-ого года альтернативными клиентами Telegram и VK. То есть то, что поддержка старых версий не очень обременительна, позволяет разработчикам всё ещё поддерживать совместимость вплоть до 2.2-2.3.
Ну что значит нет?
А вот так. Нет — и всё. Я не могу запустить UWP приложение ни на Windows Phone 8, ни на Windows Phone 7. Не говоря уже о Windows Mobile 6 каком-нибудь. И проапгрейдить телефон не могу. Нет — и всё. Третий, контрольный, «выстрел в голову».

MS даже финансово пыталась стимулировать процесс вроде.
Ну да. Получила какое-то количество поделок, сделанных «на отвали». Как и IBM в своё время.

И слава богу, иначе я бы не мог пользоваться на своём стареньком телефоне 2011-ого года альтернативными клиентами Telegram и VK.
Ну вот видите — вы понимаете, о чём речь. И Microsoft понимал. В XX веке. Когда фичу, обсуждавшуюся в статье, воспроизводил.

А в XXI веке — как с цепи сорвался:
Windows Phone 7 — ррреворюция, всё что вы понаписали для Windows Mobile до того идёт, я извиняюсь, в жопу.
Windows Phone 8 — ррреволюция, забудьте про всё, что вам говорили о Windows Phone 7
Windows 10 Mobile — ррреволюция, все разрабочики могут иметь щасться переписывать свои программы ещё раз…
Что-то? Разработчиков больше нет? Ррреволюция — закрываем проект…

Вот и вся история Windows Phone вкратце…
Понятно.

Ну вот видите — вы понимаете, о чём речь. И Microsoft понимал. В XX веке. Когда фичу, обсуждавшуюся в статье, воспроизводил.

Вообще на Хабре обычно таких консерваторов как я, сидящих на очень старых версиях ОС и софта, не особо жалуют. Считается, что айтишник должен быть динамичным, развиваться, следить за новинками и всё такое.

Ну да, мы обсуждаем не айтишников, а рядовых пользователей. Но среди всех моих знакомых нет ни одного человека, который юзал бы Андроид старше 4.4-5.0 или Windows старше семёрки.

Вы таки уверены, что совместимость со старым софтом и кодом НАСТОЛЬКО важна?) Ну если всё равно все (большинство, около 70-80 процентов) покупают новый телефон через год-два, в зависимости от размера кошелька? Даже если старый прекрасно работает?
Вот именно потому она и важна. Чтобы на купленном через год-два новом телефоне запустилось все то, что запускалось на старом.
Да, всё верно.

И всё же применительно к Windows Mobile / Windows Phone — это не столь очевидно.

Ведь тут мы говорим о версиях одной ОС, тогда как там была именно новая ОС.

Я сейчас немного утрирую: когда вышел самый первый iPhone с операционной системой iOS, с чем он там был совместим? И какие старые игры на нём можно было запустить (или легко портировать)? Но взлетел же.
Я сейчас немного утрирую: когда вышел самый первый iPhone с операционной системой iOS, с чем он там был совместим? И какие старые игры на нём можно было запустить (или легко портировать)? Но взлетел же.
Если бы конкуренты не были идиотами — то мог бы и не взлететь. В 2007м, когда вышел iPhone, конкурентов больших у него было три: Symbian, Blackberry и Windows Mobile. И все три — уничтожили свои собственные линейки операционок! Причём две из трёх убил Microsoft. Причём сделали они и выпустили новую, в кавычках, OS не в 2008м, когда, действительно, многие покупали смартфон впервые, и у людей ещё не было библиотек программ и всяких хранилищ фоток, привязывающих их к определённой платформе, а в 2010м и в 2013м, соответственно.

Если в 2010м у новой OS ещё могли быть какие-то шансы (хотя гораздо, гораздо меньше, чем у операционки, для которой была выпущена куча программ), то в 2013м — это уже было исключено: те, кто что-то имел для Blackberry не хотели того, что им предложили взамен от слова «никак»… А Microsoft как раз к концу 2012го выпустил новую операционку, которая расколола его, и так мизерный, мирок на два.

Ведь тут мы говорим о версиях одной ОС, тогда как там была именно новая ОС.
MS DOS 1.0 — тоже была «новой OS». Тем не менее она очень заботилось о совместимости со старой,«чужой» OS: CP/M. Откуда, собственно, и вся статья.

Если бы производители смартфонов не были идиотами не бросили все свои нароботки, увидев как люди облизываются на iPhone — то и Nokia, и Windows Mobile, с вероятностью 99%, были бы живы.

Сравните с миром PC. Когда в 1984м вышел Mac, то все были поражены — и тоже было много фанатов. Photoshop, Quark Express и многое другое — было доступно только там. А Microsoft продолжал поддерживать быстро устаревающую MS DOS с ужасными текстовыми программами и черёхцветными играми (утрирую, конечно — но даже Doom, вышедший в 1993м всё ешё использовал CGA-разрешение). И ровно за счёт этого смог дожить до выхода сначала Windows 3.1, а потом и Windows 95. Которые были всё равно гораздо хуже, чем MacOS — но зато работали с MS-DOS приложениями.

Ну а со временем смогли и, более-менее, на паритет по фичам выйти.

P.S. Условно говоря: если бы вместо Windows Phone 7 в 2010м вышла Windows 10 Mobile — то небольшой шанс выжить на рынке смертфонов у Microsoft'а был бы. Но повторение самоубиственного трюка трижды? Это уже перебор.
те, кто что-то имел для Blackberry не хотели того, что им предложили

А как, кстати, в их мире сейчас — есть какие-то работающие программы под старые платформы? Скажем, если взять Blackberry года 2011 — там будут какие-то работабющие приложения из популярных, типа whatsapp'а и т.п.? У них раскол по 10 версии прошел? Просто рассматривал в качестве пробы взять себе что-то старое из их линейки.
Какие-то — есть. Онлайновых — нет. Вот новость от середины прошлого года (sic! не 2010го, не 2013го, но 2017го!): WhatsApp to end support for Blackberry OS, Nokia Symbian OS on June 30.

Если бы не головотяпство RIM и Nokia — то с вероятностью 99% они и сейчас были бы в строю… Но… хотели как лучше, а получилось как всегда — если вы «кидаете» пользователей и не обеспечиваете совместимость — то и пользователи отвечают взаимностью…
А при чём тут Nokia и пользователи? Это разработчики сервисов (включая WhatsApp) прекращают поддержку… Пользователей Symbian никто не спросил вообще.
Это разработчики сервисов (включая WhatsApp) прекращают поддержку…
Вот только прекратили поддержку они в 2016м-2017м, а Nokia закрыла свой магазин в 2014м. Если бы Nokia продожала бы выпускать телефоны на Symbian — то WhatsApp бы продолжал работать.

А при чём тут Nokia и пользователи?
Потому что именно Nokia объявила: «больше Symbian не будет, кто не спрятался — я не виноват». Разработчики приложений прекратили поддержку только после этого. Некторые — сильно после этого.
Ну тогда да… Не понимаю, зачем они это сделали. У них сейчас вообще какая ОС, Windows 10 Mobile? Или уже Android?
Вы это — совсем не в курсе, что ли? Nokia уж пять лет, как не выпускает телефоны.

Те телефоны, которые сейчас продаются — делает совсем другая компания (фактически их делает тот Foxconn, который собирает iPhone для Apple и, есть подозрение, что и большая разработка также в Китае происходит, в Финляндии только некоторые элементы дизайна разрабатываются).
и у людей ещё не было библиотек программ и всяких хранилищ фоток, привязывающих их к определённой платформе

Вот тут я бы сильно поспорил.

Во-первых, данные, как правило, переносятся (просто не всегда это легко и быстро). В случае с Apple с экспортом и правда не всё здорово, но имхо вопрос решаемый.

Во-вторых — не всё хранится в облаке. Значительная часть файлов лежит локально в памяти девайса, особенно если это первый девайс данной фирмы (вы же пишете про 2010-ый, да и сейчас я вижу полно людей со старенькими, побитыми айфонами 4/4S/5/5S).

И наконец, про библиотеки приложений. Почти для каждого приложения на конкурирующей платформе найдётся аналог. Иногда он будет чуть хуже по функциям, но чтобы его не было вообще… Да не верю.

И поиск таких аналогов займёт один, максимум два вечера. Если человек нашёл деньги на покупку нового устройства, если например со старым всё плохо и оно сильно разбито и поцарапано — то потратить два вечера своего времени на изучение маркета приложений и чтение обзоров программ для него вообще ничто, я так думаю.

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

Условно говоря: если бы вместо Windows Phone 7 в 2010м вышла Windows 10 Mobile — то небольшой шанс выжить на рынке смертфонов у Microsoft'а был бы.

Вы сейчас про концепцию «одна ОС на все форм-факторы»? Так в то время, когда вышел Windows Phone, они технически к такому ещё не были готовы. Нужно было время, чтобы создать это всё (новое ядро, новый UI), отполировать, прорекламировать, и выпустить.
Вы сейчас про концепцию «одна ОС на все форм-факторы»?
Нет — я про ОС, которая бы развивалась эволюционным, не революционным путём. Вот без вот этого вот.

В мире андрод была одна достаточно серьёзная веха: Андрод 3/4 очень серьёзно изменил подход к тому, как обрабатывается графика. Но даже это изменение не привело к тому, что появился радикально новый способ написания приложений.

Нужно было время, чтобы создать это всё (новое ядро, новый UI), отполировать, прорекламировать, и выпустить.
И всё это время нужно было поддерживать старое ядро и старый UI. Думаете в прошлом веке было мало людей, которые хотели бросить Chicago и сделать сразу «большой и светлый» Cairo? Да кучи! Никому из программистов не нравится возиться с легаси.

Но Билл Гейтс, во-первых, понимал, что поддерживать «классический Windows» необходимо до победного конца — до тех пор, пока с него не уйдут 80%-90% пользователей (сами уйдут, без пинков под зад!), а во-вторых — мог «нагнуть» любого, кто предлагал от этого отказаться.

Ну а Баллмер, увы, на это был неспособен… результат налицо.
Статья про Cairo утверждает, что некоторые её фукнции были включены в Windows 95, а разработка началась и вовсе в первой половине 90-ых. То есть её пилили параллельно с Chicago. Или я неправильно что-то понял?
Вы правильно поняли — её пилили параллельно с Chicago. Не вместо классической Windows, а вместе с классической Windows. И она должна была победить Taligent от Apple и OS/2 от IBM.

Однако оказалось, что кривая система с ужасной архитектурой (а Windows 9X именно такова) — вполне успешна в качестве альтернативы для OS/2, если она прилично поддерживает старые 16-битные Windows приложения и DOS-приложения (влючая, разумеется, игры), а Taligent и Cairo — таки не смогли дойти до победного конца… но это будет уже неважно, так как «огрызок» от Cairo под названием Whistler оказался достаточно хорош, чтобы его хватило не только для конкуренции с Taligent и OS/2 — но и для MacOS X на основе NextSTEP…

А вот если бы Cairo таки сделали, забив болт на совместимость — то, скорее всего, она повторила бы «успех» Windows Phone, а мы бы с вами сидели под OS/2 или BeOS.

Потому что было бы потеряно главное: сотни тысяч программ, написанных к тому моменту под MS-DOS.
НЛО прилетело и опубликовало эту надпись здесь
Враг не пройдёт! XD
попа (ж… а ) в командной строке приводит винду в ужас и ступор. даже не думай это проверять!
СЕНСАЦИЯ!!! Первый баг в виндовс появился на 11 лет раньше, чем сама виндовс!!!

Как в Windows может сохраниться баг с 1974 года, если самая первая версия Windows вышла в 1985?
Как в Windows может сохраниться баг с 1974 года, если самая первая версия Windows вышла в 1985?
Дык. Столько лет бережно сохранять bug compatibility — это реально непросто. Но Microsoft справился. О чём и статья…
Статья да, но не такой желтушный заголовок.
Раз уж зашёл разговор об именах файлов, кто мне подскажет, каким образом у меня завелась папка с названием "Ђ¤¬Ё­Ёбва в®а" рядом с «Администратор»? Переименовывать боюсь, потому как во многих программах прописан путь в неё.
Кто-то попутал кодовые странички OEM и ANSI? Бывает… Тут, тут и тут можно почитать.
НЛО прилетело и опубликовало эту надпись здесь
"Ђ¤¬Ё­Ёбва в®а" рядом с «Администратор»?
Прям суровые будни администраторов
Хоспаде. Опять эти страшилки про DOS alias'ы в общем пространстве имен — это уже что ли третья статья на хабре по этой теме.
Да, есть программы, которые не смогут с такими именами работать, но ядро, API таких ограничений не имеет. Весь вопрос в том, resolve'ится ли имя через DOS alias или напрямую в \\?\
Человеческий фактор. Да, маркетинг теперь диктует правила. Для (старых?) ОС поддержку скайпа и пр. прекратили, но зато будет сохранять «обратную совместимость» с допотопной 4, 8 и 16-разрялностями. Я понимаю, что многие в Европе и США работают в ДОСе, но всё жеж. Деньги не пахнут, правда?
Я вам больше скажу: маркетинг всегда диктовал правила. И будет их диктовать.

Просто потому что компании, работающие в убыток имеют неприятную привычку со временем закрываться.

Пользователи Windows (особенно пользователи серверной Windows) — платят за неё хорошие деньги… потому для них будут поддерживать совместимость с системами чуть не полувековой давности.

А пользователи Skype денег, в массе своей, денег не приносят — потому ими особо и не жалеют. Купили Skype, чтобы продвигать Windows Phone, но… бобик сдох. А с монетизацией там… не особо. Так что имеем то, что имеем.
Создавая con.txt через Linux (touch ~/con.txt) и пытаясь получить доступ к файлу из Windows через монтирование Linux системы на Windows диск, файл имеет имя CSHOFG~F.TXT
Несколько лет назад, читал уже об этой ошибке, но она незначительна, как мне кажется, я думаю большинству пользователей нет необходимости создавать файл prn.txt
Или есть? ;)
НЛО прилетело и опубликовало эту надпись здесь
Кинуть однокласснику по сети на рабочий стол ярлычок, в котором вместо пути к .ico-файлу в hex-редакторе прописано NUL\0 — бесценно. Мгновенный BSOD на 9x, не лечащийся перезагрузкой. Весёлое было время, интересно, в винде до сих пор эта дырка не закрыта? Кто на винде — проверьте-отпишитесь, что ли, любопытно даже)

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации