Русский
Русский
English
Статистика
Реклама

Модульность

Почему JVM это ОС и больше чем Кубер

05.01.2021 08:15:09 | Автор: admin

Я давно работаю с платформой Java и прекрасно знаю её сильные и слабые стороны. В этой статье я хочу рассказать, как могла бы повернуться история, если бы не бы. Ведь мы могли бы вместо докер-систем использовать ява-машину. А сама ява-машина вполне могла целиком заменить ОС.

Это обзорная статья, я лишь изложу несколько соображений. Полный их разбор занял бы очень много места.

Итак Ява-машина это ОС. Даже круче чем ОС местами. На самом деле это не такое уж заявление из ряда вон. Ведь всем прекрасно известен пример полноценной ОС, значительно основанной (изначально) на Ява Андроид. Кроме того, существуют и ОС в классическом понимании полностью на базе JVM.

Итак, какие признаки ОС мы имеем у JVM? Управление памятью - несомненно. Управление потоками - да, но как правило на базе существующих местных потоков базовой ОС. Тем не менее, потоки являются важной неотъемлемой и очень развитой подсистемой машины, предоставляя гораздо больше сервисных средств, чем базовые потоки ОС.

Ввод-вывод также очень развит, если иметь в виду всю инфраструктуру Ява, со всеми серверами и библиотеками. В этом смысле ввод-вывод базовой ОС - примерно как старый Биос для последней, осуществляет низкоуровневые операции.

У Ява есть философия. Если в Юникс - всё файл, то в Ява всё (почти) есть объект.

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

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

Во-первых, JVM управляемая (managed) среда. Это не только означает безопасность исполнения кода. Это также модель разграничения, аналогичная выделению ядра в большинстве ОС в отдельный контекст привилегированного исполнения. Т.н. нативный контекст исполнения, в котором работает сама машина - прямой аналог реального (или подобного) режима исполнения процессором ядра ОС. Сама машина имеет полный контроль над всеми процессами внутри неё. Байткоду достается уже сильно ограниченная, защищённая среда. Степень свободы загружаемого байткода определяется Ява-машиной и её рантайм-библиотекой. Более того, сам механизм загрузки байткода (классов в первую очередь) иерархичен и подразумевает разделение прав и ответственности ветвление прав. Это ветвление достигается за счёт применения отдельных загрузчиков классов. При этом создаётся иерархия областей видимости, код, загруженный в одном контексте не имеет доступа к другому независимому контексту. При этом нельзя получить указатель на произвольную область памяти, нет доступа к произвольным полям объектов, даже через механизм рефлексии, даже к целым отдельным объектам. Этот механизм встроен в язык (ключевые слова private, protected и т.п.) и в платформу уже названные загрузчики и конечно менеджеры безопасности, о которых тоже не забудем. Такие механизмы обеспечивают разделение контекстов выполнения аналогично процессам классических ОС. Я бы даже сказал более строгое и надёжное разделение.

Загрузчики классов совместно с менеджерами безопасности (SecurityManager) обеспечивают полный контроль над тем, что может попасть внутрь среды исполнения Ява, а что не может. Механизм этот необычайно гибкий. При этом, в отличие от нативного кода, загружаемый байткод проходит полную проверку на валидность (он не может затем вызвать непредсказуемый сбой) и безопасность - так как возможные варианты поведения ограничены теми же загрузчиком+менеджером безопасности. Вы слышали когда-нибудь о вирусах на Яве?

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

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

Круче чем докер

Почему Ява-машина круче чем докер? Потому что, как я уже сказал, она позволяет создавать множество независимых изолированных контекстов читай пространств имён на базе общего ядра Ява-машины и рантайм-библиотеки. И эти пространства могут настраиваться более гибко, обеспечивая различные уровни изоляции (доступа). Они могут дополнительно компоноваться. Отличным примером этого являются мощные сервера приложений. Они предлагают всё то, что обещает нам докер и его оркестраторы отказоустойчивость, балансировка нагрузки, отличная модульность (суть микросервисности), сервисы и вебсервисы и даже самые микро и нано-модули лямбды в виде супер легковесных ejb, решение проблем совместимости версий библиотек, удалённый вызов процедур в качестве альтернативы protoBuf & gRPC RMI и его развития Corba + rmi-iiop. И это всё в виде стандартов и множества реализаций

Единственное, чего не хватает - красивых картинок и графиков (хотя тут от реализации зависит) и развертывания инфраструктуры из нарисованной диаграммки. Но последнее и в коробку с Кубером никто бесплатно не положит.

И для иллюстрации посмотрим на стандартную модульность сервера приложений. Есть иерархия загрузки: система -> сервер -> приложение -> модуль приложения.

Что ж, на этом пока всё. Порадуемся выходу очередной версии Jakarta EE 9 и пожелаем им успехов.

