Рубрика «системное программирование» - 71

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

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

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

Читать полностью »

Давно и с недоверием присматриваюсь к некоторым функциям WinAPI ориентированным на повышение производительности приложения. Открыв MSDN, нашел описание интересующих меня функций:

BOOL WINAPI SetPriorityClass(
  _In_  HANDLE hProcess,
  _In_  DWORD dwPriorityClass
);

Sets the priority class for the specified process. This value together with the priority value of each thread of the process determines each thread's base priority level.

BOOL WINAPI SetProcessWorkingSetSize(
  _In_  HANDLE hProcess,
  _In_  SIZE_T dwMinimumWorkingSetSize,
  _In_  SIZE_T dwMaximumWorkingSetSize
);

Sets the minimum and maximum working set sizes for the specified process.

BOOL WINAPI SetProcessPriorityBoost(
  _In_  HANDLE hProcess,
  _In_  BOOL DisablePriorityBoost
);

Disables or enables the ability of the system to temporarily boost the priority of the threads of the specified process.
Читать полностью »

        Приветствую. Микроядра редко появляются на Хабре, но на неделе был  топик о GNU/Hurd, где вспоминали  разные микроядра и известные проекты. Было сказано много неточностей, так что я решил рассказать о том, как обстоят дела в отрасли с нашей точки зрения. Дело в том, что мы активно участвуем в развитии проектов Fiasco.OC и Genode и ведем разработки на их основе, так что нам есть о чем рассказать.
Читать полностью »

Что такое  1.#IND и  1.#J?
Любой опытный программист знает, что стандарт представления значений с плавающей точкой (IEEE 754) оставляет несколько зарезервированных значений, соответствующих не-числам (NaN, not-a-number). Стандартная библиотека Visual C печатает не-числа следующим образом:

Печатается Означает
1.#INF Положительная бесконечность
-1.#INF Отрицательная бесконечность
1.#SNAN Положительное сигнальное не-число (signaling NaN)
-1.#SNAN Отрицательное сигнальное не-число (signaling NaN)
1.#QNAN Положительное несигнальное не-число (quiet NaN)
-1.#QNAN Отрицательное несигнальное не-число (quiet NaN)
1.#IND Положительная неопределённость
-1.#IND Отрицательная неопределённость

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

Оружие спаммера — ложный адрес отправителя. При этом в SMTP нет ничего, что бы заставило указывать истинный обратный адрес. Решить проблему подлинности были призваны механизмы аутентификации, которые проверяют письмо на соответствие реальному адресу отправки. Сегодня широко известны две технологии аутентификации: SIDF (система кода отправителя) и DKIM (идентификация почты ключом домена). Эта статья — обзор работы брендов и новичка SenderInspector.

SIDF и DKIM vs SI. Или кто на новенького

1. Технология SIDF
SIDF построен на основе протокола IP и объединяет технологии Microsoft Caller ID for E-Mail (идентификатор отправителя почты от Майкрософт) и SPF (фреймворк политики отправителя).

Механизм SIDF пытается определить, что сообщение было послано отправителем,
указанным в заголовке письма. Причем, отправляющий сервер должен находиться в списке серверов, которым разрешено отправлять почту. SIDF требует внесения специальных текстовых записей (SPF-записей) в файл зон DNS. Записи вносятся хозяином домена. Каждая такая запись должна включать список всех авторизованных серверов исходящей почты (с указанием домена и соответствующих IP-адресов). Принимающий сервер проверяет наличие записи SPF для
входного домена. Проверка выполняется автоматически, еще до того, как письмо попало в папку Входящие. Если адрес исходящего сервера найден, то письмо прошло проверку, иначе его относят к спаму или фишингу.

Читать полностью »

    В конце первой половины 90-х на рынок СНГ попала первая консоль от фирмы Sony — Playstation 1 или PSX. Ее можно считать уникальной со многих точек зрения, но для всех нас главным отличием пожалуй было то, что наконец-то в играх появилось полноценное видео, вменяемая 3D-графика, а также возможность сохранятся не при помощи пароля, судорожно ища бумажку(да простят меня читатели за неловкое сравнение, возникшее в их головах), а, как и подобает белому человеку, на цифровой носитель.

    Playstation: как это было

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

Cascade File System или размышления о файловой системы моей мечты

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

Я хотел бы предложить Вам мой концепт того, как я это вижу. Пока, к сожалению, в теории, так как я не обладаю достаточным знанием проектирования файловых систем, но я более чем уверен, что на Хабре таких людей предостаточно, и моя цель — призвать их к конструктивной критике и обсуждению предложенной мною идеи.
Читать полностью »

Не так давно появилась задача создать простой сервис по созданию PDF отчетов на основе офисных документов для интранета. И вроде бы все просто, но вот с сохранением Excel в PDF возникли проблемы. Интересно? Прошу под кат.

Читать полностью »

Нет, я не раскрою вам загадку, скрывающуюся в названии MCp0411100101, но постараюсь развёрнуто ответить на комментарий nerudo, записанный в топике Процессоры «Мультиклет» стали доступнее:

Читая описание архитектурных новшевств этого мультиклета, мне хочется воспользоваться фразой из соседнего топика: «Я не понимаю».

Если кратко, то MCp — это потоковый (от dataflow) процессор с оригинальной EPIC-архитектурой. EPIC — это Explicitly Parallel Instruction Computing, вычисления с явным параллелизмом инструкций. Я применяю этот термин здесь именно в этом смысле, как аббревиатуру, а не как ссылку на архитектуру Itanium-ов. Явный параллелизм в MCp совсем другого рода.

Читать полностью »

Relatively good news, Everyone! Стартовали продажи бюджетных отладочных плат на базе отечественного процессора с мультиклеточной (технический, между прочим, термин) архитектурой. Теперь можно купить отладочную плату с процессором MCp0411100101 за относительно небольшие деньги.

Плата LDM-MCp0411100101-Q208 Evolution разработана партнером ОАО «Мультиклет» — компанией LDM-SYSTEMS. Рекомендованная розничная цена отладочного комплекта — 6500 рублей. Да, это не Raspberry Pi по цене, зато, здесь архитектура CPU интереснее.

Кроме того, пока ещё существует возможность немного сэкономить. Производители объявили акцию: для первых 100 покупателей при оформлении заказа на отладочную плату LDM-MCp0411100101-Q208 Evolution до 20 января 2013 года стоимость комплекта — 5000 рублей. Оформить заявку на отладочный комплект по специальной цене можно на сайте компании LDM-SYSTEMS (по ссылке на плату).

image

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js