Wiki source code of Сетевое API - MAXIOL Landisk technology ®
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{box cssClass="floatinginfobox" title="**Contents**"}} | ||
| 2 | {{toc/}} | ||
| 3 | {{/box}} | ||
| 4 | |||
| 5 | = Введение = | ||
| 6 | |||
| 7 | Облачные сервисы стали неотъемлемой частью современной информационной инфраструктуры, играя ключевую роль в распространении и сохранении данных. Они представляют собой удалённые серверные ресурсы, доступ к которым осуществляется через интернет, что позволяет пользователям хранить, обрабатывать и обмениваться информацией без необходимости в физическом наличии собственного аппаратного обеспечения. | ||
| 8 | |||
| 9 | Первоначально облачные сервисы применялись для хранения персональных данных, таких как фотографии, документы и контакты. Однако их роль значительно расширилась. В бизнес-среде облачные технологии обеспечивают удобство коллаборации, позволяя нескольким пользователям работать с одними и теми же данными одновременно, что способствует повышению производительности и снижению затрат на ИТ-инфраструктуру. | ||
| 10 | |||
| 11 | Кроме того, облачные сервисы обеспечивают высокий уровень надёжности и безопасности данных. Ведущие провайдеры используют передовые методы шифрования и многоуровневую защиту, что делает доступ к данным более безопасным, чем традиционное хранение на локальных устройствах. | ||
| 12 | |||
| 13 | Экономические выгоды облачных сервисов трудно переоценить. Они позволяют компаниям существенно сократить затраты на аппаратное обеспечение и обслуживание ИТ-инфраструктуры, а также минимизировать риски потери данных в случае аварий или катастроф. | ||
| 14 | |||
| 15 | С развитием интернет-технологий и повсеместным распространением широкополосного доступа, облачные сервисы становятся доступными практически для любого пользователя. Это делает их важным инструментом не только для бизнеса, но и для обычных пользователей, желающих обеспечить безопасность и доступность своих данных в любое время и из любой точки мира. | ||
| 16 | |||
| 17 | Таким образом, облачные сервисы играют ключевую роль в современном цифровом мире, объединяя удобство доступа, высокий уровень безопасности и экономическую эффективность, что делает их неотъемлемым компонентом для сохранения и обработки информации в условиях современных технологий. | ||
| 18 | |||
| 19 | == Актуальность облачных сервисов для ретрокомпьютеров == | ||
| 20 | |||
| 21 | С развитием облачных технологий они стали актуальны не только для современных устройств, но и для ретро-компьютеров 1970-1990х годов. Несмотря на их возраст, такие машины продолжают использоваться энтузиастами, коллекционерами и исследователями истории вычислительной техники. Однако работа с файлами и программами на старых ПК, которые изначально не имели доступа к интернету и использовали устаревшие носители (дискеты, магнитные ленты, жесткие диски малых объемов), затруднена и лишена современного комфорта, который могут предоставить облачные сервисы сегодня. | ||
| 22 | |||
| 23 | **Облачные сервисы** могли бы стать решением этой проблемы, предоставляя **удобный доступ** к программному обеспечению, образам дисков, драйверам и документам. Однако на сегодняшний день специализированные облачные платформы для ретро-компьютеров отсутствуют. Энтузиастам приходится искать обходные пути: использовать старые протоколы передачи данных, адаптеры или локальные серверы. | ||
| 24 | |||
| 25 | Во-первых, облачные платформы могут играть ключевую роль в распространении программного обеспечения и образов дисков для ретро-компьютеров. Архивы игр, операционных систем и утилит хранятся в облаке, откуда их можно легко загрузить и на современные машины и на на старый компьютер с помощью сетевого доступа. | ||
| 26 | |||
| 27 | Во-вторых, облака облегчают процесс обмена файлами между энтузиастами ретро-компьютеров. Ранее для этого использовались физические носители, требовавшие пересылки по почте или прямого обмена на встречах. Теперь же образы дискет, ROM-файлы и текстовые документы можно загрузить в облачное хранилище и предоставлять доступ другим пользователям мгновенно, что существенно ускоряет процесс обмена информацией. | ||
| 28 | |||
| 29 | Наконец, облачные технологии помогают в резервном копировании ценных данных. Ретро-компьютеры подвержены физическому износу, а дискеты и винчестеры стареют, увеличивая риск потери информации. Использование облачного хранилища позволяет сохранить образы дисков, редкие программы и пользовательские наработки, обеспечивая их доступность даже в случае отказа оригинального оборудования. | ||
| 30 | |||
| 31 | Таким образом, облачные сервисы становятся важным инструментом для сообщества любителей старых компьютеров, облегчая сохранение, передачу и распространение программного обеспечения и данных. Они помогают преодолеть технические ограничения прошлых десятилетий, давая ретро-компьютерам новую жизнь в цифровую эпоху. | ||
| 32 | |||
| 33 | **Создание облачного сервиса**, адаптированного под старые системы, позволило бы не только упростить доступ к данным, но и обеспечить их сохранность, защитив важные архивы от утери. | ||
| 34 | |||
| 35 | == MAXIOL Landisk Technology® как решение проблемы == | ||
| 36 | |||
| 37 | Для решения проблемы предоставления облачных сервисов для ретро-компьютеров я разработал уникальную технологию блочного доступа к файлам-образам дисков — **MAXIOL Landisk Technology®**. Она предназначена для удобного хранения, передачи и работы с образами дисков, обеспечивая надежное взаимодействие старых компьютеров с современными облачными сервисами. | ||
| 38 | |||
| 39 | **Концепция технологии** основана на блочном доступе к файлам в [[**архиве MAXIOL**>>https://mirrors.pdp-11.ru/]], что позволяет пользователям легко загружать, управлять и использовать образы дисков без необходимости локального хранения больших объемов данных. Благодаря этому старые компьютеры, изначально не рассчитанные на подключение к современным сетевым хранилищам, могут получать доступ к облачным данным так, будто они находятся на физических носителях. | ||
| 40 | |||
| 41 | Одним из ключевых преимуществ **MAXIOL Landisk Technology®** является возможность создания персонализированных облачных хранилищ. Пользователи могут настраивать свои архивы, управлять доступом и адаптировать их под конкретные задачи, будь то работа с операционными системами, программным обеспечением или играми для ретро-компьютеров. | ||
| 42 | |||
| 43 | Эта технология открыта для свободного использования на любых старых компьютерах, поддерживающих блочную работу с носителями. Реализация и использование **MAXIOL Landisk Technology®** возможны при соблюдении условий лицензионного соглашения, обеспечивающего прозрачность и безопасность применения технологии. | ||
| 44 | |||
| 45 | Таким образом, **MAXIOL Landisk Technology®** открывает новые возможности для энтузиастов ретро-компьютеров, коллекционеров и исследователей цифровой истории, позволяя без лишних сложностей интегрировать старую технику в современную экосистему облачных сервисов. | ||
| 46 | |||
| 47 | == История создания MAXIOL Landisk Technology® == | ||
| 48 | |||
| 49 | Идея создания облачного сервиса **MAXIOL Landisk Technology®** возникла как логическое продолжение развития серии контроллеров **AZ®**, разработанных для работы с компьютерами **PDP-11** и их многочисленными советскими клонами. Эти контроллеры стали настоящим прорывом в области ретро-компьютеров, позволив использовать современные технологии хранения данных и сетевого взаимодействия на устаревших машинах. | ||
| 50 | |||
| 51 | Разработка серии **AZ®** началась в **2019 году**, когда инженеры **Макс Багаев (Россия)** и **Александр Забайрацкий (Казахстан)** поставили перед собой задачу создания универсального контроллера для работы с шиной **QBUS** и её аналогами. Первые модели быстро получили признание в сообществе ретро-компьютеров, а в **2022 году** разработку продолжил только **Макс Багаев**, расширяя функциональность устройств. На данный момент произведено **более 500 контроллеров различных модификаций**, что делает серию **AZ®** самым массовым оборудованием для **PDP-11** за последние годы. | ||
| 52 | |||
| 53 | Контроллеры **AZ®** создавались для множества советских моделей, включая **ДВК-1, ДВК-2, ДВК-3, ДВК-4, Квант-4С, Электроника-60, Электроника 60М, Славутич ПК-1 и УКНЦ**. Кроме того, была разработана особая версия **AZBK®** с расширенным функционалом, специально адаптированная для **BK-0010, BK-0010.01 и BK-0011M**. | ||
| 54 | |||
| 55 | Главная особенность контроллеров **AZ®** — это поддержка **блочного доступа с произвольным доступом**, обеспечивающего более высокий уровень абстракции, где образы дисков хранятся в виде файлов на файловой системе устройства. Это позволило значительно упростить работу с дисками и гибко управлять данными. Более того, контроллеры получили **поддержку сети Ethernet**, что открыло новые возможности для удаленного доступа и передачи файлов. | ||
| 56 | |||
| 57 | Ключевые характеристики контроллеров **AZ®** включают: | ||
| 58 | |||
| 59 | * **16-битную обработку данных**, что обеспечивает эффективные вычисления. | ||
| 60 | * **Модульную конструкцию**, облегчающую обслуживание и модернизацию. | ||
| 61 | * **Поддержку до 32 устройств** на одной **MicroSD-карте**. | ||
| 62 | * Совместимость с операционными системами **RT-11 и RSX-11M**. | ||
| 63 | * Поддержку **16-, 18- и 22-битных адресных шин**. | ||
| 64 | * **Открытое API**, позволяющее разработчикам писать собственное ПО и драйверы. | ||
| 65 | * **Энергонезависимую память**, доступную через API. | ||
| 66 | * **Встроенные часы реального времени (RTC)** с возможностью получения времени через **NTP-серверы**. | ||
| 67 | |||
| 68 | Возможность сетевого подключения контроллеров **AZ®** и их использование в качестве блочных устройств привела к созданию **MAXIOL Landisk Technology®** — облачного сервиса, который позволяет старым компьютерам напрямую работать с удалёнными образами дисков. Этот сервис стал естественным развитием технологий **AZ®**, расширяя их функционал и делая ретро-компьютеры более удобными для современных пользователей. | ||
| 69 | |||
| 70 | Сегодня **MAXIOL Landisk Technology®** открывает перед владельцами старых ПК новые возможности, обеспечивая удобный доступ к программному обеспечению, образам дисков и архивам данных, помогая сохранить историю вычислительной техники и сделать её более доступной. | ||
| 71 | |||
| 72 | = Техническое описание MAXIOL Landisk Technology® = | ||
| 73 | |||
| 74 | === **MAXIOL Landisk Technology® — инновационное облачное решение для ретро-компьютеров** === | ||
| 75 | |||
| 76 | **MAXIOL Landisk Technology®** — это классическая **клиент-серверная технология**, разработанная для обеспечения удобного и эффективного взаимодействия старых компьютеров с удалёнными хранилищами данных. Она позволяет ретро-системам работать с образами дисков через сеть, как если бы они были физически подключены. | ||
| 77 | |||
| 78 | ==== **Архитектура системы** ==== | ||
| 79 | |||
| 80 | Система состоит из двух ключевых компонентов: | ||
| 81 | |||
| 82 | 1. **Клиент** — это сетевой интерфейс, установленный на ретро-компьютере, который эмулирует **блочный доступ** к файлу-образу диска. Он выполняет роль виртуального накопителя, заменяя традиционные носители информации (дискеты, жесткие диски, магнитные ленты), но при этом позволяет работать с данными в облаке. | ||
| 83 | 1. **Сервер** — программное обеспечение **MAXIOL Landisk Technology® AZSERVER**, разработанное в **MAXIOL**. Этот сервер управляет файлами-образами дисков, обрабатывает запросы клиентов и обеспечивает надёжную передачу данных. | ||
| 84 | |||
| 85 | ==== **Механизм работы** ==== | ||
| 86 | |||
| 87 | Передача данных между клиентом и сервером происходит **блочными структурами** размером **512 байт**, дополненными **контрольной и командной информацией**. Такой формат позволяет: | ||
| 88 | |||
| 89 | * **Обеспечить совместимость** с существующими файловыми системами и методами хранения данных, используемыми в ретро-компьютерах. | ||
| 90 | * **Повысить надёжность передачи данных**, так как контрольная информация помогает обнаруживать и устранять возможные ошибки при обмене. | ||
| 91 | * **Гарантировать высокую скорость работы**, так как блочная передача эффективно распределяет нагрузку на сеть и сервер. | ||
| 92 | |||
| 93 | ==== **Преимущества использования MAXIOL Landisk Technology®** ==== | ||
| 94 | |||
| 95 | ===== **Отказ от устаревших носителей** ===== | ||
| 96 | |||
| 97 | (% class="wikigeneratedid" %) | ||
| 98 | Технология избавляет от необходимости использовать физические дискеты, жёсткие диски и магнитные ленты, которые со временем выходят из строя и требуют сложного обслуживания. | ||
| 99 | |||
| 100 | ===== **Простота интеграции** ===== | ||
| 101 | |||
| 102 | (% class="wikigeneratedid" %) | ||
| 103 | MAXIOL Landisk Technology® совместима с различными моделями ретро-компьютеров, поддерживающими работу с блочными устройствами, что делает её универсальным решением. | ||
| 104 | |||
| 105 | ===== **Гибкость и масштабируемость** ===== | ||
| 106 | |||
| 107 | (% class="wikigeneratedid" %) | ||
| 108 | Пользователи могут хранить неограниченное количество образов дисков на сервере, управлять ими и быстро переключаться между ними без необходимости физического переноса данных. | ||
| 109 | |||
| 110 | ===== **Удалённый доступ** ===== | ||
| 111 | |||
| 112 | (% class="wikigeneratedid" %) | ||
| 113 | Благодаря сетевому подключению пользователи могут работать с образами дисков из любой точки мира, используя свои ретро-компьютеры так, будто они подключены к локальным накопителям. | ||
| 114 | |||
| 115 | ===== **Надёжность и сохранность данных** ===== | ||
| 116 | |||
| 117 | (% class="wikigeneratedid" %) | ||
| 118 | Использование облачного хранилища минимизирует риск потери данных, а встроенные механизмы проверки целостности обеспечивают их корректное хранение и передачу. | ||
| 119 | |||
| 120 | ===== **Поддержка ретро-экосистемы** ===== | ||
| 121 | |||
| 122 | (% class="wikigeneratedid" %) | ||
| 123 | MAXIOL Landisk Technology® помогает сохранять цифровое наследие, предоставляя удобный и современный способ работы с устаревшими вычислительными системами. | ||
| 124 | |||
| 125 | |||
| 126 | ==== **Перспективы развития** ==== | ||
| 127 | |||
| 128 | В будущем планируется расширение возможностей технологии, включая: | ||
| 129 | |||
| 130 | * Поддержку **новых протоколов связи** для улучшенной совместимости с различными ретро-компьютерами. | ||
| 131 | * Развитие **системы авторизации и управления доступом**, чтобы обеспечить безопасное совместное использование облачного хранилища. | ||
| 132 | * Оптимизацию работы **в низкоскоростных сетях**, что позволит использовать сервис даже на устаревших интернет-подключениях. | ||
| 133 | |||
| 134 | Таким образом, **MAXIOL Landisk Technology®** открывает перед владельцами ретро-компьютеров **новую эру облачного взаимодействия**, делая их работу с данными более удобной, надёжной и безопасной. | ||
| 135 | |||
| 136 | == DNS имя и TCP порт для подключения к MAXIOL Landisk Technology® == | ||
| 137 | |||
| 138 | 1. **DNS имя**: **landisk.maxiol.com** | ||
| 139 | Это доменное имя указывает на сервер **MAXIOL Landisk Technology®**, позволяя клиентским устройствам автоматически подключаться к серверу без ввода IP-адреса. Оно облегчает доступ к облачному хранилищу для ретро-компьютеров. | ||
| 140 | 1. **TCP Порт**: **34162** | ||
| 141 | Порт **34162** используется для безопасной и надежной передачи данных между клиентом и сервером через протокол **TCP**. Он обеспечивает стабильное соединение и исключает конфликты с другими приложениями. | ||
| 142 | |||
| 143 | При подключении клиент разрешает доменное имя в IP-адрес, затем устанавливает соединение с сервером через порт **34162**, что позволяет начать обмен блоками данных между сервером и ретро-компьютером. | ||
| 144 | |||
| 145 | == Структура запроса == | ||
| 146 | |||
| 147 | В **MAXIOL Landisk Technology®** как клиент, так и сервер написаны на языке C, что позволяет эффективно управлять памятью и работать с низкоуровневыми операциями ввода/вывода. Структуры запросов, отправляемых на сервер, имеют строгую формализованную форму, которая обеспечивает правильную передачу данных между клиентом и сервером. Эти структуры определяются с учетом специфики языка C, включая синтаксис описания структур данных и использование указателей. | ||
| 148 | |||
| 149 | |||
| 150 | {{code language="c++"}} | ||
| 151 | // структура пакета запроса | ||
| 152 | typedef __packed struct landisk_reqest | ||
| 153 | { | ||
| 154 | unsigned int num_block; // номер блока (32 бита) | ||
| 155 | unsigned short int command; // команда | ||
| 156 | unsigned char reserved[32]; // зарезервировано | ||
| 157 | unsigned char data[512]; // данные - если они отправляются | ||
| 158 | char path[386]; // путь до диска | ||
| 159 | unsigned short int crc; // CRC команды | ||
| 160 | } landisk_reqest_t; | ||
| 161 | {{/code}} | ||
| 162 | |||
| 163 | при открытии файла блок данных (data[512]) рассматривается как пакет информации следующей структуры | ||
| 164 | |||
| 165 | {{code language="c++"}} | ||
| 166 | // структура пакета открытия файла, информационные параметры | ||
| 167 | typedef __packed struct landisk_reqest_status | ||
| 168 | { | ||
| 169 | unsigned long timestamp; // локальное время контроллера (unix-time) | ||
| 170 | unsigned long uptime; // аптайм в секундах | ||
| 171 | unsigned long ip_addr; // локальный ip адрес контроллера | ||
| 172 | unsigned long dns_srv1; // ip адреса DNS-серверов | ||
| 173 | unsigned long dns_srv2; | ||
| 174 | unsigned short int tzone; // таймзона в минутах | ||
| 175 | unsigned short int platform; // номер платформы | ||
| 176 | unsigned short int controller; // тип контроллера | ||
| 177 | unsigned short int version; // версия прошивки контроллера | ||
| 178 | char build[32]; // дата билда прошивки контроллера | ||
| 179 | char url[64]; // URL производителя контроллера | ||
| 180 | } landisk_reqest_status_t; | ||
| 181 | {{/code}} | ||
| 182 | |||
| 183 | пакет информации настоятельно рекомендуется заполнять полностью | ||
| 184 | \\~/~/ platform - номер платформы | ||
| 185 | 1 - PDP-11 - БК 10/11M | ||
| 186 | 2 - PDP-11 - остальные - ДВК Э60 УКНЦ оригинальные машины итд | ||
| 187 | 3 - MSX | ||
| 188 | \\для добавления вашей платформы пишите в комментарии к этой статье. | ||
| 189 | \\~/~/ controller - тип контроллера | ||
| 190 | 1 - AZБК | ||
| 191 | 2 - AZ - для всех остальных PDP-11 машин | ||
| 192 | 3 - Carnivore2+ | ||
| 193 | \\для добавления вашего контроллера пишите в комментарии к этой статье. | ||
| 194 | |||
| 195 | === Команды === | ||
| 196 | |||
| 197 | {{code language="c++"}} | ||
| 198 | // команды | ||
| 199 | #define LANDISK_CMD_OPEN 1 // в ответ успешность/ошибка, и если успешно - размер диска | ||
| 200 | #define LANDISK_CMD_READ 2 // чтение блока | ||
| 201 | #define LANDISK_CMD_WRITE 3 // запись блока | ||
| 202 | #define LANDISK_CMD_CLOSE 4 // закрытие файла | ||
| 203 | #define LANDISK_CMD_OPENDIR 5 // открыть оглавление по указанному пути | ||
| 204 | #define LANDISK_CMD_READDIR 6 // прочитать одну запись оглавления в буфер | ||
| 205 | #define LANDISK_CMD_SEARCH_REQ 7 // послать запрос поиска | ||
| 206 | #define LANDISK_CMD_READ_SREQ 8 // прочитать одну запись результата поиска в буфер | ||
| 207 | {{/code}} | ||
| 208 | |||
| 209 | |||
| 210 | |||
| 211 |