Search
Write a publication
Pull to refresh
33
0
Кристобаль Хунта @V_oron

User

Send message

Пишем файловую систему в ядре Linux

Reading time10 min
Views59K

Для кого эта статья


image

Данная статья составлена по материалам практики по курсу операционных систем в Академическом университете . Материал готовился для студентов, и ничего сложного здесь не будет, достаточно базового знания командной строки, языка C, Makefile и общих теоретических знаний о файловых системах.

Весь материал разбит на несколько частей, в данной статье будет описана вводная часть. Я коротко расскажу о том, что понадобится для разработки в ядре Linux, затем мы напишем простейший загружаемый модуль ядра, и наконец напишем каркас будущей файловой системы — модуль, который зарегистрирует довольно бесполезную (пока) файловую систему в ядре. Люди уже знакомые (пусть и поверхностно) с разработкой в ядре Linux не найдут здесь ничего интересного.
Читать дальше →

Какой HDD надёжнее? Статистика Backblaze по 27134 накопителям за 4 года работы

Reading time3 min
Views383K
Компания Backblaze опубликовала в своём блоге статистику использования дисковых накопителей в своих серверах. Backblaze предоставляет услугу дешёвого облачного бэкапа. В основе их инфраструктуры — жёсткие диски потребительского класса. За четыре года работы компания собрала порядочную статистику по отказоустойчивости разных типов дисков, использовавшихся в их хранилище. Парк накопителей Backblaze состоит в основном из дисков Seagate и Hitachi — почти по 13 тысяч. Ещё 2838 дисков — производства Western Digital, и по несколько десятков накопителей Samsung и Toshiba. Таким образом, данные Backblaze позволяют сравнить работу дисков потребительского уровня трёх производителей — Seagate, WD и Hitachi — в условиях датацентра.

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

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Reading time14 min
Views1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →

Работаем с модулями ядра в Linux

Reading time7 min
Views269K

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

Пример использования WxPython для создания нодового интерфейса. Часть 1: Учимся рисовать

Reading time5 min
Views20K
В небольшом цикле статей будет описано использование WxPython для решения вполне конкретной задачи по разработке пользовательского интерфейса, да еще и то, как сделать это решение универсальным. Туториал этот расчитан на тех, кто уже начал изучать эту библиотеку и хочет увидеть что-то более сложное и целостное, чем простейшие примеры (хотя начнется все с относительно простых вещей).

А начиналось все так: понадобилось мне для одного проекта сделать UI, где надо последовательность обработки сообщений редактировать. Что-то наподобии Simulink'а. Соответственно, полез искать готовые либы/фреймворки. Поначалу подумал, что задачка популярная и кто-нибудь уже сделал это велосипед, поискал, поискал и… не нашел. Точнее нашел много антикварных велосипедов, но кто же будет пользоваться чужим старым велосипедом, если можно сделать свой новый. Но раз уж делать новый велосипед, почему бы не сделать его универсальным, мало ли, где еще пригодится.

Так что попробую в нескольких статья описать процесс разработки с нуля до работающего примера. Ну и чтобы было интересно, а ферймворк был универсален, первая задача для него будет не подобие Simulink'а, а софтина для рисования блок-схем а-ля Visio, но со своим блек-джеком и остальными участниками:)

Часть 1: Учимся рисовать
Часть 2: Обработка событий мыши
Часть 3: Продолжаем добавлять фичи + обработка клавиатуры
Часть 4: Реализуем Drag&Drop
Часть 5: Соединяем ноды

Кому интересно, добро пожаловать под кат…
Читать дальше →

3G интернет в удаленности от базовой станции с помощью тарелки и кофейной банки

Reading time5 min
Views130K

Всем жителям Хабра — привет!




Суть этой статьи показать еще один вариант словить за уши Э/М волну в относительной глубинке для нужд доступа в интернет.
Если где-то точно такая конструкция уже мелькала, милости прошу ссылку, будет интересно сравнить и пообщаться.
Материал изложу в повествовательной форме, надеюсь, никого этим сильно не замучаю, всякие термины, если кто не знает, и прочие подробности можно смело пропускать, от этого суть поста сильно не изменится.

Постановка задачи

Интернет – штука полезная и нужная, с этим, думаю, поспорить сложно. И если проблем в городе с интернетом нет, то в деревне, где мне часто приходиться по семейным обстоятельствам бывать, есть определенные проблемы. Есть частный деревянный дом а-ля «хата» (место действия: РБ), из интернета в моей окрестности доступ предоставляют 3 оператора, но максимум – это лишь технология EDGE. До двух ближайших базовых станций (БС) около 3.5 и 7 км. Между домом и БС лес, но не вплотную. Хватило бы и EDGE, но загрузка этих станций от других соседних деревень, судя по скорости, такая, что можно «прятаться в картошку».
Вариант покупать готовое решение отпал сразу из соображений спортивного интереса.
Вдохновившись на одном из форумов удачным опытом парней, где использовалась спутниковая тарелка (она же «офсетная зеркальная антенна») и сам 3G модем в фокусе, решил что-то подобное смоделировать да скрутить.
Сразу скажу, что антенну с модемом хотелось закинуть на чердак, дабы не портила внешний вид дома (об этом ниже).

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

Астрофотография в каждый дом

Reading time6 min
Views126K
Думаю у любого человека, интересующегося космосом — возникала идея купить телескоп, чтобы лично все посмотреть.

Однако суровая реальность вечно портит всю малину: в пределах города – все небо засвечено уличным освещением и турбулентность воздуха высокая. Это означает, что либо придется ограничится самыми крупными и яркими объектами (вроде Луны и Юпитера), либо возить телескоп далеко за город.

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

Пример того, что получилось: галактика Андромеда, M31 на телескопе Т20
Читать дальше →

STM32F1xx — лечимся от ардуинозависимости вместе

Reading time14 min
Views269K
Добрый день, уважаемые хабровчане!
После длительного перерыва, связанного с защитой дипломного проекта в Бауманке, я снова вернулся к написанию статей. Так как с недавнего времени я занялся 32-битными микроконтроллерами серии STM32F на ядре ARM Cortex-M3, об этом и пойдет мой рассказ. Мне статья поможет систематизировать знания об этих замечательных микроконтроллерах, а вам, я надеюсь, послужит одной из ступеней на пути к их использованию и развеет страхи и сомнения, которые всегда возникают после уютных 8-битных AVRок при упоминании страшных 32-битных монстров.
Итак, почему Cortex, чем же плохи АVR?
Читать дальше →

Зачем МГТС двигает PON

Reading time5 min
Views112K
Здравствуйте, я инженер МГТС и меня очень заинтересовал пост об уязвимостях в Wi-Fi роутерах, используемых для абонентов по технологии PON. Поскольку новые пользователи не могут писать комментарии, пишу сразу пост со своими соображениями по этой теме.

Сразу хочу сказать, что PONом я по своей работе (по счастью) не занимаюсь, но зато имею возможность пообщаться с теми людьми, которые с ним связаны. Обязательно передам им информацию из поста и попрошу высказать свои соображения. Правда, есть серьёзные опасения, что результат будет незначительный. Китайское клиентское «железо» закупается вагонами, конфигурация заливается конвейерным способом, а включением абонентов занимаются «негры», то есть, извините, представители подрядных организаций, причём за такие деньги, за которые ни один штатный сотрудник даже с места не сойдет.

Поэтому хочется коснуться немного другой темы. Зачем вообще МГТСу нужен этот PON со всей его дороговизной и ненадёжностью? Почему такая истерия с этим всем? Да, прогрессивная технология, да, хорошая скорость и конкурентные преимущества. Но, по моему мнению, корень немного в другом. Он имеет название и юридическое лицо — ЗАО «МГТС-недвижимость».
Читать дальше →

12+ полезных Google Chrome chrome:// команд

Reading time2 min
Views400K
Все знают, что для того чтобы попасть в меню у Хрома, нужно нажать на Гаечный ключ в правом верхнем углу.

Однако есть несколько особенностей, которые не доступны из меню, которые вы можете увидеть только с помощью chrome:// команд.

Под катом приведены 12 самых полезных chrome:// команд, которые должны знать все.
Читать дальше →

FortNotes — онлайн менеджер паролей

Reading time10 min
Views11K
День добрый.
Хочу поделиться проектом, который недавно закончил. Надеюсь кому-то пригодится.
Все, кто пользуется интернетом длительное время, наверняка накопили большое количество различных приватных данных, таких как логины и пароли от сайтов, почтовых ящиков, серверов и баз данных. У кого-то меньше, у кого-то больше, но такие данные есть у всех. Можно хранить это на клочках бумаги, стикерах на мониторе, в блокноте на тумбочке или в файле на рабочем столе. Многие догадываются что это не очень безопасно: кто-то может подсмотреть или банально можно потерять эти драгоценные данные, но обычно редко кто пытается что-то с этим сделать.
Интернет очень плотно вошел в нашу жизнь и было бы неплохо иметь возможность упорядочить и обезопасить свои данные. Даже если не хранить в банках миллионы и не переживать, что кто-то украдет пароль от банковского счета, — это не значит, что будет приятна утеря доступа к почте, wm-киперу или фейсбуку. Личная переписка, деловые контакты, фотографии, секретная информация разного вида — всё это не должно быть доступно никому, кроме владельца.
Читать дальше →

