исходный код блокнота windows
Насколько сложный программный код у 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 10: от телеметрии до open source
Насколько бы закрытым ни было программное обеспечение Microsoft, информации о своем внутреннем устройстве оно выдает предостаточно. К примеру, экспорт функций из библиотеки по именам дает представление о ее интерфейсах. В свободном доступе есть и отладочные символы, которые повсеместно используются для диагностики ошибок в ОС. Однако на руках у нас все равно имеются только скомпилированные бинарные модули. Становится интересно: а какими они были до компиляции? Давайте попробуем разобраться, как вытащить побольше информации об исходных кодах, не делая ничего незаконного.
Идея, конечно, не нова. В свое время подобное делали и Марк Руссинович, и Алекс Ионеску. Мне лишь было интересно получить свежие данные, немного дополнив и уточнив уже проделанную другими работу. Для эксперимента нам понадобятся пакеты отладочных символов, которые есть в свободном доступе. Я взял пакеты для последней релизной версии «десятки» (64 бита), причем решил исследовать и релизный пакет (free build), и отладочный (checked build).
Отладочные символы — это набор файлов с расширением pdb (program database, база данных программы), в которых хранится различная информация для расширения возможностей отладки бинарных модулей в ОС, включая имена глобалов, функций и структур данных, иногда вместе с их содержимым.
Помимо символов можно взять условно доступную отладочную сборку «десятки». Такая сборка богата на ассерты, в которых бывают описаны не только недокументированые и отсуствующие в символьных файлах имена переменных, но и номер строки в файле, в котором сработал ассерт.
В примере видно не только имя файла и его расширение, но и структура каталогов до него, очень полезная даже без корня.
Натравливаем на файлы символов утилиту strings от sysinternals и получаем около 13 ГБ сырых данных. А вот кормить все файлы из дистрибутива отладочной сборки подряд — так себе идея, ненужных данных будет слишком много. Ограничимся набором расширений: exe — исполняемые файлы, sys — драйвера, dll — билиотеки, ocx — ActiveX-компоненты, cpl — компоненты панели управления, efi — EFI-приложения, в частности загрузчик. Сырых данных от дистрибутива набралось 5,3 ГБ.
К своему удивлению я обнаружил, что не так много программ способны хотя бы открыть файлы размером в десяток гигабайт, и уж тем более единицы смогли поддержать функцию поиска внутри таких файлов. В данном эксперименте для ручного просмотра сырых и промежуточных данных использовался 010 Editor. Фильтрация данных дешево и сердито осуществлялась скриптами на питоне.
Фильтрация данных из символьных файлов
В символьных файлах помимо прочего содержится информация компоновщика. То есть, в символьном файле присутствует список объектных файлов, которые использовались для компоновки соответствующего бинарника, причем в компоновщике используется полный путь до объектного файла.
Получаем абсолютные пути, сортируем, удаляем дубликаты. К слову, мусора получилось не так много, и он был удален вручную.
При осмотре полученных данных стала понятна примерная структура дерева исходных кодов. Корень — «d:\th», что по всей видимости означает threshold, в соответствии с названием ноябрьской версии Windows 10 — Threshold 1. Однако файлов с корнем «d:\th» оказалось мало. Это объясняется тем, что компоновщик принимает уже собранные файлы. А сборка объектников осуществляется в папки «d:\th.obj.amd64fre» для релизной сборки и «d:\th.obj.amd64chk» для отладочной.
Для примера:
d:\th.obj.amd64fre\shell\osshell\games\freecell\objfre\amd64\freecellgame.obj
это бывший
d:\th\shell\osshell\games\freecell\freecellgame.c??
По поводу расширения файлов: объектный файл получается из кучи разных типов исходного файла: «c», «cpp», «cxx», «asm» и т. д. На данном этапе неясно, какой именно тип исходного файла использовался, поэтому оставим расширение «c??».
Помимо папки «d:\th» наблюдается множество других корней. Например, «d:\th.public.chk» и «d:\th.public.fre». Данную папку мы опустим ввиду того, что в ней хранится публичная часть sdk, то есть она нам не очень интересна. Также стоит отметить различные пути проектов для драйверов, которые, судя по всему, собираются где-то на рабочих местах разработчиков:
c:\users\joseph-liu\desktop\sources\rtl819xp_src\common\objfre_win7_amd64\amd64\eeprom.obj
C:\ALLPROJECTS\SW_MODEM\pcm\amd64\pcm.lib
C:\Palau\palau_10.4.292.0\sw\host\drivers\becndis\inbox\WS10\sandbox\Debug\x64\eth_tx.obj
C:\Users\avarde\Desktop\inbox\working\Contents\Sources\wl\sys\amd64\bcmwl63a\bcmwl63a\x64\Windows8Debug\nicpci.obj
Другими словами, существует набор драйверов устройств, отвечающих стандартам, например, USB XHCI, которые входят в дерево исходных кодов ОС. А все специфичные драйвера собираются где-то в другом месте.
Выходные данные становятся все красивее! Однако на этом этапе дополнительные данные получить уже практически невозможно. Переходим к следующему набору сырых данных.
Фильтрация данных из исполняемых файлов
На этом этапе есть несколько проблем с данными, полученными из символов. Первая проблема: мы не уверены, что правильно откатили путь сборки исходного файла в объектный файл.
И они действительно есть! То есть, для большинства каталогов можно утверждать, что их структура восстановлена правильно. Конечно, все еще остаются сомнительные каталоги, но думаю, эта погрешность вполне приемлема. Попутно можно смело заменять расширение «c??» на расширение совпавшего по пути исходника.
Вторая проблема — заголовочные файлы. Дело в том, что это важная часть исходных файлов, однако из заголовочника не получается объектный файл, а это значит, что из информации об объектных файлах нельзя восстановить заголовочники. Приходится довольствоваться малым, а именно теми заголовочниками, которые мы нашли в сырых данных бинарных файлов.
Третья проблема: мы все еще не знаем большинство расширений исходных файлов.
Ну а как же исходники на ассемблере? За последним штрихом можно обратиться к Windows Research Kernel — исходным кодам Windows XP — и часть исходников на ассемблере переименовать вручную.
Изучаем полученные данные
Телеметрия
Какое-то время я изучал вопрос об устройстве телеметрии в Windows 10. К сожалению, анализ на скорую руку не выявил ничего стоящего. Я не нашел никаких кейлоггеров, никакой утечки чувствительных данных, ничего, к чему можно было бы прикопаться. И первым ключевым словом для поиска среди исходных файлов было «telemetry». Результат превзошел мои ожидания: 424 совпадения. Самые интересные приведу ниже.
Комментировать, пожалуй, не стоит, поскольку все равно достоверно ничего не известно. Однако эти данные могут послужить хорошей отправной точкой для более детального исследования.
Kernel Patch Protection
Следующая находка — всеми любимый PatchGuard. Правда, в дереве исходников ОС присутствует только один файл непонятного, скорее всего бинарного типа.
d:\th\minkernel\ntos\ke\patchgd.wmp
Поискав совпадения в нефильтрованных данных, я обнаружил, что на самом деле Kernel Patch Protection — это отдельный проект.
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen00.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen01.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen02.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen03.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen04.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen05.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen06.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen07.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen08.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen09.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgd.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgda.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgda2.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgda3.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgda4.c??
Сомнительные файлы
Не придумав больше ничего меня интересующего, я начал искать все подряд — и остался доволен!
d:\th\windows\core\ntgdi\fondrv\otfd\atmdrvr\umlib\backdoor.c??
в драйвере шрифтов?
d:\th\inetcore\edgehtml\src\site\webaudio\opensource\wtf\wtfvector.h
Web Template Framework, это всего лишь Web Template Framework, спорная аббревиатура. Погодите,
Open source?
d:\th\printscan\print\drivers\renderfilters\msxpsfilters\util\opensource\libjpeg\jaricom.c??
d:\th\printscan\print\drivers\renderfilters\msxpsfilters\util\opensource\libpng\png.c??
d:\th\printscan\print\drivers\renderfilters\msxpsfilters\util\opensource\libtiff\tif_compress.c??
d:\th\printscan\print\drivers\renderfilters\msxpsfilters\util\opensource\zlib\deflate.c??
Думаю, на этой находке пора закругляться.
Архив с текстовым файлом со списком исходников приведен по ссылке. Делитесь своими находками в комментариях!
Грандиозная утечка: Исходный код самой народной версии 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 ГБ.
Дубликаты не найдены
Баяны
177K постов 11.9K подписчиков
Правила сообщества
Сообщество для постов, которые ранее были на Пикабу.
походу надо винду обновит ьзначит
так для этого и выложили
а чё, хорошая винда
Да, сейчас прям все откроют исходники в блокноте и сразу увидят все-все уязвимости!
Ура! Сбылась моя мечта! Значит можно будет САМОМУ попытаться повыкидывать из неё весь мусор! И пользоваться компактной, быстрой операционной системой.
И очистить всё, всё что было лишним у тебя на диске С
. И ты был недалеко от того, чтоб угадать то, как я себе представляю идеальный интерфейс компьютера (см.фотку). Ты конечно не поверишь, но для подготовки фото я всего лишь увеличил яркость экрана на максимум, и в левой панели выбрал другие файлы. т.е. Диско Командер у меня был включен до того, как я прочитал твоё сообшение. Я даже Win7 не стал выключать, хотя обычно сижу в WinXP.
Твои вкусы весьма специфичны)
Уже вижу нормально допиленную react os.
Что ты жалкий нищеброд?)
причем походу неразремленных.
Впрочем китайцев это не остановит.
Как работает оперативная память компьютера (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 не сильно отличаются, увеличивается только частота
работы буферов ввода вывода, а также расширяется шина, связывающая ядро памяти
с буферами, сам принцип работы не меняется, но даже так, каждое новое поколение
получает таким способом существенное увеличение пропускной способности, без увеличения частоты работы самих ячеек памяти.
Понятно что с каждый новым поколением улучшается работа логики, техпроцесс и многое другое. Но сам принцип работы остаётся одним и для общего понимая этого достаточно.
На этом у меня всё, всем пока.
Как устроен жёсткий диск и принцип работы HDD и SSHD
Жёсткий диск может хранить в себе большое количество данных, но знаете ли вы как он устроен внутри или принцип его работы?
Так вот я вам наглядно покажу. HDD состоит из двух частей. Корпус, чёрного цвета и прикрытый крышкой, это гермоблок. Плата на обратной стороне, это контроллер. О нём я расскажу чуть позже. А сейчас посмотрим что внутри гермоблока.
Открыв крышку, сразу бросается в глаза большая блестящая пластина, занимающая большую часть корпуса и зажатая шайбой. Это и есть сам жесткий диск, их кстати может быть несколько расположенных один над другим.
Пластины крепятся на шпиндель электромотора, который заставляют их вращаться со скоростью 7200 об/мин, а контроллер поддерживает постоянную скорость вращения при помощи контактов на обратной стороне корпуса, через них же и осуществляется питание. Именно на пластинах хранятся все данные, причём не только пользовательские, но и служебные необходимые самому устройству.
Чем больше пластин, тем больше информации может вместить устройство, а выполнены они обычно из металлических сплавов (хотя были попытки делать их из пластика и даже стекла, но они были не долговечны, встречаются даже керамические диски).
Покрыты пластины ферромагнитным слоем, который и хранит всю информацию. Этот слой разбивается на сотни тысяч узких дорожек, каждая из дорожек разделена на секторы это позволяет определять, куда записывать и где считывать информацию. А вся карта о секторах и дорожках находится в памяти контроллера.
Ну а чтобы записать данные, над диском с большой скоростью движется металлический кронштейн, который называется коромысло, на его конце находятся слайдеры с магнитными головками.
Головка проходя над дорожкой намагничивает микроскопическую область на ферромагнитном слое, устанавливая магнитный момент такой ячейки в одно из состояний «0» или «1», а с помощью улавливания магнитного потока происходит считывание информации, когда головка проходит над областью с измененной полярностью, она фиксирует импульс напряжения, этот импульс считывается как единица, а его отсутствие как 0,(каждый такой 0 и 1 называется «бит»). Считываемые головкой сигналы очень слабы и перед отправкой на контроллер должны проходить через усилитель. Отвечающий за это чип находится с боку коромысла (preamplifier).
Вся эта конструкция приводится в движение при помощи привода основанном на электромагнетизме. Который называется сервопривод. Вот он позиционирует коромысло в то место, куда нужно записать или откуда считать информацию и управляется интегральной микросхемой. Внутри он состоит из двух мощных неодимовых магнитов, катушки и фиксатора. Фиксатор предотвращает какие-либо движения головок в отключенном состоянии и пока шпиндель не наберёт обороты. Всё это важно, потому что от этой конструкции зависит долговечность головок, а от скорости и точности перемещения коромысла зависит время поиска данных на поверхности пластин. Интересно ещё то что головка коромысла обычно не соприкасается с дисками, а парит над ними при помощи восходящих воздушных потоков на расстоянии примерно 10 нм от крутящейся пластины благодаря аэродинамической форме слайдера.
А так как это очень маленькие расстояния, и все детали движутся на огромных скоростях. Внутри корпуса есть циркуляционный фильтр (recirculation filter), он находится на пути потоков воздуха, создаваемый вращением пластин, этот фильтр постоянно собирает и задерживает мельчайшие частицы которые могли бы повредить пластины и хранящуюся на них информацию или вывести из строя магнитную головку. Кроме него, на обратной стороне корпуса и на крышке имеются маленькие, почти незаметное отверстия (breath hole). Они служит для выравнивания давления и прикрыты фильтром (breath filter), которые так же задерживают частицы пыли и влаги.
Внутренности гермоблока мы рассмотрели, давайте теперь вернёмся к контроллеру, так как очень сложная и важная часть жёсткого диска. Эта плата с разъёмами представляет собой интегральную схему, которая синхронизирует работу диска с компьютером и управляет всеми всеми процессами внутри hdd. Перевернув плату, можно увидеть что это целый микрокомпьютер со своим процессором, оперативной и постоянной памятью и есть своя система ввода/вывода.
А вот два других крупных чипа это Flash память и её контроллер. Они действует как большой кэш для часто используемых данных, для повышения производительности. Но эти чипы устанавливаются только в гибридных HDD и в большенстве дисков их нет.
(по сути это ssd внутри hdd=SSHD).
Так же, важным чипом является контроллер управления двигателем и головками VCM controller, так как, он управляет питанием MCU, Блоком магнитных головок внутри гермозоны и двигателем hdd.
Так же на плату устанавливаются датчики вибрации (shock sensor) которые определяет уровень тряски и в случаи высокой интенсивности отправляют сигнал VCM контролеру на корректировку движения головок или на их парковку и выключение hdd. В действительности, эти датчики плохо работают, так что лучше не трясти и не ронять жёсткий.
Компоненты hdd мы рассмотрели, давайте теперь свяжем всё это вместе чтобы был понятен сам принцип работы жесткого диска.
При подаче питания на Жёсткий диск, двигатель расположенный внутри корпуса начинает раскручивать шпиндель на котором закреплены магнитные пластины. И пока пластины ещё не набрали обороты, чтобы между головкой коромысла и диском образовалась воздушная подушка, головки запаркованы у шпинделя у центра, чтобы не навредить секторам с информацией и самой головке. Как только обороты достигают нужного уровня, сервопривод (электромагнитный двигатель) приводит в движение коромысло, которое уже позиционируется в то место, откуда нужно считать служебную информацию о состоянии жесткого диска и других необходимых сведениях о нем, эта область со служебной информацией называется нулевой дорожкой. После неё уже считываются все остальные данные хранящиеся на диске.
Ну а в случае когда питание, резко прекращается, двигатель переходит в режим генератора, и энергия от вращения шпинделей превращается в электрическую энергию, благодаря которой, головки безопасно паркуются и не повреждаются.
Как вы видите, жёсткий диск удивительное и сложное инженерное устройство. Надеюсь, что я смог достаточно понятно и подробно представить для вас базовую информацию об его устройстве.
Загрузочный флоппик с ms dos
Samsung представила оперативную память, которой ещё не было: DDR5 с шиной CXL
Блок памяти может подключаться с использованием протоколов PCIe 5.0 и иметь ёмкость до одного терабайта и больше, а также сможет одновременно быть базовой памятью процессора, видеокарты и ускорителей
По словам Samsung, новые модули прошли испытания в системах под управлением процессоров Intel. Компания AMD также высоко оценила возможности модулей оперативной памяти с подключением по шине CXL. К консорциуму CXL компания AMD присоединилась в 2019 году и начала принимать активное участие в его деятельности. Хотя инициатором стандарта CXL выступила компания Intel, в AMD по достоинству оценили способность нового интерфейса поднять производительность и расширить масштабирование подсистемы памяти и вычислительной системы в целом.
Не так давно стало известно, что компания Micron также решила делать ставку на интерфейс CXL в дальнейшем выпуске продуктов на основе оперативной памяти. Для производителей чипов DRAM это будет продукт с очень и очень высокой добавленной стоимостью. Очевидно, что на модули памяти с интерфейсом CXL будет уходить громадное количество микросхем DRAM и стоить они будут немало, когда это станет востребованным. Производители памяти нащупали для себя новый рынок сбыта. Надеемся, это не приведёт к значительному скачку на рынке обычной компьютерной памяти.
Добавим, Samsung не уточнила рабочие характеристики новинки, но утверждает, что латентность обращения к банку памяти в виде модуля с шиной CXL значительно снижается по сравнению с традиционными модулями ОЗУ.
https://3dnews.ru/1039284/samsung-predstavila-operativnuyu-p.
Родители и технологии
Отец в 1993: хватит кинескоп садить, и Марио твой кирпичи башкой ломает, что за чушь
Отец в 2005: да зачем эти ваши компуктеры, у меня печатная машинка есть, да и от руки написать быстрее
Отец в 2021: я в облако фотографии сканированные закинул, посмотри, что там из них вытянуть можно. Мне вечером надо статью на сайт поставить. И я текст книги закончил, фотографии подписал, теги в тексте расставил, можно на верстку отдавать. И это, опять обновление на Виндовс вышло, у меня камера и фотоаппарат не определяются через USB теперь, есть новости, когда починят? А давай вечером через ТимВьювер тебя подключу, помоги мне пару файлов найти. И может квадрокоптер уже купим, мне надо с воздуха объекты осматривать.
72 года, золотое время. Торчит вторую неделю в больнице на плановом осмотре с ноутом, срач в комментах в политических постах разводит :/
Хозяйке на заметку
Вдруг пригодится кому, когда в отпуск опять разрешат летать:
«Окей Гугл» времен СССР
История, случившаяся в дружные советские времена, когда все в подъезде, да что там – на поселке, знали друг друга в лицо, по имени и по «определяющим подробностям».
Появился у нас в семье КОМПЬЮТЕР! Вернее сами с братом сваяли-спаяли из комплектующих, приобретенных на радиорынке. На дворе был 1988 год, компьютер был ZX Spectrum.
Буквально через день после сего знаменательного события к нам приходят двое неизвестных – мальчишки, с кассетами.
— Пацаны, это у вас комп появился? – откуда узнали, как нашли – фиг знает, народная молва нашептала.
— Кассеты есть? – для не знающих, в эпоху додисководную (это еще до жестких дисков) все программулины ходили на традиционных аудиокассетах и загружались эти программулины – весьма неспешно с противным визгливым звуком.
— Да, пара (приобретены там же на радиорынке).
— Дадите переписать? А мы вам пока – вот. – и вываливают едва ли не с десяток своих кассет.
Узнали имена этих пацанов – звали их Женька, да Серега, были они братьями. Кассетами поменялись, да и распрощались. ЗАБЫВ ПРИ ЭТОМ УЗНАТЬ И АДРЕС И ФАМИЛИЮ.
Кассеты переписали буквально за вечер, весь следующий день в игрушки рубились, а еще через пару дней задумались – братья что-то не появляются, а там, на наших кассетах, две игрушки в которые ну очень хочется поиграться. Renegad и Zynaps (могу переврать названия, но вроде так).
И пошли мы этих братьев искать. Как это выглядело: выходим на улицу, идем в сторону центра поселка, встречаем какого-нибудь пацана, спрашиваем:
— Серегу с Женькой знаешь, у них еще спектрум есть?
И так, порасспросив буквально пару тройку пацанов узнали двор, где те проживают, а во дворе, подошли к первым попавшимся бабкам у подъезда с тем же вопросом.
Так что «Окей Гугл» в СССР тоже был, только структура у него была чуть помудреней и подушевней.