Важная информация

User Tag List

Показано с 1 по 1 из 1

Тема: Возможна ли адаптация KnightOS на Spectrum?

  1. #1
    Activist
    Регистрация
    26.07.2015
    Адрес
    г. Хабаровск
    Сообщений
    221
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Возможна ли адаптация KnightOS на Spectrum?

    Что такое KnightOS?
    KnightOS - это операционная система с открытым исходным кодом для калькуляторов Texas Instruments. Он свободно доступен как в исходной, так и в двоичной форме в соответствии с условиями лицензии MIT. С KnightOS вы получаете непревзойденный уровень свободы и настройки вашего калькулятора.

    Почему именно KnightOS?
    Если вы решите использовать KnightOS, вы получите больше памяти для игры, больше места для ваших файлов и множество замечательных функций. KnightOS имеет менеджер пакетов для простой установки программного обеспечения и может запускать сразу несколько вещей. Если вам нравится бесплатное программное обеспечение с открытым исходным кодом, вы также найдете KnightOS раем для хакеров.

    Могу ли я использовать KnightOS?
    KnightOS будет работать на любом обновляемом калькуляторе Texas Instruments на базе процессора z80. Сюда входят TI-73 , TI-83 + , TI-83 + Silver Edition, TI-84 + , TI-84 + Silver Edition и TI-84 + Color Silver Edition . Вы также можете запустить его на французских вариантах этих калькуляторов или в эмуляторе.

    - - - Добавлено - - -

    https://zx-pk.ru/threads/23591-knigh...ov-ti-z80.html вот уже задавались таким вопросом. Может быть проблема с графикой, но тут можно решить этот вопрос, как-то аппаратно, сделав сопроцессор, для поддержки ОСи...

    - - - Добавлено - - -

    Есть ещё что-то подобное для MSX, но там намного выше требования: http://www.symbos.de/

    - - - Добавлено - - -

    KnightOS была интересной операционной системой
    27 января 2020 на блоге Дрю DEVAULT в
    KnightOS - это операционная система, которую я начал писать около 10 лет назад, для линейки калькуляторов Texas Instruments z80 - поддерживаются TI-73, TI-83 +, TI-84 + и аналогичные калькуляторы. Он по-прежнему претерпевает редкие улучшения, но в наши дни я и большинство основных участников остаются с пустыми обещаниями в глазах самих себя, что однажды они проведут один из тех больших рефакторингов, которые мы планировали... в течение 4 или 5 лет. сейчас.

    Тем не менее, это была действительно интересная операционная система, которая работала с некоторыми сложными ограничениями и преодолела их, чтобы предложить довольно приятную Unix-подобную среду с файловой системой, вытесняющей многопроцессорной обработкой и многопоточностью, средами сборки и программирования C и т. Д. Вся система была написана на рукописной сборке z80, почти 50 000 строк, на инструментальной цепочке компилятора, которую мы создали с нуля.

    Было всего 64 КБ доступной оперативной памяти. Ядро хранит все свое состояние в 1024 байтах статически выделенной оперативной памяти. Многие подсистемы использовали перекрывающиеся части этой памяти, что было тщательно спланировано, чтобы избежать конфликтов. Распределитель памяти пользовательского пространства использовал простой связанный список для отслеживания выделений, чтобы минимизировать накладные расходы на каждое выделение и максимизировать полезное пространство для программ пользовательского пространства. Не было MMU в том смысле, который есть на современных компьютерах, поэтому любая программа могла свободно перезаписывать любые другие программы. Фактически, графический интерфейс переключения задач «пользовательского пространства» будет читать таблицу процессов ядра напрямую, чтобы составить список запущенных программ.

    Энергонезависимой памятью была NOR Flash, что имеет некоторые интересные ограничения. В худшем случае у нас было всего 512 КБ хранилища, а даже в лучшем случае всего 4 МБ (это для устройства, выпущенного в 2013 году). Это пространство было разделено с ядром, код ядра которого был меньше 4 КБ, а подсистемы с высоким адресом все еще работали с тактовой частотой менее 16 КБ. Из-за ограничений NOR Flash была разработана настраиваемая файловая система, которая выполняла все ежедневные операции, только сбрасывая биты в базовом хранилище. Чтобы установить какие-либо биты, нам пришлось установить весь сектор размером 64 КиБ в 1. Накладные расходы также были сведены к минимуму, чтобы максимизировать пространство для хранения, доступное для пользователей.

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

    У нас также была базовая поддержка сети. У калькулятора есть разъем 2,5 мм, аналогичный разъемам для наушников - если у вас был адаптер 3,5 мм, у нас был бы музыкальный проигрыватель, который воспроизводил бы файлы MIDI или WAV. Ядро имело прямой контроль над напряжениями на кольце и наконечнике, и ему приходилось сбрасывать их напрямую в программном обеспечении 1 . На основе этого мы создали базовую поддержку сети, которая поддерживает обмен информацией между калькулятором и компьютером. В более поздних моделях был контроллер mini-USB (который, как ни странно, также можно использовать в программном обеспечении), но мы так и не закончили писать драйвер для него.

    Ядро KnightOS также включает в себя некоторый код, который я впервые написал в комментарии «вот драконы» , и с тех пор я не думаю, что смог превзойти его.

    Несмотря на эти ограничения, KnightOS полностью загружается до полезного Unix-подобного (с графическим интерфейсом) быстрее, чем вы можете убрать палец с кнопки питания. Батареи хватит на весь семестр, если повезет. Может ли устройство, которое вы читаете, претендовать на то же самое?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 4
    Последнее: 17.06.2014, 14:38
  2. Ответов: 24
    Последнее: 21.04.2013, 09:04
  3. Вектор 06Ц без км,возможна отправка куда угодно)
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 20.12.2011, 22:05
  4. Возможна ли загрузка не с ленты и не с fdd?
    от Damein Alpha в разделе Для начинающих
    Ответов: 9
    Последнее: 01.03.2010, 14:47
  5. Ответов: 15
    Последнее: 24.06.2007, 08:47

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •