Обновить
0
@PCMread⁠-⁠only

Пользователь

Отправить сообщение

История сценера и крупнейшего релизёра EliteTorrents, который «отделался» условным сроком

Время на прочтение5 мин
Охват и читатели31K


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

В феврале 2012г на torrentfreak была опубликована статья, основанная на интервью с человеком, вместе с другими арестованном ФБР в ходе операции D-Elite, о которой я писал ранее. Будучи ещё подростком, он получил доступ к элитному пиратскому сообществу (сцене) и одновременно стал ведущим аплоадером на одном из самых известных торрент-трекеров мира.

Под катом — перевод статьи и небольшое образное сравнение.
Читать дальше →

Как работает транзистор? Ну очень доступное видео-объяснение

Время на прочтение1 мин
Охват и читатели174K


Думаю, практически все представители хабрасообщества понимают, как работает транзистор (да и не только он). Тем не менее, я предлагаю оценить объяснение работы транзистора (а также полупроводников и прочего), представленное пользователем YouTube 1vertiasium. Видео — англоязычное, но объяснение настолько красочное, что и так все понятно.

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

Устройство файла UEFI BIOS, часть полуторная: UEFI Platform Initialization

Время на прочтение6 мин
Охват и читатели98K
В первой части этой статьи мы познакомились с форматом UEFI Capsule и Intel Flash Image. Осталось рассмотреть структуру и содержимое EFI Firmware Volume, но для понимания различий между модулями PEI и драйверами DXE начнем с процесса загрузки UEFI, а структуру EFI Firmware Volume отставим на вторую часть.
Читать полуторную часть

NES, реализация на FPGA

Время на прочтение15 мин
Охват и читатели192K
Добрый день!

Я хочу рассказать о проекте игровой консоли Nintendo Entertainment System (NES) в реализации на FPGA. На постсоветском пространстве она известна как Dendy.

NES на ПЛИС
Желающих посмотреть видео и поностальгировать прошу под кат.
Ностальгировать

Устройство файла UEFI BIOS, часть первая: UEFI Capsule и Intel Flash Image

Время на прочтение7 мин
Охват и читатели230K
Выпуск материнских плат на чипсетах Intel шестой серии (P67 и его братьях) принес на массовый рынок ПК новый вариант BIOS — UEFI. В этой статье мы поговорим об устройстве файлов UEFI Capsule и Intel Flash Image.
Структура EFI Firmware Volume и полезные в хозяйстве патчи будут описаны во второй части.
Читать первую часть

Пишу игрушечную ОС (о реализации sleep)

Время на прочтение4 мин
Охват и читатели17K

Очередной пост для блога, посвященного работе над игрушечной ОС. В прошлый раз я писал про необходимость в простеньком драйвере AHCI (SATA). Прежде чем начать двигаться в этом направлении, я решил набросать инфраструктуру драйверов: общий интерфейс драйвера + уточнённый интерфейс драйвера устройства хранения. Формулирование этих интерфейсов выявило проблему, на которую я ранее не обращал внимания — проблему портируемости.

Не зависящий от платформы код (например, большая часть планировщика, вспомогательный код типа kprintf, ...) у меня перемешивается с кодом, заточенным только под x86_64 (системные таблицы дескрипторов, APIC, прерывания, ...). Хотя ничего не мешало мне сформулировать интерфейс драйвера, жёстко привязанного к x86_64 (в частности, свободно оперировать PCI-адресами), мне стало ясно, что без чёткого отделения кода, специфичного для конкретной платформы, от общего портируемого кода я буду лишь усугублять ситуацию. Итак, я принял решение перебрать всё написанное, отделив общий код (в корне src/) от кода, специфичного для платформы (в src/x86_64/). Этим я и занимался последние две недели.
Читать дальше →

Как запустить программу без операционной системы: часть 4. Параллельные вычисления

Время на прочтение18 мин
Охват и читатели31K
После долгого перерыва продолжаем делать интересные штуки, как всегда на чистом железе без операционной системы. В этой части статьи научимся использовать весь потенциал процессоров: будем запускать программу сразу на нескольких ядрах процессора в полностью параллельном режиме. Чтобы провернуть такое, нам потребуется многое сделать для расширения функциональности программы полученной в части 3.

Просто так выполнять какие-то вычисления на ядрах процессора – скучно, поэтому нужна задача, которая требует больших вычислительных ресурсов, хорошо раскладывается на параллельные вычисления, да и выглядит прикольно. Предлагаем сделать программу, которая рендерит простенькую 3D-сцену, используя алгоритм обратной трассировки лучей, или, по-простому, Ray Tracing.

Начнем с самого начала: наша цель параллельные вычисления на всех ядрах процессора. Все современные процессоры для PC, да и ARM уже тоже (я молчу про GPU) – это многоядерные процессоры. Что же это означает? Это означает, что вместо одного вычислительного ядра у процессора на одном компьютере присутствует несколько ядер. В общем случае, все выглядит несколько сложнее: на компьютере может быть установлено несколько сокетов (чипов процессора), в рамках каждого чипа (в рамках одного кристалла) может находиться сразу несколько физических ядер, а в рамках каждого физического ядра может находиться несколько логических ядер (например, те, что возникают при использовании технологии Hyper Threading). Все это схематично представлено на рисунке ниже, и называется топологией.


Читать дальше →

Doom 3 BFG — обзор исходного кода: Многопоточность (часть 2 из 4)

Время на прочтение6 мин
Охват и читатели43K
Часть 1: Введение
Часть 2: Многопоточность
Часть 3: Рендеринг (Прим. пер. — в процессе перевода)
Часть 4: Doom classic — интеграция (Прим. пер. — в процессе перевода)

Движок для Doom III был написан в период с 2000 по 2004 год, в то время, когда большинство ПК были однопроцессорными. Хотя архитектура движка idTech4 разрабатывалась с учетом поддержки SMP, это закончилось тем, что поддержка многопоточности делалась в последнюю минуту (см. интревью с Джоном Кармаком).
Читать дальше →

Руководство по созданию собственной установочной сборки Windows 8

Время на прочтение16 мин
Охват и читатели71K
Введение

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

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

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

Текст рассчитан на начинающих пользователей, поэтому объясняются и иллюстрируются порой простейшие вещи.

Читать далее...

Строим декоративный транзисторный компьютер — шаг 1

Время на прочтение7 мин
Охват и читатели121K
Недавно на хабре была статья о проектировании собственного компьютера, где автор хотел сначала строить компьютер из транзисторов, но затем решил продолжить на микросхемах 7400-серии из-за того, что на транзисторах ему это показалось слишком сложным и дорогим занятием.

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

Главный вопрос — зачем все это нужно, если есть FPGA и всякие Raspberry Pi?

Ответ простой:
1) Мне интересно этим заниматься в свободное время и
2) Декоративный компьютер (декоративный — это вопрос отношения к компьютеру, а не его внешности) — он как декоративные домашние животные: мопс не отгрызет ногу грабителю, а персидский котик не победит в бою метрокрысу. Но с ними интересно играть и показывать гостям — даже если в области вычислений, охраны и охоты они сильно уступают «боевым» аналогам.
Читать дальше →

Вычисление N-го знака числа Пи без вычисления предыдущих

Время на прочтение4 мин
Охват и читатели138K
С недавних пор существует элегантная формула для вычисления числа Пи, которую в 1995 году впервые опубликовали Дэвид Бэйли, Питер Борвайн и Саймон Плафф:
image

Казалось бы: что в ней особенного — формул для вычисления Пи великое множество: от школьного метода Монте-Карло до труднопостижимого интеграла Пуассона и формулы Франсуа Виета из позднего Средневековья. Но именно на эту формулу стоит обратить особое внимание — она позволяет вычислить n-й знак числа пи без нахождения предыдущих. За информацией о том, как это работает, а также за готовым кодом на языке C, вычисляющим 1 000 000-й знак, прошу под хабракат.
Читать дальше →

Пишем эмулятор Gameboy, часть 3

Время на прочтение23 мин
Охват и читатели12K
Здравствуйте!

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

Пишем эмулятор Gameboy, часть 1
Пишем эмулятор Gameboy, часть 2
Пишем эмулятор Gameboy, часть 3
Читать дальше →

Пишу игрушечную ОС (о реализации мьютекса)

Время на прочтение4 мин
Охват и читатели28K

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

Как запустить программу без операционной системы: часть 3: Графика

Время на прочтение17 мин
Охват и читатели60K


В этой части попробуем сделать “невозможное”: научимся использовать графический дисплей без операционной системы. На самом деле это задача не из легких, особенно в случае работы в 32-х битном защищенном режиме, и особенно если хочется использовать приличное разрешение экрана а не 320x200x8. Но все по порядку: раз хотим графику – значит нужно работать с видеокартой.

Современные графические карты – это практически полноценные компьютеры по мощности не уступающие основному: тут и декодирование MPEG2 в качестве 1080p, поддержка 3D графики и шейдеров, технологии вроде CUDA, и многое другое. Это все выглядит весьма сложно. С другой стороны видеокарты – это всего лишь очередной PCI девайс, такой же, как и остальные. Это устройство мы даже “нашли” в предыдущей статье с номером класса устройства 0x03 (class_name=graphics adapter). Как и с любым, устройством с видеокартой можно работать при помощи портов ввода-вывода или MMIO областей памяти, а сама видеокарта может использовать DMA и прерывания для взаимодействия с основным процессором. Если посмотреть на диапазон портов ввода-вывода, доступных у видео карт, то мы увидим, что всего ей выделяется менее 50-ти байт – не так уж и много с учетом огромной функциональности, которой обладают современные видеокарты.
Читать дальше →

Как запустить программу без операционной системы: часть 2

Время на прочтение8 мин
Охват и читатели66K


В первой части нашей статьи мы рассказали о том, каким образом можно получить простую программу “Hello World”, которая запускается без операционной системы и печатает сообщение на экран.

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

! ВАЖНО!: Все дальнейшие действия могут успешно осуществляться только после успешного прохождения всех 6-ти шагов описанных в первой части статьи).

Читать дальше →

Как запустить программу без операционной системы

Время на прочтение13 мин
Охват и читатели189K

Так вышло, что в нашей статье, описывающей механизм опроса PCI шины, не было достаточно подробно описано самого главного: как же запустить этот код на реальном железе? Как создать собственный загрузочный диск? В этой статье мы подробно ответим на все эти вопросы (частично данные вопросы разбирались в предыдущей статье, но для удобства чтения позволим себе небольшое дублирование материала).

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

Итак, цель: затратив как можно меньше усилий, создать собственную загрузочную флешку, которая всего-навсего печатает на экране компьютера классический “Hello World”.

Читать дальше →

Как уронить Windows шестью строчками кода

Время на прочтение3 мин
Охват и читатели269K
См. также: Microsoft исправила уязвимость с синим экраном

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


Читать дальше →

Что делать айтишнику в российской армии

Время на прочтение4 мин
Охват и читатели330K

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

Ускорь свой код и найди иголку в стоге сена

Время на прочтение3 мин
Охват и читатели21K

Каждый день тысячи спутников, самолетов, камер наблюдения делают миллионы снимков высокого разрешения. Чтобы добыть оттуда полезную информацию, их надо обработать – и эта задача даже на первый взгляд не кажется легкой. Именно благодаря своей сложности (а также большому простору для распараллеливания) она и стала содержанием летнего тура конкурса Intel «Accelerate Your Code», который проходит с 1 мая по 31 августа. В этот раз в условиях конкурса произошли некоторые изменения, а вот главный приз остался прежним – победитель получит ультрабук стоимостью 1000 евро.
Читать дальше →

Zyxel N4100 — Точка доступа… с принтером

Время на прочтение4 мин
Охват и читатели57K
Говорите, надоели обзоры телефонов? В этот понедельник — что-то новенькое.
image
Интересно, зачем ей принтер?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность