Pull to refresh
0
ilya @bontaread⁠-⁠only

User

Send message

Организация виртуальной памяти

Reading time14 min
Views80K
Привет, Хабрахабр!

В предыдущей статье я рассказал про vfork() и пообещал рассказать о реализации вызова fork() как с поддержкой MMU, так и без неё (последняя, само собой, со значительными ограничениями). Но прежде, чем перейти к подробностям, будет логичнее начать с устройства виртуальной памяти.

Конечно, многие слышали про MMU, страничные таблицы и TLB. К сожалению, материалы на эту тему обычно рассматривают аппаратную сторону этого механизма, упоминая механизмы ОС только в общих чертах. Я же хочу разобрать конкретную программную реализацию в проекте Embox. Это лишь один из возможных подходов, и он достаточно лёгок для понимания. Кроме того, это не музейный экспонат, и при желании можно залезть “под капот” ОС и попробовать что-нибудь поменять.
Читать дальше →

Путешествие по Стеку. Часть 1

Reading time7 min
Views98K


В предыдущих материалах мы рассмотрели размещение программы в памяти – одну из центральных концепций, касающихся выполнения программ на компьютерах. Теперь обратимся к стеку вызовов – рабочей лошадке большинства языков программирования и виртуальных машин. Нас ожидает знакомство с удивительными вещами вроде функций-замыканий, переполнений буфера и рекурсии. Однако всему свое время – в начале нужно составить базовое представление о том, как работает стек.
Читать дальше →

Выбор графического движка (GUI) для встраиваемой электроники

Reading time15 min
Views30K

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

В нашем полифункциональном заряднике есть небольшой графический дисплей. Разберём что тут можно подобрать. 

Читать далее

Fuchsia OS глазами атакующего

Reading time34 min
Views33K

Fuchsia — это операционная система общего назначения с открытым исходным кодом, разрабатываемая компанией Google. Эта операционная система построена на базе микроядра Zircon, код которого написан на C++. При проектировании Fuchsia приоритет был отдан безопасности, обновляемости и быстродействию.

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

Читать далее

Тетрис: история одной игры

Reading time22 min
Views46K
image

Сегодня «Тетрису» исполняется 38 лет, а потому неплохо будет вспомнить тот тернистый путь, через который прошла эта игра.

Я изобрел тетрис для собственного удовольствия. Только так и можно что-то изобрести, — Алексей Леонидович Пажитнов

Многое великое создаётся случайно, в рабочей рутине. Порой задумка создателя совсем не похожа на то, для чего вещь в итоге применят на практике. Скажем, для проверки гипотезы или забавы ради. Но судьба распоряжается так, что даже маленькая идея, реализованная во что-то весомое, становится мировым достоянием, вопреки всем планам и целям. Более того — она кардинально меняет жизни людей и даёт определенный виток развития по другим направлениям, задает тренд и становится хитом.

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

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

В общем, об этой чудной игре и поговорим.
Читать дальше →

Когти орла. Римские мечи, завоевавшие мир

Reading time12 min
Views15K

Я думаю, никто не станет спорить с тем очевидным фактом, что в жизни каждого современного человека бывает момент, когда он понимает, что на дворе I век нашей эры и ему нужно рубить варваров во славу Римской Империи. Посему сегодня мы будем обсуждать римские мечи.

Читать далее

Детальный анализ вредоносного ПО, замаскированного под NOTEPAD++

Reading time7 min
Views9.4K

Lazarus привлекала своих жертв при помощи документов о вакансиях в таких компаниях, как LockHeed Martin, BAE Systems и Boeing. В данном конкретном случае злоумышленники привлекали жертв, ищущих работу в Boeing, при помощи документа Boeing BDS MSE.docx ( твит ShadowChasing1). Вредоносное ПО извлекает имя хоста, имя пользователя, информацию о сети, список процессов и другую информацию, которая затем должна была передаваться на один из четырёх серверов C2. Предназначенные для передачи данные сжимались, шифровались XOR, кодировались Base64 и отправлялись на сервер C2. Троян реализует четыре действия, в том числе скачивает и исполняет файл .exe или .dll, загружает PE (Portable Executable) в память процессов и исполняет шелл-код.
Читать дальше →

Шифрование трафика в Direct Connect, ч. 2

Reading time3 min
Views6K
– Ты кто такой???
– Я новый русский.
– А я тогда кто?!


Предисловие

В первой части статьи мы рассуждали о Direct Connect в целом и обустраивали ADCs хаб.

Сегодня нам предстоит научиться использовать такой хаб по прямому назначению. Для этого мы поговорим об особенностях совместимых DC клиентов и подружим их с TLS.
Читать дальше →

PROSPECTOR изнутри

Reading time6 min
Views13K
Если есть возможность, лучше не разрабатывать экспертные системы (с)

В мире разработано множество экспертных систем, в данном посте хотелось бы рассмотреть структуру и логику работы одной из древних ЭС под названием «PROSPECTOR».
Читать дальше →

Погружение в систему — вот на что уходит основное время разработчика

Reading time4 min
Views9.1K
Об авторе. Тудор Гриба — разработчик свободного редактора кода Glamorous Toolkit. Это программируемая MDE с движком визуализации и встроенной системой управления знаниями. В своей программной статье автор объясняет, с какой целью создана среда разработки Moldable Development Environment.

Давайте разберёмся, на что уходит время разработчиков. Самый старый из известных мне источников по этой теме — книга «Принципы разработки и проектирования программного обеспечения» Зелковица, Шоу и Гэннона (1979). Там написано, что две трети времени программиста уходит на сопровождение проектов.

Скан страницы:


Затраты на разработку программного обеспечения (1979)
Читать дальше →

Яндекс выложил в опенсорс YDB

Reading time16 min
Views154K
Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой опубликованы на GitHub под лицензией Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах — в том числе в любых облачных сервисах.



YDB решает задачи в одной из самых критичных областей — позволяет создавать интерактивные приложения, которые можно быстро масштабировать по нагрузке и по объёму данных. Мы разрабатывали её, исходя из ключевых требований к сервисам Яндекса. Во-первых, это катастрофоустойчивость, то есть возможность продолжить работу без деградации при отключении одного из дата-центров. Во-вторых, это масштабируемость на десятки тысяч серверов на чтение и на запись. В-третьих, это строгая консистентность данных.

В посте я расскажу об истории развития технологий баз данных, о том, зачем использовать YDB, как её применяют текущие пользователи и какие плюсы для всех несёт выход в опенсорс. А во второй половине поста поговорим о разных вариантах развёртывания.
Читать дальше →

Строковые алгоритмы на практике. Часть 1 — Алгоритм Кнута — Морриса — Пратта

Reading time8 min
Views28K

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


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

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

Мозг тоже болеет: что такое антидепрессанты и нужны ли они вам вообще?

Reading time14 min
Views67K
Депрессия — это не только, когда грустно целый день и нет желания работать. Вы можете вообще про неё не знать и лечиться от другого, не понимая, что речь про гормональный дисбаланс, который можно исправить. А поскольку ходить к неврологу «стыдно», есть все шансы прожить долгую несчастную жизнь с недостатком пары гормонов.


Лет десять назад любые проблемы с нервной системой сложнее дёргающегося глаза было принято скрывать. Люди чуть ли не с накладной бородой шли на приём к частному психиатру на другом конце города и боялись, что их поставят на учёт, сообщат на работу или родственникам. Сейчас, на мой субъективный взгляд, ситуация начала меняться в лучшую сторону, а неврологические расстройства всё реже воспринимаются как что-то постыдное.

Сегодня будем говорить про депрессию, которая на самом деле вовсе не про то, что вам как-то грустно. Нарушения в синтезе, выделении и обратном захвате нейромедиаторов могут проявляться не только в желании сидеть и смотреть ковёр целыми днями, а совершенно внезапными вещами вроде тяжёлых проблем с ЖКТ, хроническими болями и другими вещами.

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

Динамические структуры в shared-памяти

Reading time5 min
Views6.4K

Приветствую, читатель! Хотелось бы осветить свою небольшую библиотеку для C++, которая призвана помочь Вам создавать динамические структуры в shared-памяти. Далее - под катом.

Читать далее
Здравствуйте! Мы подразделение «Лаборатории Касперского», которое разрабатывает безопасную операционную систему KasperskyOS. Наша цель — создать ОС, у которой есть кибериммунитет, поэтому ей не страшно доверить управление умными автомобилями, сложными техническими процессами и важными информационными системами. Хотим рассказать, как идет развитие проекта, какие технологии лежат в его основе и что получается на выходе. Ну и немного о нашей внутренней структуре: кто и чем занимается, как выстраивается работа на удаленке, а также как попасть к нам в команду.
Узнать →

Кризис в стоматологии: готовьтесь чистить зубы 3 раза в день

Reading time6 min
Views78K

Отечественных расходников, оборудования и комплектующих у нас меньше 2%. Сама модель клиники на краю прикладной науки в том, что у нас есть лучшие игрушки со всего мира. С момента начала событий прошло около трёх недель. Мы ещё не до конца поняли, что случилось в целом и какие будут дальше последствия, но цены на всё уже выросли.

В отличие от других отраслей у нас не прекратились никакие поставки. Точнее, например, есть несколько американских поставщиков фармы. Двое отказались, а третий и четвёртый решили расширить доли, потому что рынок России большой. Почему они остались? Официально, потому что биоэтика предполагает, что от медикаментов страну отрезать нельзя даже санкциями, а реально, потому что это сулит им сверхприбыли.

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

Пациенты, соответственно, как и при любом кризисе, хотят закрыть максимум вопросов здоровья как можно быстрее. Мы даём возможность зафиксировать цену плана лечения (он иногда бывает на 24 месяца) при условии предоплаты расходников, чтобы закупить их сейчас. Просто поднять цены, как всем нам кажется, не совсем этично.

Русских врачей поливают помоями в международном сообществе.

Пациенты плачут на приёмах.

Многие вещи подорожали. Когда я увидел новый прайс на зубные щётки с повышением на 70%, то сначала не поверил своим глазам, перезвонил спросить. Да, это правда.

Всё вокруг напоминает старый добрый 2014-й год, когда доллар вместо 30 рублей вдруг стал 90. Но паники больше.
Читать дальше →

BSD vs Linux. Что такое «Базовая Система»?

Reading time4 min
Views7.7K
Концепция «базовой системы» — это то, что создаёт большинство проблем для людей, привыкших к методологии Linux. Что вполне понятно, ведь в мире Linux такого понятия даже не существует.С самого начала Linux был просто ядром. И без вечных дискуссий по поводу того, что входит в понятие «операционная система», можно сказать, что ядро само по себе не очень полезно. Вам необходима вся пользовательская оболочка для того, чтобы заставить его работать. Linux — это конгломерат; здесь ядро, там ls, с другой стороны ps, vim, perl, gzip, tar
и ещё куча всего

Гайд по архитектуре приложений для Android. Часть 1: обзор

Reading time7 min
Views61K

Перевод обновлённого гайда Android по архитектуре приложений. Это — первая часть из пяти: обзор рекомендаций по архитектуре.

Читать далее

Цифровая свобода. Часть 1. Менеджер паролей

Reading time3 min
Views39K

Всем привет! Я хочу запустить цикл статей с инструкциями которые помогут, отвязаться от сервисов и вернут вам контроль над вашими данными. Тут будут представлены opensource аналоги сервисов, которыми все мы пользуемся каждый день и утилиты для бекапа ваших данных из цепких лап вендоров. Я не ставлю цель 100% уйти на опенсорс и селфхостед, всё таки сервисы должны быть удобными и доступными. Поэтому это не только полноценные аналоги, иногда это будут утилиты для бекапов. Главное это удобство, бесплатность и контроль над своими данными.

Читать далее

Microsoft перевыпустила обновления телеметрии Windows 7 и 8.1

Reading time5 min
Views59K


Компания Microsoft повторно выпустила обновления KB2952664 для Windows 7 и KB2976978 для Windows 8.1 с одинаковой функциональностью. Пока что нет повода для волнений, потому что обновления помечены как необязательные к установке, но Microsoft может изменить их статус в будущем.

Впервые эти обновления вышли в августе 2015 года, а их функциональность изначально была засекречена. KB2952664 описывалось как «обновление совместимости для апгрейда Windows 7… [которое] помогает Microsoft производить улучшения в текущей операционной системе, чтобы упростить процедуру перехода на последнюю версию Windows». Больше никакой информации. Оба обновления были крайне слабо документированы.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity