User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

Тема: FUZIX для Ориона (ПРО)

  1. #11

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вообще, сегодня слазил в проект, чего-то они там пытаются делать самостоятельно на предмет сети, но пока конечно еще конь не валялся: типа верхнего скелета основных функций. Пару лет еще надо подождать пока будет работоспособный TCP/IP. Но лично для меня это будет значить, что уже пора переходить на FUZIX. А с компилятором что-нить придумаем.

    Что же касается 64к на процесс, то я думаю последнее за что надо переживать - это за количество памяти для процессов. Даже если не делать свап на энергонезависимый носитель, то любому орионщику судя по форуму - явно за счастье будет новые проводнички припаять и расширить память до, скажем, 2-4 МБ. Тем более это на статике сделать очень легко (добавить 3 мсх по 512кб). Какой восторг от любой ничем неподдержанной железки у наших софорумчан-железячников, мне это даже трудно понять, а тут будет внятная доработка под лучшую ОС Ориона - осилим общими усилиями.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  2. #12

    Регистрация
    13.03.2016
    Адрес
    г. Владивосток
    Сообщений
    89
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А мне вот чего то тоже стал интересен сей проект.
    Одного не понимаю, зачем эти пересылки при переключении процессов если есть непереключаемая область(0f000h-0ffffh)?
    Объясните дебилу, пожалста.
    Ещё в бытность пользования Орионом-128 чего то задумывался над многозадачностью...
    Виделось так-система вызывает процесс, процесс пошёл, приходит прерывание (1/50-1/100 сек.), возвращается системе, система вызывает следующий..
    И так по кругу..
    А здесь как (в фузиксе)?
    зы: Херня! Мы ещё кеды под фузиксом поднимем!
    ззы: А процессы в фузиксе с какого адреса стартуют , ежели для кажного страница , с 0 или 100h ?

  3. #13

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ksanf(138) Посмотреть сообщение
    Виделось так-система вызывает процесс, процесс пошёл, приходит прерывание (1/50-1/100 сек.), возвращается системе, система вызывает следующий..
    И так по кругу..
    А здесь как (в фузиксе)?
    зы: Херня! Мы ещё кеды под фузиксом поднимем!
    ззы: А процессы в фузиксе с какого адреса стартуют , ежели для кажного страница , с 0 или 100h ?
    так же и тут - коммутируемая многозадачность с прерыванием, сохранением/восстановлением и переключением контекста.
    Процессы стартуют с 100h для совместимости с CP/M (точнее чтобы ничего критичного не класть в область 0..ff - эта область нужна для "имитатора" среды CP/M) - чтобы можно было бинарники CP/M запускать
    Последний раз редактировалось Error404; 07.04.2016 в 17:37.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #14

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ksanf(138) Посмотреть сообщение
    Одного не понимаю, зачем эти пересылки при переключении процессов если есть непереключаемая область(0f000h-0ffffh)?
    В идеале нужно:
    1. непереключаемая область в самом конце (небольшая область)
    2. область, где будут стек и данные задачи, к которым обращается ядро (тоже не много), перед областью из пункта 1.
    3. остальное должно быть переключаемым

    Например:
    F000-FFFF непереключаемая общая область
    ED00-EFFF тут область памяти задачи, даже если включено ядро
    0000-EСFF тут включается либо ядро, либо одна из задач

    В Орионе в верхней области можно включить только одну из 8 страниц, отсюда ограничение, максимум 7 процессов (т.к. экран тоже там).
    Страницы по 16Кб, т.е. на ядро максимум 48Кб - маловато.

  5. #15

    Регистрация
    13.03.2016
    Адрес
    г. Владивосток
    Сообщений
    89
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну хорошо, я это понимаю. Но в Орионе же есть режим с непереключаемой областью (31 сегмент).То есть этот сегмент отображается только до страницы #7?
    Нехорошо то как... В идеале-4 МБ ОЗУ, страница 60К на процесс.. А что 4 Килобайт мало для того чтобы разместить в них общую и область задач?

  6. #16

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ksanf(138) Посмотреть сообщение
    А что 4 Килобайт мало для того чтобы разместить в них общую и область задач?
    Да нет, вполне достаточно. Только область задачи - это кусок памяти самой задачи. Вот его-то мы и пересылаем туда-сюда.

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

  8. #17

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    когда-нибудь, когда я разберусь с графикой для спринтера (всякие демки, игрушки и прочее) я мутану юзикса или фузикса туда)) уж с 4мя метрами озу и фаст рамой там эээхъ как можно юзикса мутануть. причём не останавливает тема старта с адреса 100h, т.к. ЦПМа там нет)))) и это будет именно ОС, а не приложение для доса/цпма, как это было ранее для других платформ)) хотя, пожалуй, на МСХ там не приложение для доса, а именно ОС. что-то я подзабыл...
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  9. #18

    Регистрация
    13.03.2016
    Адрес
    г. Владивосток
    Сообщений
    89
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Да нет, вполне достаточно. Только область задачи - это кусок памяти самой задачи. Вот его-то мы и пересылаем туда-сюда.
    Так в том то и вопрос! Неужели нельзя эту область сделать общей? Пусть и несколько побольше... С 0F000h и вверх?
    ps:Стек общий ,или у каждого процесса свой?

  10. #19

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ksanf(138) Посмотреть сообщение
    Так в том то и вопрос! Неужели нельзя эту область сделать общей? Пусть и несколько побольше... С 0F000h и вверх?
    ps:Стек общий ,или у каждого процесса свой?
    Стек у каждого процесса вообщето свой, но он должен быть доступен из ядра чтобы работали трапы ОС (сигналы и т.п.). Т.е. система должна уметь переходить в процесс и возвращаться в ядропо стеку процесса вторым уровнем (т.е. безотносительно первого уровня - прерывания и восстановления контекста с возвращением в контекст). Значит, стек выполняемого процесса в момент выполнения трапов должен быть в непереключаемой области (либо какие-то другие меры более заумные). Если эта область большая (как в Орионе-ПРО - 4 кб), то можно задействовать в ней несколько кусков под процессы и обойтись без копирования, но в ядре тогда нужно все обращения туда делать не по абсолютному адресу, а по индексу процесса, т.е. тоже снижение скорости пускай возможно и не такое большое. Если сохранять совместимость с Орионом(128/256/512), то там в непереключаемой области - максимум 1кб и остается только вариант с копированием. Как по мне, LDIR 800 байт (400 на включение нового контекста и 400 сохранение предыдущего) на каждое переключение контекстов - это не так уж и много, для того и разгоняют процы чтобы покрывать такие накладные расходы.

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

    Цитата Сообщение от Sayman Посмотреть сообщение
    это будет именно ОС, а не приложение для доса/цпма, как это было ранее для других платформ)) хотя, пожалуй, на МСХ там не приложение для доса, а именно ОС. что-то я подзабыл...
    На MSX есть оба варианта (UZIX - работает само, FUZIX стартует из-под DOS). Потому что на самом деле это вопрос не "настоящестости" ОС, а теологии (т.е. веры и предпочтений). Никто не мешает мне например драйвер дисков и экрана затащить в ядро и стартовать ОС без CP/M (от которой я использую только загрузчик этих двух драйверов и сами драйверы). Только нафига? Они на асме (и на порядок более функциональные чем простетские дефолтные для UZIX/FUZIX), а ОС - на С, пишутся и отлаживаются обособленно. Пока отладка самой ОС не завершена, склеивать ужа и ежа, усложняя себе сборку и отладку - преждевременно.

    Кстати, такой подход весьма распространен в бытовых и промышленных ОС, где есть первоначальный загрузчик-конфигуратор (по сути: маленькая ОС на отдельном разделе или в ПЗУ - для загрузки большой), после загрузки основной ОС не используемый. На вскидку: винда ранних версий (ранее 95), Open-VMS, AIX (и все ОС на базе Power OpenFirmware), IBM I/OS, да даже Linux OrangePI которым я сейчас играюсь - и тот грузит ядро и конфиги с FAT-раздела, а потом уже работает со вторым, линуксовым разделом где все основное лежит (FAT нужен только для загрузки ОС). Да взять тот же UEFI (т.е. большинство x86 серверов) - это что как не оно? На пару порядков посложнее чем CP/M.
    Последний раз редактировалось Error404; 10.04.2016 в 12:45.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Игры для Ориона 128
    от Dota в разделе Орион
    Ответов: 9
    Последнее: 13.06.2020, 06:03
  2. Ответов: 465
    Последнее: 03.01.2020, 07:15
  3. Новый IDE-контроллер для Ориона
    от alx32 в разделе Орион
    Ответов: 24
    Последнее: 26.01.2015, 23:14
  4. cp/m для Ориона-128
    от sergey2b в разделе Орион
    Ответов: 7
    Последнее: 11.02.2011, 17:52
  5. Схема ОРИОНА-128(НУЖНА)!!!!
    от Nordic в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.12.2008, 14:45

Ваши права

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