User Tag List

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

Тема: MATRIX

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

    Цитата Сообщение от James DiGreze Посмотреть сообщение
    про запуск в минимальной конфигурации монопольных программ: решается через своп. т.е. перед запуском система свой образ скидывает во внешнюю память, потом тупо запускает прог
    так я же так и сказал на несколько постов раньше
    Цитата Сообщение от James DiGreze Посмотреть сообщение
    в качестве свопа может быть заюзан даже флопоглот, с этим согласен даже великий и могучий, страшный волшебник, который изрек "640Кб хватит всем".
    ну и тем более, если есть больше памяти и рам-диск.
    Ну уж нет,ТАКИЕ ТОРМОЗА нам ни чему, для этого есть оффтопик,
    а своп в память/рам-диск - только в случае отсутствия винчестера, ибо мало чего там
    монопольгая прога натворит (вдруг зависнет и запортит верхнюю память)



    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Как я понимаю, менеджер задач будет раздавать задачам время кратное 1 период инта (на стандартной машине иного не придумать наверное ), соответственно, если прога положила в почтовый ящик запрос на действие (любое) и ушла в цикл ожидания, то система обработает сообщение по приходу прерывания? или будет какой-то вызов для передачи управления?
    да только же про это сказал:
    Цитата Сообщение от Zet9 Посмотреть сообщение
    планируется вызов wait - про него сказано на первой странице
    чтобы не ждать прихода прерывания, прога размещает сообщение в почтовом ящике
    и делает
    call addr1 и тем самым ДОСРОЧНО прерывается её процесс и проиходит переключение на системный процесс, причем это процесс сначала доделает то, то он делал, и потом он выполняет вызов этой проги - таким образом НЕТ времени ожидания (до прихода прерывания), которое тратиться в пустую.
    Значится для второго типа вызовов, т.е. для вызовов функций граф.подсистемы прога будет
    класть сообщение в ящик и передавать управление на адрес adr1 и произойдет переключение процесса на процесс граф.подсистемы, но он в этот момент может быть занят, поэтому он сначала доделает то, что делал (дорисует окно или допечатает текст), и после этого будет обрабатывать вызов.
    Вот так годится?
    Или придется делать реентерабельные графические процедуры и прога вызывает одну из них и процедура выполняется в то время, предназначенное для этой проги(типа печатает текст), а потом другая прога вызывает эту же функцию с этого же адреса (но процедура реентерабельная, так что она позволяет повторной вход в неё) и в то время, когда должна выполняться вторая прога, работает эта процедура и допустим она печатает спрайт.
    Так можно , но это гораздо сложнее в реализации,

    ---------- Post added at 12:00 ---------- Previous post was at 11:45 ----------

    Цитата Сообщение от psb Посмотреть сообщение
    я еще предлагаю сделать системный вызов для вызова подпрограммы, находящейся в другой странице.
    т.е. допустим в 1й странице работает код и там:
    ld hl,param1
    ld de,param2
    ld bc,param3
    ld a,param4
    call sys_long_call:db page3,address

    sys_long_call включит 3ю страницу и вызовет прогу address, затем включит обратно старую страницу (1ю) и выйдет.
    Это легко добавить при условии, что основной код программы находится в нижней памяти,
    только ещё надо придумать,как этот адрес sys_long_call передавать от системы проге (а то это уже третий адрес получается, 1-й - досрочное переключение с проги на граф.систему,2-й - скоростное переключение страниц)

    Цитата Сообщение от Sayman Посмотреть сообщение
    Зет, вот чес слово, ты сделай сначала.
    Не боись! Сделаю! Но не сразу, за неделю такие вещи не делаются, надеюсь, ты это впиливаешь?

    Цитата Сообщение от Sayman Посмотреть сообщение
    я не буду щас что-то говорить, ни хвалить, ни критиковать.
    ВНИМАНИЕ,все свидетели, Sayman даёт честное пионерское слово, что не будет критиковать систему MATRIX.
    Ну что ж, хочется в это верить

    ---------- Post added at 12:08 ---------- Previous post was at 12:00 ----------

    Цитата Сообщение от Error404 Посмотреть сообщение
    а здесь судя по логике, уже EXEC, а не fork. Кстати, как будет с окружением процессов (системными переменным), что наследуется, а что нет, где хранится, как передается.
    ну вроде получается EXEC, а разве EXEC бывает отдельно от fork? или то execv вызывается после fork?ладно,буду курить матчасть
    пока ничего не наследуется и не передаётся, лично я так и не понял, в чём прелесть этого

    Цитата Сообщение от Error404 Посмотреть сообщение
    желательно оставить возможность выполняться пользовательскому коду с адреса 0 и выше - это в перспективе даст возможность запускать без переделки как бинарники CPM, так и UZIX.
    попробую, только на стандартном 128-м это не получиться, надо как минимум кэш цеплять,
    ну а на остальных - да, (там только переделать надо, чтобы в таблице процессов удалённый отмечался не нулём(в поле старший байт адреса он отмечается), а например байтом #FF,но тогдп нельзя будет добавить процесс находящийся в странице по адресу #FF - вызовет ли это в будущем проблемы? пока не понятно)

    ---------- Post added at 12:25 ---------- Previous post was at 12:08 ----------

    Цитата Сообщение от Sayman Посмотреть сообщение
    ты сделай. попарь моск себе и людям))))
    Зачем ты так гуворишь?
    Проект MATRIX разрабатывается исключительно Just for fun

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    По сути ты будешь делать то же самое - система узнает какой проге принадлежит окно и отдаст ей управление, программа будет уже по своим описателям искать что это за координата, что там - кнопка или чекбокс и будет уже обслуживать его...
    А теперь умнож объем кода обработчика каждой программы на количество окон... что мы имеем? для 10 окон у нас будет 10 блоков обработки, у каждого окна все равно будет табличка с координатами элементов - тот же самый описатель... и тут уже 2кб, как ты говорил - не отделаешься. Так зачем же изобретать очередное колесо?
    Вообще-то я думаю , что в окнах почти не будет таких стандарных элементов управления, или вообщен не будет, так как кодеры - существа ленивые (по своему опыту грю), и скорее всего никто из них не будет изучать, все эти радиогруппы, полосы прокрутки, ползунки, и переключатели,вот в Черной Вороне и в CHaOS - там я вникал - это всё так скучно, кодер скажет типа , да за то время, что я потрачу на изучение того, как всём этим набором пользоваться, я мог бы нарисовать 3 спрайтика (например кнопки для плэйера плэй.пауза.стоп) и десяток строк кода, который по полученным координатам от системы сравнит - в какую кнопку ткнул юзер и всё - вызовет процедуру

    Я думаю, что если бы все кодеры хотели насытить окна массой стандарных элементов управления, то в большинстве прог так-бы и делали, но на самом деле этого за столько лет нет - не рисуют и не используют и не потому, что нет, как ты говоришь ,графлибы с подобными возможностями - а просто не радует,каждый хочет проявить индивидуальность.
    Последний раз редактировалось Zet9; 05.09.2009 в 14:49.

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

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

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

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

Похожие темы

  1. The Matrix
    от transman в разделе Игры
    Ответов: 5
    Последнее: 15.05.2005, 15:08

Ваши права

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