Инструменты пользователя

Инструменты сайта


uzix:uzix

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
uzix:uzix [2023-12-01 23:38]
GreyWolf [Ссылки]
uzix:uzix [2023-12-01 23:42] (текущий)
GreyWolf
Строка 1: Строка 1:
-====== UZIX ====== +~~HIDEPAGE:search;sitemap~~ 
- +~~REDIRECT>​msx:​uzix:​~~
-{{:uzix:​uzix-white.jpg|}} +
- +
-FIXME +
- +
- +
-UZIX — это реализация UNIX для компьютеров MSX (Unix Implementation for MSX). Она основана на [[uzi:​uzi|UZI]],​ разработанной Дугласом Брауном,​ и была портирована на MS-DOS / MSX  Аркадием Щекочихиным и Адриано да Кунья (Adriano C. R. da Cunha). UZIX может быть запущена на PC (из MS-DOS) или на MSX2/​2+/​TurboR. Исходный код в основном написан на Си, и транслировался с помощью Turbo-C (ПК) и Hitech C (MSX). +
- +
-===== История ===== +
- +
-MS-DOS версия разрабатывалась Аркадием,​ практически самостоятельно,​ с 1997 по 2001. Адриано,​ в свою очередь,​ почти целиком ответственен за портирование на MSX. В версии 1 система занимала в ОЗУ менее 30Кб (а точнее,​ 25.8Кб). Это, наверное,​ самая компактная реализация [[wp>​Version_7_Unix|7th Edition]], какую только возможно найти. +
- +
-Для UZIX было создано и портировано много подсистем и приложений,​ таких как стэк TCP/IP, клиенты telnet, ftp, irc, демоны telnetd и httpd, и даже графический Web-браузер [[msxorg>​news/​software/​en/​fudebrowser-11|FudeBrowZer]],​ разработанный Рикардо Битенкуром ([[https://​sites.google.com/​site/​ricbitmsx/​home|Ricardo Bittencourt]]). +
- +
-В 2002 году вышла версия UZIX 2. Это был большой шаг вперед по сравнению с первой версией. Основным отличием стало большее ядро, позволяющее включить в него больше функций,​ и, в то же самое время, большее пространство ОЗУ, доступное для прикладного кода — что открыло возможности для запуска более крупных приложений. В этой версии UZIX получил и множество других улучшений:​ в частности,​ графическую систему (не X11), модульное ядро (с возможностью горячей загрузки и выгрузки модулей ядра), была также предпринята попытка создать собственные средства разработки - [[https://​sourceforge.net/​projects/​foca/​|FOCA]] - компилятор Си (не завершен),​ ассемблер Z80, оптимизатор. Разработкой FOCA занимались Фелипе Берго (Felipe Bergo) и Адриано Кунья. Последней версией UZIX стала 2.1alfa от 24/09/2003. Последняя правка в файлы UZIX вносилась 18/03/2005, после чего разработка,​ очевидно,​ прервалась. +
-===== Архитектура ОС ===== +
-=== Архитектура UZIX 1, за небольшим отличием — в целом, идентична UZI: === +
- +
-Поскольку на компьютерах 8080 семейства нет стандартного механизма менеджмента памяти (MMU), //​многопроцессность//​ достигается методом «total swapping» (полного своппинга). Но, в отличие от UZI, для "total swapping"​ используется не жесткий диск, а память маппера. На PC — для этого используется "​расширенная память"​. В обоих случаях,​ UZIX доступно 64Кб адресного пространства (всё адресное пространство Z80 или один полный сегмент на PC). Собственно UZIX располагается в верхних 32Кб памяти,​ а работающий в данный момент процесс занимает нижние 32Кб. UZIX не может обойтись без некоторых дополнительных устройств. Во-первых,​ должен присутствовать,​ в том или ином виде, таймер или часы, которые могут обеспечить периодическое прерывание. Также, дополнительно используются часы реального времени (RTC) для получения времени для временных меток файлов,​ и т.п. TTY-драйвер опрашивает клавиатуру в цикле ожидания — а не предполагает работу от прерываний,​ как в UZI. +
- +
-Существует специальная "​лайт-версия"​ UZIX для MSX1, работающая в режиме 40 символов в строке,​ и эмулирующая недостающий RTC для своих нужд. Но, в виду отсутствия в MSX1 штатного RAM-маппера,​ она использует [[msxorg>​wiki/​ACVS_II_MegaRAM|бразильский MegaRAM]], что замедляет работу системы,​ по-сравнению с MSX2. Скачать её можно [[http://​uzix.sourceforge.net/​uzix1.0/​index.php?​page=down&​lang=us|здесь]]. +
- +
-=== Архитектура UZIX 2 существенно отличается от предыдущей версии:​ === +
- +
-Операционная система,​ аналогично,​ использует маппер MSX2/2+/TR для "total swapping"​. Но само ядро UZIX занимает все 64Кб памяти,​ разделенное на две части — 48Кб для выгружаемой части ядра, и 16Кб для невыгружаемой (резидентной). Резидентная часть является интерфейсом между userland-программами и остальным ядром. Во время системных вызовов или прерываний,​ выгружаемая часть ядра свопится так же, как любой другой процесс. Приложения занимают в ОЗУ, как минимум,​ 16Кб, а максимум — 48Кб (в зависимости от их размера). UZIX 2 поддерживает до 4096Кб памяти. Максимальное количество процессов 31. +
- +
-==== Возможности:​ ==== +
-  * UZIX работает на любой MSX ([[msx:​msx_2|MSX2]],​ [[msx:​msx_2_plus|MSX2+]],​ TR а также в эмуляторах)+
-  * Полнофункциональная многозадачная среда;​ +
-  * Полнофункциональное многопользовательское окружение;​ +
-  * Стабильная файловая система,​ почти без багов;​ +
-  * Чрезвычайно стабильное ядро, шелл и окружение;​ +
-  * Поддержка модулей (модульность используется пока только для TCP/IP стэка);​ +
-  * Поддержка жестких дисков ([[msxorg>wiki/​ESE_MegaSCSI|ESE MegaSCSI]], [[msx:sunrise-ide_maxiol:​sunrise-ide_maxiol|Sunrise IDE]] и [[msx:​beer_ide:​beer_ide|Beer IDE 202]]((Смотри [[#​uzix1|Примечание 1]])) ); +
- +
-Попробовать UZIX 2 можно в эмуляторе [[+tab|wmsx>?​P=RAM1024&​DISK=/​_media/​uzix/​uzix_bootflp.dsk|WebMSX]]. Логин — root без пароля. +
- +
-=== Примечания=== +
- +
-  - Если Вы захотите запустить UZIX 2 на реальном железе,​ то нужно учитывать,​ что он не заработает на MSX без маппера ОЗУ, и заработает крайне ограничено на машинах с ОЗУ 128Кб (а это такие модели,​ как Yamaha YIS-805/​128R и Yamaha YIS-503IIIR) — запустится shell, но, при попытке запуска чего-либо,​ будет выдаваться сообщение о невозможности порождения нового процесса (fork failed). Для нормальной работы требуется,​ как минимум,​ 256Кб. Тут выручить может [[msx:​carnivore2:​carnivore2|Carnivore]],​ либо другое расширение памяти. +
-  - Некоторые DiskROM-ы не очень хорошо работают с UZIX. DiskROM для MSX Turbo-R также в этом замечен,​ и проблема связана с остановкой дискеты. Если дисковод прекращает вращение,​ то следующее обращение к нему выдаст ошибку 'not ready' после длительного таймаута. Эта проблема решается установкой соответствующей галочки в '​Advanced settings'​ в инсталляторе UZIX, либо нажатием пробела во время загрузки ZILO. +
-  - Работа UZIX была протестирована только на контроллерах ESE MegaSCSI и Sunrise IDE; Контроллеры Novaxis SCSI выдают ошибку при попытке доступа к диску; UZIX, в принципе,​ должен работать и на других устройствах (Bert, Gouda, и т.д.), но может потребоваться некоторая тонкая настройка. +
-  - Инсталляция на Sunrise IDE с [[msx:​nextor:​nextor|NEXTOR]] kernel, к сожалению,​ невозможна. Для этого необходимо будет прошить {{ :​msx:​sunrise-ide_maxiol:​sunrise_ide_v2.50.bin |оригинальный ROM Sunrise}} (или, если речь об эмуляторе,​ прописать его в [[msx:​sunrise-ide_maxiol:​sunrise-ide_maxiol#​openmsx|настройках]]). Образ HDD с установленным UZIX 2.1 для использования с оригинальной прошивкой Sunrise можно {{ :​uzix:​uzix_toolchain.dsk |скачать тут}}. Там используется старый [[msxorg>​wiki/​Sunrise_ATA-IDE_%2B_RS232C#​How_to_use_FAT16_partition|'​MSX-style'​]] формат таблицы разделов,​ отличающийся от MS-DOS partition table, так как установщик UZIX не работает с DOS Partition Table. +
-  - Инсталляция на Beer IDE возможна,​ но затруднена. Поэтому для работы с BEER 202 предлагается готовый загрузочный {{ :​uzix:​uzix0.2.1_beer.dsk|образ}} с установленным UZIX. Используется MS-DOS MBR, стандартная Partition Table. +
- +
-{{anchor:​uzix1}} __//​Примечание 1//__ \\  +
-Разработчиком поддержка изначально не заявлялась,​ но в 2022 году была [[https://​msx.org/​forum/​msx-talk/​software-and-gaming/​msx-cpm-booting-sunrise-cf-ata-ide#​comment-434297|случайно обнаружена]] де-факто,​ и полностью подтверждена тестами на эмуляторе и реальном железе. +
-{{anchor:​beeride}} +
-===== Beer IDE ===== +
-Есть тонкости при инсталляции. В частности,​ UZIX видит разделы жесткого диска BEER IDE как ''/​dev/​fd*''​ +
- +
-====== Ссылки ====== +
- +
-http://​uzix.sourceforge.net/​ +
- +
-https://​github.com/​marioaugustorama/​uzix-kernel +
- +
-[[http://​uzix.sourceforge.net/​images/​uzix-white.jpg|Логотип]] +
- +
-{{tag>​MSX OS Z80}} +
uzix/uzix.txt · Последние изменения: 2023-12-01 23:42 — GreyWolf