Рубрика «операционные системы» - 14

Zircon? Что это?

В августе 2016 года, без каких-либо официальных объявлений со стороны Google, были обнаружены исходники новой операционной системы Изюминка Zircon: vDSO (virtual Dynamic Shared Object) - 1 Fuchsia. Эта ОС основана на микроядре под названием Zircon, которое в свою очередь основано на LK (Little Kernel).

Fuchsia is not Linux

Примечания переводчика

Я не настоящий сварщик являюсь разработчиком и/или экспертом Zircon. Тест под катом является компиляцией частичных переводов: официальной документации Zircon vDSO и статьи Admiring the Zircon Part 1: Understanding Minimal Process Creation от @depletionmode, куда было добавлено немного отсебятины (которая убрана под спойлеры). Поэтому конструктивные предложения по улучшению статьи, как и всегда, приветствуются.

О чем пойдет речь в статье?

vDSO в Zircon является единственным средством доступа к системным вызовам (syscalls).
А разве нельзя из нашего кода напрямую вызвать инструкции процессора SYSENTER/SYSCALL? Нет, эти инструкции процессора не являются частью системного ABI. Пользовательскому коду запрещено напрямую выполнять такие инструкции.
Желающих узнать больше деталей о таком архитектурном шаге приглашаю под кат.

Изюминка Zircon: vDSO (virtual Dynamic Shared Object) - 2

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

Всем привет. Эта история началась 10 лет назад, когда разработчики сайтов только начали использовать XmlHttpRequest, длилась все эти годы и наконец подошла к завершению. XmlHttpRequest мы использовали немного не так, как его используют все, и теперь хотим поделиться многолетним опытом работы и её результатами. Тема большая, очень многое будет недосказано, но я не могу заранее предположить все вопросы и ответить на них в одной статье. Только на нижеприведённый текст ушло больше недели, возможно лучше и быстрее будет отвечать в комментариях на вопросы, если конечно статью опубликуют. В нашем скромном коллективе меня выбрали писателем этой статьи, я долго отказывался, но в итоге пришлось согласиться, никто больше не хочет. Меня можно сказать заставили.

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

Портирование Quake3 - 1

В операционной системе Embox (разработчиком которой я являюсь) какое-то время назад появилась поддержка OpenGL, но толковой проверки работоспособности не было, только отрисовка сцен с несколькими графическими примитивами.

Я никогда особо не интересовался геймдевом, хотя, само собой, игры мне нравятся, и решил — вот хороший способ развлечься, а заодно проверить OpenGL и посмотреть, как игры взаимодействуют с ОС.

В этой статье я расскажу о том, как собирал и запускал Quake3 на Embox.

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

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

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

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

Добрый день! Несколько дней назад столкнулся с небольшой проблемой в нашем проекте — в обработчике прерывания gdb неправильно выводил stack trace для Cortex-M. Поэтому в очередной раз полез выяснять, а какими способами можно получать stack trace для ARM? Какие флаги компиляции влияют на возможность трассировки стека на ARM? Как это реализовано в ядре Linux? По результатам исследований решил написать эту статью.
Читать полностью »

Федеральная антимонопольная служба предписала МВД России скорректировать тендерную документацию на закупку компьютеров и операционных системы. Силовики намеревались потратить около миллиарда рублей на покупку компьютеров с Windows 7, сообщила «Фонтанка». Однако по правительственному постановлению «Об установлении запрета на допуск программного обеспечения, происходящего из иностранных государств, Читать полностью »

imageДобрый день! Сегодня я хочу рассказать вам как написать минимальную программу, которая запустится на ARM Cortex-M3 и при этом напечатает “Hello, World!”. Постараемся разобрать по шагам необходимый минимум, который нам для этого потребуется. Запускать будем на эмуляторе QEMU. Поэтому любой желающий может воспроизвести, даже если у него нет под рукой железки.

Итак, поехали!
Читать полностью »

Android и Единорог PVS-Studio

Разработка больших сложных проектов невозможна без использования методологий программирования и инструментальных средств, помогающих контролировать качество кода. В первую очередь, это грамотный стандарт кодирования, обзоры кода, юнит-тесты, статические и динамические анализаторы кода. Всё это помогает выявлять дефекты в коде на самых ранних этапах разработки. В этой статье демонстрируются возможности статического анализатора PVS-Studio по выявлению ошибок и потенциальных уязвимостей в коде операционной системы Android. Надеемся, что статья привлечёт внимание читателей к методологии статического анализа кода и они захотят внедрить её в процесс разработки собственных проектов.
Читать полностью »

Windows 10 использует технологию машинного обучения для определения возможности апдейта - 1

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

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

Немного об OSDAY или Чему нужно учить студентов, чтобы они начинали работать в российских IT-компаниях и оставались там - 1 В конце мая Embox, уже традиционно, принял участие в OSDay. Конференция, как и в прошлом году, проходила в главном здании РАН. На этот раз она была посвящена надежности. Тема надежности ПО стара. Она затронута, например, Фредериком Бруксом в его легендарном произведении “Мифический человеко-месяц”, на которое несколько раз ссылались и на самой конференции. В книге упоминается, что одной из проблем, с которой столкнулись в процессе создания операционной системы OS/360, было отсутствие достаточного количества квалифицированных программистов. Наверное, по этой же причине много времени на конференции было уделено образованию в области системного программирования. В общем, кому интересно, какие, на мой взгляд, интересные идеи высказывались и обсуждались на конференции, прошу под кат.
Читать полностью »


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