Bir floppy diskda joylashgan to‘liq grafik operatsion tizim tasavvurini hech kim kutmagan bo‘lishi mumkin. UnoDOS buni amalga oshiradi – 1,44 MB floppyda yadro, oynalar menejeri, fayl tizimlari, hamkor multitasking va ofis paketini birlashtirgan 16‑bit real‑mode OS. Bugungi kunda esa bu loyiha 64‑bit PClarda, konsollarda, qo‘l qurilmalarida va hatto telefonlarda ham ishlaydigan, o‘z drayverlari, tarmoq stacki, brauzer, kompilator va gipervizorga ega bo‘lgan kengaytirilgan oilaga aylandi.
Kelib chiqishi va rivojlanish bosqichlari
UnoDOS dastlab 2010‑yillarda x86 assemblerda yozilgan, 8088 protsessoriga mo‘ljallangan grafik tizim sifatida boshlangan. Birinchi versiyada yadro, ikkita fayl tizimi (FAT16 va o‘ziga xos mini‑FS), hamda bir necha oddiy ilovalar 1,44 MB floppyga sig‘ar edi. Loyiha “GUI‑first” tamoyiliga asoslangan bo‘lib, foydalanuvchi interfeysi birinchi darajali element sifatida yaratilgan.
Keyingi yillarda loyiha “contract‑driven” modeliga o‘tib, turli platformalar uchun portlar yaratildi: eski uy kompyuterlari, retro konsollar (NES, SNES), qo‘l kompyuterlari (Raspberry Pi, Arduino‑ishlab chiqarilgan SBC), hamda Android‑ga o‘xshash telefonlar. Har bir port o‘zining apparat drayverlari, tarmoq stacki va foydalanuvchi interfeysi bilan mustaqil ishlashga mo‘ljallangan.
pc64 – zamonaviy 64‑bit platforma uchun flagman
UnoDOSning hozirgi flagmani pc64 deb ataladi. Bu versiya har qanday x86‑64 PCda, 2007‑yildan beri ishlab chiqarilgan, UEFI yoki legacy BIOS orqali yuklanadi. UEFI firmware’dan framebuffer, klaviatura va boot hajmini oladi, so‘ngra ExitBootServices chaqirilib, operatsion tizim o‘z drayverlari bilan mustaqil ishlashni boshlaydi.
Hybrid ISO/USB tasvirlari Windows va macOS foydalanuvchilari uchun bir‑bosqichli USB flasher ilovalari bilan birga taqdim etiladi. Emulyator ichida bir daqiqadan kamroq vaqt ichida yuklanadi, lekin haqiqiy apparatga o‘rnatish ham bir necha bosqichda amalga oshiriladi.
Grafik muhit va foydalanuvchi tajribasi
UnoDOS unoui deb nomlangan kross‑platforma widget to‘plamiga asoslangan. Desktopda taskbar, virtual desktoplar, oynalarni “snap” qilish, animatsiyali Alt‑Tab o‘tkazgich, ish stoli ikonkalari va dastur menyusi mavjud. O‘nta tema bir vaqtning o‘zida almashtirilishi mumkin: Aurora (yangi flat dizayn, yorug‘ va qorong‘u rejimlar), Mac OS 7, Windows 3.1, Amiga Workbench, C64, Apple II, NeXTSTEP kabi retro ko‘rinishlar.
Matnlar TrueType shriftlari bilan anti‑aliased tarzda ko‘rsatiladi, har bir kontrol klaviatura yoki sichqoncha orqali boshqarilishi mumkin. Bu yondashuv foydalanuvchi interfeysini zamonaviy operatsion tizimlarga yaqinlashtiradi, lekin retro estetikani ham saqlab qoladi.
Ilova ekotizimi
UnoDOS o‘z ichiga bir nechta asosiy ofis dasturlarini oladi:
- UnoWord, UnoCalc, UnoShow – Office 97‑ga o‘xshash paket, .doc, .xls, .ppt formatlarini o‘qiydi va yozadi.
- Browser – HTML, Markdown, CSS render qiluvchi, cookie, cache, qidiruv, saqlash funksiyalari, TLS 1.2 HTTPS qo‘llab‑quvvatlaydi. JavaScript dvigatellari sifatida ichki
unojs bytecode VM va tashqi quickjs‑ng mavjud.
- Studio – IDE, sintaksis yoritish, “build‑and‑run” sikli, AI yordamchi, va UnoC kompilyatori – tizimda C kodini to‘g‘ridan‑to‘g‘ri kompilyatsiya qiladi.
- Python – MicroPython muhitida
PYRT.UNO modul orqali shell, fayl tizimi va tarmoqqa kirish imkoniyati.
- Audio, video, rasm, SSH, fayl menejeri, chizuvchi, soat, tizim loglari, va bir nechta klassik o‘yinlar (Dostris, Pac‑Man, OutLast, Runner3D) ham mavjud.
Ilovalar .UNO modul sifatida paketlanadi, APPS\ katalogiga qo‘shilganda avtomatik ravishda shell tomonidan aniqlanadi – qayta qurish yoki qayta yuklash shart emas.
Apparat darajasidagi drayverlar
UnoDOS drayverlar qatlamini bir xil blok qatlamiga birlashtiradi. Ular quyidagilarni qo‘llab‑quvvatlaydi:
- Saqlash – AHCI, NVMe, SDHCI/eMMC, USB mass‑storage, FAT16/FAT32, GPT/ESP yaratish.
- USB – xHCI host stack, hub, HID klaviatura/mouse, mass‑storage, USB‑Ethernet (ASIX AX88179, Realtek RTL8152).
- Tarmoq – Intel e1000/e1000e/igb, Realtek r8169, Wi‑Fi drayverlari (Intel, Realtek, Marvell), WPA2, to‘liq TCP/IP stack (ARP, IPv4, ICMP, UDP, TCP, DHCP, DNS, TLS via BearSSL, socket, syslog).
- Kirish – PS/2, I2C‑HID (laptop trackpad), USB HID.
- Audio – Intel HDA, AC'97 fallback, 48 kHz DMA.
- ACPI – ichki AML interpreter (
unoacpi).
Bu drayverlar birgalikda “bare‑metal” muhitda, firmwaredan mustaqil ishlashni ta’minlaydi.
Virtualizatsiya va xavfsizlik
UnoDOS unovirt komponenti Intel VMX (VT‑x) va AMD SVM (AMD‑V) texnologiyalarini qo‘llab, EPT/virtio qurilmalar orqali mehmon operatsion tizimlarni ishga tushiradi. Misol uchun, Ubuntu kernelini UnoDOS ostida ishga tushirish, ext4 diskni UnoDOS hajmidan fayl sifatida ulash mumkin. Bu imkoniyat test muhitini yaratish va platforma barqarorligini tekshirishda foydalidir.
Xavfsizlik nuqtai nazaridan unosecure modulida lokal hisoblar, RBAC (rolga asoslangan kirish nazorati) va audit loglari joriy qilingan. URC (remote‑control channel) esa “fail‑closed” mexanizmi bilan real mashinalarni klaviatura yoki monitorsiz boshqarish, testlarni avtomatlashtirish va ekranni oqim qilish imkonini beradi.
Taqqoslash va cheklovlar
UnoDOSni boshqa “lightweight” OSlar, masalan, KolibriOS yoki MenuetOS bilan solishtirishda bir nechta farqlar ko‘rinadi. KolibriOS ham assemblerda yozilgan, lekin u asosan 32‑bit real‑mode va ko‘proq minimalistik interfeysga ega. UnoDOS esa 64‑bit drayverlar, to‘liq tarmoq stacki, brauzer, IDE va AI yordamchi kabi zamonaviy komponentlarni o‘z ichiga oladi.
Boshqa tomondan, UnoDOS hali ham “real‑hardware” tasdiqlash ro‘yxatida ba’zi platformalar uchun “emulator‑only” belgilanishi mavjud. Masalan, ba’zi eski konsollar yoki ba’zi ARM‑asosli SBClarda to‘liq drayverlar yo‘q, shuning uchun ularni emulyator orqali sinash kerak bo‘ladi.
Rivojlanish jarayoni va jamiyat
Loyiha GitHubda hmofet/unodos repozitoriyasida faol rivojlanadi. Har bir platforma uchun PLATFORMS.md faylida real apparatda boot qilingan yoki faqat emulyatorda sinovdan o‘tgan holatlar ro‘yxati keltirilgan. Release sahifasida ISO, USB, ROM, SD‑card tasvirlari mavjud, shuningdek Windows va macOS uchun bir‑bosqichli USB flasher ilovalari ham taqdim etilgan.
Yo‘riqnoma pc64/README.md va pc64/DEVELOPMENT.md fayllarida Linux va Windows muhitida qurish, QEMU+OVMF yordamida test qilish, hamda drayverlar qo‘shish bo‘yicha batafsil ko‘rsatmalar berilgan. Qurish uchun faqat standart paketlar (gcc‑mingw‑w64‑x86‑64, qemu‑system‑x86, ovmf, python3, python3‑pil) yetarli, EDK2 kabi qo‘shimcha komponentlar talab qilinmaydi.
Kelajak yo‘nalishlari
Hozirgi vaqtda UnoDOS 3.1 versiyasi “contract‑driven” model asosida yangi platformalar qo‘shilishini davom ettiradi. Rejalashtirilgan yo‘nalishlar:
- ARM64 porti – yangi server va mobil qurilmalarga moslashish.
- Qo‘shimcha tarmoq protokollari – IPv6, QUIC.
- AI yordamchi funksiyalarini kengaytirish – kodni avtomatik tahlil qilish, tavsiyalar.
- Ko‘proq fayl tizimlari – Btrfs, ZFS kabi zamonaviy tizimlar uchun drayverlar.
Bu yo‘nalishlar UnoDOSni faqat “retro‑hobbist” platforma emas, balki zamonaviy, kengaytirilgan va xavfsiz operatsion tizim sifatida ko‘rsatadi.
Umuman olganda, UnoDOS – bir necha avlod kompyuter arxitekturalarini birlashtirgan, o‘z drayverlari, tarmoq stacki, brauzer va IDEga ega bo‘lgan noyob grafik operatsion tizim. Uning ochiq manbali yondashuvi, keng platformali qo‘llab‑quvvatlashi va hamjamiyat tomonidan doimiy yangilanib borishi texnologik eksperimentlar, ta'lim va hatto kichik ishlab chiqarish muhitlari uchun qiziqarli imkoniyatlar yaratadi.
Asl manba: github.com