Вода горит! А также ЭГЭ и волны-убийцы

Reading time14 min
Views198K
Водяная спичка — устройство для поджигания воды и проведения интересных опытов с взрывами.
Это конечно не термоядерный взрыв, но что водородный, это точно! Опыт безопасен, так как водород сгорает мгновенно, без накопления опасных объемов.
Предполагаю, что подобная буря в стакане, в масштабах планеты является источником возникновения интересных явлений — волн-убийц и цунами неизвестного происхождения, которые появляются буквально из ниоткуда, обрушиваются на судно и так же бесследно исчезают. На данный момент отсутствует внятное объяснение причин возникновения таких волн.

Возможно, все происходит так…


Анимация “Водяной”

При попадании молнии на поверхность Мирового океана, происходит водородный взрыв, а при удачном сочетании глубины воды и рельефа дна, направления удара и величины напряжения, продолжительности импульса и длительности его фронта — формируется огромная одиночная волна в результате импульсного электролиза поверхностного слоя воды, рассматриваемого в этой статье. Не последнюю роль в явлении играет резонанс.
В районе Бермудского треугольника эти условия выполняются наиболее часто, поэтому он получил свою печальную известность.
Примерно одна миллионная из 250 миллионов молний, ежегодно бьющих по поверхности Мирового океана, рождает супер-волну.
Белая волна — насыщенная газами вода, в которую попадают экипажи низколетящих летательных аппаратов, не является вымыслом и она присутствует в опытах. Вписывается в эту теорию и возникающий при ударе молнии электромагнитный импульс (ЭМИ), выводящий из строя навигационное оборудование.
В отличие от других экзотических способов поджигания воды, рассматриваемый вариант прост и имеет 100% повторяемость. Опыт показывает огромную скорость и производительность электролиза воды при коротком импульсном воздействии, а также позволяет безопасно исследовать электрогидравлический эффект и молнию в лабораторных условиях. Прибор можно использовать для изучения условий формирования блуждающих волн. В дальнейшем станет реальностью создание автоматических устройств, которые сгенерируют встречную волну для гашения разрушительных цунами и волн-убийц в охраняемых прибрежных зонах.

Предположение проверено и подтверждено на небольшом макете. GIF-анимация “Водяной” — формы волн: “одиночная башня”, “белая стена”, а также чудо-юдо с глазами и другие красивые элементы из воды, полученные при начальном для возникновения эффекта напряжении 145 вольт, показаны в тексте выше.
Любой желающий может повторить опыт и проверить предположение.
Читать дальше →

Компиляция пакетов

Reading time2 min
Views34K
В Ubuntu используется философия пакетного менеджмента, то есть все программы ставятся из пакетов deb, в которых хранится, собственно сама программа и скрипты, которые корректно ставят/удаляют/обновляют. Пакеты deb можно найти в сети Интернет, на дисках. Самый лучший способ использовать репозитории, хранилища deb пакетов. Если использовать репозитории, то при появлении в них новых версий установленных у вас программ, вам будет проще и быстрей обновить их. Это очень удобно и позволяет держать систему актуальной и защищенной. Иногда требумой программы в репозитариях нет и приходится компилировать из исходников. Но это надо делать правильно.
Сегодня я хочу предложить изящный метод, не раз помогавший мне.
Читать дальше →

Нестандартные размеры документа

Reading time1 min
Views9.2K
Допустим, мне надо оформить слайд, но не хочется использовать beamer. Первым же камнем преткновения на пути моей великой мысли станет размер документа. Так уж вышло, что в опциях article, report, book и прочих не предусмотрены опции 1024x768, 1280x1024 или 1366x768. Что делать?
Читать дальше →

Ubuntu в техническом вузе

Reading time5 min
Views39K
Хотел бы рассказать об опыте использования Linux'a в целом и Ubuntu в частности в учебном процессе технического вуза — Ивановская государственная текстильная академия для студентов направления подготовки — «Моделирование и исследование в организационно-технических системах».
Читать дальше →

Гига-фотография Млечного Пути в разрешении 108199x81503 или очередная история «xyz хватит всем»

Reading time2 min
Views44K
Пару дней назад была новость о том, что Астрономы Европейской южной обсерватории сшили мозаику центра нашей галактики (Млечного Пути) с разрешением 108199x81503 в ИК диапазоне (в ИК меньше рассеяние света на межзвездном газе и пыли — звезд видно намного больше).

К сожалению, результат они выложили лишь в виде онлайн-смотрелки и .psb-файла, размером 24Гб который можно открыть только фотошопом, при этом сам фотошоп отказывался экспортировать его в любой другой формат кроме опять же psb, tiff(само собой неудачно, там размер файла не может превышать 2/4Гб) и RAW. А хотелось что-нибудь, из чего было бы удобно вырезать интересный кусочек на wallpaper…

Забегая вперед, сразу покажу результаты:

1920x1200 2560x1600 2880x1800
Читать дальше →

Обзор RSS-ридеров — self-hosted альтернативы Google Reader

Reading time6 min
Views128K
По мотивам недавней записи решил опробовать ряд продуктов, которые, во-первых, открытые, а во-вторых, устанавливаются на собственный сервер. В обзор вошли:
  1. rssLounge
  2. Selfoss
  3. Feed on feeds
  4. Managing news
  5. Lilina
  6. Tiny Tiny RSS
  7. ZebraFeeds
  8. Rnews
  9. NewsBlur

Все ридеры требуют PHP (кроме последнего — NewsBlur работает на питоне).
Читать дальше →

Дежурное освещение на светодиодах

Reading time3 min
Views141K
Часто, в разных местах, требуется освещение типа «лишь бы не полная тьма». Например, лестничная клетка многоквартирного дома, где иголки на полу искать не требуется, а достаточно лишь минимального света, чтобы не оступиться или иметь возможность попасть ключом в замочную скважину. Обычно, в таких случаях, вкручивается либо 20-40 ваттная «лампочка Ильича» или «экономичная» на 7-9Ватт. Лампа накаливания имеет свойство часто перегорать, а «экономички», просто, банально крадут (у меня с лестничной клетки, за 3 года, стырили штук пять, мною вкрученных — мелочь, но неприятно). Если вам нужен экономичный и защищенный от воровства (ну, скажем так, более защищенный, чем просто лампочка) источник света, то читайте дальше.
Читать дальше →

Работающий трансформатор с деревянным сердечником, или простая грозозащита для компьютеров и телевизоров

Reading time10 min
Views98K
У великого русского поэта Тютчева не было компьютера и сети, иначе он бы не писал: «Люблю грозу в начале мая». В последние годы актуальность грозозащит стала поменьше — оптика, беспроводные технологии, но все же все же.
Если к вам в квартиру заходит кабель, и этот кабель — не оптический, гроза представляет угрозу для вашего оборудования.

Если у вас есть телевизор и он подключен к общей сети — кабельное ТВ, коллективная антенна (вдруг) — к чему угодно, что находится за пределами квартиры, гроза представляет угрозу для телевизора, (причем даже бОльшую, чем для компьютера).
Будем защищаться

Pocketsphinx. Распознавание речи и голосовое управление в Linux

Reading time11 min
Views126K
— Всё в порядке, Лёня?
Динамики отрегулированы на максимум, я морщусь, отвечаю:
— Да. Тише звук.
— Звук — тише, — соглашается «Виндоус-Хоум», — тише, тише…
— Хватит, Вика
С.Лукьяненко, «Лабиринт отражений»

Введение


В 1997-ом году Лукьяненко пророчил для десктопа сочетание CLI и голосового управления. Однако сейчас голосовое управление — достаточно узкая ниша.
Голосовое управление — взаимодействие с устройством при помощи звуковых команд. Не путайте это понятие с распознаванием речи. Для голосового управления достаточно, чтобы устройство реагировало на единственную нужную команду (ведь ваша собака не может работать машинисткой?). Распознавание речи — гораздо более глобальная проблема: в этом случае устройство должно преобразовывать в текстовый формат все слова, произнесенные вами. Как легко догадаться, распознавание речи на данный момент реализовано поверхностно относительно человеческих возможностей.
Функционал, рассмотренный в статье, может быть применен, к примеру, для организации модного сейчас «умного дома» или просто управления компьютером. Честно говоря, для описания управления компьютером хватило бы пары абзацев, но я попытаюсь показать вам основы работы с CMU Sphinx.
Кстати, процентов 70 описанного здесь подойдет и пользователям Windows.
Научим Linux слушаться?

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity