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

User Tag List

Страница 5 из 29 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 281

Тема: Пишем свою ОС. Теория

  1. #41
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Стебаться, оно понятно - проще всего... И что это? ...
    Никто тут не стебался, и неважно тут кто я, и что я писал hello world или Xserver. Тут по существу было замечание что в 32кб в UZIX-e на "С" много ненапортируешь. А ссылка была об широко известном game engine для игрушек в стиле target renegade, который уже портировали\пепепортирова� �и писали\переписали и не раз и где его токо нету (и к тому же там достаточно описаний по ссылке что там к чему).
    Последний раз редактировалось bigral; 02.02.2010 в 22:32.

  2. #42
    Member
    Регистрация
    09.02.2010
    Адрес
    Луцк
    Сообщений
    75
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Несколько мыслей в догонку.

    И так, постановка задачи:
    - многозадачность есть или нет;
    - интерфейс графический или консольный;

    Методы решения:
    - писать новую или портировать существующую.
    - выбор языка написания ОС (грубо говоря Ассм или С);

    Как то ответить на них ДО создания самого проекта можно только проанализировав имеющийся опыт и реально существующие продукты подобного класса а также их особнности.

    Всего, грубо говоря, возможно 4 варианта постановки задачи, рассмотрим их по порядку.

    1. Однозадачная консольная ОС.

    Уже есть. В ассортименте.

    2. Многозадачная консольная ОС.

    Пожалуй самая успешная многозадачная ОС для машин даного класса была MP/M. Ранние версии Юникса тоже работали на железе сравнимом по производительности и памяти со Спектрумом (PDP-11/20). Только эти две ОС были частично (у Юникса ядро было на Ассме) написаны на языке отличном от Ассемблера. Поэтому можно сделать следущие выводы:
    - многозадачную консольную ОС можно писать как на Ассемблере так и на эффективных ЯВУ с использованием ассемблера в критическом коде;
    - возможно портирование существующих ОС.

    Что касается портирования то пожалуй есть только два кандидата: МР/М и Юникс ранних версий. Если с МР/М все достаточно очевидно, то вот портирование ранних версий Юникса не имеет особого смысла поскольку существует ограниченный ассортимент прикладного программного обеспечения для данной ОС (в отличии от более поздних версий которые портировать не представляет практического смысла).

    3. Однозадачная графическая ОС и 4. Многозадачная графическая ОС.

    Для машин подобного класса существовала только одна успешная ОС с графическим интерфейсом. GEOS работала на Commodore 64 и на Apple II. Это однозадачная ОС и для достижения хоть в какой то степени приемлемой производительности она была полностью написана на Ассемблере с обширным использованием возможностей машини (например на Коммодоре исользовались хардверные спрайты для рендеринга курсор, иконок в режиме перетаскивания и некоторых елементов итнерфейса).
    Эту ОС писали люди имеющие большой опыт написания видеигр для Атари 2600 (кто знает поймет). Поэтому код максимально оптимизирован.
    Из этого следует что на платформе данного класса ничеого более мощного и при этом имеющего практический смысл, написать невозможно в принципе. Значит если есть графический интерфейс, даже такой скромный как в GEOS (окна не двигались и не ресайзились), то для реальной многозадачности уже производительности не хватит.
    То есть написать практически полезную многозадачную ОС с графическим интерфейсом невозможно.
    Написать однозадачную ОС с графическим интерфейсом возможно, но для этого необходимо писать ее исключительно на Ассемблере.

    Использование других ОС. Поскольку успешных графических ОС написаных на ассемблере 8080/z80 не существует, портировать можно только ОС написаные на языках высокого уровня. Но поскольку ОС написаная на языке высокого уровня не будет практически еффективной на даной платформе, значить портировать графическую ОС не представляется возможным.

    Подытожим:

    Если нас интересует ОС с графическим интерфейсом то:
    - Она не может быть многозадачной.
    - Она может быть написана только на Ассме.
    - Портировать ничего не получится соответственно софт для этой ОС придется писать с нуля.

    Если интересует многозадачная консольная ОС то:
    - Можно создать с нуля на Ассме или частично на С.
    - Можно портировать МР/М.

    Так что всего 3 реальных направления в которых есть практический смысл работать:

    1. Новая однозадачная графическая ОС на ассме. Софт использующий ее возможности придется писать с нуля.

    2. Новая многозадачная консольная ОС на ассме или С. Софт использующий возможности тоже писать с нуля.

    3. Портирование, или создание совместимой с МР/М ОС. Можно использовать софт существующий для МР/М. Саму ОС можно писать либо протировать.

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

    По умолчанию

    однако, как пример многозадачной Ос с GUI, вы забыли про Symbos, писана то она как раз под 8 бит машины, тока там машины несколько более сильные, чем отечественные клоны..ну заисключением пожалуй спринтера, который будет посильнее любой мсх (ну или почти любой).
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  4. #44
    Member
    Регистрация
    09.02.2010
    Адрес
    Луцк
    Сообщений
    75
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я не забыл про SymbOS, но это операционная система для платформ инного класса и ее использование на Спекки не представляется практичным.
    Ну а клоны конечно есть разные.... и все они разные. А спекки один.

    Мои рассуждения справедливы для Спектрума (Z-80 3.5MHz 128Kb).

    Для клонов разумеется теоретических ограничений нет поскольку производительность ядра Z-80 на частоте 200МГц достаточна для чего угодно.

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

    По умолчанию

    нужно брать в рачёт существующие модели/клоны. вы же привели в пример платформу с64, хотя она не есть спектрум.да и просто быстрым процом тут не отделаться. хотя конечно, последняя версия пня2.666 с плисовым процом (т80) и на сотке загнать можно.
    собственно говоря, а к чему тут ос вообще? как я уже говорил - писать под неё никто не будет. ну да, пару фанатиков пару мелких утилит сваяют. вам надо не ос, а эмуль трдоса или эмуль вг93 или некое подобие крутово и бла бла бла вдц или фатала. ос вам тут ни к чему.
    Последний раз редактировалось Sayman; 11.02.2010 в 13:02.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  6. #46
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    107
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Larsen Посмотреть сообщение
    Я не забыл про SymbOS, но это операционная система для платформ инного класса и ее использование на Спекки не представляется практичным.
    Ну а клоны конечно есть разные.... и все они разные. А спекки один.

    Мои рассуждения справедливы для Спектрума (Z-80 3.5MHz 128Kb).

    Для клонов разумеется теоретических ограничений нет поскольку производительность ядра Z-80 на частоте 200МГц достаточна для чего угодно.
    На тормозном Commodore64 портирован и работает VNC (это сразу к вопросу о требуемой мощности платформы, возможности портирования [и стандартизации, а не изобретательстве велосипедов в библиотеках ГУЯ], применении при этом ЯВУ и реальности графики). На Commodore, кстати, и SymbOS живет. Но SymbOS мне не нравится - хакерская система, о многом авторы не подумали перед тем как ее делать, а сейчас переделывать уже невозможно.

    При использовании такта 7Мгц (а это есть уже на большинстве клонов) вполне возможна и многозадачность, т.к. даже при очень неумном программировании, потратить на накладные расходы переключения контекстов 100% ресурса нетурбированного CPU (т.е. опуститься с 7 до условных 3.5) - это надо постараться. Вот ЯВУ при многозадачности - это конечно вопрос требующий тестирования. Написанный на С UZIX на стандартной MSX, к примеру, тормозил (критично тормозил) главным образом не столько из-за примененного С, как из-за свопа на медленные устройства (FDD\HDD) - там в памяти одновременно мог работать только 1 процесс, остальные жили в свопе и постоянно туда-сюда пересылались. На современных клонах памяти - вагон, и этой проблемы не будет.

    По MPM согласен, портируется оно сравнительно несложно (как и в CPM, написать надо только BIOS)
    Последний раз редактировалось Error404; 11.02.2010 в 13:28.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

  8. #47
    Member
    Регистрация
    09.02.2010
    Адрес
    Луцк
    Сообщений
    75
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    То Sayman:

    Про С64 я вспомнил потому что это единственная машина сравнимого со Спектрумом класса для которой была создана успешная ОС с ГУИ.
    Из этого следует что на Спектруме такое создать теоретически возможно. Ну и там другие выводы я уже писал.

    Брать в расчет продвинутые клоны и пожертвовать оригинальным Спектрумом значит писать ОС для еще более узкого круга пользователей. Можно и это, но как я уже обьяснил, мои рассуждения были про ось для Спектрума.

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

    Софт использующий все возможности новой ОС, как я уже говорил, придется писать с нуля, ну и понятно что много его не напушут. Из вариантов портирования только МР/М выглядит практичной и обладает определенным количеством готового софта. Что касается софта не использующего все возможности ОС, то конечно подобную совместимость обеспечить можно и не сложно. Хотя можно и без фанатизма в этом плане.

    Насчет того что надо мне (я так понимаю под понятием "вам" вы имели в виду лично меня а не всех вообще), то я бы не сказал что мне нужен еще один эмуль чего либо. Да и новая ОС вообще. Хотя сам вопрос ее создания интересен.

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

    По умолчанию

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

    ---------- Post added at 16:46 ---------- Previous post was at 16:35 ----------

    поскольку не понятно нужен ли Спектрум вообще учитывая что все его игрушки можно играть на эмуляторе в мобильнике за 100 баксов?
    тут тоже вопрос спорный. мне лично не интеренсо играть в игрушки на эмуле. на сотовом тем более.
    я так понимаю под понятием "вам" вы имели в виду лично меня а не всех вообще
    как раз наоборот. я имел ввиду "вообще" , а не именно Вас.
    Хотя сам вопрос ее создания интересен
    вот тут могу согласиться. интерес чисто спортивный. никакой практической пользы. чисто ради интереса, ради "мозгами пошевелить".
    вообще на мой взгляд, создавать систему, в которой уже сразу интегрирован гуи, как тот же симбос, не есть хорошо. для наших старичков, лучший вариант это консоль. гуя лучше всего в виде отдельной библиотеки ли резидента, как кому угодно. как например на профи, есть стааарая прога - win12. это резидент. пока его нет в памяти, т.е. пока он небыл запущен и инсталирован, никакая прога писанная под неё не будет пахать. пример тот же adj. резидент корявый конечно, медленный, не красивый...однако вариант работы в виде резидента вполне подходящий. а есть ещё джазз. по сути это не либа и не резидент. это именно подобие венды. однако сама оболочка напи сана с преминением библиотекИ, заранее написанной. эту либу так же можно использовтаь для создания виндоподобных интерфейсов.
    потому, создавать ос, в которой нет консоли, но есть гуи - зло!
    по поводу программировать под ногвую ос. я бы может быть и вызвался бы тоже добровольцем, но только если она была бы отвязана от трдоса. но поскольку сделать это довольно сложно, не имея прямого доступа к вг93, этот вопрос отпадает.как уже обсуждалось, не многие клоны на такое способны. вариант с подменой пзу на 0ю страницу озу, я даже не рассматриваю.
    Последний раз редактировалось Sayman; 11.02.2010 в 13:48.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  10. #49
    Member
    Регистрация
    09.02.2010
    Адрес
    Луцк
    Сообщений
    75
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    На тормозном Commodore64 портирован и работает VNC
    Что за VNC? Я не знаю операционной системы с таким названием.
    На Commodore, кстати, и SymbOS живет.
    Насколько мне извстно, не живет. Были предложения портировать под С128 но ничего не получилось хотя там и стоит Z80 вторым процом. На С64 SymbOS по понятным причинам быть не может.
    Но SymbOS мне не нравится - хакерская система, о многом авторы не подумали перед тем как ее делать, а сейчас переделывать уже невозможно.
    Зря вы так. Ее задача была показать что многие из аттрибутов современного компьютинга совсем не так требовательны к железу в принципе как ми привыкли думать. С задачей они справились отлично. Что касается практичности самой ОС, то она даже ниже чем GEOS поскольку никто делового софта под нее не писал. И писать не будет ибо не для этого она создавалась.
    При использовании такта 7Мгц (а это есть уже на большинстве клонов) вполне возможна и многозадачность, т.к. даже при очень неумном программировании, потратить на накладные расходы переключения контекстов 100% ресурса нетурбированного CPU (т.е. опуститься с 7 до условных 3.5) - это надо постараться.
    Ну переключить то не сложно, а вот где процессы хранить? И как свопать? Не все так просто. И усугбляется сильно если процессы с ГУИ. Поэтому многозадачность с ГУИ куда как тяжелее чем консольная.
    Хотя для мегаклонов, которые вполне могут потянуть SymbOS, это конечно возможно.
    Вот ЯВУ при многозадачности - это конечно вопрос требующий тестирования. Написанный на С UZIX на стандартной MSX, к примеру, тормозил (критично тормозил) главным образом не столько из-за примененного С, как из-за свопа на медленные устройства (FDD\HDD) - там в памяти одновременно мог работать только 1 процесс, остальные жили в свопе и постоянно туда-сюда пересылались. На современных клонах памяти - вагон, и этой проблемы не будет.
    Скажем так, более менее нормальный Юникс даже 286 не тянул с вагоном памяти побольше любых спеккоклонов. А портировать недоЮниксы с расчетом на мощные клоны особого смысла нет поскольку МР/М не хуже и на оригинальном Спекке пойдет. А на мегаклонах вообще шустро.
    По MPM согласен, портируется оно сравнительно несложно (как и в CPM, написать надо только BIOS)
    Вот и я к такому выводу пришел. Мне кажется идея интересная и практичная.

    ---------- Post added at 13:12 ---------- Previous post was at 12:57 ----------

    Цитата Сообщение от Sayman Посмотреть сообщение
    тут тоже вопрос спорный. мне лично не интеренсо играть в игрушки на эмуле. на сотовом тем более.
    Спроный хотя опять же реторический - а есть ли смысл вообще Спекковские игрушки играть если есть куда как по лучше?
    как раз наоборот. я имел ввиду "вообще" , а не именно Вас.
    А, ну тогда не понял. За всех я конечно отвечать не могу.
    вообще на мой взгляд, создавать систему, в которой уже сразу интегрирован гуи, как тот же симбос, не есть хорошо. для наших старичков, лучший вариант это консоль. гуя лучше всего в виде отдельной библиотеки ли резидента
    Кстати а это мысль. В результате ось будет работать без гуя на любых спекках а у кого помощнее смогут и графический интерфейс запустить. Неплохо.
    А что если взять за основу МР/М, портировать ее, а потом добавить ГУИ если получится?
    потому, создавать ос, в которой нет консоли, но есть гуи - зло!
    Ну, везде есть свои преимущества. Всетаки интегрированый гуи легче чем навесной как ни крути и МакОС тому наглядный пример.

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

    По умолчанию

    Всетаки интегрированый гуи легче чем навесной
    и чем он легче? тем что он встроенный? с точки зрения программирования под него, разницы нет никакой - либа/резидент это или это всё встроенное, нет никакой разницы. вы что так что так будете описывать окно и вызывать функции и прочее. опять таки пример линуксы/юниксы с их X-server`ом.
    В результате ось будет работать без гуя на любых спекках а у кого помощнее смогут и графический интерфейс запустить
    именно.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

Страница 5 из 29 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  2. Теория
    от Sonic в разделе Несортированное железо
    Ответов: 16
    Последнее: 04.07.2005, 09:58
  3. Я ищу свою дему
    от AAA в разделе Демо
    Ответов: 4
    Последнее: 04.05.2005, 22:59
  4. Ищу свою gfx работу!!!
    от invador в разделе Игры
    Ответов: 7
    Последнее: 02.02.2005, 12:54

Ваши права

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