Рубрика «ядро»

Пишем макет 16-битного ядра на C-C++ - 1

В первой и второй статьях я лишь коротко представил процесс написания загрузчика на ассемблере и C. Для меня это было хоть и непросто, но в то же время интересно, так что я остался доволен. Однако создания загрузчика мне показалось мало, и я увлекся идеей его расширения дополнительной функциональностью. Но так как в итоге размер готовой программы превысил 512 байт, то при попытке запуска системы с несущего ее загрузочного диска я столкнулся с проблемой “This is not a bootable disk”.Читать полностью »

Линус Торвальдс представил релиз ядра Linux 5.9. Что нового? - 1

Прошло всего два месяца со времени выхода релиза ядра Linux 5.8, которое назвали «величайшим»", а Торвальдс уже опубликовал новый релиз, на этот раз версии 5.9.

По данным журналиста Майкла Ларабеля, в коде ядра — 20,49 млн строк, 3,58 млн строк комментариев и 3,72 млн пустых строк. Количество файлов с исходным кодом достигло 59 тыс. Но окей, все это количественные характеристики. А что нового в ядре? Давайте посмотрим.
Читать полностью »

Евангелист Open Source Эрик Реймонд: Windows перейдет на ядро Linux в недалеком будущем - 1

Эрик Реймонд — евангелист свободного ПО, сооснователь фонда Open Source Initiative, автор «закона Линуса» и книги «Собор и базар», своеобразной «священной книгой» свободного ПО. По его мнению, в недалеком будущем Windows перейдет на ядро Linux, так что сама Windows станет слоем эмуляции на этом ядре.

Похоже на шутку, но сегодня вроде бы и не 1 апреля. Свое утверждение Реймонд аргументирует активными действиями Windows в сфере открытого ПО. Так, Microsoft активно работает над Windows Subsystem for Linux (WSL) — подсистемой Linux для Windows. Также он не забыл о браузере Edge, который работал сначала на движке EdgeHTML, но полтора года назад его перевели на Chromium.
Читать полностью »

Linux 5.6 станет «самым восхитительным ядром за много лет» - 19 февраля 2020 года Линус поставил тег rc1 на ветке с новым ядром Linux 5.6. Таким образом, окно для вливания коммитов закрыто — и можно окинуть взглядом, что из себя представляет новое ядро 5.6, релиз которого состоится в конце марта или начале апреля.

Хотя из-за праздников окно получилось чуть меньше обычного, это не помешало добавить 11 500 коммитов от более 1400 разработчиков. Некоторые патчи очень важные, а издание Phoronix даже считает, что Linux 5.6 станет «самым восхитительным ядром за много лет». Судите сами, вот неполный список нововведений:

  • Поддержка USB4
  • Встроенный VPN WireGuard на уровне ядра
  • Опенсорсные драйверы Nvidia RTX 2000
  • Начало поддержки процессоров на будущей архитектуре AMD Zen 3
  • и многое-многое другое...

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

В предыдущей статье мы рассмотрели основы работы в защищенном режиме IA-32. Сегодня пришла пора научиться работать с виртуальным адресным пространством.
Читать полностью »

В связи с отрицательными отзывами пробной статьи «Разработка микроядерной Unix подобной OC — планировщик» я решил перезапустить серию статей с учетом некоторых замечаний. Теперь, осознав свою целевую аудиторию, я смог сместить фокус с подобных себе на тех кому это действительно нужно.
Читать полностью »

У 17 вендоров найдены серьезные уязвимости в драйверах - 1

На конференции DEF CON 2019 в Лас-Вегасе (штат Невада, США) эксперты по безопасности из компании Eclypsium представили доклад о стандартных ошибках и уязвимостях при разработке ПО, которые они нашли в 42 драйверах режима ядра, исследовав программное обеспечение почти двух десятков различных производителей. Причем, их обращения и вопросы по этому исследованию некоторые производители оборудования просто проигнорировали.
Читать полностью »

Аксель Ритчин (Axel Rietschin), инженер ядра в Microsoft, обвинил создателей ReactOS, открытой операционной системы, совместимой с Windows, в копировании кода Windows Research Kernel.

Этот продукт содержит исходные коды основной части ядра Windows (NTOS), которое реализует базовые функции ОС для процессов, потоков, реестра, виртуальной памяти и менеджеров кэшей, исполнительных функций, менеджера объекта и т.п.
Читать полностью »

Windows – одна из наиболее многогранных и гибких ОС, она работает на совершенно разных архитектурах и доступна в разных вариантах. На сегодня она поддерживает архитектуры x86, x64, ARM и ARM64. Windows в своё время поддерживала Itanium, PowerPC, DEC Alpha и MIPS. Кроме того, Windows поддерживает целый набор SKU, работающих в различных условиях; от дата-центров, ноутбуков, Xbox и телефонов до встраиваемых версий для интернета вещей, например, в банкоматах.

Самый удивительный аспект состоит в том, что ядро Windows практически не меняется в зависимости от всех этих архитектур и SKU. Ядро динамически масштабируется в зависимости от архитектуры и процессора, на котором оно работает, так, чтобы пользоваться всеми возможностями оборудования. Конечно, в ядре присутствует определённое количество кода, связанного с конкретной архитектурой, однако его там минимальное количество, что позволяет Windows запускаться на разнообразных архитектурах.

В этой статье я расскажу об эволюции ключевых частей ядра Windows, которые позволяют ему прозрачно масштабироваться от чипа NVidia Tegra низкого потребления, работающего на Surface RT 2012 года, до гигантских монстров, работающих в дата-центрах Azure.
Читать полностью »

Чем заняться процессору, когда нечего делать? - 1Разумно было бы предполагать, что для ядра довольно легко будет ничего не делать – но это не так. На конференции Kernel Recipes 2018 Рафаэль Высоцкий рассказал о том, чем занимаются процессоры, когда им нечего делать, как это обрабатывает ядро, какие у текущей стратегии есть проблемы, и как его недавняя работа над циклом бездействия улучшила ситуацию с энергопотреблением систем, которые ничего не делают.

Цикл бездействия, одна из подсистем ядра, которую поддерживает Высоцкий, управляет тем, что делает CPU, когда ему не нужно исполнять никаких процессов. Высоцкий очень точно дал все определения: CPU – это такая сущность, которая может принимать инструкции из памяти и выполнять их одновременно с другими сущностями в той же системе, занимающимися тем же самым. На простейшей однопроцессорной системе с одним ядром этим ядром является CPU. Если у процессора несколько ядер, то каждое из этих ядер – CPU. Если у каждого из ядер есть несколько интерфейсов для одновременного исполнения инструкций – Intel называет такую систему "гиперпоточностью" – тогда каждый из этих потоков будет CPU.
Читать полностью »


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