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

ShIoTiny: часы без пружины или реальное время и как с ним работать - 1

О чем эта статья

Продолжаем цикл статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266.

В этот статье рассказано о часах реального времени в контроллере ShIoTiny, синхронизации времени и использовании узлов работы с часами.

Сайт проекта ShIoTiny

Предыдущие статьи серии.

ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска»

ShIoTiny: узлы, связи и события или особенности рисования программ

ShIoTiny: вентиляция влажного помещения (проект-пример)

ShIoTiny и окружающий мир: подключение датчиков к бинарным входам, дребезг контактов и другие вопросы

ShIoTiny и окружающий мир: аналоговые датчики или АЦП для самых маленьких

Бинарные прошивки, схема контроллера и документация
Читать полностью »

CCCamp2019

С 21 по 25 августа в Германии проходил крупнейший хакерский фестиваль Chaos Communication Camp.

Он организуется каждые четыре года, и, как в предыдущий раз, площадкой для проведения стал индустриальный парк Ziegeleipark Mildenberg. Это крупная старинная фабрика по производству кирпичей с узкоколейной железной дорогой и речным портом, которая превращена в музей под открытым небом. И в этом удивительном месте на пять дней собрались более 5000 хакеров со всего света, которые неузнаваемо преобразили Ziegeleipark.

Предлагаю вам обзор докладов CCCamp 2019, которые мне особенно понравились.Читать полностью »

Пьяный программист сидит с открытым Norton Commander на экране. На обоих панелях открыт диск С. «Ну и зачем мне два диска С с одними и теми же файлами?» — подумал он и стер все его содержимое, нажав F8 и Enter.

— анекдот конца 80-х годов

Нортон (Norton Commander) for DOS – это файловый менеджер для DOS, который существовал в 5 основных версиях – 1.0, 2.0, 3.0, 4.0, 5.0, причем только последняя версия имеет подверсию 5.5. Многие версии до сих пор используются различными энтузиастами и лежат на различных сайтах по сети Интернет.

Это был, возможно, один из самых популярных файловых менеджеров в эпоху операционной системы DOS, который наряду с XTree порвал со своими корнями DOS и в виде других программ, унаследовавших его функциональность, которые существуют на других операционных системах.

История создания Norton Commander. Часть 1 - 3 - 1
Читать полностью »

В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали!
Читать полностью »

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

.NET – управляемая среда выполнения. Это означает, что в ней представлены высокоуровневые функции, которые управляют вашей программой за вас (из Introduction to the Common Language Runtime (CLR), 2007 г.):

Среда выполнения предусматривает множество функций, поэтому их удобно разделить по следующим категориям:

  1. Основные функции, которые влияют на устройство других. К ним относятся:
    1. сборка мусора;
    2. обеспечение безопасности доступа к памяти и безопасности системы типов;
    3. высокоуровневая поддержка языков программирования.
  2. Дополнительные функции– работают на базе основных. Многие полезные программы обходятся без них. К таким функциям относятся:
    1. изолирование приложений с помощью AppDomains;
    2. защита приложений и изолирование в песочнице.
  3. Другие функции – нужны всем средам выполнения, но при этом они не используют основные функции CLR. Такие функции отражают стремление создать полноценную среду программирования. К ним относятся:
    1. управление версиями;
    2. отладка/профилирование;
    3. обеспечение взаимодействия.

Видно, что хотя отладка и профилирование не являются основными или дополнительными функциями, они находятся в списке из-за ‘стремления создать полноценную среду программирования’.

Мониторинг .NET приложений - 1

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

Некоторое время назад мы анонсировали публичный релиз и открыли под лицензией MIT исходный код LuaVela – реализации Lua 5.1, основанной на LuaJIT 2.0. Мы начали работать над ним в 2015 году, и к началу 2017 года его использовали в более чем 95% проектов компании. Сейчас хочется оглянуться на пройденный путь. Какие обстоятельства подтолкнули нас к разработке собственной реализации языка программирования? С какими проблемами мы столкнулись и как их решали? Чем LuaVela отличается от остальных форков LuaJIT?

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

После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика.

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

Заглянуть «под капот» кода или посмотреть на внутреннее устройство CLR можно с помощью множества инструментов. Этот пост родился из твита, и я должен поблагодарить всех, кто помог составить список подходящих инструментов. Если я пропустил какие-то из них, напишите в комментариях.

Во-первых, я должен упомянуть, что хороший отладчик уже присутствует в Visual Studio и VSCode. Также существует множество хороших (коммерческих) профилировщиков .NET и инструментов мониторинга приложений, на которые стоит взглянуть. Например, недавно я попробовал поработать с Codetrack и был впечатлён его возможностями.

Однако оставшийся пост посвящён инструментам для выполнения отдельных задач, которые позволят лучше понять, что происходит. Все инструменты имеют открытый исходный код.

Инструментарий для анализа и отладки .NET приложений - 1

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

ПРЕДИСЛОВИЕ

Я несколько раз в своих комментариях ссылался ссылался на книгу Эндрю Таненбаума «Operating Systems Design and Implementation» на ее первое издание и на то, как в ней представлен язык Си. И эти комментарии всегда вызывали интерес. Я решил, что пришло время опубликовать перевод этого введения в язык Си. Оно по-прежнему актуально. Хотя наверняка найдутся и те, кто не слышал о языке программировании PL/1, а может даже и об операционной системе Minix.
Это описание интересно также и с исторической точки зрения и для понимания того, как далеко ушел язык Си с момента своего рождения и IT-отрасль в целом.Читать полностью »


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