Подробнее..

Модульные телефоны, ноутбуки и часы что стало с нашумевшими проектами?

28.07.2020 16:18:22 | Автор: admin

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

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

Project Ara



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

Суть проекта. В 2011 году Google приобрела Motorola Mobility с ее патентами и технологиями. Через пару лет компания анонсировала проект Project Ara, который должен был изменить будущее разработки мобильных девайсов и вообще всю мобильную отрасль. Да кого мы обманываем если бы этот проект вышел в свет, он бы стал причиной кардинальных изменений всей индустрии разработки гаджетов.


Идея заключалась в том, чтобы создать модульную архитектуру смартфона. Она позволяла бы менять абсолютно все камеру, динамики, процессор, дисплей плюс подключать разного рода периферийные модули. Например, детектор угарного газа.

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

Что сейчас? Три года разработчики публиковали новости, фотографии, анонсы. Но в 2016 году проект свернули, компания Google заявила о полном прекращении R&D в сфере модульных смартфонов. Официальная версия закрытия: проблема с магнитными креплениями модулей те просто выскакивали из гнезд в самый неподходящий момент. Неофициальная версия: проект свернули из-за того, что модульные устройства сделали бы невозможной продажу смартфонов ценой в сотни и тысячи долларов. А это означает недополученную прибыль компаний, что рынок ой как не любит. Кто же тогда понесет в магазины свои денежки после анонса новинок?

Иногда о Project Ara вспоминают, но проект мертв, на его возрождение рассчитывать не стоит.

Fairphone



Источник: iFixit

Еще один проект по созданию модульного смартфона, который стартовал без особого шума, но, в отличие от Project Ara, быстро достиг этапа практической реализации и жив до сих пор.


Суть проекта. Она чуть иная, чем у Project Ara. Если там шла речь о том, чтобы телефон можно было апдейтить путем замены модулей, то здесь замысел в упрощении процесса ремонта. Создателям Fairphone не нравится то, что многие современные смартфоны очень сложно ремонтировать, поэтому они решили создать максимально ремонтопригодный телефон. И ведь получилось iFixit поставил устройству 10 из 10 по шкале ремонтопригодности!


Источник: fairphone.com

Что сейчас? Насколько можно судить, с проектом все хорошо. В прошлом году появилась уже третья модель честного телефона. Ее характеристики:

  • Процессор Qualcomm Snapdragon 632 8 x 1.8 GHz, Kryo 250.
  • Графический адаптер Qualcomm Adreno 506.
  • Оперативная память 4096 Мбайт.
  • Дисплей 5.65 дюйм, 18:9, 2160 x 1080 пикс.
  • Вес 189 г.
  • Модули связи Wi-Fi, Bluetooth 4.2, GPS, NFC, 4G.

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

Стоимость гаджета составляет 450 евро, что немало. Но его покупают.

DIY-ноутбук Olimex TERES



Источник: habr.com

Проект модульного ноутбука разработан компанией Olimex из Болгарии. Основа устройства процессор Allwinner A64. Создатели ноутбука предложили открытый дизайн, который позволяет добавлять большое количество разных модулей, включая GPS, GSM и другие. Ноутбук не продается в готовом виде, собрать его нужно самому.

Что сейчас? Сайт компании работает, устройства продаются по 240 евро. В наличии два варианта одной модели с черным и белым корпусом. Кроме того, есть USB для отладки.

Характеристики:

  • Процессор Quad Core Allwinner A64 64-bit Cortex-A53.
  • Дисплей LCD 11.6" 1366x768.
  • ОЗУ 2GB DDR3L.
  • Память 16GB eMMC.
  • Модули WiFi 150Mb, BLE 4.0.
  • Порты HDMI, 2 x USB, 3.5mm audio jack.
  • Батарея 9500mAh.
  • Вес 980 гр.

Ноутбук собирается быстро и без проблем, справится даже ребенок. Как раз для детей и подростков подобный девайс отличный вариант приобщения к IT. Это как Lego, только здесь больше электроники.

Любой компонент ноутбука можно купить или изготовить. Для игр он, конечно, не подходит, но для работы (если ваша работа не монтаж видео) вполне.

Kano PC



Источник: regmedia.co.uk

Разработчик нового модульного ПК, компания Kano, появилась в 2013 года. Начала она с продаж комплектов и наборов клавиатура, кабели, Raspberry Pi, предназначенных для сборки маломощных ПК. Цель компании обучение детей и подростков основам сборки гаджетов, базовым вещам из мира электроники и вычислительной техники.

Что сейчас? Компания работает до сих пор. В 2020 она подружилась с Microsoft и представила уже полноценный ноутбук-трансформер. Партнеры разработали девайс, который будет служить своему владельцу и после сборки. Кроме того, если какой-то компонент выйдет из строя в процессе эксплуатации, его можно без труда заменить. То есть ребенок научится производить простой ремонт ПК.

Характеристики:

  • Процессор Intel Celeron N4000 Dual Core 1.10 GHz.
  • ОЗУ 4GB RAM DDR3L.
  • Память 64GB (eMMC).
  • Порты 2 x USB 3.0, 1 x USB C, Wi-Fi 802.11 b/g/n Dual Band 2.4Ghz and 5Ghz, Bluetooth 5.0.
  • Дисплей 11.6" тачсрин с разрешением 1366 x 768, 720p HD.
  • Аудио 3.5mm Headphone Jack, 3.5mm Speaker Level Jack, 1x Microphone.
  • Видео 1x HDMI.

Blocks



Источник: kickstarter

Blocks проект первых в мире модульных часов, функциональность и возможности которых владелец мог менять по своему желанию. Модули часов это звенья ремешка. Авторы идеи разработали модули с пульсометром, дактилоскопическим сенсором и другими составляющими. Проект появился в 2015 году.


Источник: kickstarter

Что сейчас? Сначала все шло просто отлично. Разработчики создали кампанию по сбору средств на реализацию проекта при помощи Kickstarter. При запрошенной сумме в $250 000 собрали $1 613 874.


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

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

А в 2019 году компания объявила о банкротстве. Насколько известно, Blocks не вернула деньги пользователям Kickstarter, которые поддержали проект.

Все модульные устройства прошлого и настоящего в статье, пусть даже объемной, упомянуть не получится. Скорее всего, мы выпустим вторую часть по итогам обсуждения в комментариях. Некоторые из громких проектов прошлого дальше эскизов и рендеров не ушли. Также есть не очень известные, но достаточно интересные модульные гаджеты, которые все же появились в продаже. Например, Moto Z2 Play.


Источник: ixbt.com

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

Razer выпустила обещанный в 2014 году модульный геймерский мини-ПК за 3200, и он не очень-то модульный

06.12.2020 20:19:50 | Автор: admin

В 2014 году на Хабре публиковалась статья о концепте модульного ПК от Razer, представленном на CES 2014. В частности, упоминалась модульная конструкция компьютера, которая позволяет модифицировать конфигурацию системы по желанию владельца.

Согласно проекту, все модули должны были вставляться в специальную стойку. Размещать их можно в любом порядке, заменяя при необходимости. Разработчики тогда говорили, что менять можно графический модуль, процессорный и т.п. Между собой все модули соединяются посредством PCI Express. В общем, на днях компания таки выпустила эту систему, но с 2014 года в ее конструкции очень многое изменилось.

Вот как должен был выглядеть этот ПК.


Ну а как он реально выглядит сейчас, можно глянуть на анонсной фотографии отличия искать нет смысла, конструкция совсем другая. Сначала о характеристиках. Базовая модель включает:
  • Intel Core i9-9980HK (45 Вт, 8 ядер, Intel Coffee Lake).
  • 16 ГБ DDR4.
  • 512 ГБ PCIe NVMe SSD.
  • Жесткий диск 2 ТБ 5400 RPM.

Флагманская же конфигурация несколько отличается. Она включает более продвинутый процессор, дискретную графику, NVIDIA RTX 3080 Founders Edition GPU. Стоимость ее именно такая, какая была указана в заголовке $3200.


Что касается отличий, то игровой мини-ПК от Razer не такой уж и модульный, он не предоставляет пользователю изначально заявленной гибкости. Тем не менее, у него 2 PCIe слота, в один из которых вставляется дискретная графика, во второй Intel Compute Element.


На странице сайта компании Intel есть информация об этих модулях.


Intel Compute Element представляют собой полноценные компьютеры, выполненные в виде модулей. Они взаимозаменяемы, так что при желании ПК можно апгрейдить и даунгрейдить (что вряд ли).


Проблемой может быть то, что Intel Compute Element продукт NUC-команды, которая не всегда обеспечивает продолжительную поддержку своих продуктов. Тем не менее, игровой ПК с конфигурацией, объявленной выше, вполне способен радовать владельца пару лет безо всяких обновлений. С другой стороны, продать его будет сложнее, поскольку конфигурация нестандартная.


Обновляемыми остались как раз модули GPU и процессорный модуль. Заменить можно и жесткий диск с SSD. По сравнению с тем, что заявляла команда проекта изначально, это уход в сторону от идеи полной модульности.

<img src="

Что касается других элементов конфигурации, то это беспроводные модули WiFi 6, Bluetooth 5.0, четыре порта USB 3.2 Gen 2 Type-A, два порта Thunderbolt 3 и 750 Вт блок питания. А еще есть светодиодная подсветка.

Да, на странице ПК купить эту систему пока нельзя, но вскоре компания обещает начать поставки нового игрового компьютера.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru