Spectrum 128k :: Forum

Программирование, операционные системы, документация, игры

Spectrum
Главная   Программирование   Download   OS   Игры   Ссылки   Проекты   Форум   Связь

Forum Index     Search    Register!    Edit Profile    Login


Viewing Topic: OS for ZX Spectrum

Return to Forum

    Subject:     
Posted By:
CHRV

Posts: 34

Registered Since:
Aug 04

View Profile...

СРазу скажу ИЗДОС я юзал токо как пользователь, но под нее ничего не писал.
Зато писал под две ОСИ, в принципе они похожие это CP/M и Estex (причем последняя была наиболее продвинутая как ОСЬ).
ЧТо обьединяет эти оси, они деляться на две части:
1) Хардваре зависимая (BIOS), в Estex суда включены функции переключение страниц, получение памяти, обращение к CMOS, получение портов, переключение видеорежимов...
2) Софтваре зависимая (BIOS или DSS). Загружаемая часть (т.е. может расширяться и дописываться) поддержка разных FAT, вывод на консоль, разные потоки ввода вывода, обработка клавиатуры и т.д. и т.п.
Если в случае CP/M используется керналь (т.е. таблица базовых функций, которая всегда расположена под одним адресом), то в DSS используется другой способ - вызов системной функции RST8 где регистр С номер функции.
Второй способ мне кажется более преемлимый.
Для тех кто не догадался Estex, это система от Sprinter-2000.
Теперь по вопросу почему ОСИ не доходили до юзера и почему не приживаются:
- отсутствие хоть какого софта;
- отсутствие преемлимой документации с примерами исходников;
- отсутствие поддержки со стороны хардваре (встроенный бут для IDE винта например).
По вопросу почему никто до конца не написал ОСЬ:
- проект без плана, никогда не доживает до конца, ну разве что "Хелло Ворд";
- неправильно расставленные акценты, в первую очередь нужно продумать интерфейсы с устройствами накопителй и ввода, и менеджером памяти, а уж потом графический интерфейс;
- ну и конечно лень писать документацию и примеры, хотя я считаю что ее надо писать возможно даже до реализации, а не после.
Токо после соблюдения сих условий можно будет обратить внимание. Но после даже выхода более-менее рабочей версии ОСИ, тут же надо портировать базовый софт, это редактор, ассемблер/отладчик, файловый манаджер ..., только после этого можно говорить о привлечении разработчиков на свою ось.
Немного теперь тем кто не хочет переключать странички через функции ОСИ, к сожалению зоопарк машин слишком широк и стандартов интерфейсов слишком много (я на вскидку назову способов семь от разных машин), то это единственный способ хоть и в ущерб взаимодействию. Но что же мешает писать прогу так чтобы минимизировать переключение страниц и исключить его в критичных местах?
Но вот пока все!

---------------------

User Sprinter2000, ATM2Turbo. NedoPC Group.

  Time of Post: Aug 08 2004 11:36
    Subject:     
Posted By:
CHRV

Posts: 34

Registered Since:
Aug 04

View Profile...

ДА чуть не забыл о языках высокого уровня. Тут важно стандартизировать методы передачи параметров в функции. Если это все стандартизировано и описано, то больших проблем написать глупенький компилятор не составит (причем любого языка). Но согласен что к сожалению серьезные проекты можно писать токо на АСМе, СИ наверно актуален токо для машин от 256КБайт ОЗУ (ибо надо хранить гдето stdlib часть). Т.е. хочу сказать что проблема всетаки в стандартизации и минимальности памяти.

---------------------

User Sprinter2000, ATM2Turbo. NedoPC Group.

  Time of Post: Aug 08 2004 11:44
    Subject:     
Posted By:
Robot57

Posts: 18

Registered Since:
Aug 04

View Profile...

CHRV
Согласен 100%!

В защиту Си - stdlib не настолько большой, чтобы не хватило 48Кб. Предлагаю такой вариант - 128 Кб минимум оперативки(запуск операционки и 48к программок), а 256 - можно запистить и 128к прогу. Дальше память наращиваем до разумного максимума. Далее, АПИ функции легче реализовать с использованием Си (какой-нибудь zxapi.h и скомпилированная библиотека)

PS У меня сейчас пару недель, возможно, не будет доступа к инету... Попробую написать что-нибудь, а то все слова, слова

  Time of Post: Aug 09 2004 01:29
    Subject:   
Posted By:
Eltaron

Posts: 8

Registered Since:
Aug 04

View Profile...

>>Мне все-таки интересно, почему все так стремятся к языку высокого уровня? Тем более к Си? Раз вам этого так хочется - юзайте, у меня лечит в разделе download...
>>Чем гиморен Спек, так этио тем, что нужно лезть к железу с самого низа, тобишь юзать асм

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

Hisoft C - это ерунда, на нем писать - себя не уважать :-)
вот на кворуме(да и не только, как я понимаю, были еще сипиэмнутые спекки) был компилер под cp/m(вообще, классная система, этот cp/m! приделать бы к ней все остальное от приличной ОС, было бы самое то, программ очень много(все же известная вещь), штука сама по себе удобная), это уже что-то посерьезнее  

---------------------

Кворум-128 + 5.25 FDD
Магик-05 + 5.25 FDD
Кворум-48 (temporally(permanent?) r.i.p.)


  Time of Post: Aug 09 2004 05:45
    Subject: Сырцы   
Posted By:
Максагор

Posts: 25

Registered Since:
Jul 04

View Profile...

I-Kick, ты не прав. исходники iS-DOS (и  всего ядра, и большинства утилит) есть. У меня на компе их, правда нету, но если вдруг кому-то понадобятся, достану в течение нескольких дней. Ибо они не засекречены.

  Time of Post: Aug 09 2004 10:53
    Subject:     
Posted By:
DJ I-Kick

Posts: 84

Registered Since:
Jul 04

View Profile...

Был бы благодарен

---------------------

Программируйте больше и лучше!!!


/


  Time of Post: Aug 10 2004 12:52 Administrator
    Subject:   
Posted By:
Максагор

Posts: 25

Registered Since:
Jul 04

View Profile...

Тебе и в правду нужно? Ты же не кодер! Ну ладно, если нужно позарез, вернусь в Москву и раздобуду.

  Time of Post: Aug 10 2004 01:40
    Subject:   
Posted By:
Trident

Posts: 51

Registered Since:
Aug 04

View Profile...

Eltaron:
>Вообще, надо идти путем юникса...
Не так то это просто как кажется.. нужна цельная орава энтузиастов.. причем имеющих не только желание, но и немерянно свободного времени.. да и знания не помешали-бы :).. а таковых у нас единицы... :(( и это если не вспоминать про толковую координацию действий.. с энтим у нас помоему еще сложнее... а если вспомнить старую истину, что два кодера за одной задачей передеруться в пух и прах, с вероятностью 90%.. то вваааще мрак :((((

DJ I-Kick:
>Короче с Си я однозначно не согласен!!!
Стопудово :), оно не для операционки.



---------------------

ZX Forever !!! GMX Rulezzz!!

  Time of Post: Aug 11 2004 06:56
    Subject:   
Posted By:
Trident

Posts: 51

Registered Since:
Aug 04

View Profile...

CHRV: :))))))))!!!

Robot57:
>PS У меня сейчас пару недель, возможно, не будет доступа к инету... Попробую написать что-нибудь, а то все слова, слова
Давай удачи

---------------------

ZX Forever !!! GMX Rulezzz!!

  Time of Post: Aug 11 2004 07:07
    Subject:     
Posted By:
Vovoi

Posts: 47

Registered Since:
Aug 04

View Profile...

2breeze: реальное дело, имхо, надо с осторожностью, а обсуждать никогда не вредно, тем более что очень полезно, поскольку возникнет концепция на основе которой смельчаки могут попробовать себя в этом нехитром деле. ;)
/"Двери" не закрывай!/

2CHRV: * благо на Спеке нет такого извращения как "текстовый режим". Графика - RULeZ! и ещё недопустимо, чтобы система управлялась только от крыски и k-joy, впрочем управление можно сменить,...с помощью того же кемпстон-джойстика, которого у вас нет. :))) Siclair-Joy - rulEz!
* в отношении "раскапывания"... я бы наверное ковырял Myth-OS, уж очень серьёзно настроенная ;)
*/по вопросу почему ОСИ не доходили; почему никто до конца не написал ОСЬ/ Тут может однозначно нельзя будет сказать, вот вырезка из хэлпа автора ZX-WINDOWS: "Берите пример с В. Медноногова, сказал - сделал. Или  недавний пример:  автор DOMEN OS спросил по сети нужна ли народу  доработанная  и обезглюченная  версия  его  программы  и стоит ли тратить на нее время, так в ответ в большинстве прозвучало нафиг нужно (по крайней мере из тех ответов, что попали мне на глаза)"Чепрасов Владимир (NAVGAL) декабрь 1998 г.
* А iS-DOS считаю написанной до своеобразного конца!

2Robot57: * На мой, глубоко непрофессиональный взгляд, если изобрести свою FAT и сделать микрокоммандер для начала в виде консоли, в которой будут применены основные команды по Save/Load/Kill/Create file-dir, то всё остальное софтваре, работающее через обязательно опубликованные точки входа в коммандер-консоль, может обзываться типа ОСью. Хотя, по большей части, здесь ОС - это та самая программулька (консолька), которая и орудует файлами, а "всё остальное" общается только через неё и понятия не имеет о строении диска что ей подсунули. А вот если организовать работу драйверов для работы с различными FAT, то это уже может быть универсальная ОСь!
(не знаю, в масдае можно ли исключительно камандами MsDOS работать с секторами диска или нужен асм и direct access?)
* по поводу неприспособленности согласен! Например если попросить Alone Codera сделать следующую версию Alasm с учётом интеграции в Myth-OS то, быть может, возникло бы немало программ работающих под систему, или хотя бы демок (прошу простить,это из области шуток).
* А вот я не знаю "С", а знаю асм и бэйсик. И могу запросто (как и наверное все здесь присутствующие) в асме собрать макросы и поместить в конец текста, и останется в основной программе печатать лишь операторы со значениями: PRNT 10,10,"Hello world!" по-моему вполне понятно что делает команда и транслироваться будет без мусора ненужного кода, который обычно любит приклеивать компилятор "С". Текст программы прост, а макрос всегда перед глазами - модифицируй сколько влезет, это более профессиональный подход, поскольку компилятор "С" никак не разрешит тебе модифицировать встроенную команду CLS (например, чтобы сделать растворение изображения) а в асме ты хозяин!
* портировать тексты и программы считаю бредом, в результате всё равно будет проделан титанический труд по обработке почти всего сырца, что равносильно набору с нуля из своей головы, так что можно портировать идею или какой-то принцип. Имхо, мне кажется (может я не прав), ты ни разу не делал одну и ту же прогу на ZX и PC,... могу тебе выслать свои наработки 97-98 годов с бэйсик ПЦ-конвертером только замечу, что почти полностью сделал лишь игру "Мины", на остальное не хватило сил, видимо достал ПЦ, не помню :)
..... а вообще-то, если нравится сишный компилер - делай, но не утверждай плиз, что без него тут всё встало и народ поэтому не рвётся писать проги. А в бэйсике разобраться проще чем в "С" (сам в первую неделю знакомства сделал мультик из UDG).

2DJ I-Kick Для Спекки нет открытого кода: постой! а неужели в Myth-OS не даётся указаний на то, как набирать сырьё под систему? А я пробовал делать примитив под ZX-Windows 1.4 (прогу для реального режима и для режима iM-2) и вроде всё безглючно получалось, другое дело - дело вкуса.
Из-за того, что ПЦ-кодеры не жалеют RAM, сегодня мы наблюдаем игры размером в три CD и программы такой же чудовищной длины, где пол-проги, это приветы дядюшке деБилли (for example Excel'97. В чистой таблице нажимаем [F5], вводим в строку ссылки "х97:l97" и жмём "Enter". Мы попали в строку 97, где нажимаем "Tab" и после этого, удерживая "Ctrl" и "Shift" щёлкаем по "Мастера диагpам")

2Trident ниукого похоже нету вразумительного плана: ну,.. мм.. полагаю у авторов настоящего времени какие-то наметки все-таки есть, может поэтому и обсуждаемся здесь. :)
По поводу видео... вот VideoStudio вродь как ничего, да только они замахиваются на 512-1024к, хотелось бы напрямую рисовать с диска (примерно как в моей атрибутной деме но видимо с 6144 глюк большой... жаль, хоть размеры окна снижай.

2Eltaron какую-никакую, тормозную и кривую, но все же операционку: сорри, но и на асме таких "операционок" хватает и в общем-то даже не кривых. На сях она будет скорее всего... матерным словом обозвать только.
Всем миром писать, так вот и получится REDHAT-ZX и подобные клоны системы, где проги от собратьев не желают работать. Имхо надо составить и согласовать план, затем каждый желающий сможет приняться за кодинг определённой части системы, причём оттранслированный фрагмент может обсуждаться (помните как в ZX-Ревю ребята высылали реализацию RND различными способами и ещё всячески оптимизировали её?), могут вноситься поправки и отточенный "кирпичик" уже будет крепкой составной частью большой стены, это как в "ASSEMBLY 4k", где заданы рамки, а ты уж там как желаешь. Стало быть надо резделить всю RAM, что и где будет располагаться, куда можно и куда уже не следует лезть, про совместимость со старыми прогами лучше забыть, они теперь вне системы, да и Спекки не так уж сложен, чтобы нельзя было повторить какую-то прогу.

---------------------

Поддержка совместимости!

  Time of Post: Aug 16 2004 07:20
    Subject:     
Posted By:
Vovoi

Posts: 47

Registered Since:
Aug 04

View Profile...

... ну, я хочу сказать, что при желании можно сделать сайт (раздел на сайте), вроде "коллективное строительство универсальной системы" и выложив сначала поверхностные данные по системе, обсуждать их. Что и как использовать, какие процедуры обращения к диску и почему, число файлов и каталогов на носителе, какие устройства задействовать и вообще какой клон привлекает (по последнему вопросу я сделал голосование).
В результате, не возникнет недоразумения, что "все говорят и ничего не делают". Вот - план, а мы потихоньку решаем его. В форуме мы затрагиваем лишь концепции, не приводя примеров, поэтому и спорим, но там-то и истина где-то зарыта!

Что бурно обсуждаем, это хорошо. Во всяком случае все приходим к какому-то однозначному выводу, что и объединяет нас.

-=Speccy forever!=-

---------------------

Поддержка совместимости!

  Time of Post: Aug 16 2004 07:35
    Subject:     
Posted By:
DJ I-Kick

Posts: 84

Registered Since:
Jul 04

View Profile...

2vovoi: Вовка... такие сайты уже были и не к чему не привели... как они открывались, так и автроры их терялись... Не хочу себе льстить, но мой сайт уже 2 года живет и теряться не собирается... Так что вот

---------------------

Программируйте больше и лучше!!!


/


  Time of Post: Aug 16 2004 07:44 Administrator
    Subject:     
Posted By:
flydream

Posts: 2

Registered Since:
Aug 04

View Profile...

I hope a new os (as AquaOS - DomienOS) will be made for Speccy! Anyway I know also coders here in Italy and if you want some kind of help you must contact me! :)
why AquaOs is not more in development status?
sorry for my shitty english! :)
bye

  Time of Post: Aug 16 2004 07:50
    Subject:   
Posted By:
Trident

Posts: 51

Registered Since:
Aug 04

View Profile...

Vovoi:
>...впрочем управление можно сменить,...с помощью того же кемпстон-джойстика, которого у вас нет. :)))
хехе :)) А у меня есть :))

>..не знаю, в масдае можно ли исключительно камандами MsDOS работать с секторами диска..
Не можно :Е

>...а в асме ты хозяин!
!!! :))

>...портировать тексты и программы считаю бредом, в результате всё равно будет проделан титанический труд по обработке почти всего сырца, что равносильно набору с нуля из своей головы...
Однозначно ! :))

>Из-за того, что ПЦ-кодеры не жалеют RAM, сегодня мы наблюдаем игры размером в три CD...
Уже в 4СD.. если это что-то стоящее...

>2Trident...
:)) вот и доменя добралися ;))

>ну,.. мм.. полагаю у авторов настоящего времени какие-то наметки все-таки есть, может поэтому и обсуждаемся здесь. :)
Конечно есть

>...На сях она будет скорее всего... матерным словом обозвать только.
гыы.. Масдаем она будет :))

flydream: I think so AquaOs is DoorsOS... :)




---------------------

ZX Forever !!! GMX Rulezzz!!

  Time of Post: Aug 17 2004 07:52
    Subject:     
Posted By:
Vovoi

Posts: 47

Registered Since:
Aug 04

View Profile...

2flydream: SLUSHAJ, PiSHi PO-RUSSKi, V TRANSLiTE, PLZ!

2DJ I-Kick: ну так ты откроешь ОСевой раздел-то,.. сколько уже говоришь о нем! ;( /кстати новый форум классно работает через Opera 3.62 - респект!!!/

2Trident: Уже в 4СD? ну так я за гейм-ПЦновостёй не слежу,.. кошмар.
Предвкушаю, что у тебя точно должны быть наработки, но пока не спешишь обнародовать хотя бы поверхностно, так? (отмыль хотяб, что желал бы реализовать)

В отношении масдая скажу, что трансляторы высоченных языков наверное сделаны не достаточно оптимально. Например проги для win86-87, компактны и чем-то смахивают на ранние "яблочные" (уверен, что они на 100% асме).
На Спектруме, раньше тоже был гемор с компиляторами, когда все библиотеки процедур хранились в памяти и в некоторых случаях круче было использовать (ламеру) пакет SuperCode и только в России этот пробел был учтён, когда А.Евдокимов доработал MCoder2-v5, но при дизассемблировании видно, что тут тоже хватает хлама. Зато, в противовес, освобождается уйма оперативки, поэтому простительно.

---------------------

Поддержка совместимости!

  Time of Post: Aug 17 2004 09:57
    Subject:     
Posted By:
Vovoi

Posts: 47

Registered Since:
Aug 04

View Profile...

2Robot57: Можно конечно реализовать и "С", но мы же никогда им не пользовались, бэйсик да ассемблер (хлеб да сiль :). Сам набирал как-то пару сишных демо-прог, но его асм был совершенно дикий и стокилометровый. Hisoft Pascal и то больше понравился, но так у меня и не заработал как standalone, после чего полюбил компиляторы и Gens.
То есть сам-то не исключаю возможности использования высокоуровневых трансляторов - "флаг в руки", но обязательно с возможностью вставки кодов или текста асм. Плюс с гибчайшей возможностью видоизменять если не все операторы языка, то хотябы те из них, что работают с системой (дисковые операции)!
Ведь цель, по большему счёту, упростить текст, сделать короче, повысить удобочитаемость. Например взгляни, из книжки Капульцевичей:

;сорри, я тут много субпрограмм порезал
BEGIN  COLOR (5,0)
       CLS
       PRN   5,8,TEXT1
       PRN   7,7,TEXT2
       PSET  48,144
       DRAW  UP_RT,131,0
       DRAW  DN_RT,0,39
       DRAW  UP_LF,131,0
       DRAW  UP_RT,0,39
       PSET  50,142
       DRAW  UP_RT,127,0
       DRAW  DN_RT,0,35
       DRAW  UP_LF,127,0
       DRAW  UP_RT,0,35
       RET
; Подпрограмма печати ASCIIZ-строки, вызываемая макросом PRN
PRNZ   PUSH  HL
       PRAT
PRNZ1  LD    A,(HL)
       INC   HL
       AND   A
       JR    Z,PRNZ2
       RST   16
       JR    PRNZ1
PRNZ2  POP   HL
       RET
; ------
TEXT1  DEFB  16,2,19,1
       DEFM  "*** DEMO ***"
       DEFB  0
TEXT2  DEFB  16,6,19,1
       DEFM  "### MACROS ###"
       DEFB  16,5,0

Ну так зачем нам "С", неужели асм ещё кусается?
Добавлю, что как-нить попробую доработать свой компилятор STC (но не обещаю), повернув в сторону макросоподобности, т.е. с realtime-изменением свойст используемых операторов. Но это не значит, что исходник будет транслироваться по принципу CallRet, тут по желанию, ведь иногда и скорость кода нужна, а макро немного тормозит.
Поэтому делай "С", а лучше собирай "голоса" в пользу Си, и потом уже прикидывай "а стоит ли...". (всё это ИМХО)

---------------------

Поддержка совместимости!

  Time of Post: Aug 17 2004 10:12
    Subject:     
Posted By:
DJ I-Kick

Posts: 84

Registered Since:
Jul 04

View Profile...

2vovoi: вин ранний и был клоном яблочной операционки... он был чесно украденный...
кстати, микрософт является крупным акционером эпла (примерно 40%)

---------------------

Программируйте больше и лучше!!!


/


  Time of Post: Aug 17 2004 10:32 Administrator
    Subject:     
Posted By:
Robot57

Posts: 18

Registered Since:
Aug 04

View Profile...

Vovoi
Ты предлагал сделать драйвер ФАТ и уже это называть ОС. В общем-то, на операционку это не тянет - в очередной раз пытаться повторить ДОС... А в операционке драйвер файловой системы - далеко не главное, нужны средства управления памятью, процессами и тд.

По-моему, DJ I-Kick
Hello World на асме - здорово! Но тут далеко не аналог сишного printf. Хотелось бы видеть в операционке возможность перенаправления stdin, stdout и stderr - не выводить же ВСЕ на экран.

А Си и Юникс были впервые реализованы на PDP-11, советская реинкарнация которого называлась БК-0010(если не наврал). Так что и на восьмибитовиках все работало.

Снова насчет асма. Я не настаиваю, что все надо писать только на Си, но вот какая мысль - у Z80 по-моему, нет разделения уровня доступа программ(т.е. кто угодно может изменить любые регистры). А, значит, просто по ошибке можно завалить всю систему.

Потом, у доработанных машин столько стандартов, что писать варианты проги для всех вариантов подключения каких-то устройств(даже расширений памяти!) просто невозможно.

В итоге, асм можно использовать там, где нужна ОЧЕНЬ большая скорость.

>...портировать тексты и программы считаю бредом, в результате всё равно будет проделан титанический труд по обработке почти всего сырца, что равносильно набору с нуля из своей головы...
А как же, например, фундаментальные алгоритмы? Например, сортировка итд. А что вокруг сортировки - так и неважно

А можно сделать и совсем просто! Ведь функции Си можно реализовать как АПИ операционки! И тогда можно добиться куда болшей ее приспособленности к нуждам кодеров!

  Time of Post: Aug 18 2004 02:48
    Subject:   
Posted By:
Trident

Posts: 51

Registered Since:
Aug 04

View Profile...

Robot57:
>Хотелось бы видеть в операционке возможность перенаправления stdin, stdout и stderr - не выводить же ВСЕ на экран.
А кто не даёт ? :- переключи канал и выводи куда хошь, хоть на холодильник :)

>...у Z80 по-моему, нет разделения уровня доступа программ(т.е. кто угодно может изменить любые регистры). А, значит, просто по ошибке можно завалить всю систему.
Разумеется! В том то и сложность, чтоб ОСь не давала себя завалить... это на пнях все в камне реализовано, ещё, кажется, начиная с 286-го...

>Потом, у доработанных машин столько стандартов, что писать варианты проги для всех вариантов подключения каких-то устройств(даже расширений памяти!) просто невозможно.
Для этого есть дрова.

>В итоге, асм можно использовать там, где нужна ОЧЕНЬ большая скорость
На Спекке она нужна всегда!! :)

>Ведь функции Си можно реализовать как АПИ операционки! И тогда можно добиться куда болшей ее приспособленности к нуждам кодеров!
А вот это уже гораздо интереснее :))
И какие FN хотелось бы в ней узреть ? :)


---------------------

ZX Forever !!! GMX Rulezzz!!

  Time of Post: Aug 18 2004 07:45
    Subject:     
Posted By:
CHRV

Posts: 34

Registered Since:
Aug 04

View Profile...

А в операционке драйвер файловой системы - далеко не главное, нужны средства управления памятью, процессами и тд.
Надо с чего нить начать. Хотя я тоже считаю что сперва надо разобраться с управлением памятью и базовым интерфейсом.
А Си и Юникс были впервые реализованы на PDP-11, советская реинкарнация которого называлась БК-0010(если не наврал). Так что и на восьмибитовиках все работало.
Советская реинкарнация называлась ДВК. А БК-0010 это этакий light version. И только одна маленькая фигня, он 16-битный а не восьми. Кстати мой первый домашний комп.
Снова насчет асма. Я не настаиваю, что все надо писать только на Си, но вот какая мысль - у Z80 по-моему, нет разделения уровня доступа программ(т.е. кто угодно может изменить любые регистры). А, значит, просто по ошибке можно завалить всю систему.
Увы виндоз завалить тоже очень легко. Но не в этом дело, если в операционку можно вернуться скажем по NMI прерыванию например, то это уже лучше чем обычный завал. Разделения у Z80 нет, но опять же если писать программы правильно (согласно рекомендациям ОС: т.е. странички памяти резервировать и переключать только через функции ОС) и сама ОС проверяет входные параметры функций, то вероятность завала резко снижается. Т.е. должен быть некий свод правил или рекомендаций, которых должен придерживаться разработчик программ.
Потом, у доработанных машин столько стандартов, что писать варианты проги для всех вариантов подключения каких-то устройств(даже расширений памяти!) просто невозможно.
Поэтому и нужна ОС в которой есть соответствующие функции, причем возможности охватываемые ОС могут быть меньше чем возможности машины.
А как же, например, фундаментальные алгоритмы? Например, сортировка итд. А что вокруг сортировки - так и неважно
Это наверно больше подходит к языку разработки чем к ОС. Опять же повторюсь, что если стандартизирован вызов процедур и например формат библиотек, то ничто не мешает использовать эти библиотеки как в АСМе так и в языках более высокого уровня.
А можно сделать и совсем просто! Ведь функции Си можно реализовать как АПИ операционки! И тогда можно добиться куда болшей ее приспособленности к нуждам кодеров!
Я так понимаю, в воздухе витает идея разделяемых библиотек (то что навалено у Виндоз в system32). Наверно есть смысл таких библиотек, но они строго должны принадлежать только операционке, а не ставиться любой программой! И тут опять же усложняется ОС ибо она должна уметь оперировать такими библиотеками (т.е. загружать при надобности и освобождать при ненадобности).
Хотелось бы видеть в операционке возможность перенаправления stdin, stdout и stderr - не выводить же ВСЕ на экран.
Самое прикольное что это умеет делать даже Basic. Т.е. при желании можно переназначить потоки (читал об этом в какойто книжке типа как написать игру на Ассемблере

---------------------

User Sprinter2000, ATM2Turbo. NedoPC Group.

  Time of Post: Aug 18 2004 08:05

Post Reply




   << Previous Page   Next Page >>