Энтузиасты компилируют Windows XP и Windows Server 2003 из исходников
В конце сентября 2020 года компьютерные энтузиасты получили достаточно данных и необходимых файлов, чтобы начать самостоятельный процесс сборки Windows XP и Windows Server 2003 из исходников. У некоторых из них даже получилось скомпилировать рабочие версии этих ОС.
Оказалось, что Windows Server 2003 скомпилировать проще, так как эта система имеет более полную составляющую исходного кода в ранее обнародованной утечке, чем Windows XP.
По словам тех, кто это делает, на данный момент нет способа полностью скомпилировать Windows из исходного кода, но можно собрать очень многое. В утечке отсутствует исходный код некоторых компонентов, например, winlogon.exe, но энтузиастов это не остановило — они использовали ранее опубликованные наработки.
После нескольких неудачных попыток, десяток ошибок и BSoD компиляция ОС начала получаться стабильнее.
Ссылка на последний видеоролик и инструкцию от автора по компиляции Windows Server 2003 в Архиве Интернета.

Ранее 24 сентября на портале 4chan был опубликован торрент-файл размером 42,9 Гб, в составе которого находились исходные коды Windows XP и Windows Server 2003. На следующий день Microsoft начала внутреннее расследование по поводу утечки исходных кодов Windows XP и Windows Server 2003. Вероятно, что данная утечка исходных кодов произошла от одной из компаний или исследовательских организаций правительств некоторых стран, которые ранее получили доступ от Microsoft к этой информации с целью аудита безопасности. Программа по передаче кодов и технического контента Microsoft называется Government Security Program (GSP). К ней имеют доступ специалисты по безопасности из 45 стран, а также 90 различных агентств.
Насколько сложный программный код у Windows?
Чтобы разобраться вопросе, насколько может быть сложным программный код «Виндовс» мы обратились к одному из разработчиков команды Windows NT в компании Microsoft — Кену Греггу (Ken Gregg).
Кен Грегг (Ken Gregg), разработчик в составе группы Windows NT
«Могу сказать вам, что у меня был доступ к исходному коду, когда я был в команде Windows NT (NT является основой для всех настольных версий Windows начиная с XP), во время проектов разработки NT 3.1 и NT 3.5. Всё было в рамках стандартов кодирования NT Workbook — эдакой «библии» для всей проектной команды.
. Хотя я и не читал каждую строку кода, но то, с чем мне пришлось работать, было очень:
Нужно исходить из того, что именно понимается под сложностью кода. Это понимание сугубо субъективное, ведь так? Благо существует множество различных метрик, используемых и комбинируемых для измерения сложности программного обеспечения в тех или иных ситуациях (та же самая модульность, многоуровневость и обслуживаемость).
Насколько сложна Windows в программном коде?
Конечно, чтобы прочитать и понять код, вам нужно было бы иметь представление об общей архитектуре Windows NT.
Вероятно, лучшим источником информации о внутренностях Windows сегодня являются книги Windows Internals 6th Edition (в двух томах).
Некоторые люди просто приравнивают сложность кода к размеру. У этого сравнения тоже есть метрика — строки кода (LOC).
Измерение LOC зависит от используемых инструментов и критериев. Их выбирают для точного определения строк кода на каждом языке программирования.
Кен Грегг (Ken Gregg)
«Существует много споров о методах, используемых для подсчета строк кода (LOC). Если использовать одни и те же критерии от одного выпуска к следующему, то получится относительное изменение размера базы кода.
Сравнивать эти числа с цифрами другой ОС, которая использовала другой метод подсчета строк кода, всё равно что сравнивать яблоки с апельсинами. То есть это некорректный подход».
Как менялся программный код Windows?
Как база кода Windows NT развивалась с 1993 года
MLOC — это количество миллионов строк исходного кода. По ним можно определить относительную сложность операционной системы, если опираться на размеры кода (LOC-методика).
Исходный код Windows состоит в основном из C и C++, а также небольшого количества кода на ассемблере.
Некоторые из утилит пользовательского режима и другие подобные службы пишутся на Си Шарп, но это относительно небольшой процент от общей базы кода.
Кен Грегг (Ken Gregg)
«Я намеренно не включил в список 16-битные версии ОС, выпущенные с 1985 по 2000 годы. Windows NT была основой для всех современных 32-бит и 64-бит версий Windows. Количество строк кода в серверных версиях было таким же, как и в несерверных версиях, выпущенных в том же году (то есть они имели одинаковую базу исходного кода)».
Несколько слов про ядро Windows NT
По словам Кена, работа над ядром NT началась в 1988 году. Ядро было создано с нуля в качестве 32-разрядной упреждающей многозадачной ОС.
Ядро NT впервые загрузилось в июле 1989 года на процессоре Intel i860 RISC. С самого начала был сильный толчок к тому, чтобы новая ОС была совместимой с различными архитектурами центральных процессоров и не была привязана только к архитектуре Intel x86 (IA-32).
NT в конечном итоге работал на MIPS, DEC Alpha, PowerPC, Itanium и, конечно, Intel x86 и x64.
Некоторая сложность была добавлена в базу кода на уровне абстрагирования оборудования (HAL). Это было нужно для поддержки неинтеловских архитектур.
А как вы оцениваете перспективы Windows в плане кода? Узнайте, какие версии Windows актуальны сейчас и какие ОС можно рассмотреть в качестве альтернативы.
Есть проблемы при использовании Windows и непонятен программный код для внедрения новых бизнес-инструментов в ОС от Microsoft? Проконсультируйтесь с экспертами по ИТ-аутсорсингу и получите поддержку по любым техническим вопросам и задачам.
Грандиозная утечка: Исходный код самой народной версии Windows выложен в Сеть
Неизвестные слили в Сеть исходники Windows XP, одной из самых популярных и любимых миллионами ОС Microsoft. Вместе с ними утекли коды Windows Server 2003, а несколько месяцев назад Microsoft допустила утечку кодов Windows NT 3.5 и прошивки консоли Xbox первого поколения.
Windows XP ушла в народ
Корпорация Microsoft допустила утечку исходного кода ОС Windows XP, выпущенной в 2001 г. и на момент публикации материала не поддерживаемой. Как пишет портал Tom’s Hardware, архив с кодом получил распространение среди пользователей анонимного форума 4chan, а сам файл был многократно размещен на различных торрентах и файлообменниках, включая Mega, ранее известный как MegaUpload.
На момент публикации материала представители Microsoft не комментировали утечку. Подлинность выложенных в Сети файлов не была подтверждена или опровергнута.
Бояться почти нечего
Столь крупная утечка Microsoft, даже если все файлы окажутся настоящими, особой опасности сама по себе не представляет. Несмотря на широкую популярность Windows XP в свои годы и даже после релиза в 2007 г. Windows Vista, которую Microsoft готовила на ее замену, в 2020 г. она давно утратила актуальность.
По состоянию на август 2020 г. почти 19-летняя Windows XP (она вышла в октябре 2001 г.) была установлена не более чем на 1,16% Windows-компьютерах, согласно статистике StatCounter. Столь незначительным показателям система обязана даже не своим возрастом, а отсутствием технической поддержки – Microsoft прекратила обновлять ее 8 апреля 2014 г.
Ввиду того, что компьютеров на Windows XP практически не осталось, хакеры, по мнению специалистов Tom’s Hardware, с высокой степенью вероятности не станут использовать ее исходный код для новых эксплойтов. В финансовом плане им это будет невыгодно.
В то же время информация, которую киберпреступники могут получить из исходного кода Windows XP, может обеспечить им возможность успешного поиска уязвимостей в новых версиях ОС Microsoft.
Стоит добавить: есть вероятность, что архив содержит не весь код операционной системы.
Возможная польза от утечки
Появление в Сети кодов Windows XP имеет и положительную сторону. Ввиду отсутствия ее поддержки со стороны Microsoft все производители компьютерных комплектующих и периферии перестали адаптировать свою продукцию под эту ОС.
Имея на руках исходники системы, компьютерные энтузиасты получат возможность интегрировать в Windows XP поддержку современного оборудования или заставить корректно работать под ней актуальные версии ПО. Насколько подобные изыскания обоснованы ввиду того, что сама ОС не обновляется более шести лет и, следовательно, имеет массу уязвимостей, неизвестно.
Microsoft регулярно теряет исходники
Для Microsoft появление в интернете исходников ее программных продуктов – не первое за 2020 г. В мае 2020 г. она упустила в Сеть код программного обеспечения игровой приставки Xbox самого первого поколения. Консоль вышла в ноябре 2001 г., почти одновременно с Windows XP, и на момент публикации материала она уже устарела и давно не производится. Как сообщал CNews, в ноябре 2020 г. Microsoft начнет поставки Xbox Series X и Series S – четвертого по счету поколения своей приставки.
Напомним, что программное обеспечение первого Xbox – это ни что иное, как ОС Windows 2000, только сильно модифицированная. Поддержку полноценной Windows 2000 Microsoft прекратила 13 июля 2010 г.
Но утечкой сурс-кода Xbox все не ограничилось. Вместе с ним в распоряжении всех пользователей интернета оказались исходники ОС Windows NT 3.5 – второй операционной системой линейки Windows NT, которую Microsoft выпустила в сентябре 1994 г. Ее поддержка прекращена 31 декабря 2001 г.
В сети появился исходный код Windows XP
Теперь, любой кому не лень, может посмотреть уязвимости этой системы. Системы, на которой работали и продолжают работать миллионы, а то и миллиарды компьютеров по всему миру.
В сеть попал исходный код Windows XP SP1 и других версий операционной системы. На форуме 4chan опубликовали 43 гигабайта файлов, которые можно спокойно загрузить.
Помимо Windows XP, в файлах утечки можно обнаружить и более старые версии операционной системы Microsoft. В том числе MS DOS 3.30,MS DOS 6.0, Windows 2000 и т.д.
Стоит упомянуть, что все данные были слиты в форум «4chan» файлами с общим весом 43 ГБ.
Баяны
182K постов 12K подписчик
Правила сообщества
Сообщество для постов, которые ранее были на Пикабу.
походу надо винду обновит ьзначит
Да, сейчас прям все откроют исходники в блокноте и сразу увидят все-все уязвимости!
Ура! Сбылась моя мечта! Значит можно будет САМОМУ попытаться повыкидывать из неё весь мусор! И пользоваться компактной, быстрой операционной системой.
Уже вижу нормально допиленную react os.
причем походу неразремленных.
Впрочем китайцев это не остановит.
Выпуск журнала Chip 2003 года
Вспомнилось, когда еще до первого компьютера и выхода в интернет оставалось несколько лет, с друзьями штудировали вот такие издания. Нашел сей раритет недавно вместе с разными каталогами тех времен. Отсканировал несколько страниц. Некоторые вышли кривоваты, к сожалению.
Интересно наблюдать показатели флагманских процессоров того времени в различных тестах
Высокоскоростная запись CD!
А это более позднее издание IXBT
Новости технологий в день падения башен
Нашел на работе архив журналов на тему компьютерных технологий. Журналы разные, как и года выпуска. Года в основном 1995-2008. Если будет интересно, могу отсканировать самые интересные статьи и выложить сюда.
p.s. реклама тех лет как отдельный вид искусства 
Как работает твердотельный накопитель (SSD), контроллер и Flash (Nand) память
SSD очень быстрое запоминающее устройство и если разобрать его, то можно увидеть что он представляет собой печатную плату, с множеством чипов Flash памяти, типа NAND, именно они хранят информацию, а рядом с ними распаиваются контроллер и dram память. Контроллер отвечает за связь накопителя с компьютером и осуществляет операции чтения/записи, а DRAM служит как небольшой кэш и ускоряет доступ к данным.
В некоторых SSD на обратной стороне или на отдельной плате размещаются дополнительные чипы памяти и ряд ёмких конденсаторов, они позволяют безопасно выключить устройство при резком отключении питания. (Аппаратный PLP)
Другие твердотельные накопители, такие как usb-накопители и карты памяти имеют похожее строение, только в них нет dram, меньше чипов памяти и устанавливается менее производительный контроллер.
Ну а чтобы более детальней понять их работу, нужно рассмотреть как работает чип Flash памяти. Разобрав его, видно что состоит он из множества кристаллов,
если подробней рассмотреть один из них, то видно что большую часть кристалла занимает массив ячеек и лишь небольшая область отводится под буфер и логику.
Если проникнуть внутрь кристалла, то видно что он имеет трёхмерную структуру, состоящую из рядов вертикально уложенных ячеек Флеш памяти, и если разобрать одну отдельную ячейку, то её строение покажется запутанным, к тому же у разных производителей, принцип работы может отличаться по способу подачи тока и чтения данных из ячейки.
Так что лучше представить её в виде схемы, так легче понять что ячейка представляет собой транзистор с двумя изолированными затворами: управляющим и «плавающим». Плавающий затвор способен удерживать внутри себя электроны, тем самым делая из транзистора ячейку памяти.
Чтобы записать информацию, на сток и управляющий затвор подается высокое напряжение, это позволяет электронам пройти сквозь диэлектрик и остаться на плавающем затворе.
Для удаления заряда, на управляющий затвор подается высокое отрицательное напряжение, а на исток — положительное.
Каждый такой цикл записи и стирания разрушает слой диэлектрика, так что число перезаписи на ячейку ограничено.
Считывание не приводит к этому эффекту и проверять что записано в ячейке, ноль или единица, можно сколько угодно раз для этого, на управляющий затвор подаётся напряжение и проверяется, может ли идти ток по транзистору:
Если на плавающем затворе много электронов, то ток идти не будет, значит это единица. Если их немного, то ток пойдет, значит это ноль.
(у некоторых производителей ячейка может считываться наоборот)
Так считываются одноуровневые ячейки SLC, если же материал плавающего затвора способен захватить много электронов, а электроника способна размещать на плавающем затворе разные уровни зарядов и распознать несколько пороговых напряжений, то такая ячейка может хранить несколько бит информации. Например QLC ячейки могут хранить 4 бита информации, но для этого нужно различать 16 пороговых напряжений.
(Информация с SLC ячеек считывается и отправляется на контроллер почти без задержек. Чипы с QLC ячейками имеют внутреннею задержку в связи с необходимостью формирования специального сигнала для каждой ячейки и распознавания его)
Ко всему этому, чтобы уместить на кристалл как можно больше ячеек, их группируют соединяя последовательно и с обоих сторон подключают обычные транзисторы, принципиальная схема массива выглядит примерно так,
но в самом кристалле, массив имеет трёхмерную структуру. Ячейки, находящиеся на одной разрядной линии, образуют страницу размером в 4 килобайта, это минимальная область с которой можно считать или записать данные
Множество страниц формируют блок, размером 512 килобайт, это минимальная область которая может быть стёрта. То есть, если нужно переписать информацию всего лишь одной страницы, придётся стирать данные аж с целого блока и потом снова записывать.
Такие ограничения существует из-за архитектуры nand памяти, а так как таких блоков очень много, всеми операциями чтения записи руководит контроллер, он управляет структурой размещения данных и контролирует состояние ячеек, распределяя данные так чтобы одни ячейки не использовались чаще других, тем самым увеличивая срок службы накопителя.
Если посмотреть на блок схему типичного контроллера, то видно что он состоит из 32 битного RISC процессора который выполняет инструкции микропрограммы и может иметь до 4 ядер. Так же есть ddr контроллер отвечающий за работу с внешним DRAM-буфером, есть блок ecc, отвечающий за обнаружение и коррекцию ошибок, есть блоки интерфейсов отвечающие за обмен данными с чипами памяти и внешними интерфейсами и есть блоки отвечающие за шифрование и другие функции, которые могут меняться в зависимости от необходимого функционала.
Помимо контроллера, на скорость накопителя влияет интерфейс подключения. Существует множество форм-факторов SSD с разными интефейсами подключения и разной скоростью, но чаще всего в обычных компьютерах используются 2,5-дюймовые ssd или формата m2.
2,5-дюймовые SSD имеют интерфейс SATA, третьего поколения, такой интерфейс обеспечивает пропускную способность до 600 Мбайт/с. Накопители mSATA (mini-SATA) имеют такой же интерфейс.
В SSD M.2 используется один из двух интерфейсов: SATA3 или PCIe. В зависимости от количества выделенных линий и версии PCIe скорость может отличаться. Например PCI-E третей версии и с четырьмя выделенными линиями имеет пропускную способность до 4ГБ/с.
Так же такие накопители имеют несколько вариантов ключей. Есть накопители с B, M и B+M коннекторами.
Так же есть SSD в виде платы расширения которые подключаются напрямую в PCI-Express слот материнской платы. Некоторые модели таких накопителей могут использовать 8 и даже 16 линий слота PCIe, что даёт пропускную способность выше 6ГБ/с.
Кроме этого есть ещё много разных форм факторов, например U2, U3, NF1, и другие (EDSFF, 1.8 дюймовые), но ничем серьёзным, кроме размеров и коннекторов они не отличаются, да и используются они в основном в серверах и рабочих станциях.
Так же, хочется сказать что существует ещё один вид SSD накопителей, в которых вместо чипов Flash памяти используются чипы с технологией 3D crosspoint, в них в качестве ячеек не используются транзисторы с плавающим затвором и такие накопители быстрей обычных, но к сожалению у меня мало информации про эту технологию, так что на этом у меня всё, всем пока.
Продолжение поста «Найден Король Олдов»
По просьбе учащихся и @stavropol
Голландец с 1986 года управляет своим бизнесом на компьютере Atari ST — за 36 лет устройство ни разу не сломалось.
Владелец кемпинга, голландец Франс Бос, купил этот Atari ST (модель 1040) в 1986 году, чтобы помочь управлять своим кемпинговым бизнесом: Camping Bohmerwald. В то время Atari ST был впечатляющим железом, с 1 МБ оперативной памяти и монитором 70 Гц (как отмечает Бос, большинство ПК того времени предлагали только 512 Кб оперативной памяти), а в Европе машина рассматривалась как серьезный профессиональный компьютер, а не игровая машина.
Бос купил машину, чтобы управлять бронированием на сайте и регистрировать гостей, а затем сел и написал для этого свой собственный софт, дорабатывая его на протяжении многих лет. Из-за сезонного характера бизнеса Atari ST используется круглосуточно в течение шести месяцев в году. Забавным моментом в видео является аргумент Боса о том, что ему все еще нравится пользоваться машиной, потому что она запускается так быстро: он говорит, что к тому времени, когда его более современный настольный ПК станет пригоден для использования, он уже выполнит задачу на Atari ST.
Как работает оперативная память компьютера (RAM, ОЗУ)
Физически, оперативная память представляет собой набор микросхем припаянных к плате. Если посмотреть внутрь одной такой микросхемы, можно увидеть что она состоит из множества, соединённых друг с другом слоёв, каждый слой состоит из огромного количества ячеек, образующие прямоугольные матрицы. Одна ячейка может содержать 1 бит информации, а состоит она из одного полевого транзистора и одного конденсатора.
Выглядит эта конструкция довольно сложно и может различаться в зависимости от применённых технологий, так что для наглядности лучше представить ячейку в виде схемы.
Так легче понять, что именно конденсатор хранит информацию, а транзистор выполняет роль электрического ключа, который либо удерживает заряд на конденсаторе, либо открывает для считывания. Когда конденсатор заряжен, можно получить логическую единицу, а когда разряжен, ноль. Таких конденсаторов в чипе, очень много но считать заряд с одной конкретной ячейки нельзя, считывается вся страница целиком, и чтобы сделать это необходимо на нужную нам горизонтальную линию которая называется строка, подать сигнал, который откроет транзисторы, после чего усилители расположенные на концах вертикальных линий считают заряды которые находились на конденсаторах. Каждое такое считывание опустошает заряды на странице, из-за чего приходится её заново переписывать, для этого на строку так же подаётся открывающий транзистор заряд, а на столбцы подаётся более высокое напряжение, тем самым заряжая конденсаторы и записывая информацию. Задержки между этими операциями называются таймингами, чем они меньше тем более быстрая будет вся система в целом
Но вернёмся к модулю памяти в макро масштабе и посмотрим что, помимо самих чипов памяти, на модуль распаиваются SMD-компоненты резисторы и конденсаторы обеспечивающие развязку сигнальных цепей и питание чипов, а также Микросхема SPD – это специальная микросхема, в которой хранятся данные о параметрах всего модуля (ёмкость, рабочее напряжение, тайминги, число банков и так далее). Это нужно чтобы во время запуска системы, BIOS на материнской плате выставил оптимальные настройки согласно информации, отображенной в микросхеме.
Так же существует несколько форм факторов модулей, модули для компьютеров называются DIMM, а для ноутбуков и компактных систем SO-DIMM, отличаются они размером и количеством контактов для подключения. Это двухрядные модули которые имеют два независимых ряда контактов по одному с каждой стороны.
Например в старых модулях Simm контакты с двух сторон были замкнуты и они могли передать только 32 бита информации за такт, в то время как dimm могут передавать 64 бита.
Ко всему этому модули делятся на одноранговые, двухранговые и четырёхранговые. Ранг — это блок данных шириной 64 бита, который может быть набран разным количеством чипов память.
Одноранговая память имеет ширину 64 бита, тогда как Двухранговая память имеет ширину 128 бит. Но, так как один канал памяти имеет ширину всего 64 бита, как и одноранговый модуль, контроллер памяти может одновременно обращаться только к одному рангу. В то время как двухранговый модуль может заниматься ответом на переданную ему команду, а другой ранг уже может подготавливать информацию для следующей команды, что незначительно увеличивает производительность.
Так же хочется отдельно сказать о памяти с коррекцией ошибок, ECC-памяти, так как эти модули имеют дополнительный банк памяти на каждые 8 микросхем. Дополнительные банки и логика в модуле служат для проверки и устранения ошибок.
Использование буферов и коррекции ошибок незначительно ухудшает производительность, но сильно повышает надёжность данных. Поэтому ECC память широко используется в серверах и рабочих станциях.
Ещё немного расскажу о типах памяти, так как в современных компьютерах используется синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных DDR SDRAM 4-го поколения и скоро будет распространено пятое.
Память типа ddr пришла на смену памяти типа SDR. SDR SDRAM работает синхронно с контроллером. В ней внутренняя и внешняя шина данных работает на одной и той же частоте. При подаче сигнала на микросхему происходит синхронное считывание информации
и передача её в выходной буфер. Передача каждого бита из буфера происходит с каждым тактом работы ядра памяти. В SDR памяти синхронизация обмена данными происходит по фронту тактового импульса.
После SDR, вышла DDR память, в ней обмен данными по внешней шине идет не только по фронту тактового импульса, но и по спаду, из-за чего на той же частоте можно передать вдвое больше информации, а чтобы воспользоваться этим увеличением, внутреннею
шину расширили вдвое. То есть работая на тех же частотах что SDR, DDR память передаёт в 2 раза больше данных.
Следующие поколения памяти DDR не сильно отличаются, увеличивается только частота
работы буферов ввода вывода, а также расширяется шина, связывающая ядро памяти
с буферами, сам принцип работы не меняется, но даже так, каждое новое поколение
получает таким способом существенное увеличение пропускной способности, без увеличения частоты работы самих ячеек памяти.
Понятно что с каждый новым поколением улучшается работа логики, техпроцесс и многое другое. Но сам принцип работы остаётся одним и для общего понимая этого достаточно.































































