User Tag List

Страница 24 из 47 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя
Показано с 231 по 240 из 466

Тема: Алан Кокс представил Unix-подобную ОС Fuzix, ядро которой потребляет около 40 Кб ОЗУ

  1. #231

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

    По умолчанию

    Ядро у меня - обычная CP/M-задача, которая будет "крутить" UNIX-процессы в расширенном ОЗУ. Архитектура будет такая:
    Код:
    	         CP/M 64k bank      Subsequent 64k banks
    	FFFF	+------------+		+------------+
        Common	|   Common   |		|   Common   |+
    	F000	+------------+		+------------+|+
    		|    CP/M    |		|            |+|+
    		+------------+		|  Process   ||+|
        Banked	|   Kernel   |		|    Code    |||+
    		|    Code    |		|   & Data   ||||
    		|            |		|            ||||
    	0100	+------------+		+------------+|||
    		|  Reserved  |		|  Reserved  |+||
    	0000	+------------+		+------------+|+|
    					 +------------+|+
    					  +------------+|
    Ядро, кстати, получается 28кб. С дописанными процессами будет, думаю, порядка 30кб (это учитывая, что в UZIX побольше накручено, чем в FUZIX, как я понял) - годится для любого клона Орионовских CP/M. Есть клоны CP/M с TPA до 58 кб, т.е. хватит места и TCP/IP впилить, и поддержку ФС FAT.

    В качестве дисков используется IDE/SD через CP/M-овский драйвер "сырого доступа" IDEBDOS, схема MBR-партиций (поддерживаются только 4 основные партиции на двух физических приводах - итого 8 (fd0..fd7) партиций, плюс fd8..fd9 - целые "сырые" диски (от LBA0=MBR до LBAmax)), номер партиции передается в утилиты (проверяемая/копируемая/где создается FS) и в ядро (root-партиция, остальные через mount) как параметр командной строки.
    Последний раз редактировалось Error404; 27.11.2014 в 16:34.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  2. #232

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем косяк гдето в реализации библиотеки форка чтоли...

    простая ассемблерная программа- форкается.
    а вот на С - фига.

  3. #233

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

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    В общем косяк гдето в реализации библиотеки форка чтоли...

    простая ассемблерная программа- форкается.
    а вот на С - фига.
    Может со стеками что-то?

    Я вот тоже думаю:
    Когда был UZIX или UZI, у которого ядро (верхние 32к от 64к-шного пространства) и текущий обрабатываемый процесс (нижние 32к от 64к-шного пространства) всегда были все же в общем пространстве, то такие вещи как куда установлен стек при вызове unix() и куда установлен стек в момент наступления прерывания - они не имели критического значения (хотя стек и переставляется на временный в определенные моменты). Когда же ядро и процессы разносятся в разные страницы памяти, это уже становится попоболью.

    А вот еще вопрос на засыпку. Ну ладно, стек обработчика прерывания можно назначить внутри страницы ядра, при вызове unix() тоже можно запоминать, переставлять и восстанавливать потом стек. Но есть еще сигналы. Процессы регистрируют обработчики, которые вызываются, условно, произвольно. Ядро сделает вызов в другую страницу, но куда-то надо поставить и стек, чтобы он не пересекался с предыдущими двумя.

    ---------- Post added at 18:20 ---------- Previous post was at 18:17 ----------

    У Алана вообще работоспособное то что-то было кроме ядра? В его блоге никаких обновлений. Может еще блог есть, а я и не знаю?

    ---------- Post added at 18:22 ---------- Previous post was at 18:20 ----------

    Кстати, если кто там зареган - черкните пару строк. Человеку надо понимать, что его проект интересен: это стимулирует не бросить всё к такой-то матери.
    Последний раз редактировалось Error404; 27.11.2014 в 18:19.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  4. #234

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    УРААААА! НАШЁЛЛ!!!
    Просто в dofork() я портил регистр а инверсией. Номер страницы инвертировался для вывода в пентевный регистр.
    Ещё одна команда cpl спасла меня.

  5. #235

    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    484
    Спасибо Благодарностей отдано 
    135
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    УРААААА! НАШЁЛЛ!!!
    Просто в dofork() я портил регистр а инверсией. Номер страницы инвертировался для вывода в пентевный регистр.
    Ещё одна команда cpl спасла меня.
    Ну что, бэйзконфа сыграла с тобой злую шутку?

    Цитата Сообщение от Sergey Посмотреть сообщение
    Блин, ну чего ты не под тсконфу начал писать!
    Нажми Ctrl+Alt+F12. ))
    И это было бы смешно, когда бы не было так грустно...
    Последний раз редактировалось Sergey; 27.11.2014 в 18:56.
    С уважением,
    Gris / Red Triangle.
    _____________________________________
    ZX-EVO/TS-Labs config/NGS/HDD/SD-card
    Amiga A1200/Blizzard 1230@50/32/60GB
    Amiga A1200/Apollo 1260@66/32/60GB
    UnAmiga (C5) AGA GM7123 VideoDAC

  6. #236

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    скорее невнимательность. мало ли где как накосячишь.

  7. #237

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Но есть еще сигналы. Процессы регистрируют обработчики, которые вызываются, условно, произвольно. Ядро сделает вызов в другую страницу, но куда-то надо поставить и стек, чтобы он не пересекался с предыдущими двумя.
    Стек прерывания на время обработки сигналов уже не нужен, его можно смело загадить. Так, по-моему, и происходит.

    Кстати, если кто там зареган - черкните пару строк. Человеку надо понимать, что его проект интересен: это стимулирует не бросить всё к такой-то матери.
    Я ему пулл-реквесты шлю, это более красноречиво
    За ходом разработки там же можно наблюдать, он подробные комментарии к ключевым коммитам пишет.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  8. #238

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    За ходом разработки там же можно наблюдать, он подробные комментарии к ключевым коммитам пишет.
    А как это смотреть?
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  9. #239

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    А как это смотреть?
    https://github.com/EtchedPixels/FUZIX/commits/master
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  10. #240

    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    484
    Спасибо Благодарностей отдано 
    135
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    скорее невнимательность. мало ли где как накосячишь.
    Не в обиду: мыши кололись, плакали, но продолжали жрать кактус!

    ---------- Post added at 22:10 ---------- Previous post was at 21:55 ----------

    Цитата Сообщение от SfS Посмотреть сообщение
    УРААААА! НАШЁЛЛ!!!
    Образ, - образ рабочий давааай!
    С уважением,
    Gris / Red Triangle.
    _____________________________________
    ZX-EVO/TS-Labs config/NGS/HDD/SD-card
    Amiga A1200/Blizzard 1230@50/32/60GB
    Amiga A1200/Apollo 1260@66/32/60GB
    UnAmiga (C5) AGA GM7123 VideoDAC

Страница 24 из 47 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Куплю БК 0010 или подобную машинку в Украине
    от LeBohdan в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 06.07.2008, 23:29
  2. SDCC вокруг да около
    от andrews в разделе Программирование
    Ответов: 8
    Последнее: 26.03.2008, 08:16
  3. Ответов: 16
    Последнее: 02.08.2005, 12:20
  4. Ответов: 10
    Последнее: 18.02.2005, 17:45

Ваши права

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