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 |