история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 19.01.22 14:15
Оценка: 351 (13)
Каждый год в конце своего курса для студентов я выкраиваю 1.5 часа и рассказываю им про историю развития персональной ВТ.

В прошлом году, поскольку курс читался дистанционно, я эту лекцию записал.

Я решил выложить ее в открытый доступ. Есть время — посмотрите. Может, кому-то будет интересно.

Конструктивная критика приветствуется. Может быть, по результатам ее внесу изменения в лекцию. Может быть, я что-то важное пропустил ? Может быть, изложил что-то неверно ?

Граничные условия.

1. Я не историк, и это не есть серьезное историческое исследование. Это просто записки очевидца. И такими они и останутся.
2. Я говорю только о микропроцессорах, компьютерах и ОС. Не требуйте от меня, чтобы я рассказал про всякое другое ПО.
3. С Линуксом я работал мало, и историю его знаю плохо. Перепевать Википедию не буду. Windows 11 тогда еще не было, добавлю о ней несколько слов в этом году, конечно.
4. Качество видео просьба не обсуждать. Писалось просто в Skype.

https://drive.google.com/file/d/1hOvt_HLKDMJEXnDaYag7U8DSSO2CBAaI/view
With best regards
Pavel Dvorkin
Отредактировано 19.01.2022 14:21 Pavel Dvorkin . Предыдущая версия .
Re: история персональной ВТ
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.22 20:06
Оценка: 12 (2) +4
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>1. Я не историк, и это не есть серьезное историческое исследование.


Да, мелких неточностей хватает. IBM PS DOS/MS-DOS реально была куплена у SCP. Там она называлась QDOS (потом 86-DOS) и являлась наследником CP/M. И все это из-за совместимости софта, так как CP/M вышла еще в 1974м году и для нее успели понаписать софта.

Windows был анонсирован на год раньше Полуоси, в 1983м. Релиз же OS/2 появился в 1987м. Так что последовательность изложения не верная. Windows родилась из пакета графических бибилотек на которых МС сделала первую винду.

На насчет никому не нужности это тоже не верно. Помню первую верстальную систему (для вертски книг и журналов) Aldus PageMaker. С ней шла Windows 2.х. Ну, и еще раньше Эпл делает свой Макинтош.

Про Windows 95 просто гон. Надажность у нее была вполне себе. А все решения определялись совместимостью с ДОСовскими программами, причем в том числе работающих в защищенном режиме 386го процессора. Это было крайне востребованно, так как, например, самая популярная игрушка на тот момент была Doom. Вариантов было не до фига. Иметь отдельный раздел для ДОС-программ и перезагружать компьютер или просто запустить тот же Doom прямо из Windows. Ну, а не надежность там определялась опять же совместимостью с ДОС, точнее ее дровами. 95я позволяла использовать дрова для ДОС в винде (как и 3.х). Появишася в то время Полуось 2.х это не позволяла и потому со свистом слила 95м, которые стали триумфально шестовать по миру.

По NT тоже последовательность не верная. 95х еще не было, когда стали разрабатывать NT. Ее выпустили в 1993 году, а уж разрабатывать начали намного раньше. Вот только у нее были точно такие же пробелмы как у Полуоси — она была не совместима с большинством программ под ДОС. Тот же Дум работал на ней так хреново, что играть было нельзя (NT выделяла ДОС-программам кванты времени, но делала это так редко, что программы откровенно дергались).

Далее пропущена NetWare от Novell, которая и стала первой серверной ОС массово использовавшейся для создания сетей на основе ПК.

Тот же Doom работал по сети по умолчанию по протоколу IPX из NetWare.

Что касается 64бит, то Интел выпустил 64битный процессор намного раньше — в 94м году. Но это не х86-й проц. Он имеет свою архитектуру IA-64 для своих новых процессоров Itanium. Ну, и естественно он на фиг не кому оказался не нужным, так как людям нужен софт, а не железо. Точнее железо нужно для запуска софта. Т.е. это был факап. По этому AMD их и опередили.

Что касается MS прозевала смартфоны — это форменно езаблуждение. МС сделала мегапопулярные Windows Mobile за 8 лет до появления первого Андроида и сразуже захватила рынок. Так что упоминать здесь Андроид имеет смысл только как развитие мобильных ОС, но первенство тут за iOS от Apple.

MS же совершил роковую ошибку, впервые в своей истории, отказавшись от эволюционного пути и написав новую ОС с нуля (Windows Phone). За то время пока они ее писали iOS и Андроид (точнее программно-аппаратные связки) завоевали мир и под них наклепали море софта. Софт же для Windows Mobile банально протух, а олухи из МС к тому же очень усложнили разработку для своих телефонов на С/С++. Для этого требовалось стать привилегированным партнером и т.п. В общем, они начали делать те же ошибки, что и IBM и все просрали.

Я лично имел не один девайс на Windows Mobile и был ими доволен. Там был ворох недостатков, но все их можно было устранить эволюционным путем. По крайней мере на Винде это проблем не вызвало. А идея переписать все с нуля просто убило Windows Mobile. МС имея 80% рынка просрал его весь.

Ну, а первенство мобильных устройств не за Гуглем, Эплом или Майкрософт. Оно за Пальмой (Palm) появившейся в 1996м. Сам я палм не имел, но держал его в ругах. Он был у одного из РСДН-еров — AndrewVK. Он был чернобелым и без модулей связи, но все же именно он был первым мобильным девайсом обладавшим многими фичами, что сейчас считаются стандартом де факто.

Основной недостаток Windows Mobile и Пальмы было то, что ими нужно было управлять с помощью стилуса. А все изобретение Эппл (т.е. Джобса) заключалось в том, что он заменил стилус на палец. И было это в 2007м. А Windows Mobile появилась в 2000. Сдохла же Windows Mobile в 2010 по вине МС. Хотя еще в этом году она превышала по аудитории и iOS (которой тогда было 3 года от роду) и Android (которому был вообще год и конкурентом он быть не мог).

Кстати, разработчики Пальмы тоже все просрали попытавшись все переписать с нуля.

На счет "новых версий винды больше не будет" в 2022 довольно смешно звучит, так как уже давно вышла Windows 11. Ну, а название винды к ее версии отношения не имеет. Большинство ОС до 10и имели версии 6.x, а сейчас 10а имеет версии 20H2.

Ну, и странно начать свой рассказ с процессоров, а при переходе к андроидам не упомянуть об процессорах с ARM-архитектурой, стоящих во всех Андроидах и iPhone-ах и обеспечивающих долгую жизнь девайсов от батареек (что Интелы до сих пор не могут, хотя и старится в последних версиях достичь).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: история персональной ВТ
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 19.01.22 16:11
Оценка: -5 :)
Какой в этой лекции практический смысл?

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

Даже не хочется начинать слушать.
Re: история персональной ВТ
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 19.01.22 15:50
Оценка: 29 (2) +2
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Может быть, изложил что-то неверно ?


Самая серьезная ошибка — то, что NT стала разрабатываться якобы во время популярности 95. На самом деле ее начали делать еще во времена OS/2. Модель Win32 в Win95 целиком пришла из NT. А когда 95 пошла в массы и народу понравился ее интерфейс, многие черты интерфейса перенесли в NT 4, и в этом виде она постепенно начала набирать популярность.

Win 3.x уже не нуждались в DOS для работы — у них было 32-разрядное ядро, работавшее в защищенном режиме, и для всего были собственные драйверы. Запуск из DOS был просто сохранен для того, чтобы не оставить людям возможность пользоваться и голым досом.

Ну и по мелочи:

То, что БГ будучи "гениальным менеджером", якобы еще в начале 80-х уверенно предсказал успех союза с IBM, не является фактом. Неясно, сколько там было "гениальной прозорливости", а сколько — обычного везения. Многие компании из тех, кому в период уверенного роста прочили блестящее будущее, впоследствии сдулись, и сейчас мало кто вспомнит даже названия.

Авторство фразы про "640 кб достаточно" до конца не установлено. Ее приписывали и БГ, и кому-то из руководителей IBM, но точных свидетельств не осталось.

Android как-то внезапно появляется в конце. Возможно, имеет смысл упомянуть и про Windows CE/Mobile, которые выпускались с конца 90-х, и стояли на довольно-таки большом количестве устройств. И о том, что эти системы были хорошо совместимы по Win32 API — многие программы под 95/98/2k/XP достаточно было просто перекомпилировать, иногда — слегка подправить, и они нормально работали в CE/Mobile. MS, действительно, очень крупно облажалась, забросив их дальнейшее развитие.

Еще, наверное, имеет смысл убрать из лекции перерыв?
Re[2]: история персональной ВТ
От: Michael7 Россия  
Дата: 19.01.22 16:39
Оценка: +4
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Win 3.x уже не нуждались в DOS для работы — у них было 32-разрядное ядро, работавшее в защищенном режиме, и для всего были собственные драйверы. Запуск из DOS был просто сохранен для того, чтобы не оставить людям возможность пользоваться и голым досом.


Win 3.x не путаешь с Win NT 3.x? Обычная Win 3.x таки нуждались в DOS совсем не только для совместимости, да и от 32-битного режима там только защищенный режим процессора был. Более того, у них (и у Win 9x) полно было 16-ти битных подсистем. А вот Win NT емнип никогда из DOS не запускалась.
Re: история персональной ВТ
От: кт  
Дата: 21.01.22 19:29
Оценка: 9 (1) +2
В короткой исторической лекции все детали, разумеется, не нужны. Тем более, что реальная история с участием Килдэлла, Гейтса, мамочки Гейтса (члена одного из советов директоров IBM) сложная и, честно говоря, IBM не красящая.
Но вот сказать, что исторически первой была для 8080 ОС CP/M-80, а затем для 8086 CP/M-86, вполне уместно.
Потому, что MS DOS, которую создал нанятый Гейтсом программист (под жаргонным названием «быстрая и грязная»), была полной копией CP/M-86.
По странному совпадению, ранее этот программист прослушал курс лекций Килдэла по ОС и даже имел эту ОС в своем распоряжении.
И еще штрих на эту тему. В 1984 году в компиляторе Килдэла PL/I-86 внутри был переключатель DOS<->CP/M. По этому переключателю вызывалась или одна или другая подпрограмма выполнения функций в одной или другой ОС. Отличия там были в номере прерывания (в ДОС INT 21). И в регистре с номером функции в ДОС это был AH, в CP/M — CL. И все.
Учитывая, что Килдэл тогда был специалистом №1 по микропроцессорам и уже имел готовую и успешно продававшуюся ОС, нетрудно сделать вывод, кто у кого срисовал ОС.

И на другую тему. Вполне можно упомянуть и советский персональный компьютер «Мир-2». Мне удалось еще увидеть его вживую. Очень достойно по тем временам. Занимал он, конечно, весь стол, но это уже было действительно персонально и уже было световое перо для редактирования текста на экране – прообраз мыши и ее курсора. И встроенный компилятор с алголоподобного языка имелся.
Re[2]: история персональной ВТ
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.22 20:59
Оценка: 3 (1) +2
Здравствуйте, iZEN, Вы писали:

ZEN>Вот только Google не делала Android, а приобрела компанию, занимающуются прошивками для фотоаппаратов! В смартфонах с Android сидит прошивка, которая изначально предназначалась для цифровых фотиков.


Чувствуешься какое-то пренебрежение к прошивкам и даже некоторое раздражение.

ZEN>Microsoft Windows Phone для своего времени была хороша


Windows Phone для своего времени была полным дерьмом, так как:
1. На рынок к тому времени уже вышли iPhone и Android.
2. Она разорвала всякую совместимость с Windows Mobile, которая тогда еще была королем рынка.

МС надо было не любить вола все эти долгие 10 лет, а развивать Windows Mobile в эволюционной манере. Тогда никакие iPhone-ы на рынок выйти не смогли бы. И даже в 2010 у МС был шанс все сделать правильно, но они решил построить новый мир, разрушив до основания старый. Короче, классика.

Я еще в те годы предрек, что Windows Phone провалится и посмеивался над AndrewVK и hardcase за их приверженность к этому недоразумению.

Мне было очевидно, что МС просрало главное — время. И уже никакие навороты не изменят статус–КВО. К тому же МС сделали другие ошибки как то запретил простым смертным писать софт для Windows Phone на С++ (это большая часть игр).


ZEN>особенно в аппаратах Nokia Lumia последних поколений.


Так они и Nokia этим решение убили.

ZEN>Жаль только, что "эффективный менеджер" Стивен Элоп не смог внушить доверие разработчикам Nokia, которые были уже сориентированы массовым хайпом в сторону Linux (от Symbian к MeeGo), а жадность Microsoft заиметь свой карманный мобильный бизнес сыграла злую шутку — управление перехватили сначала индусы, а потом и китайцы.


При стратегическом пролюбе никакие менеджеры не смогут вытащить ситуацию.

МС отступил от принципов которые сделали его великим — главное заинтересованность сторонних разработчиков и обратная совместимость. Я помню российский офис МС в 90-е и в 2000 (при Дергуновой, что ли?). Это два разных Майрософта. Он насрал на разрабов и стал пользоваться своим монопольным положением. С сего и начался их крах. А вот в областях где они завоевывали рынки (XBox) у них все вышло совсем иначе и сейчас они покупают Близард.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 22.01.2022 15:23 VladD2 . Предыдущая версия .
Re[2]: история персональной ВТ
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 19.01.22 15:56
Оценка: +1 -1
Здравствуйте, iZEN, Вы писали:

ZEN>Microsoft Windows Phone для своего времени была хороша


Так они просто слили виндофон намеренно отказавшись от бизнеса. Слили стриминговый сервис миксер. Неоднократно сливали магазин приложений для винды и многое другое. Но судя по последним новостям дела у них идут хорошо. Так что может им просто и не нужен мобильный бизнес. Это Вася Пупкин делавший программу для виндофонов разорится, когда они отправятся в помойку, а микрософту хоть бы хны.
Re[4]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 19.01.22 17:21
Оценка: +2
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Да — например, практически вся звуковая была 16-разрядной.


Если бы только звуковая. Весь GDI был 16-битный и въехал таким в Windows 95. Вспомни про Win16Mutex.

Но это все же не RM, а PM-16
With best regards
Pavel Dvorkin
Re: история персональной ВТ
От: m2l  
Дата: 19.01.22 20:13
Оценка: +2
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Конструктивная критика приветствуется.


Перемотал на рандомное время, попал на 80286. И как-то переврал ты очень сильно некоторые вещи.

Например, рассказываешь про 80286 и говоришь, что вот, наконец-то в 64-разрядных процессорах убрали блок 16-битных команд — откуда хоть вообще этот бред? Вот, например: https://www.youtube.com/watch?v=bS9hiSwL1KY. Штатно x86_64 процессоры стартуют в 16-битном режиме, как обычные x86. А уже потом, загрузчик (или UEFI прошивка) последовательно переключается в 64-разрядный режим.

Дальше заявляешь сомнительный тезис, что идеи в 80286 оказались не верны и развитие пошло по другому пути.... Модель многозадачности и виртуальной памяти до сих пор используется та что была в 286-м, да, её немного дополняли (когда допустим добавляли PAE или в 386, 486 дополнительными типами табличных записей), но базово те-же таблицы трансляции адресов, те-же механики переключения режима работы и т.д. Что ты имеешь в виду над "пошло по другому пути", учитывая, что ничем утверждение не подкрепляешь — не понятно.


И в целом, у тебя всё видео по больше части из несвязанных тезисов. Допустим, про 80286 говоришь, что о его особенностях говорить не будем, но главное совместимость. А почему не объяснить, из-за чего совместимость была так важна для Intel-а? Одним предложением сказать, что она на тот момент была одним из конкурентных преимуществ интеловских процессоров и т.д. А так получается просто ставишь перед фактом.

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

PD>Может быть, по результатам ее внесу изменения в лекцию. Может быть, я что-то важное пропустил ? Может быть, изложил что-то неверно ?


Смотри, то, что даешь исторический экскурс — это хорошо, полезно и ты молодец. НО:
— ты пропустил взаимосвязь. Тупо излагаешь несвязанные факты, причем местами скатываешься в описание, что стало лучше, но как именно не скажу. Сама суть этой ретроспективы — показать как технологии менялись, от простейших к сложнейшим, откуда взялись те или иные технические решения, как они взаимосвязаны. И вот этого у тебя и нету, к сожалению.
— часть фактов прямо переврано. Извини, целиком не смотрел, коснулся буквально 80286 и Windows NT — перепроверь те вещи, которые ты заявляешь как истинные утверждения.
Re[4]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 06:52
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Винда и была 16битной надстройкой над ДОС. В 3.0 вообще не было никаких дрпов для диска кроме как досовских. Был АПИ, но он преобразовывался в те самые вызовы 21 прерывания. Далее была эволюция. Некоторые подсистемы на 386+ машинах стали использовать 32-тный код. Но Винда 3.11 по прожнему запускалась на 286 машинах где защищенного режима не было вовсе. Так что защищенный режим она использовать не могла.


Был. Защищеннный 16-битный режим, с LDT/GDT... И Windows 3.x в нем и работала, с вкраплениями (начиная с 3.11) 32-битного режима, если запускалась на 80386. А если запускалась на 80286, то без вкраплений.

Просто ты уже забыл
With best regards
Pavel Dvorkin
Re[7]: история персональной ВТ
От: m2l  
Дата: 20.01.22 07:54
Оценка: +1 -1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Так, давай разберемся до конца


PD>Есть 16-битный PM и 32-битный PM. Первый появился в 80286, второй — в 80386. Сейчас, естественно, есть и 64-битный.

Согласен.

PD>16-битный PM — это LDT/GDT/TR, 4 кольца и т.д. Сегментная модель. Страниц нет как понятия.

Согласен.

PD>32-битный PM появился в 80286. Добавлены регистры CRi, страничный механизм, Page Directory, Page tables, трансляция линейного адреса.

Согласен.

PD>Для совместимости с PM-16, естественно, оставили LDT/GDT, и они теперь под 32 бита, но практически все ОС настраивают сегменты так, чтобы из база была 0, а лимит 4Г. То есть фактически "обнуляют" сегментный механизм от 80286 — он есть, но его преобразование есть тождественное преобразование.

Нет. Таблицы трансляции работают через таблицы GDT/LDT — они часть общего механизма.

Александр Фролов, Григорий Фролов. Защищенный режим процессоров Intel 80286/80386/80486. 5. Особенности процессоров I80386 и I80486. 5.1. Преобразование адресов

PD>Кстати, кое-что от PM-16 утеряли. Вместо 4 колец реально осталось 2 — User/Supervisor, там один лишь бит в PTE. Но это никого не огорчило — колец 1 и 2 никогда реально и не было. Как, впрочем, и задач в смысле 80286 с их переключением средствами самого процессора с переключением LDT. И сама идея иметь одну GDT и много LDT под каждую задачу тоже нигде не использовалась — в Windows 3.x все задачи Windows сидели в одной LDT и переключались средствами Windows, а не процессора.

Нет.
* Бит в PTE определяет кому страница принадлежит — программе или операционной системе, это немного другой механизм. Разделения на 4-ре кольца (в современных, учитывая SMM можно считать что и больше) так и осталось.
* Байка о двух режимах идет от Windows NT, которая изначально разрабатывалась ещё под процессоры DEC и Alpha — а в одном из них защищенный режим (его не Intel придумал, а сделал аналог уже существовавших решений) был ограничен как-раз двумя уровнями. Отсюда и взялась эта унификация, когда всю систему уложили в 0 и 3 кольца. И то, спроектировано ядро так, что те-же драйверы устройств, изначально можно было вынести в ring 1 или ring 2. Эти элементы микроядра небыли использованы по большей мере из-за падения производительности.
* Сама идея одной GDT и многих LDT вполне себе живёт по сей день и в Windows и в Linux. Где ядро и драйверы работают в общем для всей остальной системы адресатном пространстве, а прикладные приложения в другой его части. Для 32-разрядных систем тема с пределом в 2-гигабайта на процесс (3-и при соответствующей настройке) — много LDT именно из-за того, что оставшиеся 2-а (1-н) — общее для всей системы адресатное пространство ядра (GDT).

Насчет Windows 3.x ничего не скажу — не знаю.

PD>Более того. В какой-то момент в 2000-е годы хотели вообще LDT/GDT исключить. Но тут оказалось, что без них нельзя сделать виртуальные машины — каждой нужно свое пространство. В общем, нашлось им в конце концов применение.

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


PD>Источников сколько хочешь.


PD>https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D1%89%D0%B8%D1%89%D1%91%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC

PD>https://ru.wikipedia.org/wiki/Intel_80386
Там нет ни слова об отказе от GDT/LDT, их использования для виртуальных машин или ещё-чем то подобном. Наоборот, описывается как они используются для трансляции адресов.

PS. ИМХО ты не совсем понимаешь всю гибкость защищенного режима. Разнесение адресации на GDT/LDT/PTE позволяет допустим отправлять в своп куски памяти с неиспользуемыми сейчас фрагментами PTE/LDT. Разнесение GDT/LDT позволяет делать общее для всех программ адресатное пространство, без дополнительных действий для его поддержания (для Windows и Linux в нём находится ядро, драйверы, DMA и всё что относится к ядру). Применение раздельных LDT позволяет делать для двух процессов общую область памяти, которая у каждого отображена в свои адреса. И таких фишек — очень много. AMD когда делала x64-86 не просто так сохранила большую часть аспектов этой работы для long mode — им просто сложно найти адекватную замену.
Re[4]: история персональной ВТ
От: B-52 Россия  
Дата: 20.01.22 09:57
Оценка: +2
Здравствуйте, VladD2, Вы писали:

M>>Наверное, все же за Эплом первенство. Планшет Apple Newton появился на рынке еще в 1993-м году, а разработка началась еще в 1987-м. Я даже помню еще советский номер журнала Наука и Жизнь с заметкой о прототипе устройства в разделе БИНТИ.


VD>Эппл придумал только то, что стилус можно заменить пальцем. К тому времени виндофоны уже заняли рынок. А Пальма была родоначальником жанра.


Michael7 имел в виду именно Newton, который имел черно-белый экран, и требовал стилуса. А вы пишете про iPhone.
Re[6]: история персональной ВТ
От: Mr.Delphist  
Дата: 20.01.22 16:37
Оценка: 123 (1)
Здравствуйте, Michael7, Вы писали:

M>Не уверен, что мне память не изменяет, но вроде хотя штатно выйти нельзя было, существовал какой-то хак, чтобы из Win95 в DOS вывалиться. Не в сеанс MS-DOS или загрузку такая, а именно закончить работу.


Немного погуглил, и да — при выходе из OS можно было указать "делаем ребут в консоль".

Но это не всё! Не знаю, правда это или троллинг, но... прям захотелось попробовать!

  Скрытый текст
https://news.ycombinator.com/item?id=16846441
The original "It's now safe to turn off your computer" screen in Windows 95/98 actually sent you to a DOS prompt. Because the computer was in graphics mode you couldn't see the prompt but you could blindly type the commands to switch modes and continue to use the computer from DOS.
Re[10]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 11:50
Оценка: 7 (1)
Здравствуйте, m2l, Вы писали:

Уф, уволь. Возьми Соломона-Руссиновича и найди там что-то, подтверждающее твои умозаключения о роли LDT.
То. что она используется — несомненно, с этим я не спорю. То, что что-то хранится в GDT, а что-то в LDT — тоже. Но это все (о виртуальных машинах не говорю)

Я не поленился, провел поиск. "LDT" упоминается 6 раз, при этом в одном месте, где описывается KPROCESS. Больше там ничего нет.

А про переключение процессов через CR3 есть

В специальном регистре CR3 процессоров х86 хранит­ся это значение для текущего процесса (один из программных потоков которого
обратился к виртуальному адресу). Это означает, что если при переключении кон­текста на процессоре окажется, что новый поток принадлежит другому процессу,
в регистр CR3 должен быть загружен адрес PDPT нового процесса из его структуры KPR0CESS.


При выделении памяти процессом создаются новые PTE. Если AWE, то PTE 64-битные, поэтому хватит для адресации 64Г с помощью лишь страничного механизма. Да, процесс может выделить больше чем 2 Гб, но одновременно использовать эту память не сможет — у него адреса 32-битные. Поэтому и существуют

https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-allocateuserphysicalpages#:~:text=The%20AllocateUserPhysicalPages%20function%20is%20used,function%20will%20fail%20with%20ERROR_PRIVILEGE_NOT_HELD.

но и

https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-mapuserphysicalpages

С помощью первой можно зааллокировать много, PTE позволят. Вот только адрес она не вернет, а вернет

[out] PageArray

A pointer to an array to store the page frame numbers of the allocated memory.

То есть, видимо, элементы PTE

А адрес можно получить только с помощью второй (конечно, после вызова первой и предварительного вызова VirtualAlloc. И будет он 32-битным.


Про flat model и сегментные регистры

Плоская модель памяти предполагает, что задача состоит из одного сегмента, который, в свою очередь, разбит на страницы.
...
В абсолютном большинстве современных 32(64)-разрядных операционных систем (для микропроцессоров Intel) используется плоская модель памяти.


https://prog-cpp.ru/asm-memory/

Одного сегмента! Что возможно только если сегментные регистры реально не влияют на вычисление линейного адреса, иначе будет не один сегмент.

Ну и вот еще

В плоской модели памяти базовые адреса всех сегментов равны нулю,пределы 4Гб-1 а защита ядра от программ осуществляется при помощи таблиц страниц. При такой схеме если программа передаёт ядру указатель на свои данные, например буфер для чтения файла, ядру нет необходимости переводить его в своё адресное пространство прибавлением std_application_base_address как это происходит сейчас.


http://board.kolibrios.org/viewtopic.php?t=636

Ну и напоследок

Когда CPU находится в 32-битных режимах, регистры и инструкции могут в любом случае адресовать всё линейное адресное пространство. Итак, почему бы не установить базовый адрес в ноль и позволить логическим адресам совпадать с линейными адресами? Intel называет это «плоской моделью», и это именно то, что делают современные ядра операционных систем под x86. Это эквивалентно отключению сегментации.



https://acm.bsu.by/wiki/Unix2019b/%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_%D0%BD%D0%B0_x86-64

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

Нашел-таки ссылку, с которой поспорить тебе никак не удастся

Basic Flat Model
The simplest memory model for a system is the basic “flat model,” in which the operating system and application programs have access to a continuous, unsegmented
address space. To the greatest extent possible, this basic flat model hides the
segmentation mechanism of the architecture from both the system designer and the
application programmer.
To implement a basic flat memory model with the IA-32 architecture, at least two
segment descriptors must be created, one for referencing a code segment and one
for referencing a data segment (see Figure 3-2). Both of these segments, however,
are mapped to the entire linear address space: that is, both segment descriptors
have the same base address value of 0 and the same segment limit of 4 GBytes.


https://www.intel.com/content/dam/support/us/en/documents/processors/pentium4/sb/25366821.pdf

Уф...
В общем, я эту дискуссию намерен закончить.
With best regards
Pavel Dvorkin
Отредактировано 20.01.2022 12:28 Pavel Dvorkin . Предыдущая версия . Еще …
Отредактировано 20.01.2022 11:55 Pavel Dvorkin . Предыдущая версия .
Отредактировано 20.01.2022 11:53 Pavel Dvorkin . Предыдущая версия .
Re[3]: история персональной ВТ
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 19.01.22 16:58
Оценка: -1
Здравствуйте, Michael7, Вы писали:

M>Win 3.x не путаешь с Win NT 3.x?


Нет, конечно.

M>Обычная Win 3.x таки нуждались в DOS совсем не только для совместимости, да и от 32-битного режима там только защищенный режим процессора был.


Она в ней нуждалась ровно постольку, поскольку не имела отдельного загрузчика, и запуск инициировался из-под DOS. Затем она забирала себе всю свободную память, переключалась в защищенный режим, разворачивала там ядро, грузила туда 32-разрядные VxD (аналоги драйверов ядра в NT), и поверх всего этого создавала стандартную 16-разрядную виндовую среду.

M>у них (и у Win 9x) полно было 16-ти битных подсистем.


Да — например, практически вся звуковая была 16-разрядной.
Re[3]: история персональной ВТ
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 19.01.22 17:12
Оценка: -1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>вроде как в Undocumented Windows говорилось, что все же 3.x иногда вызывала int 21.


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

PD>Кажется, какие-то функции по работе с датой-временем. Там еще описывалась, как она это делала.


Это делают и современные десятки с линуксами, но уже более культурно — через ACPI. Кстати, одна из главных причин проблем с low-latency audio на ноутбуках.

PD>Что же касается 32-битного драйвера для работы с диском, то как он появился — я помню прекрасно


Появился не сразу тоже не потому, что "не могли" — там тоже ничего сложного не было. Главная сложность была в том, чтобы аккуратно перехватить ФС у доса, а после выхода из винды — столь же аккуратно синхронизировать.

ЕМ>>То, что БГ будучи "гениальным менеджером", якобы еще в начале 80-х уверенно предсказал успех союза с IBM


PD>Я вроде об этом вообще ничего не говорил.


На 14:50.
Re[2]: история персональной ВТ
От: Michael7 Россия  
Дата: 19.01.22 22:13
Оценка: +1
Здравствуйте, _ilya_, Вы писали:

__>PC вымрут — место занимают, пыль собирают.


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

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

__> Странно что планшеты не прижились, может с ноутбуками якобы в одной нише и чуть доплатить и якобы более мощное устройство можно купить.


Не то, чтобы не прижились, их используют, особенно на некоторых работах (врачи скорой, полицейские, монтажники и др.), но они еще и со смартфонами конкурируют. То есть, их ниша зажата между ноутбуками и смартфонами.
Отредактировано 19.01.2022 22:44 Michael7 . Предыдущая версия .
Re[5]: история персональной ВТ
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.22 22:46
Оценка: +1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Ну чем, чем она полезна? Как её применять?


История всегда полезна. Особенно тем кто не был очевидцем. Лично мне всегда интересно слушать про те периоды, которые я не застал. Я с компьютерам в 90х познакомился. Точнее раньше, но тогда я был совсем ребенком и мог на них только играть. Вот про разные начальные годы и про мэйнфреймы мне интересно узнать. Ну, а Дворкин для студентов же лекции читает. Есть смысл их улучшить и сделать достоянием общественности.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 22.01.2022 15:25 VladD2 . Предыдущая версия .
Re[6]: история персональной ВТ
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 19.01.22 22:59
Оценка: +1
VD> Лично мне всегда интересно слушать про те периоды, которые я не застал.

Ну вот был
А.И. Китов
который предлагал понаделать вычислительные центры для управления страной.

«осенью 1959 года Китов подготовил доклад для ЦК КПСС (тоже на имя Н. С. Хрущёва), в котором предложил идею создания единой автоматизированной системы управления для вооружённых сил и для народного хозяйства страны на базе общей сети вычислительных центров, создаваемых и обслуживаемых Министерством обороны СССР (проект под названием «Красная книга»).»

Сейчас это уже неприменимая информация. Уже не создать такую систему (она есть). Так и с этой лекцией топика.

Нет никаких деталей, никакой аналитики, лекции должны помогать с выбором. А эта — не помогает. Лучше бы про современную историю ИИ сделал лекцию.
Re[5]: история персональной ВТ
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.01.22 09:13
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Был. Защищеннный 16-битный режим, с LDT/GDT... И Windows 3.x в нем и работала, с вкраплениями (начиная с 3.11) 32-битного режима, если запускалась на 80386. А если запускалась на 80286, то без вкраплений.


Нет. Там все было сложнее. Защищённый режим действительно появился в 286м. Но одно дело режим процессора, а другое работа ОС в нем. В 286м Intel-ом была сделана фатальная стратегическая ошибка — нельзя было обратиться к реальному режиму из защищённого и вернутся в реальный режим было нельзя. В результате защищённый режим 286 никто не использовал (кроме не пошедшего в жизнь MS Xenix, который я даже не видел). Так что защищённый режим в винде появился только для 386 машин. В i386 появилась виртуализация для DOS–сессий. И вот она позволила одновременно работать в защищённом режиме и одновременно обеспечить совместимость путем обращения к DOS–вским функциям и функциям BIOS.

PD>Просто ты уже забыл


Много лет утекло. Уже трудно вспомнить. Но можно загуглить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: история персональной ВТ
От: Privalov  
Дата: 20.01.22 10:44
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

ЕМ>>На стыке 80-90-х многие эксперты ни разу не сомневались, что у OS/2 блестящее будущее, и где она?


PD>Все могло быть, но он победил, и, значит, был прав.


У OS/2 был один небольшой недостаток: ее не умели продавать. С технической точки зрения Чикага отстала от нее навсегда. Но продавцы Microsoft оказались шустрее.

Персоналки — вообще не рынок IBM.
Re[2]: история персональной ВТ
От: Privalov  
Дата: 20.01.22 11:16
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Про Windows 95 просто гон. Надажность у нее была вполне себе.


Вполне себе — это OSR/2, ЕМНИП, 1997 год. Оригинальная Чикага была дамой весьма падучей.

VD>Появишася в то время Полуось 2.х это не позволяла и потому со свистом слила 95м, которые стали триумфально шестовать по миру.


К тому времени (1994, ЕМНИП), появилась Полуось 3.0. К сожалению, ее не умели продавать.

VD>Вот только у нее были точно такие же пробелмы как у Полуоси — она была не совместима с большинством программ под ДОС.


Я не знаю, с какой ты Полуосью сталкивался. У нас на ней запускалось все, с чем мы работали. Сеансы DOS, Windows, что угодно. И все работало в 4 М памяти. Правда,с настройками некоторых ДОС-программ приходилось основательно повозиться. Их там были десятки. И, кстати, возможно, Полуось именно поэтому не попала к домохозяйкам.
Удобно было на ней разрабатывать под ДОС. Память где-то расстрелял, сеанс подвис. Прибил его, запустил новый, всего делов.
Re[3]: история персональной ВТ
От: Mr.Delphist  
Дата: 20.01.22 13:41
Оценка: +1
Здравствуйте, Michael7, Вы писали:

M>Есть такой нюанс, что в те годы на нашем рынке было очень много крайне дешевого (по мировым меркам), но крайне глючного и просто неисправного железа. Которое и само глючило и драйвера имело глючные и т.д. Естественно под Win95, которая более серьезные требования предъявляла, оно валилось. Особенно глючной памяти было немало. Отсюда легенда, что Win95 стабильно работала на хороших брендовых компьютерах — это действительно так.


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

M>Мне кажется, что Itanium еще и просто опоздал родиться. Его разработки (которые еще HP начала) велись все 90-е и он должен был появиться еще примерно в 1997-м году. Но не смогли, слишком сложным оказался. Выйди он хотя бы в 1999-м — и скорее всего, amd64 не появился бы, а рынок был бы поделен на сегменты с IA-32 и IA-64. В принципе, Itanium совсем не плох оказался и в начале нулевых успел занять заметную долю на высокопроизводительных серверах и рабочих станциях. Последняя модель из этого семейства выпущена была уже даже в 2017-м, то есть, эта архитектура еще до конца 2010-х дожила кое-где.


Главный пробел — его пытались делать несколько крупных игроков. Естественно, получился лебедь, рак и щука. Отсюда и переусложнённость.
Re[8]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 07:44
Оценка: +1
Здравствуйте, m2l, Вы писали:

PD>>Для совместимости с PM-16, естественно, оставили LDT/GDT, и они теперь под 32 бита, но практически все ОС настраивают сегменты так, чтобы из база была 0, а лимит 4Г. То есть фактически "обнуляют" сегментный механизм от 80286 — он есть, но его преобразование есть тождественное преобразование.

m2l>Нет. Таблицы трансляции работают через таблицы GDT/LDT — они часть общего механизма.

[UPDATED:] я понял твой специфический подход. Ты в dynamic address translation включаешь как тот, что работал через сегментацию (к адресу прибавляется база сегмента из его селектора), так и тот, что работает через страничный механизм. В таком варианте у Intel в legacy mode (не в long) их два. В long mode остался только один, страничный. База сегмента там всегда 0, если это не FS или GS, которые используются для TLD.

Этот подход имеет право на существование, но он нетипичен. И, DAT через сегментный механизм не используется большинством ОС, они на уровне сегментов используют базу 0, о чём тебе PD всё время и толкует.

В остальном же см. оригинал, том 3, главы 4 и 5. Единственная принципиальная завязка страничного DAT у Intel на механизм защиты — что без защиты страничная трансляция не включается. Остальное разделено. (Ну да, в PTE участвует, что у страницы тоже есть ограничение, кто её видит, это в таком механизме является следствием самого наличия защиты. В принципе страничная трансляция спокойно может работать и без этого.)

m2l>* Сама идея одной GDT и многих LDT вполне себе живёт по сей день и в Windows и в Linux. Где ядро и драйверы работают в общем для всей остальной системы адресатном пространстве, а прикладные приложения в другой его части. Для 32-разрядных систем тема с пределом в 2-гигабайта на процесс (3-и при соответствующей настройке) — много LDT именно из-за того, что оставшиеся 2-а (1-н) — общее для всей системы адресатное пространство ядра (GDT).


Рядом прокомментировал, повторюсь: LDT процесса в современных ОС сейчас нужны в первую очередь для thread-local data.
(Хотя вот подумал — кто мешает держать их и в GDT?)
Кстати, в 64 битах и это не нужно, базовые адреса вместо этого в MSR процессора.

Вопрос: твой термин "адресатное пространство" чем-то отличается от "адресное"? Ни у кого кроме тебя я покамест такого слова не видел.

m2l>PS. ИМХО ты не совсем понимаешь всю гибкость защищенного режима. Разнесение адресации на GDT/LDT/PTE позволяет допустим отправлять в своп куски памяти с неиспользуемыми сейчас фрагментами PTE/LDT.


И это все делают на уровне отдельных страниц. С LDT никто не заморачивается.

m2l> Разнесение GDT/LDT позволяет делать общее для всех программ адресатное пространство, без дополнительных действий для его поддержания (для Windows и Linux в нём находится ядро, драйверы, DMA и всё что относится к ядру).


Это делается средствами страничной трансляции (paging DAT).
Страницы, доступные только ядру (обычно это первый мегабайт и верхняя половина адресного пространства) защищены

m2l> Применение раздельных LDT позволяет делать для двух процессов общую область памяти, которая у каждого отображена в свои адреса. И таких фишек — очень много. AMD когда делала x64-86 не просто так сохранила большую часть аспектов этой работы для long mode — им просто сложно найти адекватную замену.


Только вот сам базовый адрес там "стёрт" к чертям. После этого ни о каком отображении общей памяти в свои адреса средствами собственно сегментации не может быть и речи. Том 3, Figure 5-2.
The God is real, unless declared integer.
Отредактировано 24.01.2022 7:52 netch80 . Предыдущая версия .
Re[4]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 24.01.22 08:33
Оценка: +1
Здравствуйте, netch80, Вы писали:

>Ну не в 386, а в большинстве 32-разрядных ОС. Так будет точнее. В процессорах "обнулили" сегментный механизм действительно только в long mode, начав игнорировать базу в селекторе.


Ну да. Но я ничего не знаю про ОС, в которых бы использовалась не flat модель, а полный 16:32

Итого из 286

Идея LDT под каждую задачу оказалась не востребованной
Идея переключения задач средствами процессора оказалась не востребованной
Идея сегментной адресации оказалась не востребованной как только перешли на 32 бита
Идея 4 колец оказалась не востребованной

Фактически в 386 создан новый механизм, а с механизмом от 80286 поступили просто — свели его действие к 0.


N>Про виртуальные машины я не совсем понял, там вроде другой механизм (ещё один).


Где-то читал, что при создании x64 хотели в 64-битносм режиме вообще отказаться от сегментных регистров. По здравому смыслу они не нужны, 64 бит и так хватит, анахронизм. Но якобы разработчики виртуальных машин заявили, что без них они не смогут. Пруфа нет.
With best regards
Pavel Dvorkin
Отредактировано 24.01.2022 8:39 Pavel Dvorkin . Предыдущая версия . Еще …
Отредактировано 24.01.2022 8:39 Pavel Dvorkin . Предыдущая версия .
Отредактировано 24.01.2022 8:38 Pavel Dvorkin . Предыдущая версия .
Re[4]: история персональной ВТ
От: IID Россия  
Дата: 24.01.22 10:21
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>А Видовс 2000 оказался куда более глючным чем NT 3.1, так как в нем дрова видеократ перенесли в ядро и сделали поддержку Директ-3Д.


Неверно. GDI перенесли в ядро в NT4.0. И она стала "летать", в отличие от NT3.x
kalsarikännit
Re[4]: история персональной ВТ
От: Michael7 Россия  
Дата: 25.01.22 23:14
Оценка: +1
Здравствуйте, reversecode, Вы писали:

R>автору видео


Автор видео читает лекции студентам и это, по его словам, заключительная лекция курса. Тут как хочешь не удастся подробно рассказать.
А так по истории ВТ, даже персональной, уже нужна хорошая книга, а может и не одна. Кое что даже есть.
Re: история персональной ВТ
От: iZEN СССР  
Дата: 19.01.22 15:37
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>https://drive.google.com/file/d/1hOvt_HLKDMJEXnDaYag7U8DSSO2CBAaI/view


Вот только Google не делала Android, а приобрела компанию, занимающуются прошивками для фотоаппаратов! В смартфонах с Android сидит прошивка, которая изначально предназначалась для цифровых фотиков.

Microsoft Windows Phone для своего времени была хороша, особенно в аппаратах Nokia Lumia последних поколений. Жаль только, что "эффективный менеджер" Стивен Элоп не смог внушить доверие разработчикам Nokia, которые были уже сориентированы массовым хайпом в сторону Linux (от Symbian к MeeGo), а жадность Microsoft заиметь свой карманный мобильный бизнес сыграла злую шутку — управление перехватили сначала индусы, а потом и китайцы.
Re[2]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 19.01.22 16:50
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Самая серьезная ошибка — то, что NT стала разрабатываться якобы во время популярности 95. На самом деле ее начали делать еще во времена OS/2. Модель Win32 в Win95 целиком пришла из NT. А когда 95 пошла в массы и народу понравился ее интерфейс, многие черты интерфейса перенесли в NT 4, и в этом виде она постепенно начала набирать популярность.


Хм. Ты прав. Учту и подумаю, как точнее изложить.

ЕМ>Win 3.x уже не нуждались в DOS для работы — у них было 32-разрядное ядро, работавшее в защищенном режиме, и для всего были собственные драйверы. Запуск из DOS был просто сохранен для того, чтобы не оставить людям возможность пользоваться и голым досом.


Я сейчас поручиться не могу, но вроде как в Undocumented Windows говорилось, что все же 3.x иногда вызывала int 21. Кажется, какие-то функции по работе с датой-временем. Там еще описывалась, как она это делала. Впрочем, не исключено, что не DOS, а BIOS. Не помню и не буду искать. Что же касается 32-битного драйвера для работы с диском, то как он появился — я помню прекрасно, но это не совсем для лекции. Впрочем, небольшое изменение внесу, спасибо.

ЕМ>Ну и по мелочи:


ЕМ>То, что БГ будучи "гениальным менеджером", якобы еще в начале 80-х уверенно предсказал успех союза с IBM, не является фактом. Неясно, сколько там было "гениальной прозорливости", а сколько — обычного везения. Многие компании из тех, кому в период уверенного роста прочили блестящее будущее, впоследствии сдулись, и сейчас мало кто вспомнит даже названия.


Я вроде об этом вообще ничего не говорил.

ЕМ>Авторство фразы про "640 кб достаточно" до конца не установлено. Ее приписывали и БГ, и кому-то из руководителей IBM, но точных свидетельств не осталось.


Ладно. Это как гараж — уже не важно, что было в реальности, есть легенда и все

ЕМ>Android как-то внезапно появляется в конце. Возможно, имеет смысл упомянуть и про Windows CE/Mobile, которые выпускались с конца 90-х, и стояли на довольно-таки большом количестве устройств. И о том, что эти системы были хорошо совместимы по Win32 API — многие программы под 95/98/2k/XP достаточно было просто перекомпилировать, иногда — слегка подправить, и они нормально работали в CE/Mobile. MS, действительно, очень крупно облажалась, забросив их дальнейшее развитие.


Возможно.

ЕМ>Еще, наверное, имеет смысл убрать из лекции перерыв?


Это не запись для публикации, я ее не правил. Но можно.
With best regards
Pavel Dvorkin
Re[4]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 19.01.22 17:18
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>>>То, что БГ будучи "гениальным менеджером", якобы еще в начале 80-х уверенно предсказал успех союза с IBM


PD>>Я вроде об этом вообще ничего не говорил.


ЕМ>На 14:50.


Про успех союза с IBM там не говорится, а слова насчет того, что он гениальный менеджер и что он уловил, что ему в руки попало, я считаю верными.
With best regards
Pavel Dvorkin
Re[5]: история персональной ВТ
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 19.01.22 17:31
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Про успех союза с IBM там не говорится


Ну, про "открывающиеся возможности".

PD>а слова насчет того, что он гениальный менеджер и что он уловил, что ему в руки попало, я считаю верными.


А если не уловил? Тогда еще ничто не было определено. Вполне могло выглядеть, как "попробуем это, а не получится — займемся чем-нибудь другим". На стыке 80-90-х многие эксперты ни разу не сомневались, что у OS/2 блестящее будущее, и где она?
Re: история персональной ВТ
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.22 17:33
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>4. Качество видео просьба не обсуждать. Писалось просто в Skype.

PD>https://drive.google.com/file/d/1hOvt_HLKDMJEXnDaYag7U8DSSO2CBAaI/view

Качество вполне себе приличное. Разве что можно было бы кропкнуть картинку по основному окну скайпа. А вот способы выкладывания какой-то дремучий. Почему не залить на https://www.youtube.com ?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: история персональной ВТ
От: Michael7 Россия  
Дата: 19.01.22 18:35
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ> На стыке 80-90-х многие эксперты ни разу не сомневались, что у OS/2 блестящее будущее, и где она?


Ведет какое-то потустороннее существование, то опять сдохнет, то откопают как ту стюардесу Сейчас в инкарнации ArcaOS — последняя версия вышла в декабре прошлого года

ArcaOS is an operating system based on OS/2, developed and marketed by Arca Noae, LLC under license from IBM.[3][4] It was codenamed Blue Lion during its development.[5] It builds on OS/2 Warp 4.52 by adding support for new hardware, fixing defects and limitations in the operating system, and by including new applications and tools.[6] It is targeted at professional users who need to run their OS/2 applications on new hardware, as well as personal users of OS/2.
...
5.0.7 2021-12-07 Updated drivers and kernel, installer fixes


Ожидается выпуск версии 5.1 с поддержкой только UEFI, GPT и др. фич.
Re[2]: история персональной ВТ
От: Michael7 Россия  
Дата: 19.01.22 20:44
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Про Windows 95 просто гон. Надажность у нее была вполне себе.


Есть такой нюанс, что в те годы на нашем рынке было очень много крайне дешевого (по мировым меркам), но крайне глючного и просто неисправного железа. Которое и само глючило и драйвера имело глючные и т.д. Естественно под Win95, которая более серьезные требования предъявляла, оно валилось. Особенно глючной памяти было немало. Отсюда легенда, что Win95 стабильно работала на хороших брендовых компьютерах — это действительно так.

Хотя все же и сама по себе была далека от стабильности.


VD>Что касается 64бит, то Интел выпустил 64битный процессор намного раньше — в 94м году.


Не понял. Itanium был впервые выпущен в 2001-м, Itanium-2 в 2002-м. Если говорить про 90-е, то был еще такой i860 — выпущен в 1989-м. Но i860 имел только некоторые блоки 64-битные.

VD> Но это не х86-й проц. Он имеет свою архитектуру IA-64 для своих новых процессоров Itanium. Ну, и естественно он на фиг не кому оказался не нужным, так как людям нужен софт, а не железо. Точнее железо нужно для запуска софта. Т.е. это был факап. По этому AMD их и опередили.


Мне кажется, что Itanium еще и просто опоздал родиться. Его разработки (которые еще HP начала) велись все 90-е и он должен был появиться еще примерно в 1997-м году. Но не смогли, слишком сложным оказался. Выйди он хотя бы в 1999-м — и скорее всего, amd64 не появился бы, а рынок был бы поделен на сегменты с IA-32 и IA-64. В принципе, Itanium совсем не плох оказался и в начале нулевых успел занять заметную долю на высокопроизводительных серверах и рабочих станциях. Последняя модель из этого семейства выпущена была уже даже в 2017-м, то есть, эта архитектура еще до конца 2010-х дожила кое-где.

VD>Ну, а первенство мобильных устройств не за Гуглем, Эплом или Майкрософт. Оно за Пальмой (Palm) появившейся в 1996м. Сам я палм не имел, но держал его в ругах. Он был у одного из РСДН-еров — AndrewVK. Он был чернобелым и без модулей связи, но все же именно он был первым мобильным девайсом обладавшим многими фичами, что сейчас считаются стандартом де факто.


Наверное, все же за Эплом первенство. Планшет Apple Newton появился на рынке еще в 1993-м году, а разработка началась еще в 1987-м. Я даже помню еще советский номер журнала Наука и Жизнь с заметкой о прототипе устройства в разделе БИНТИ.
Re[2]: история персональной ВТ
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.22 21:39
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:


ЕМ>Win 3.x уже не нуждались в DOS для работы


Чушь полная. Она без нее не работала и испиливала досовский код доступа к дискам по полной. Иначе бы она на 286 и запуститься не могла бы. Там уже появилась модель драйверов, но применялась она к видюхам и звуковым картам. А дрова сети, диска и т.п. работали через ДОС.

ЕМ> — у них было 32-разрядное ядро, работавшее в защищенном режиме, и для всего были собственные драйверы. Запуск из DOS был просто сохранен для того, чтобы не оставить людям возможность пользоваться и голым досом.


Win 3.x была 16-битной. Там были подобия дров для 386, но и без них винда могла работать без проблем. Главным была совместимость. В 3.0 не было ничего 32-тного. В 3.1 появился 32-битный доступ к некоторым дискам. А в 3.11 сетевые дрова и файл-кэш.

Более того. 95-я была половинчатым решением точно так же без ДОСа не работала. Просто вместе 95-й в поставке шел ДОС 4.х. Можно было легко выйти из 95х и оказаться в ДОСе. Что мы и делали на слабых машинах для запуска ДУМа. Кстати, ДОС в 95х был хорош! Если бы 95 не был нужен ДОС, они бы могли тупо потереть всю память занятую ДОС. Память на дороге не валяется.

Защищенный режим в 95 был только для нативных приложений. Win16-пиложения там запускались в одной сессии и могли спокойно потереть память друг-друга. Из ДОС-сессий так же был прямой доступ к части оперативки, досовские программы могли спокойно потереть. Это и определяло ненадежность 95. Тут Дворкин прав. Только это были не костыли, а осознанный компромисс между надежностью, совместимостью и производительностью.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: история персональной ВТ
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.22 21:45
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Я сейчас поручиться не могу, но вроде как в Undocumented Windows говорилось, что все же 3.x иногда вызывала int 21. Кажется, какие-то функции по работе с датой-временем. Там еще описывалась, как она это делала. Впрочем, не исключено, что не DOS, а BIOS. Не помню и не буду искать. Что же касается 32-битного драйвера для работы с диском, то как он появился — я помню прекрасно, но это не совсем для лекции. Впрочем, небольшое изменение внесу, спасибо.


Винда и была 16битной надстройкой над ДОС. В 3.0 вообще не было никаких дрпов для диска кроме как досовских. Был АПИ, но он преобразовывался в те самые вызовы 21 прерывания. Далее была эволюция. Некоторые подсистемы на 386+ машинах стали использовать 32-тный код. Но Винда 3.11 по прожнему запускалась на 286 машинах где защищенного режима не было вовсе. Так что защищенный режим она использовать не могла.

PD>Я вроде об этом вообще ничего не говорил.


Вообще были слова.

PD>Это не запись для публикации, я ее не правил. Но можно.


Ну, так обрезал бы и выложил на ютьюб. Или записал бы новую версию с учтом критики (уточнив все по энциклопедиям и гуглингу). В принципе полезная для нового поколения инфа. Я лично застал данный процесс примерно на стадии винды 3.0.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: история персональной ВТ
От: _ilya_  
Дата: 19.01.22 21:55
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Каждый год в конце своего курса для студентов я выкраиваю 1.5 часа и рассказываю им про историю развития персональной ВТ.


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

Разговоры о килобайтах/мегабайтах, мегагерцах/десятки-сотни мегагаерц просто ничто уже с процессорами за 10$ и полноценными мега устройствами доступными всем за 100$.

Это даже не PC, а просто планшеты. Вес — 1 кг+-. Экран 10" при чудовищном разрешении от FHD до 2.5К в мега качестве, IPS матрицы. 8-ми и т.д. ядерные процы более 1GHz, при этом потребляют до десяти ватт или около.

Телефон не мог заменить PC, просто неудобно — мелкий экран и батарейка не очень если нагружать, а планшеты — 10" это просто современные PC, по производительности это для примера 4Вт(и выше есть и производительней модели) уровень Intel Celeron N4100. И такое просто за копейки стало доступно, забавно что сильно дешевле телефона. Даже 10Вт это смешное потребление, при этом производительность выше чем требуется для просто PC простому пользователю. Процессоры шагнули и перешагнули потребности пользователей.

PC вымрут — место занимают, пыль собирают. Странно что планшеты не прижились, может с ноутбуками якобы в одной нише и чуть доплатить и якобы более мощное устройство можно купить. Но планшеты это иное, видимо недооцененное сейчас — в перспективе замена и ноутбуков и PC. Смартфоны с увеличением экрана или вовсе складными вдвое(появятся и в 4 раза складывающиеся — нужно патент получить, если такого нет, ха ха) экранами движутся в сторону планшетов, может эт и будет в результате телефон с огромным складным экраном, по сути в развернутом состоянии — планшет.
Отредактировано 19.01.2022 21:58 _ilya_ . Предыдущая версия . Еще …
Отредактировано 19.01.2022 21:56 _ilya_ . Предыдущая версия .
Re[4]: история персональной ВТ
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 19.01.22 21:58
Оценка:
VD> принципе полезная ... инфа.

Ну чем, чем она полезна? Как её применять?
Re[2]: история персональной ВТ
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 19.01.22 22:01
Оценка:
__> Странно что планшеты не прижились

Пользуюсь экраном от Surface Book 3. Неудобный (рисуется на нём плохо).
Samsung Galaxy S21 со стилусом рисует гораздо, гораздо лучше.

В общем, в этот раз "железо" не удалось.
Re[4]: история персональной ВТ
От: Michael7 Россия  
Дата: 19.01.22 22:31
Оценка:
Здравствуйте, VladD2, Вы писали:

VD> Но Винда 3.11 по прожнему запускалась на 286 машинах где защищенного режима не было вовсе. Так что защищенный режим она использовать не могла.


Уточню по мелочи. Win 3.0 — могла запускаться не только на 286 и 386+, но и на 8086 в реальном режиме. Хотя не думаю, чтобы всерьез на ней в этом режиме работали, но все же. Win 3.1 потеряла реальный режим, остались только стандартный (286) и защищенный (386 +). Ну и Win 3.11 уже только в защищенном режиме на 386-х и выше.

VD>Ну, так обрезал бы и выложил на ютьюб. Или записал бы новую версию с учтом критики (уточнив все по энциклопедиям и гуглингу). В принципе полезная для нового поколения инфа. Я лично застал данный процесс примерно на стадии винды 3.0.


Я чего-то все не никак не гляну целиком, но инфа немного сумбурной в любом случае получается. В часовую лекцию трудно все уместить, чтобы было интересно, не скатываясь в простое перечисление. Если же тема именно вообще про персональную ВТ, то из исторического обзора выпали целые пласты устройств. Например, ZX Spectrum, вообще кучи 8-ми биток. Программируемые калькуляторы (кстати, и сейчас продаются и я даже не советских, а от Casio например).

Учитывая, что мы в России живем, неплохо бы хоть немного упомянуть такие модели как БК, ДВК, калькулятор-компьютер МК-85 — про него вообще можно вспомнить целую историю как с его помощью (модифицированная модель МК-85с если не ошибаюсь) первые в РФ эцп появились в 90-х для защиты от фальшивых авизо — была такая проблема в начале 90-х, принявшая госмасштабы — Фальшивые_авизо#Меры_борьбы_с_фальшивыми_авизо_в_России
Re[3]: история персональной ВТ
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.22 22:37
Оценка:
Здравствуйте, Michael7, Вы писали:

M>на хороших брендовых компьютерах — это действительно так.


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

M>Хотя все же и сама по себе была далека от стабильности.


Ну, по сравнению с ТЕ, конечно. А по сравнению с той же полуосью вполне себе сравнимо. А уж по совместимости она ее делала.

Ну, а та ненадежность, что была определялась именно совместимостью. Это вполне разумный компромис. Если использовать только 32битный софт, то все было нормально. Да и 16битный работал лучше чем на 3.х.

А Видовс 2000 оказался куда более глючным чем NT 3.1, так как в нем дрова видеократ перенесли в ядро и сделали поддержку Директ-3Д.

VD>>Что касается 64бит, то Интел выпустил 64битный процессор намного раньше — в 94м году.


M>Не понял. Itanium был впервые выпущен в 2001-м, Itanium-2 в 2002-м. Если говорить про 90-е, то был еще такой i860 — выпущен в 1989-м. Но i860 имел только некоторые блоки 64-битные.


Может что-то перепутал. Я в те времена про это дело только читал. На практике этого чудо я не видел. Писали об этом вроде еще в середине 90х.

M>Мне кажется, что Itanium еще и просто опоздал родиться. Его разработки (которые еще HP начала) велись все 90-е и он должен был появиться еще примерно в 1997-м году.


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

M>Но не смогли, слишком сложным оказался.


Кстати, наш Эльбрус примерно на тех же принципах был основан. И можно сказать взлетел. Хотя в 1999 он был только в бумажном виде, а тогдашней власти не до него было.

M> Выйди он хотя бы в 1999-м — и скорее всего, amd64


Не. Это дохлый номер с самого начала. Совместимость наше все.

M>Наверное, все же за Эплом первенство. Планшет Apple Newton появился на рынке еще в 1993-м году, а разработка началась еще в 1987-м. Я даже помню еще советский номер журнала Наука и Жизнь с заметкой о прототипе устройства в разделе БИНТИ.


Эппл придумал только то, что стилус можно заменить пальцем. К тому времени виндофоны уже заняли рынок. А Пальма была родоначальником жанра.

Я правда не проникся тогда. Но вот виндофоном уже обзавелся. Телефон и компьютер в одном кармане — это правильное решение.

Кстати, если вдаваться в историю, то забавно еще было смотреть на то как народ все пытался видео на компьютере показать. Да и игрушки не малый вклад в индустрию внесли. Тот же Дум был вехой. А Виста ни что иное как перевод ПК на 3Д-графика с 2Д.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: история персональной ВТ
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.22 22:44
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Я чего-то все не никак не гляну целиком, но инфа немного сумбурной в любом случае получается. В часовую лекцию трудно все уместить, чтобы было интересно, не скатываясь в простое перечисление. Если же тема именно вообще про персональную ВТ, то из исторического обзора выпали целые пласты устройств. Например, ZX Spectrum, вообще кучи 8-ми биток. Программируемые калькуляторы (кстати, и сейчас продаются и я даже не советских, а от Casio например).


Так он же сразу сказал, что на точность и полноту не претендует, а это его восприятие происходящего. Я сейчас смотрю и понимаю, что тоже многое уже путаю. Вот Итаниум записал в 1994 год. Это именно воспроятие. Помню, что примерно в 1996м про него читал. Думал он уже вышел.

M> Учитывая, что мы в России живем, неплохо бы хоть немного упомянуть такие модели как БК, ДВК, калькулятор-компьютер МК-85


Он же по эру персооналок ролик снимал.

А так то надо прямо с 50-х начинать. Лапмовое барахло с аппаратным программироанием проволочками. Далее мэйнфрэймы... ПК...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: история персональной ВТ
От: Michael7 Россия  
Дата: 19.01.22 22:51
Оценка:
Здравствуйте, VladD2, Вы писали:


M>> Учитывая, что мы в России живем, неплохо бы хоть немного упомянуть такие модели как БК, ДВК, калькулятор-компьютер МК-85


VD>Он же по эру персооналок ролик снимал.


Так ведь тоже персональные (хотя бы в теории) средства вычислительной техники.
Конечно, если тема ролика более узкая: история именно современной техники, то тогда спектрумы и МК-85 — лишнее.
Re[2]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 02:50
Оценка:
Здравствуйте, VladD2, Вы писали:

Спасибо. Кое-что учту, но "нельзя объять необъятное".
With best regards
Pavel Dvorkin
Re[2]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 03:03
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Например, рассказываешь про 80286 и говоришь, что вот, наконец-то в 64-разрядных процессорах убрали блок 16-битных команд — откуда хоть вообще этот бред? Вот, например: https://www.youtube.com/watch?v=bS9hiSwL1KY. Штатно x86_64 процессоры стартуют в 16-битном режиме, как обычные x86. А уже потом, загрузчик (или UEFI прошивка) последовательно переключается в 64-разрядный режим.


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

m2l>Дальше заявляешь сомнительный тезис, что идеи в 80286 оказались не верны и развитие пошло по другому пути.... Модель многозадачности и виртуальной памяти до сих пор используется та что была в 286-м, да, её немного дополняли (когда допустим добавляли PAE или в 386, 486 дополнительными типами табличных записей), но базово те-же таблицы трансляции адресов, те-же механики переключения режима работы и т.д. Что ты имеешь в виду над "пошло по другому пути", учитывая, что ничем утверждение не подкрепляешь — не понятно.


Нет. Идея сегментной модели с GDT , LDT, 4 кольцами и переключением задач в смысле 286 фактически оказалась невостребованной. А в 386 ее фактически заменили на страничный механизм, "обнулив" сегментный механизм от 286 путем настройки его на пустое преобразование (flat-модель). После этого про LDT/GDT и сегментные регистры лет 10 не вспоминали вообще, и только когда начали делать виртуальные машины, они опять понадобились.


m2l>И в целом, у тебя всё видео по больше части из несвязанных тезисов. Допустим, про 80286 говоришь, что о его особенностях говорить не будем, но главное совместимость. А почему не объяснить, из-за чего совместимость была так важна для Intel-а? Одним предложением сказать, что она на тот момент была одним из конкурентных преимуществ интеловских процессоров и т.д. А так получается просто ставишь перед фактом.


m2l>Или про Windows 2000, допустим, "ждали, что будет называться NT 5....", "...довольно серьезные изменения...", "...серьезно был переработан сервер, были достаточно хорошие возможности добавлены, с этой системой я довольно много работал. Вот ещё одна картинка Windows 2000." Почему хотя-бы два три таких изменения не озвучить? Ты же понимаешь, что вот такая характеристика — какие изменения не скажу, но они хорошии, я с ними работал — это не совсем корректно?


Потому что это обзор, а не рассмотрение деталей. В данном случае (переход от NT4 к 2000) — основное изменение — это Active Directory. Объяснить, что это такое 2 фразами невозможно.

PD>>Может быть, по результатам ее внесу изменения в лекцию. Может быть, я что-то важное пропустил ? Может быть, изложил что-то неверно ?


m2l>Смотри, то, что даешь исторический экскурс — это хорошо, полезно и ты молодец. НО:

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

Подумаю.


m2l>- часть фактов прямо переврано. Извини, целиком не смотрел, коснулся буквально 80286 и Windows NT — перепроверь те вещи, которые ты заявляешь как истинные утверждения.


Насчет "переврано" — чтобы ответить, нужно мне знать, что именно.
В остальном спасибо за критику.
With best regards
Pavel Dvorkin
Re[3]: история персональной ВТ
От: m2l  
Дата: 20.01.22 05:47
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Нет. Идея сегментной модели с GDT , LDT, 4 кольцами и переключением задач в смысле 286 фактически оказалась невостребованной. А в 386 ее фактически заменили на страничный механизм, "обнулив" сегментный механизм от 286 путем настройки его на пустое преобразование (flat-модель). После этого про LDT/GDT и сегментные регистры лет 10 не вспоминали вообще, и только когда начали делать виртуальные машины, они опять понадобились.


Я про такие фактические ошибки и говорю. Intel-овский страничный режим был сделан как раз в 80286.
LDT/GDT — это не регистры, а таблицы трансляции адресов вообще-то (регистр GDTR). К виртуальным машинам отношения они не имеют и именно через них всё (виртуальная память, переключение задач и т.д.) работает в общем-то до сих пор.
И в 386-м механику работы GDT/LDT/TSS никто не менял — она до сего дня дожила в таком же виде, в каком появилась в 286-м, лишь дополняясь и расширяясь.

m2l>>Или про Windows 2000, допустим, "ждали, что будет называться NT 5....", "...довольно серьезные изменения...", "...серьезно был переработан сервер, были достаточно хорошие возможности добавлены, с этой системой я довольно много работал. Вот ещё одна картинка Windows 2000." Почему хотя-бы два три таких изменения не озвучить? Ты же понимаешь, что вот такая характеристика — какие изменения не скажу, но они хорошии, я с ними работал — это не совсем корректно?


PD>Потому что это обзор, а не рассмотрение деталей. В данном случае (переход от NT4 к 2000) — основное изменение — это Active Directory. Объяснить, что это такое 2 фразами невозможно.


Если утрировать, то у тебя всё начинает скатывается к "серьезные изменения", без уточнения какие — и это не обзор.
Смотри: появились доменные службы Active Directory. Теперь, каждый компьютер мог не просто работать автономно, но и включен в состав корпоративной сети, с едиными механизмами аутентификации, авторизации, политиками безопасности и общими ресурсами. Вот как вы входите в свою почту с любого компьютера и получаете доступ к письмам, так и в AD вы входите с одним логином и паролем на любом компьютере, где вам разрешен вход и получаете те-же программы, сетевые диски и настройки системы.

Это сходу, насчет того, что нельзя двумя фразами описать.

m2l>>- часть фактов прямо переврано. Извини, целиком не смотрел, коснулся буквально 80286 и Windows NT — перепроверь те вещи, которые ты заявляешь как истинные утверждения.

PD>Насчет "переврано" — чтобы ответить, нужно мне знать, что именно.

Мне формат не нравится (вот, о чём выше как раз говорю, насчёт описательности), целиком все пересматривать тяжко и из-за того, что не везде собственно есть фактура (факты, а не их описательная характеристика) это сложно. И в целом, я больше читать, ролики смотреть — не моё.
Но бегло — выглядит так, что многовато ошибок и ты сам себя можешь легко перепроверить. Некоторые вещи, я специально глянул, в википедии даже есть. Поэтому вопрос наверное к твоим источникам.
Отредактировано 20.01.2022 6:29 m2l . Предыдущая версия .
Re[3]: история персональной ВТ
От: Michael7 Россия  
Дата: 20.01.22 06:13
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Возможно, неточно выразился. Убрали поддержку 16-битных приложений, да.


Боюсь в таком виде выйдет недоразумение. Из самых современных процессоров до сих пор никто не убирал ни поддержку 16-битных приложений, ни реальный режим работы. Не уверен, что если в bios отсутствует CRM (Legacy) режим, а в наличии только uefi, что встречается все чаще, удастся загрузить MS-DOS, но во всяком случае, если и не удастся, то не из-за отсутствия нужных режимов работы в процессоре, а из-за особенностей биос конкретных материнских плат, а не процессора.

Но в 64-битном режиме работы, в т.н. long mode режиме, действительно классические x86-е 16-битные операции недоступны (по опкодам частично вообще пересекаются с другими инструкциями).
Re[4]: история персональной ВТ
От: m2l  
Дата: 20.01.22 06:22
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Винда и была 16битной надстройкой над ДОС. В 3.0 вообще не было никаких дрпов для диска кроме как досовских. Был АПИ, но он преобразовывался в те самые вызовы 21 прерывания. Далее была эволюция. Некоторые подсистемы на 386+ машинах стали использовать 32-тный код. Но Винда 3.11 по прожнему запускалась на 286 машинах где защищенного режима не было вовсе. Так что защищенный режим она использовать не могла.


Защищённый режим как раз в 286 появился.
Если что, это не по вики говорю, а потому что сам касался работы с защищенным режимом и читал документацию, в том числе на 80286.
Re[4]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 06:27
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Я про такие фактические ошибки и говорю. Intel-овский страничный режим был сделан как раз в 80286.


Нет. В 80386, при введении 32-битного режима. 80286 был 16-битным.


m2l>Смотри: появились доменные службы Active Directory. Теперь, каждый компьютер мог не просто работать автономно, но и включен в состав корпоративной сети, с едиными механизмами аутентификации, авторизации, политиками безопасности и общими ресурсами. Вот как вы входите в свою почту с любого компьютера и получаете доступ к письмам, так и в AD вы входите с одним логином и паролем на любом компьютере, где вам разрешен вход и получаете те-же программы, сетевые диски и настройки системы.


Все верно, но тогда надо рассказывать про возможности , какие были в каждой из систем. Например о том, как появлялась сеть, как не не было штатно в 3.x, как ее чуть-чуть было не убрали из штатных средств в 95. Про то, как менялась графика — Hercules, CGA, EGA, VGA, SVGA. Про то, как менялись внешние устройства — SSD, flash, да и про изменение размеров HDD. Про появление USB. Про шины. Про то, как менялось ПО.
Никакого времени на это нет.

m2l>Это сходу, насчет того, что нельзя двумя фразами описать.


m2l>>>- часть фактов прямо переврано. Извини, целиком не смотрел, коснулся буквально 80286 и Windows NT — перепроверь те вещи, которые ты заявляешь как истинные утверждения.

PD>>Насчет "переврано" — чтобы ответить, нужно мне знать, что именно.

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


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

m2l>Но бегло — выглядит так, что многовато ошибок и ты сам себя можешь легко перепроверить. Некоторые вещи, я специально глянул, в википедии даже есть. Поэтому вопрос наверное к твоим источникам.


Нет источников. Все просто по памяти. Я об этом в самом начале и говорю.
With best regards
Pavel Dvorkin
Re[4]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 06:31
Оценка:
Здравствуйте, Michael7, Вы писали:

PD>>Возможно, неточно выразился. Убрали поддержку 16-битных приложений, да.


M>Боюсь в таком виде выйдет недоразумение. Из самых современных процессоров до сих пор никто не убирал ни поддержку 16-битных приложений, ни реальный режим работы. Не уверен, что если в bios отсутствует CRM (Legacy) режим, а в наличии только uefi, что встречается все чаще, удастся загрузить MS-DOS, но во всяком случае, если и не удастся, то не из-за отсутствия нужных режимов работы в процессоре, а из-за особенностей биос конкретных материнских плат, а не процессора.


M>Но в 64-битном режиме работы, в т.н. long mode режиме, действительно классические x86-е 16-битные операции недоступны (по опкодам частично вообще пересекаются с другими инструкциями).


Да, ты прав. Сформулирую следующий раз более точно.
With best regards
Pavel Dvorkin
Re[5]: история персональной ВТ
От: Michael7 Россия  
Дата: 20.01.22 06:33
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Защищённый режим как раз в 286 появился.


Есть небольшая путаница, хотя в документации от Intel — это protected mode (защищенный режим) и у 286-х и у 386-х, в терминологии Microsoft на 80286 — это был "стандартный" режим (работы Windows). Защищенный — уже в 386-м.
Re[5]: история персональной ВТ
От: m2l  
Дата: 20.01.22 06:43
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Нет. В 80386, при введении 32-битного режима. 80286 был 16-битным.


Источник?
Даже в вики про 286 написано про защитный режим. Пусть и давно но я с ним работал, и то что он появился в 80286 и что добавили в 80386 знаю из документации (в живую их тогда уже не было).
32-битная адресация и защищенный режим — это разные вещи, которые не связаны друг с другом.

PD>Все верно, но тогда надо рассказывать про возможности , какие были в каждой из систем. Например о том, как появлялась сеть, как не не было штатно в 3.x, как ее чуть-чуть было не убрали из штатных средств в 95. Про то, как менялась графика — Hercules, CGA, EGA, VGA, SVGA. Про то, как менялись внешние устройства — SSD, flash, да и про изменение размеров HDD. Про появление USB. Про шины. Про то, как менялось ПО.

PD>Никакого времени на это нет.

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

m2l>>>>- часть фактов прямо переврано. Извини, целиком не смотрел, коснулся буквально 80286 и Windows NT — перепроверь те вещи, которые ты заявляешь как истинные утверждения.

PD>>>Насчет "переврано" — чтобы ответить, нужно мне знать, что именно.

Ну вот насчет защищенного режима, мы все к консенсусу не придём. Блок 16-битных команд ещё от 8086 — вроде согласовали. Выше там насчет разработки Дейвом Windows NT ещё в конце 80-х — и до сих пор по тем спецификациям ядро работает. Шутка ли, разработать архитектуру операционной системы, которая уже 35 лет вытягивает на своем запасе прочности и для полного счастья реинкарнировалась в Windows Mobile, Windows Phone, XBOX OS (или как-она-там), Hyper-V....

PD>Нет источников. Все просто по памяти. Я об этом в самом начале и говорю.

извини, промотал. Но память ведь обманывает, постарайся сделать факт-чек. Вспомнил, быстро загуглил верно помнишь или нужно скорректировать — и качество материала улучшится на порядок.
Я даже насчет этих блоков команд 8086 и защищенного режима — да помню, но перед тем как писать полез в поисковик и быстро проверил, что помню коректно.
Отредактировано 20.01.2022 6:50 m2l . Предыдущая версия .
Re[4]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 06:44
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну, так обрезал бы и выложил на ютьюб. Или записал бы новую версию с учтом критики (уточнив все по энциклопедиям и гуглингу). В принципе полезная для нового поколения инфа. Я лично застал данный процесс примерно на стадии винды 3.0.


Может быть, когда прочитаю ее заново, запишу и выложу. Пока пусть остается как есть. Я ее открыл в основном для RSDN.
With best regards
Pavel Dvorkin
Re[6]: история персональной ВТ
От: m2l  
Дата: 20.01.22 06:46
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Есть небольшая путаница, хотя в документации от Intel — это protected mode (защищенный режим) и у 286-х и у 386-х, в терминологии Microsoft на 80286 — это был "стандартный" режим (работы Windows). Защищенный — уже в 386-м.


Если что, я под защищенным режимом подразумевают работу механизмов трансляции адресов (виртуальную память), переключение задач (сегмент TSS) и кольца защиты (проверку прав доступа к странице памяти) — это всё появилось в 286-м.
Re[6]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 06:47
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

PD>>а слова насчет того, что он гениальный менеджер и что он уловил, что ему в руки попало, я считаю верными.


ЕМ>А если не уловил? Тогда еще ничто не было определено. Вполне могло выглядеть, как "попробуем это, а не получится — займемся чем-нибудь другим". На стыке 80-90-х многие эксперты ни разу не сомневались, что у OS/2 блестящее будущее, и где она?


Все могло быть, но он победил, и, значит, был прав.
With best regards
Pavel Dvorkin
Re[6]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 07:15
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Источник?

m2l>Даже в вики про 286 написано про защитный режим. Пусть и давно но я с ним работал, и то что он появился в 80286 и что добавили в 80386 знаю из документации (в живую их тогда уже не было).
m2l>32-битная адресация и защищенный режим — это разные вещи, которые не связаны друг с другом.

Так, давай разберемся до конца

Есть 16-битный PM и 32-битный PM. Первый появился в 80286, второй — в 80386. Сейчас, естественно, есть и 64-битный.

16-битный PM — это LDT/GDT/TR, 4 кольца и т.д. Сегментная модель. Страниц нет как понятия.
32-битный PM появился в 80286. Добавлены регистры CRi, страничный механизм, Page Directory, Page tables, трансляция линейного адреса. Для совместимости с PM-16, естественно, оставили LDT/GDT, и они теперь под 32 бита, но практически все ОС настраивают сегменты так, чтобы из база была 0, а лимит 4Г. То есть фактически "обнуляют" сегментный механизм от 80286 — он есть, но его преобразование есть тождественное преобразование.

Кстати, кое-что от PM-16 утеряли. Вместо 4 колец реально осталось 2 — User/Supervisor, там один лишь бит в PTE. Но это никого не огорчило — колец 1 и 2 никогда реально и не было. Как, впрочем, и задач в смысле 80286 с их переключением средствами самого процессора с переключением LDT. И сама идея иметь одну GDT и много LDT под каждую задачу тоже нигде не использовалась — в Windows 3.x все задачи Windows сидели в одной LDT и переключались средствами Windows, а не процессора.

Более того. В какой-то момент в 2000-е годы хотели вообще LDT/GDT исключить. Но тут оказалось, что без них нельзя сделать виртуальные машины — каждой нужно свое пространство. В общем, нашлось им в конце концов применение.

Источников сколько хочешь.

https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D1%89%D0%B8%D1%89%D1%91%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC

https://ru.wikipedia.org/wiki/Intel_80386
With best regards
Pavel Dvorkin
Re[8]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 09:30
Оценка:
Здравствуйте, m2l, Вы писали:

PD>>Для совместимости с PM-16, естественно, оставили LDT/GDT, и они теперь под 32 бита, но практически все ОС настраивают сегменты так, чтобы из база была 0, а лимит 4Г. То есть фактически "обнуляют" сегментный механизм от 80286 — он есть, но его преобразование есть тождественное преобразование.

m2l>Нет. Таблицы трансляции работают через таблицы GDT/LDT — они часть общего механизма.

Я с этим и не спорю, это верно. Вот только фактически все элементы LDT/GDT и в Windows, и в Linux настроены так, что база у них 0, а лимит 4 Г. В принципе LDT и GDT могли бы иметь сегменты любого размера <4Гб и с базой от 0 до 4Г. В плоской же модели (flat) используется лишь вариант с 0 и 4 Г соответственно. Это и есть то, что я назвал обнулением. Конечно, LDT/GDT и сегментные регистры (CS, DS...) никуда не делись, но поскольку каждый сегментный регистр показывает на элемент LDT/GDT с нулевой базой, то

CS16:OFF32 -> LDT/GDT -> OFS32

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



PD>>Кстати, кое-что от PM-16 утеряли. Вместо 4 колец реально осталось 2 — User/Supervisor, там один лишь бит в PTE. Но это никого не огорчило — колец 1 и 2 никогда реально и не было. Как, впрочем, и задач в смысле 80286 с их переключением средствами самого процессора с переключением LDT. И сама идея иметь одну GDT и много LDT под каждую задачу тоже нигде не использовалась — в Windows 3.x все задачи Windows сидели в одной LDT и переключались средствами Windows, а не процессора.

m2l>Нет.
m2l>* Бит в PTE определяет кому страница принадлежит — программе или операционной системе, это немного другой механизм. Разделения на 4-ре кольца (в современных, учитывая SMM можно считать что и больше) так и осталось.
m2l>* Байка о двух режимах идет от Windows NT, которая изначально разрабатывалась ещё под процессоры DEC и Alpha — а в одном из них защищенный режим (его не Intel придумал, а сделал аналог уже существовавших решений) был ограничен как-раз двумя уровнями. Отсюда и взялась эта унификация, когда всю систему уложили в 0 и 3 кольца. И то, спроектировано ядро так, что те-же драйверы устройств, изначально можно было вынести в ring 1 или ring 2. Эти элементы микроядра небыли использованы по большей мере из-за падения производительности.

Это, скажем так, не вполне верно. Кольца остались, конечно, вот только 4 кольца механизма LDT/GDT проецируются на 2 режима механизма User/Supervisor. А именно, 3 кольцо есть User, все остальное — Supervisor. Но поскольку реально кольца 1 и 2 не использовались никогда, это никого не беспокоило тоже никогда, и все считают, что 0 — это Supervisor, 3- это User, а про 1 и 2 никто и не вспоминает.


m2l>* Сама идея одной GDT и многих LDT вполне себе живёт по сей день и в Windows и в Linux. Где ядро и драйверы работают в общем для всей остальной системы адресатном пространстве, а прикладные приложения в другой его части.


Бог с тобой. Тут ты просто не разбираешься. Все в одном АП. Старшая часть (от 0x80000000 стандартно) отводится ядру, младшая — пользовательской части

https://royallib.com/read/russinovich_mark/1vnutrennee_ustroystvo_Windows_gl_1_4.html#0

см. рис 1.4

А LDT вообще одна, я уже объяснил, как она используется.


>Для 32-разрядных систем тема с пределом в 2-гигабайта на процесс (3-и при соответствующей настройке) — много LDT именно из-за того, что оставшиеся 2-а (1-н) — общее для всей системы адресатное пространство ядра (GDT).


Это уже чистая фантазия.

m2l>Насчет Windows 3.x ничего не скажу — не знаю.


PD>>Более того. В какой-то момент в 2000-е годы хотели вообще LDT/GDT исключить. Но тут оказалось, что без них нельзя сделать виртуальные машины — каждой нужно свое пространство. В общем, нашлось им в конце концов применение.

m2l>На них завязано переключение задач. Я не знаю кто хотел отказаться и т.д. Но ты по ходу что-то с чем-то путаешь.


PD>>Источников сколько хочешь.


PD>>https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D1%89%D0%B8%D1%89%D1%91%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC

PD>>https://ru.wikipedia.org/wiki/Intel_80386
m2l>Там нет ни слова об отказе от GDT/LDT, их использования для виртуальных машин или ещё-чем то подобном. Наоборот, описывается как они используются для трансляции адресов.

m2l>PS. ИМХО ты не совсем понимаешь всю гибкость защищенного режима. Разнесение адресации на GDT/LDT/PTE позволяет допустим отправлять в своп куски памяти с неиспользуемыми сейчас фрагментами PTE/LDT. Разнесение GDT/LDT позволяет делать общее для всех программ адресатное пространство, без дополнительных действий для его поддержания (для Windows и Linux в нём находится ядро, драйверы, DMA и всё что относится к ядру). Применение раздельных LDT позволяет делать для двух процессов общую область памяти, которая у каждого отображена в свои адреса. И таких фишек — очень много. AMD когда делала x64-86 не просто так сохранила большую часть аспектов этой работы для long mode — им просто сложно найти адекватную замену.


Все верно. Позволяет. Более того, он позволяет адресовать до 2^48 в 32-битном процессоре, разумеется, при отказе от flat-модели. Просто потому что SEG16:OFFS32 — это 48 бит.
Вот только пока речи не идет о виртуальных машинах, все эти возможности не используются. Ни несколько LDT (все дескрипторы в одной LDT и все настроены на flat), ни переключение задач в смысле 80286 (это вообще, кажется, нигде не использовалось, а переключение процессов идет через CR3 страничного механизма.
With best regards
Pavel Dvorkin
Отредактировано 20.01.2022 9:57 Pavel Dvorkin . Предыдущая версия .
Re[6]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 09:47
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Нет. Там все было сложнее. Защищённый режим действительно появился в 286м. Но одно дело режим процессора, а другое работа ОС в нем. В 286м Intel-ом была сделана фатальная стратегическая ошибка — нельзя было обратиться к реальному режиму из защищённого


Обращаться вообще нельзя, а переключиться можно было — как бы иначе можно было бы в PM-16 оказаться ? Компьютер же всегда стартует в RM-16


>и вернутся в реальный режим было нельзя.


А вот это верно. Не было таких средств у процессора. Но на IBM PC оказалось, что можно все же. Для этого надо было что-то послать в порт клавиатуры (sic!) , после чего производился сброс процессора и он стартовал заново в RM-16 с сохранением содержимого ОП. Сам эту процедуру пробовал в те времена


>В результате защищённый режим 286 никто не использовал (кроме не пошедшего в жизнь MS Xenix, который я даже не видел).


Ну уж нет. Windows 3.1 именно его и использовала, если ее запускали на 286 процессоре. Просто больше ей нечего было использовать. И работала она там в режиме PM-16 и имела доступ ко всем 2 или 4 Мб, которые были на моих машинах. Я сам для нее программы писал под Borland C++.

https://ru.wikipedia.org/wiki/Windows_3.x

Режимы доступа к памяти
Семейство Windows 3.x могло функционировать в трёх различных режимах работы с памятью:

Реальный режим, предназначенный для старых компьютеров (8086, 8088, 80186).
Стандартный режим, предназначенный для компьютеров с процессором 80286.
Расширенный режим 386, предназначенный для компьютеров с процессором 80386.

и далее их описание.

>Так что защищённый режим в винде появился только для 386 машин.


Расширенный режим появился там, а не защищеннный

>В i386 появилась виртуализация для DOS–сессий.


А вот это верно. В 286 , чтобы запустить DOS-программу, надо было переключаться, как написано выше. Переключиться было можно, но проблем было выше крыши. DOS-программа плевать хотела на все LDT/GDT и распоряжалась в 1 Мб как ей хотелось. Поэтому при переходе в DOS надо было все оттуда сохранить или постараться там ничего в PM-16 не хранить. Второе в общем случае невозможно, поэтому был компромисс — хранили там как можно меньше (проблема 1 Мбайта)
With best regards
Pavel Dvorkin
Re[9]: история персональной ВТ
От: m2l  
Дата: 20.01.22 10:19
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

m2l>>Нет. Таблицы трансляции работают через таблицы GDT/LDT — они часть общего механизма.


PD>Я с этим и не спорю, это верно. Вот только фактически все элементы LDT/GDT и в Windows, и в Linux настроены так, что база у низ 0, а лимит 4 Г. В принципе LDT и GDT могли бы иметь сегменты любого размера <4Гб и с базой от 0 до 4Г. В плоской же модели (flat) используется лишь вариант с 0 и 4 Г соответственно. Это и есть то, что я назвал обнулением. Конечно, LDT/GDT и сегментные регистры (Cs, DS...) никуда не делись, но поскольку каждый сегментный регистр показывает на элемент LDT/GDT с нулевой базой, то


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

PD>CS16:OFF32 -> LDT/GDT -> OFS32

PD>то есть фактически линейный адрес (после преобразования по сегментному механизму) численно равен смещению с сегментированном адресе.
Ага. Как это мешает управлению адресным пространством через ldt? Что бы не быть голословным: https://github.com/torvalds/linux/blob/master/arch/x86/kernel/ldt.c
GDT — указывает на PTE общие для всех процессов, LDT — указывает на таблицы PTE адресующие виртуальное адресатное пространство самого процесса.

m2l>>* Бит в PTE определяет кому страница принадлежит — программе или операционной системе, это немного другой механизм. Разделения на 4-ре кольца (в современных, учитывая SMM можно считать что и больше) так и осталось.

m2l>>* Байка о двух режимах идет от Windows NT, которая изначально разрабатывалась ещё под процессоры DEC и Alpha — а в одном из них защищенный режим (его не Intel придумал, а сделал аналог уже существовавших решений) был ограничен как-раз двумя уровнями. Отсюда и взялась эта унификация, когда всю систему уложили в 0 и 3 кольца. И то, спроектировано ядро так, что те-же драйверы устройств, изначально можно было вынести в ring 1 или ring 2. Эти элементы микроядра небыли использованы по большей мере из-за падения производительности.

PD>Это, скажем так, не вполне верно. Кольца остались, конечно, вот только 4 кольца механизма LDT/GDT проецируются на 2 режима механизма User/Supervisor. А именно, 3 кольцо есть User, все остальное — Supervisor. Но поскольку реально кольца 1 и 2 не использовались никогда, это никого не беспокоило тоже никогда, и все считают, что 0 — это Supervisor, 3- это User, а про 1 и 2 никто и не вспоминает.


Ты путаешь два совершенно разных механизма. Двухбитный DPL дошел до наших с четырьмя уровнями защиты. И он задаётся дескрипторами GDT/LDT. Тот бит в PTE о котором устанавливает флаг, доступности страницы только для супервизора DPL=0. И он дополняет механику четырех колец защиты тем что запрещает "обратное чтение". Т.е. без этого бита процесс с DPL=2 может прочесть/записать память с DPL=2 или DPL=3, но не может с DPL=1 или DPL=0. А с ним можно создавать страницы с DPL=3 и в адресатном пространстве процесса, которые доступны только из ring-0 — для хранения паролей, или криптографических ключей и т.д. По сути это самый первый прообраз защищенных анклавов. И то, что ты проецируешь его на механику DPL — это ошибка.


m2l>>* Сама идея одной GDT и многих LDT вполне себе живёт по сей день и в Windows и в Linux. Где ядро и драйверы работают в общем для всей остальной системы адресатном пространстве, а прикладные приложения в другой его части.


PD>Бог с тобой. Тут ты просто не разбираешься. Все в одном АП. Старшая часть (от 0x80000000 стандартно) отводится ядру, младшая — пользовательской части

PD>https://royallib.com/read/russinovich_mark/1vnutrennee_ustroystvo_Windows_gl_1_4.html#0
PD>см. рис 1.4

Я про это и говорю. Системная часть — адресуется через GDT, пользовательское адресатное пространство через LDT.

PD>А LDT вообще одна, я уже объяснил, как она используется.

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

>>Для 32-разрядных систем тема с пределом в 2-гигабайта на процесс (3-и при соответствующей настройке) — много LDT именно из-за того, что оставшиеся 2-а (1-н) — общее для всей системы адресатное пространство ядра (GDT).

PD>Это уже чистая фантазия.
Исходный код выше. Любой отладчик ядра для Windows, благо в наше время с этим всё просто.

m2l>>PS. ИМХО ты не совсем понимаешь всю гибкость защищенного режима. Разнесение адресации на GDT/LDT/PTE позволяет допустим отправлять в своп куски памяти с неиспользуемыми сейчас фрагментами PTE/LDT. Разнесение GDT/LDT позволяет делать общее для всех программ адресатное пространство, без дополнительных действий для его поддержания (для Windows и Linux в нём находится ядро, драйверы, DMA и всё что относится к ядру). Применение раздельных LDT позволяет делать для двух процессов общую область памяти, которая у каждого отображена в свои адреса. И таких фишек — очень много. AMD когда делала x64-86 не просто так сохранила большую часть аспектов этой работы для long mode — им просто сложно найти адекватную замену.


PD>Все верно. Позволяет. Более того, он позволяет адресовать до 2^48 в 32-битном процессоре, разумеется, при отказе от flat-модели. Просто потому что SEG16:OFFS32 — это 48 бит.

PD>Вот только пока речи не идет о виртуальных машинах, все эти возможности не используются. Ни несколько LDT (все дескрипторы в одной LDT и все настроены на flat), ни переключение задач в смысле 80286 (это вообще, кажется, нигде не использовалось, а переключение проессов идет через CR3 страничного механизма.

Слушай, ведь лютейший же бред пишешь....

Ты же сам блин ссылаешься, у тебя под рисунком про AWE написано !?! Обычный прикладной интерфейс, к примеру SQL Server умеет им пользоваться. — Ну твоя же ссылка, вот прямо твой рисунок, ну прочитай один абзац текста.
Та же 48-битная адресация — берешь 32-битную Windows и запускаешь в ней отдельные процессы жрущие память. Каждый по отдельности — не более 2 Гб (3 при настройке параметров загрузки). А все вмести — начнут свопится только когда физическая память закончится. Windows с помощью этой адресации 2 ГБ памяти каждого процесса раскидает и на 4 и на 24 и на 48 гигабайт физической памяти. Нет тут никаких отказов ни от каких моделей — это совершенно штатные вещи.
Re[2]: история персональной ВТ
От: MaximVK Россия  
Дата: 20.01.22 10:22
Оценка:
Здравствуйте, _ilya_, Вы писали:

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


Пока не будут решены проблемы удобного ввода и вывода, то не смогут заменить. Сейчас стал популярен промежуточный вариант. Ноутбук + докстанция + большой монитор (или несколько) + клавиатура. Т.е. сам PC не нужен, есть достаточно мощный ноут, к которому можно подключать периферию для нормальной работы. Ну и другой путь развития — это терминалы доступа к решениям в облаке — это уже активно используется в крупных компаниях.
Re[7]: история персональной ВТ
От: Privalov  
Дата: 20.01.22 10:46
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Если что, я под защищенным режимом подразумевают работу механизмов трансляции адресов (виртуальную память), переключение задач (сегмент TSS) и кольца защиты (проверку прав доступа к странице памяти) — это всё появилось в 286-м.


Все верно. Только в 286, ЕМНИП, виртуальная память работала сегментами, а не страницами. Страничный доступ появился в 386.
Re[8]: история персональной ВТ
От: m2l  
Дата: 20.01.22 10:53
Оценка:
Здравствуйте, Privalov, Вы писали:

m2l>>Если что, я под защищенным режимом подразумевают работу механизмов трансляции адресов (виртуальную память), переключение задач (сегмент TSS) и кольца защиты (проверку прав доступа к странице памяти) — это всё появилось в 286-м.


P>Все верно. Только в 286, ЕМНИП, виртуальная память работала сегментами, а не страницами. Страничный доступ появился в 386.


Да, тут промахнулся.
Re[7]: история персональной ВТ
От: Privalov  
Дата: 20.01.22 11:01
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:


PD>А вот это верно. Не было таких средств у процессора. Но на IBM PC оказалось, что можно все же. Для этого надо было что-то послать в порт клавиатуры (sic!) , после чего производился сброс процессора и он стартовал заново в RM-16 с сохранением содержимого ОП. Сам эту процедуру пробовал в те времена


Точно, сброс процессора. Деталей уже не помню. Можно братьев Фроловых поднять, у них целая книжка про защищенный режим была. Когда-то пробовал тоже.
ЕМНИП, нужно было послать что-то в порт 0x61. Этот порт, опять-таки ЕМНИП, был многоцелевым, использовался не только клавиатурой.

PD>Реальный режим, предназначенный для старых компьютеров (8086, 8088, 80186).

PD>Стандартный режим, предназначенный для компьютеров с процессором 80286.
PD>Расширенный режим 386, предназначенный для компьютеров с процессором 80386.

Это для 3.0. В 3.1 реальный режим убрали.
Re[4]: история персональной ВТ
От: Mr.Delphist  
Дата: 20.01.22 11:31
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Она в ней нуждалась ровно постольку, поскольку не имела отдельного загрузчика, и запуск инициировался из-под DOS. Затем она забирала себе всю свободную память, переключалась в защищенный режим, разворачивала там ядро, грузила туда 32-разрядные VxD (аналоги драйверов ядра в NT), и поверх всего этого создавала стандартную 16-разрядную виндовую среду.


Но из той винды можно было выйти обратно в DOS. Из Win95 выйти уже было нельзя — только выключить/перезагрузить (хотя, если память не изменяет, можно было сделать вариант загрузки Win95 command prompt only, и работать "почти как в MS-DOS", причём эта система была заметно шустрее своей предшественницы)
Re[4]: история персональной ВТ
От: elmal  
Дата: 20.01.22 11:38
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Винда и была 16битной надстройкой над ДОС. В 3.0 вообще не было никаких дрпов для диска кроме как досовских. Был АПИ, но он преобразовывался в те самые вызовы 21 прерывания. Далее была эволюция. Некоторые подсистемы на 386+ машинах стали использовать 32-тный код. Но Винда 3.11 по прожнему запускалась на 286 машинах где защищенного режима не было вовсе. Так что защищенный режим она использовать не могла.

3.11 или 3.1? 3.1 я на 286-м компе застал, 3.11 я видел только на 386-м. Кроме того, в 286-м был свой защищенный режим. Он не совсем такой, как появился в 386-м, в 386-м его неплохо так переколбасили, но уже в 286-м позволял адресовать гигабайт.
Re[5]: история персональной ВТ
От: Michael7 Россия  
Дата: 20.01.22 12:57
Оценка:
Здравствуйте, Mr.Delphist, Вы писали:

MD>Но из той винды можно было выйти обратно в DOS. Из Win95 выйти уже было нельзя — только выключить/перезагрузить (хотя, если память не изменяет, можно было сделать вариант загрузки Win95 command prompt only, и работать "почти как в MS-DOS", причём эта система была заметно шустрее своей предшественницы)


Не уверен, что мне память не изменяет, но вроде хотя штатно выйти нельзя было, существовал какой-то хак, чтобы из Win95 в DOS вывалиться. Не в сеанс MS-DOS или загрузку такая, а именно закончить работу.
Re[5]: история персональной ВТ
От: Michael7 Россия  
Дата: 20.01.22 12:59
Оценка:
Здравствуйте, elmal, Вы писали:

E>3.11 или 3.1? 3.1 я на 286-м компе застал, 3.11 я видел только на 386-м. Кроме того, в 286-м был свой защищенный режим. Он не совсем такой, как появился в 386-м, в 386-м его неплохо так переколбасили, но уже в 286-м позволял адресовать гигабайт.


Емнип только 16 Мб, так как на 286-х защищенный режим был 24-битным, откуда гигабайт набирался?
Re[6]: история персональной ВТ
От: elmal  
Дата: 20.01.22 13:25
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Емнип только 16 Мб, так как на 286-х защищенный режим был 24-битным, откуда гигабайт набирался?

1Gb это с виртуальной памятью.
Re[6]: история персональной ВТ
От: Privalov  
Дата: 20.01.22 14:12
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Не уверен, что мне память не изменяет, но вроде хотя штатно выйти нельзя было, существовал какой-то хак, чтобы из Win95 в DOS вывалиться. Не в сеанс MS-DOS или загрузку такая, а именно закончить работу.


Я тоже не уверен. Давно Чикагу не видел. ЕМНИП, было два варианта. Либо не загружать графику, либо выйти в режим командной строки. Но, снова-таки ЕМНИП, в первом случае процессор работал в реальном режиме, а во втором — в режиме виртуального 8086. В последнем случае некоторые программы не запускались. Их было немного, но все же.
Re[3]: история персональной ВТ
От: elmal  
Дата: 20.01.22 14:17
Оценка:
Здравствуйте, MaximVK, Вы писали:

MVK>Пока не будут решены проблемы удобного ввода и вывода, то не смогут заменить. Сейчас стал популярен промежуточный вариант. Ноутбук + докстанция + большой монитор (или несколько) + клавиатура. Т.е. сам PC не нужен, есть достаточно мощный ноут, к которому можно подключать периферию для нормальной работы. Ну и другой путь развития — это терминалы доступа к решениям в облаке — это уже активно используется в крупных компаниях.

Как ноутбук ты охлаждать будешь? Сейчас основная проблема — охлаждение. И если в десктопе можно поставить огроменный радиатор и вентилятор, то в ноуте у его владельца ожог будет если железо будет работать на тех же частотах, что и в десктопе.
Re[4]: история персональной ВТ
От: MaximVK Россия  
Дата: 20.01.22 18:24
Оценка:
Здравствуйте, elmal, Вы писали:

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


Я думаю, что зависит от задач. Мне вполне хватает моего ноута, все числодробилки все равно в облаке. Вроде как маки на M1 довольно производительные и памяти можно до 32Gb поставить.
Re[5]: история персональной ВТ
От: Mr.Delphist  
Дата: 21.01.22 12:53
Оценка:
Здравствуйте, elmal, Вы писали:

E>в 386-м его неплохо так переколбасили, но уже в 286-м позволял адресовать гигабайт.


Может-то он может, но на практике даже 16 мегабайт собрать — позволяла не каждая материнка (что по числу разъёмов, что по поддержке в чипсете). Тем более что 286 — это обычно 30-пиновые SIMM (даже не знаю, бывали ли в природе мамки на 72-pin для 286 процов, даже на тройках это было примерно 50/50 распространено). Не говоря уж про то, что такой объём памяти даже купить было дико дорого по тем временам.
Re[3]: история персональной ВТ
От: _ilya_  
Дата: 21.01.22 18:14
Оценка:
Здравствуйте, Michael7, Вы писали:
M> Потому что нужна нормальная внешняя клавиатура, мышь и вообще говоря, более крупный экран и даже несколько.
Они обычно идут и в коплекте с чехлом-клавой. В клаве есть тачпад, мышку полноценно не заменяет, но есть и блютуз и запросто беспроводные мышки и usb — можно и проводную подрубить. У некоторых есть микро-HDMI выход чтобы монитор/телек/проектор подрубить.
Экраны там стали фантастически качественными, т.е. это скорее самое важное у китайских планшетов, которые чуть дороже чем остальные китайцы стоят если там экран норм... В таких FHD или 2.5K IPS экраны, и стоит за такое доплатить.

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

Производительность скакнула нереально. Железяка (алюминиевая, не такая и тяжелая — 1кг+-) с экраном 10" и толщиной миллиметров 10 — 8гиг памяти, ssd — на них всегде он и был, просто стал быстрым как обычные ssd, а не просто флеш карта. И главное — процы, т.е. 4 ядерник на 2+GHz, при этом потребление ничто, это уже не шутка и вполне сравним с PC десятилетней давности, т.е. не совсем тормоз.
Отредактировано 21.01.2022 18:20 _ilya_ . Предыдущая версия . Еще …
Отредактировано 21.01.2022 18:19 _ilya_ . Предыдущая версия .
Отредактировано 21.01.2022 18:17 _ilya_ . Предыдущая версия .
Отредактировано 21.01.2022 18:15 _ilya_ . Предыдущая версия .
Отредактировано 21.01.2022 18:15 _ilya_ . Предыдущая версия .
Re[2]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 22.01.22 03:47
Оценка:
Здравствуйте, кт, Вы писали:

кт>И на другую тему. Вполне можно упомянуть и советский персональный компьютер «Мир-2». Мне удалось еще увидеть его вживую.


Я с ним работал. Очень оригинальное решение, но к персональным компьютерам отнести его все же нельзя.

>Очень достойно по тем временам. Занимал он, конечно, весь стол


Не стол, а целую комнату, если учесть и периферию.

Я не так уж плохо знаю историю и доперсональной техники, в основном, конечно, советской 1960-70 годов, ну и IBM 360/370 и PDP-11. Мир -2 — из того же поколения, она появилась у нас на факультете в 1976 году. Но добавлять рассказ про доперсональную технику не буду , не лезет он сюда, да и времени нет.
With best regards
Pavel Dvorkin
Отредактировано 22.01.2022 3:58 Pavel Dvorkin . Предыдущая версия .
Re[8]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 06:55
Оценка:
Здравствуйте, Privalov, Вы писали:

PD>>А вот это верно. Не было таких средств у процессора. Но на IBM PC оказалось, что можно все же. Для этого надо было что-то послать в порт клавиатуры (sic!) , после чего производился сброс процессора и он стартовал заново в RM-16 с сохранением содержимого ОП. Сам эту процедуру пробовал в те времена


P>Точно, сброс процессора. Деталей уже не помню. Можно братьев Фроловых поднять, у них целая книжка про защищенный режим была. Когда-то пробовал тоже.

P>ЕМНИП, нужно было послать что-то в порт 0x61. Этот порт, опять-таки ЕМНИП, был многоцелевым, использовался не только клавиатурой.

Вот очень хорошо расписано.

 ;Wait for a empty Input Buffer
 wait1:
 in   al, 0x64
 test al, 00000010b
 jne  wait1
 
 ;Send 0xFE to the keyboard controller.
 mov  al, 0xFE
 out  0x64, al


PD>>Реальный режим, предназначенный для старых компьютеров (8086, 8088, 80186).


Я сомневаюсь, что 80186 стоило включать в этот список.
The God is real, unless declared integer.
Re[9]: история персональной ВТ
От: Privalov  
Дата: 24.01.22 07:06
Оценка:
Здравствуйте, netch80, Вы писали:

N>Вот очень хорошо расписано.


У, я все забыл... 0x64, конечно.

N>Я сомневаюсь, что 80186 стоило включать в этот список.


Это не я его включал. Я 80186 и живым-то не видел.
Re[10]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 07:13
Оценка:
Здравствуйте, m2l, Вы писали:

PD>>Я с этим и не спорю, это верно. Вот только фактически все элементы LDT/GDT и в Windows, и в Linux настроены так, что база у низ 0, а лимит 4 Г. В принципе LDT и GDT могли бы иметь сегменты любого размера <4Гб и с базой от 0 до 4Г. В плоской же модели (flat) используется лишь вариант с 0 и 4 Г соответственно. Это и есть то, что я назвал обнулением. Конечно, LDT/GDT и сегментные регистры (Cs, DS...) никуда не делись, но поскольку каждый сегментный регистр показывает на элемент LDT/GDT с нулевой базой, то


m2l>Можно, я не буду запускать отладчик и делать дамп gdt/ldt, а просто спрошу — откуда ты это взял?


Нельзя. Запусти и посмотри.

m2l>GDT — указывает на PTE общие для всех процессов, LDT — указывает на таблицы PTE адресующие виртуальное адресатное пространство самого процесса.


LDT не может в принципе указывать на таблицы paging DAT. В x86 это так не работает.
LDT используется для двух вещей:
1. Селектор в таблице имеет указание разрядности исполняемой задачи (16 или 32, 32 или 64).
2. FS и/или GS указывают на блок данных текущей нити, в котором или напрямую, или указатели на thread-local data.

Причём в 64-битном режиме остаётся только первое.

PD>>Это, скажем так, не вполне верно. Кольца остались, конечно, вот только 4 кольца механизма LDT/GDT проецируются на 2 режима механизма User/Supervisor. А именно, 3 кольцо есть User, все остальное — Supervisor. Но поскольку реально кольца 1 и 2 не использовались никогда, это никого не беспокоило тоже никогда, и все считают, что 0 — это Supervisor, 3- это User, а про 1 и 2 никто и не вспоминает.


m2l>Ты путаешь два совершенно разных механизма. Двухбитный DPL дошел до наших с четырьмя уровнями защиты. И он задаётся дескрипторами GDT/LDT. Тот бит в PTE о котором устанавливает флаг, доступности страницы только для супервизора DPL=0. И он дополняет механику четырех колец защиты тем что запрещает "обратное чтение".


Верно. Но так как это в page table entry, никакой связи с GDT/LDT у него нет.

m2l>Я про это и говорю. Системная часть — адресуется через GDT, пользовательское адресатное пространство через LDT.


Нет, основные ОС это не используют. В них вся защита в механизме paging DAT по правам доступа к страницам.

PD>>А LDT вообще одна, я уже объяснил, как она используется.

m2l>Ага, особенно на многоядерных машинах LDT одна. Адресующая одни и те же таблицы PTE для всех адресатных пространств одновременно работающих процессов разом по твоему?

И ещё раз и ещё раз: LDT не адресует PTE! Разберись с матчастью.

>>>Для 32-разрядных систем тема с пределом в 2-гигабайта на процесс (3-и при соответствующей настройке) — много LDT именно из-за того, что оставшиеся 2-а (1-н) — общее для всей системы адресатное пространство ядра (GDT).

PD>>Это уже чистая фантазия.
m2l>Исходный код выше. Любой отладчик ядра для Windows, благо в наше время с этим всё просто.

Ну вот и примени его...

m2l>Ты же сам блин ссылаешься, у тебя под рисунком про AWE написано !?! Обычный прикладной интерфейс, к примеру SQL Server умеет им пользоваться. — Ну твоя же ссылка, вот прямо твой рисунок, ну прочитай один абзац текста.

m2l>Та же 48-битная адресация — берешь 32-битную Windows и запускаешь в ней отдельные процессы жрущие память. Каждый по отдельности — не более 2 Гб (3 при настройке параметров загрузки). А все вмести — начнут свопится только когда физическая память закончится. Windows с помощью этой адресации 2 ГБ памяти каждого процесса раскидает и на 4 и на 24 и на 48 гигабайт физической памяти. Нет тут никаких отказов ни от каких моделей — это совершенно штатные вещи.

И всё это через paging DAT (Intel SDM — том 3 глава 4), а не через сегментацию (она отдельно рассмотрена, глава 5).
The God is real, unless declared integer.
Отредактировано 24.01.2022 7:54 netch80 . Предыдущая версия .
Re[4]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 08:01
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Но в 64-битном режиме работы, в т.н. long mode режиме, действительно классические x86-е 16-битные операции недоступны (по опкодам частично вообще пересекаются с другими инструкциями).


Под 16, 32 и 64 бита исполнения всё надо по-разному компилировать. Это вам не SystemZ.
Но насчёт "недоступности" 16-битных операций неверно: какой-нибудь "add ax, bx" точно так же беспроблемно компилируется в 64-битном режиме.
"Пересечение по опкодам" это о чём вообще? Естественно, для 64 бит компилировать надо чуть иначе.
The God is real, unless declared integer.
Re[3]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 08:04
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

m2l>>Например, рассказываешь про 80286 и говоришь, что вот, наконец-то в 64-разрядных процессорах убрали блок 16-битных команд — откуда хоть вообще этот бред? Вот, например: https://www.youtube.com/watch?v=bS9hiSwL1KY. Штатно x86_64 процессоры стартуют в 16-битном режиме, как обычные x86. А уже потом, загрузчик (или UEFI прошивка) последовательно переключается в 64-разрядный режим.


PD>Возможно, неточно выразился. Убрали поддержку 16-битных приложений, да.


Это специфика Windows. Вообще, да, дорого переключаться в legacy ради 16-битного режима и обратно в long, но где нужно — это делают.

PD>Нет. Идея сегментной модели с GDT , LDT, 4 кольцами и переключением задач в смысле 286 фактически оказалась невостребованной. А в 386 ее фактически заменили на страничный механизм, "обнулив" сегментный механизм от 286 путем настройки его на пустое преобразование (flat-модель). После этого про LDT/GDT и сегментные регистры лет 10 не вспоминали вообще, и только когда начали делать виртуальные машины, они опять понадобились.


Ну не в 386, а в большинстве 32-разрядных ОС. Так будет точнее. В процессорах "обнулили" сегментный механизм действительно только в long mode, начав игнорировать базу в селекторе.

Про виртуальные машины я не совсем понял, там вроде другой механизм (ещё один).
The God is real, unless declared integer.
Re[7]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 08:05
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>«осенью 1959 года Китов подготовил доклад для ЦК КПСС (тоже на имя Н. С. Хрущёва), в котором предложил идею создания единой автоматизированной системы управления для вооружённых сил и для народного хозяйства страны на базе общей сети вычислительных центров, создаваемых и обслуживаемых Министерством обороны СССР (проект под названием «Красная книга»).»


ЭФ>Сейчас это уже неприменимая информация. Уже не создать такую систему (она есть).


Точно есть?
The God is real, unless declared integer.
Re[3]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 08:25
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Мне кажется, что Itanium еще и просто опоздал родиться. Его разработки (которые еще HP начала) велись все 90-е и он должен был появиться еще примерно в 1997-м году. Но не смогли, слишком сложным оказался.


Любой EPIC может эффективно работать только при предсказуемом (в пределах плюс-минус нескольких процентов) времени выполнения каждого действия. Когда основная непредсказуемость в выполнении это доступ к DRAM с размахом отклонения в 200-300 тактов — EPIC курит в сторонке по сравнению с более заточенными на такое подходами (традиционный OoO на основе Tomasulo).
Itanium мог работать или поверх SRAM вместо DRAM (умножай ценник памяти на 10-20) или если бы оправдались прогнозы на RDRAM (который оказался пшиком от патентных мошенников), или если бы было качественное предсказание времени доступа, пусть даже с prefetchʼем (работает сейчас только для некоторых шаблонов потоковой обработки). RDRAM умер, SRAM не вошла в силу, потоковая мультимедия не стала >99% работ на процессоре. С DDR5 длительность максимальной задержки доступа DRAM только выросла. Шансов для EPIC как для архитектуры в сколь-нибудь массовом или серверном сегменте (где нужно много RAM) нет и будет не скоро. (Намёк на Эльбрус2000 с таким же EPIC.)

M> Выйди он хотя бы в 1999-м — и скорее всего, amd64 не появился бы, а рынок был бы поделен на сегменты с IA-32 и IA-64.


Нет, рынок был бы перехвачен RISCʼами (POWER, MIPS, Alpha).

M> В принципе, Itanium совсем не плох оказался и в начале нулевых успел занять заметную долю на высокопроизводительных серверах и рабочих станциях.


1%? Или больше?

M> Последняя модель из этого семейства выпущена была уже даже в 2017-м, то есть, эта архитектура еще до конца 2010-х дожила кое-где.


Чистейшая легаси. Вон Fujitsu клепает SPARC для таких, и о чём это говорит?
The God is real, unless declared integer.
Re[2]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 08:56
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Дальше заявляешь сомнительный тезис, что идеи в 80286 оказались не верны и развитие пошло по другому пути.... Модель многозадачности и виртуальной памяти до сих пор используется та что была в 286-м, да, её немного дополняли (когда допустим добавляли PAE или в 386, 486 дополнительными типами табличных записей),


И снова повторю (чтобы уже было в истории):
1. Страничная трансляция в 386 быстро стала основным механизмом работы ОС. Сегментация по-настоящему не используется.
2. В long mode сегментации вообще нет, сегментные регистры используются фактически с другой целью (задание некоторых параметров текущего режима). Вся нагрузка легла на страничную трансляцию.
Это не "немного дополняли", это полная замена логики.

С остальным в основном согласен.
The God is real, unless declared integer.
Re[5]: в дополнение
От: Pavel Dvorkin Россия  
Дата: 24.01.22 12:34
Оценка:
PD>Ну да. Но я ничего не знаю про ОС, в которых бы использовалась не flat модель, а полный 16:32

Кстати, и едва ли они были возможны, разве что в порядке эксперимента. Отказ от flat- модели означал бы, что указатель должен был бы быть 48-битным, то есть в виде пары 16:32. В 16-битной модели так и есть, только 16:16, со всем удовольствиями в виде huge указателей. Делать то же самое в 32-битной модели тогда не имело смысла — и так 4 Гб величина на тот момент запредельная. Ну а сейчас тем более не имеет смысла — улучшать таким образом 32-битную модель незачем, когда есть 64.
With best regards
Pavel Dvorkin
Re[9]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 24.01.22 13:03
Оценка:
Здравствуйте, netch80, Вы писали:

N>(Хотя вот подумал — кто мешает держать их и в GDT?)


Мне в свое время показалось странным, что вообще Windows 3.11 использовала LDT. Коли уж нет задач в смысле TR/TSS и нет LDT под каждую задачу — зачем нужна LDT, почему не обойтись одной GDT ? Единственное объяснение — может, хотели в 2 раза увеличить объем доступной памяти ? Хотя одной GDT можно адресовать 2^13 * 64 кб, но все же надо помнить, что 64-Кбайтные сегменты отнюдь не были обязательны, там вполне могли быть сегменты малого размера, ну а тогда могло бы просто не хватить места в GDT.

Ну а дальше по традиции...
With best regards
Pavel Dvorkin
Re[4]: история персональной ВТ
От: Michael7 Россия  
Дата: 24.01.22 17:54
Оценка:
Здравствуйте, netch80, Вы писали:

N>Itanium мог работать или поверх SRAM вместо DRAM (умножай ценник памяти на 10-20) или если бы оправдались прогнозы на RDRAM (который оказался пшиком от патентных мошенников), или если бы было качественное предсказание времени доступа, пусть даже с prefetchʼем (работает сейчас только для некоторых шаблонов потоковой обработки). RDRAM умер, SRAM не вошла в силу, потоковая мультимедия не стала >99% работ на процессоре. С DDR5 длительность максимальной задержки доступа DRAM только выросла. Шансов для EPIC как для архитектуры в сколь-нибудь массовом или серверном сегменте (где нужно много RAM) нет и будет не скоро. (Намёк на Эльбрус2000 с таким же EPIC.)


На практике никто не говорил, что они работать не могут. Крутились там часто SQL-сервера от MS и прочее. Считалось высокопроизводительным тогда, проработало емнип до 2010-го или 2011-го. Другое дело, что с середины — второй половины нулевых смысла не стало предпочитать эту платформу, системам на базе amd64 (Opteron и Xeon). Стоило дороже, совместимость хуже.

M>> Выйди он хотя бы в 1999-м — и скорее всего, amd64 не появился бы, а рынок был бы поделен на сегменты с IA-32 и IA-64.


N>Нет, рынок был бы перехвачен RISCʼами (POWER, MIPS, Alpha).


Что-то они не особо перехватили, MIPS сдулся, DEC кончился, его наследники Alpha сдули, частично она воплотилась в AMD-ных процессорах, и как-то все это произошло еще до amd64. Косвенно, может быть Alpha сдулась и из-за Itanium в том числе. Power не сдулся, но он занимал и занимает нишу мощных серверов/мейнфреймов от IBM.

M>> В принципе, Itanium совсем не плох оказался и в начале нулевых успел занять заметную долю на высокопроизводительных серверах и рабочих станциях.


N>1%? Или больше?


По-моему больше, впрочем не помню. Но в реальности встречал эти сервера.

N>Чистейшая легаси. Вон Fujitsu клепает SPARC для таких, и о чём это говорит?


Что они успели занять критично важные ниши.
Re[5]: история персональной ВТ
От: Michael7 Россия  
Дата: 24.01.22 19:32
Оценка:
Здравствуйте, netch80, Вы писали:

N>Но насчёт "недоступности" 16-битных операций неверно: какой-нибудь "add ax, bx" точно так же беспроблемно компилируется в 64-битном режиме.


Да, сейчас посмотрел, это я чего-то сейчас не то говорил, большинство 16-ти битных операций с регистрами доступны и в 64-битном режиме. Но не все, кстати.

N>"Пересечение по опкодам" это о чём вообще? Естественно, для 64 бит компилировать надо чуть иначе.


Префикс REX для 64-битных операций имеет опкод от 0x40h до 0x4fh, что пересекается со всеми вариантами INC и DEC над регистрами общего назначения.
Re[6]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 19:47
Оценка:
Здравствуйте, Michael7, Вы писали:

N>>Но насчёт "недоступности" 16-битных операций неверно: какой-нибудь "add ax, bx" точно так же беспроблемно компилируется в 64-битном режиме.

M>Да, сейчас посмотрел, это я чего-то сейчас не то говорил, большинство 16-ти битных операций с регистрами доступны и в 64-битном режиме. Но не все, кстати.

Таки не знаю, какие не все.

N>>"Пересечение по опкодам" это о чём вообще? Естественно, для 64 бит компилировать надо чуть иначе.

M>Префикс REX для 64-битных операций имеет опкод от 0x40h до 0x4fh, что пересекается со всеми вариантами INC и DEC над регистрами общего назначения.

Так остались двухбайтовые варианты INC/DEC (кодируемые FE/0, FF/0). Они доступны в любых режимах.
(Ну да, чуть длиннее стали.)
The God is real, unless declared integer.
Re[9]: история персональной ВТ
От: Michael7 Россия  
Дата: 24.01.22 20:02
Оценка:
Здравствуйте, netch80, Вы писали:

N>Я сомневаюсь, что 80186 стоило включать в этот список.


Были писюки и на 80186, довольно экзотичные но были.
А, вот, кстати, в вики глянул:

Процессоры семейства Intel 80186 практически не применялись в компьютерах, лишь некоторые фирмы выпустили такие ПК: Mindset, Compis (шведский школьный компьютер), RM Nimbus (британский школьный компьютер), Unisys ICON (канадский школьный компьютер), HP 200lx (handheld PC), и настольный ПК Tandy 2000.

Re[10]: история персональной ВТ
От: Michael7 Россия  
Дата: 24.01.22 20:04
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Это не я его включал. Я 80186 и живым-то не видел.


Мог встречаться с ним, если видел модем USRobotics Courier — там унутре емнип как раз 80186 стоял
Re[7]: история персональной ВТ
От: Michael7 Россия  
Дата: 24.01.22 20:14
Оценка:
Здравствуйте, netch80, Вы писали:


N>Таки не знаю, какие не все.


Ну не помню точно весь список, кроме однобайтовых inc/dec еще кучку просто выбросили: двоично-десятичную арифметику, bound, into может еще что- то, lahf/sahf выкидывали в первых amd64 — потом вернули. Еще c jmp аккуратнее надо.

M>>Префикс REX для 64-битных операций имеет опкод от 0x40h до 0x4fh, что пересекается со всеми вариантами INC и DEC над регистрами общего назначения.


N>Так остались двухбайтовые варианты INC/DEC (кодируемые FE/0, FF/0). Они доступны в любых режимах.

N>(Ну да, чуть длиннее стали.)

Длинее, да. В целом отличий достаточно, чтобы 16-ти битный код потребовал специальной перекомпиляции.

Но в общем, я уже говорю, что поторопился сказать про недоступные 16-ти битные операции, какое-то затмение нашло. Может потому что думал о том, что в 64-битном режиме в любых ОС невозможен запуск DOS-подсистемы и соответственно ms-dos софта, только эмуляция. Но это из-за отсутствия виртуального 8086-го, который был в ia-32.
Re[11]: история персональной ВТ
От: Privalov  
Дата: 24.01.22 20:24
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Мог встречаться с ним, если видел модем USRobotics Courier — там унутре емнип как раз 80186 стоял


Сталкивался со Sportster. О Courier слышал много, но не вспомню сейчас, видел ли. У самого в конце 90-х был внутренний модем на 2400ю В начале нулевых — тоже внутренний, но уже на 56 Кб.

Вот такой Sportster у приятеля был. ЕМНИП, на 14400. Я на нем настройки перебирал, разные варианты строки инициализации испытывал.
Re[5]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 21:02
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Здравствуйте, netch80, Вы писали:


N>>Itanium мог работать или поверх SRAM вместо DRAM (умножай ценник памяти на 10-20) или если бы оправдались прогнозы на RDRAM (который оказался пшиком от патентных мошенников), или если бы было качественное предсказание времени доступа, пусть даже с prefetchʼем (работает сейчас только для некоторых шаблонов потоковой обработки). RDRAM умер, SRAM не вошла в силу, потоковая мультимедия не стала >99% работ на процессоре. С DDR5 длительность максимальной задержки доступа DRAM только выросла. Шансов для EPIC как для архитектуры в сколь-нибудь массовом или серверном сегменте (где нужно много RAM) нет и будет не скоро. (Намёк на Эльбрус2000 с таким же EPIC.)


M>На практике никто не говорил, что они работать не могут.


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

M>>> Выйди он хотя бы в 1999-м — и скорее всего, amd64 не появился бы, а рынок был бы поделен на сегменты с IA-32 и IA-64.

N>>Нет, рынок был бы перехвачен RISCʼами (POWER, MIPS, Alpha).
M>Что-то они не особо перехватили, MIPS сдулся, DEC кончился, его наследники Alpha сдули, частично она воплотилась в AMD-ных процессорах, и как-то все это произошло еще до amd64. Косвенно, может быть Alpha сдулась и из-за Itanium в том числе. Power не сдулся, но он занимал и занимает нишу мощных серверов/мейнфреймов от IBM.

Ну вот именно что конкуренция подбила. Я ещё ARM тут почему-то забыл.
Кстати, могли и M68k оживить. Мотороле в начале 90-х не хватило ресурсов сделать нормальный OoO (Intel и то смог его сделать только потому, что им перепал контракт на кластер Red), а если бы они на этом не сорвались, то у нас были бы хорошие шансы увидеть конкуренцию между двумя CISC.

M>>> В принципе, Itanium совсем не плох оказался и в начале нулевых успел занять заметную долю на высокопроизводительных серверах и рабочих станциях.

N>>1%? Или больше?
M>По-моему больше, впрочем не помню. Но в реальности встречал эти сервера.

Я тоже встречал. Но как-то очень быстро кончились...

N>>Чистейшая легаси. Вон Fujitsu клепает SPARC для таких, и о чём это говорит?

M>Что они успели занять критично важные ниши.

Скорее что никто не хочет платить за переписывание на новые архитектуры...
(хм, местами уже исходников не осталось)
The God is real, unless declared integer.
Re[8]: история персональной ВТ
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 24.01.22 21:07
Оценка:
Здравствуйте, Michael7, Вы писали:

N>>Таки не знаю, какие не все.


M>Ну не помню точно весь список, кроме однобайтовых inc/dec еще кучку просто выбросили: двоично-десятичную арифметику, bound, into может еще что- то, lahf/sahf выкидывали в первых amd64 — потом вернули. Еще c jmp аккуратнее надо.


Ну в этом смысле да. Но это нельзя назвать 16-битными. bound, into универсальны.
aaa, das и прочие в этой группе — 8-битные. Завязки именно на 16 бит я нигде не вижу.
И вообще доля этих команд была ничтожной.

M>>>Префикс REX для 64-битных операций имеет опкод от 0x40h до 0x4fh, что пересекается со всеми вариантами INC и DEC над регистрами общего назначения.


N>>Так остались двухбайтовые варианты INC/DEC (кодируемые FE/0, FF/0). Они доступны в любых режимах.

N>>(Ну да, чуть длиннее стали.)

M>Длинее, да. В целом отличий достаточно, чтобы 16-ти битный код потребовал специальной перекомпиляции.


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

M>Но в общем, я уже говорю, что поторопился сказать про недоступные 16-ти битные операции, какое-то затмение нашло. Может потому что думал о том, что в 64-битном режиме в любых ОС невозможен запуск DOS-подсистемы и соответственно ms-dos софта, только эмуляция. Но это из-за отсутствия виртуального 8086-го, который был в ia-32.


Это да. Но можно переключаться из long в legacy, в котором V86 есть. Дороговато, чуть дешевле входа в полную VM, но можно.
The God is real, unless declared integer.
Re[3]: история персональной ВТ
От: flаt  
Дата: 24.01.22 22:14
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Более того. 95-я была половинчатым решением точно так же без ДОСа не работала. Просто вместе 95-й в поставке шел ДОС 4.х. Можно было легко выйти из 95х и оказаться в ДОСе. Что мы и делали на слабых машинах для запуска ДУМа. Кстати, ДОС в 95х был хорош! Если бы 95 не был нужен ДОС, они бы могли тупо потереть всю память занятую ДОС. Память на дороге не валяется.


https://en.wikipedia.org/wiki/Windows_95#Dependence_on_MS-DOS
https://web.archive.org/web/20110128011858/http://blogs.msdn.com/b/oldnewthing/archive/2007/12/24/6849530.aspx
Re[3]: история персональной ВТ
От: iZEN СССР  
Дата: 25.01.22 18:58
Оценка:
Здравствуйте, velkin, Вы писали:

V>Здравствуйте, iZEN, Вы писали:


iZEN>>Microsoft Windows Phone для своего времени была хороша


V>Так они просто слили виндофон намеренно отказавшись от бизнеса. Слили стриминговый сервис миксер. Неоднократно сливали магазин приложений для винды и многое другое. Но судя по последним новостям дела у них идут хорошо. Так что может им просто и не нужен мобильный бизнес. Это Вася Пупкин делавший программу для виндофонов разорится, когда они отправятся в помойку, а микрософту хоть бы хны.


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

Спустя некоторое время (два-три года уже и сервисы начали отваливаться, Skype прекратили поддерживать для выпущенных смартфонов) и т.д.
Re: история персональной ВТ
От: reversecode google
Дата: 25.01.22 19:13
Оценка:
сделайте уже полноценный рассказ со всеми нюсами и багфиксами
а то не очень люблю рассказы-лекции
в которых либо говорят — это мы пропустим, без подробностей
а вот -это позже расскажу,
и по итогу до конца рассказа так и не вспоминают больше
Re[2]: история персональной ВТ
От: кт  
Дата: 25.01.22 19:31
Оценка:
Здравствуйте, reversecode, Вы писали:

R>сделайте уже полноценный рассказ со всеми нюсами и багфиксами

Это к кому пожелание и о чем рассказ должен быть?
Re[3]: история персональной ВТ
От: reversecode google
Дата: 25.01.22 19:33
Оценка:
автору видео
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.