На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> DUR-DOS , Или своя операционка на Бейсике за 5 минут...
    Почитал здешние топики и понял, сейчас только ленивый не пишет свою операционную систему. Вот и решил предложить свой вариант, написал
    его истественно на Бейсике, чтоб излишне мозг не напрягать :)))

    Называется она "Дурацкая ОСь" или сокращенно DUR-DOS

    Поддерживаются 4 команды

    VER - вывод версии ОС
    DATA - вывод даты из хренометра на материнской плате
    CLS - очистка дисплея
    HELP - вывод списка DUR-DOS команд


    Операционка DUR-DOS состоит из 2 файлов - MBR.EXE и STARTME.EXE
    Запускается она с дискеты (чтоб не портить винчестер)

    MBR.EXE - Это так называемый bootloader, при запуске, он обращается
    к дисководу и записывет в первый 2 сектора (1024 байт) загрузчик ОS.

    STARTME.EXE - командный процессор, его название фиксированно, изменить
    его можно только подправив исходники MBR.EXE
    В командном процессоре, описываются команды DUR-DOS.

    Установка DUR-DOS

    1) Подготовить чистую, отформатированную дискету 1.44 мбайт и вставить
    ее в дисковод

    2) Запустить MBR.EXE, если загрузочный раздел создасться успешно, появится
    сообщение:

    DUR DOS 1.0
    Create bootloader
    Floppy will boot startme.exe now


    3) Cкопировать на дискету STARTME.EXE

    4) Перезагрузить компьютер, установив в BIOS загрузку с дискеты.

    5) После успешной загрузки появится сообщение и курсор:

    DUR DOS - 1.0
    Copyright: Pashkov Alexander
    Commands: VER DATA CLS HELP


    6) Можно вводить команды и юзать DUR-DOS



    Оба исходника написаны на PowerBASIC ver 3.50, bootloader сделал
    для нас Georg Potthast. Новые команды надо добавлять в STARTME.BAS
    и перекомпилировать его.

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


    Если есть желание поделится мыслями, пишите...
    Прикреплённый файлПрикреплённый файлdur_dos.zip (24.79 Кбайт, скачиваний: 272)
      Alex221

      Цитата Alex221 @
      Называется она "Дурацкая ОСь" или сокращенно DUR-DOS

      Это все, что ты сумел вынести из топика "идеи для Shareware"?

      Тяжело, видимо, когда нечем заняться... Сочувствую.
        Цитата
        Это все, что ты сумел вынести из топика "идеи для Shareware"?

        Тяжело, видимо, когда нечем заняться... Сочувствую.


        :D :D :D

        Вчера много пива выпил.. Сории, вот и назвал ее DUR DOS.

        Но ведь она же работает!

        Добавлено
        Вообще, если говорить серьезно, этот исходник можно использовать не только
        для написания примитивной операционки, вот только некоторые направления:

        1) Создание специализированных контролеров, на базе устаревших 286/386/486
        материнских плат. Стоят они на радиорынке - копейки, а применение им можно
        найти разнообразное. DUR-DOS прошивается в микросхему ПЗУ на 64 кбайт, и
        грузится от туда.
        Например - охранная система. Многи коммерческие охранные
        системы имеют COM порт, для диагностики и выдачи тревоги. Подключаем 386
        компьютер к такому порту, в DUR-DOS дописывает функцию обработки прерываний
        от СОМ портов и в случае взлома, DUR-DOS может позвонить вам по телефону (используя модем) и писком сообщить - Воры! Воры!!! :lol:

        Стоит такая система, будет очень дешево. Старый корпус АТ, материнка 386, старый
        ISA модем, мультикарта с COM портами. Во весь этот древний хлам, можно вдохнуть
        вторую жизнь.

        2) Защищенные приложения, для запуска программ не нужна ОС. Работаем на "голом
        железе", а значит нам не страшны вирусы, троянские кони и т.п.

        3) Ресурсоемкие задачи, отсуствие ос позволяет полностью контролировать процессор, имеем полную гарантию, что выполнение программы не прервет другой процесс. А значит, можем обрабатывать прерывания от портов в "реальном времени",
        опять же пригодится для различных контроллеров.


        Короче применений не по детски много...
        :)
          DUR-DOS плохое название, поэтому пусть называется BASIC 0S 8-)

          Приделал оконный интерфейс с "горячими" клавишами. Теперь при загрузке BASIC 0S фон окрашивается в голубой цвет, как рабочий стол Windows. В верхней строке окна список функций ОС в виде меню (пока только для красоты), в нижней строке горячие клавиши для показа хелпа, запуска текстового редактора, управления принтером.
          Драйвер для FAT12, не такая уж тривиальная вещь, пока смог только читать/сохранять отдельные сектора на диске. Можно будет сделать поддержку HDD, если получится разобратся с LBA - адресацией.
          Хочу сделать запуск *.СOM программ, правда после того как напишу менеджер памяти.

          Добавлено
          Процесс установки на дискету аналогичен DUR-DOS...
          Прикреплённый файлПрикреплённый файлbasic_os.zip (48.53 Кбайт, скачиваний: 251)
            Ну и скажи, зачем тебе ось на бейсике? Я имею ввиду не предназначение, а эффективность. Бейсик крайне медлителен в операциях с экраном. Никакого нормального графического интерфейса будет сделать невозможно. А консоль... Скажу сразу, идея написания оси на бейсике пришла мне где-то классе в 8-ом именно во времена далеких 386. Но забросил эту идею по двум причинам. 1 - не было знаний, 2 - обидно видеть, как Бейсик меддленно, по линии прорисовывает экран...
              Цитата LBertone @
              Ну и скажи, зачем тебе ось на бейсике? Я имею ввиду не предназначение, а эффективность. Бейсик крайне медлителен в операциях с экраном. Никакого нормального графического интерфейса будет сделать невозможно. А консоль... Скажу сразу, идея написания оси на бейсике пришла мне где-то классе в 8-ом именно во времена далеких 386. Но забросил эту идею по двум причинам. 1 - не было знаний, 2 - обидно видеть, как Бейсик меддленно, по линии прорисовывает экран...

              LBertone, а почему ты думаешь что компилятор PowerBASIC`а тормозит?
              Ты запускал мой пример? Разве можно сказать, что он хоть на йоту тормозит...
              PowerBASIC, превосходит по качеству создаваемого кода многие Паскаль и С компиляторы для DOS.
              Доказательство тому, что откомпилированные PowerBASIC программы, могут работь на
              "голом железе", без поддержки операционной системы. А к примеру, TURBO PASCAL или
              TURBO C, не могут создавать "настоящий" native код, т.к. без спросу, вставляют где
              ни поподя, вызовы функций DOS, через INT21.

              А на счет, твоей операционки на бейсике, ты наверное ее на интерпритаторе писал,
              вот все и тормозило... ;)
                Alex221, очень понравилась идея, будешь развивать проект?
                  Цитата
                  Alex221, очень понравилась идея, будешь развивать проект?


                  Думаю да, сейчас мало времени, но к середине мая вплотную займусь..
                    Запусти на старой машине какую-нибудь серьезную графику и поймешь, Who is Who...
                      Цитата LBertone @
                      Запусти на старой машине какую-нибудь серьезную графику и поймешь, Who is Who...

                      Насколько старой должны быть машина? И какой сложности графика..
                      Предложение непонятное...
                        Под древностью я понимаю 386.
                        Ты так и хочешь исполизовать псевдографику, или склеишь что-нибудь оконное?
                        Какие файловые системы она будет поддерживать?
                        В каком режиме будет работать - реальном или защищенном?
                        Как будут распознаваться устройства?
                        Где будут содержаться драйверы - в ядре, или отдельными файлами?
                        Будет ли организована многозадачность?
                        А мышь...?
                        Вообщем пока больше вопросов, чем ответов.
                        Не хочу грузить тебя кучей вопросов и прочими цитатами, как это любит делать trainer.
                        Думаю у тебя и без того времени мало...
                          Цитата
                          Под древностью я понимаю 386.


                          Попробовал мой пример на ADM 486 - 100 МГЦ, не тормозит...

                          Цитата
                          Ты так и хочешь исполизовать псевдографику, или склеишь что-нибудь оконное?


                          Окна из псевдографики, как в FAR`е.

                          Цитата
                          В каком режиме будет работать - реальном или защищенном?


                          На этапе работы bootloader`а в реальном, после загрузки ядра можно переключится
                          в защищенный.

                          Цитата
                          Как будут распознаваться устройства?
                          Где будут содержаться драйверы - в ядре, или отдельными файлами?


                          Пока можно "жестко" прошить следующие устройства.

                          1. Клавиатура.
                          2. EGA/VGA видеоадаптеры.
                          3. COM порты (Мышь, модемы, внешние усройства)
                          4. LPT порт. (Принтер, внешние устройства)
                          5. работа с FAT12 для чтения/записи файлов с дискеты.
                          6. ATA контроллер, с ним пожно работать через INT13

                          Поддержка других устройств для такой простой ОС, бессмысленна, как мне кажется.
                            Alex221 Вопрос, конечно, не в тему, но где достать нормальный (читай полнофункциональный) компилятор с редактором PowerBasic v3?? Я искал, не нашел... Если есть и не жалко скинь на мыло? (или если мало весит сюда). Я просто давно егопытаюсь найти... но чето никак... <_< Заранее thanks.
                              Цитата Seriy-Coder @
                              Alex221 Вопрос, конечно, не в тему, но где достать нормальный (читай полнофункциональный) компилятор с редактором PowerBasic v3?? Я искал, не нашел... Если есть и не жалко скинь на мыло? (или если мало весит сюда). Я просто давно егопытаюсь найти... но чето никак... <_< Заранее thanks.

                              весит больше 5 мегов вроде, мне SCINER на мыло присылал

                              Добавлено
                              и еще вопрос не в тему:
                              Alex221, ты свою ОСь так и отлаживаешь, через дискету или используешь прогу для создания виртуальных машин?

                              Добавлено
                              кстати, я так и не смог записать твою ОСь на дискету. После запуска MBR.EXE на экране появляется только:
                              Цитата
                              DUR DOS 1.0
                              Create bootloader

                              После прошествия около 5 минут ничего не изменяется
                                Цитата
                                весит больше 5 мегов вроде, мне SCINER на мыло присылал


                                У меня весит 800 кбайт...

                                Цитата
                                После прошествия около 5 минут ничего не изменяется


                                Испорченная дискета...
                                  Цитата Alex221 @
                                  Испорченная дискета...

                                  :no: , дискета рабочая, я оттуда совершенно спокойно читал\записывал файлы за пять минут до запуска mbr.exe

                                  Добавлено
                                  стати, я пробовал еще штук пять рабочих дискет и результат тот же
                                    Цитата
                                    стати, я пробовал еще штук пять рабочих дискет и результат тот же


                                    Ну не знаю тогда, значит с железом проблемы...

                                    У остальных все работает нормально..
                                      Alex221, но какие тут могут быть проблемы с железом?
                                        Цитата Alex221 @

                                        У меня весит 800 кбайт...

                                        ТАк может можешь какнибудь мне его скинуть или сюды выложить?
                                          Цитата
                                          ТАк может можешь какнибудь мне его скинуть или сюды выложить?


                                          На почту тебе скину, в конце недели
                                            Alex221, а есть способ обйтись без mbr.exe?
                                              Цитата LBertone @
                                              Я имею ввиду не предназначение, а эффективность. Бейсик крайне медлителен...

                                              Почему все так плохо думают о языке?
                                              Дело ведь не в языках, а в компиляторах. Вот было в 80-х годах, что Бейсик интерпретатором был, - так и записали в учебники. И теперь все так думают. А ведь дело просто в том, что та же libc была прооптимизирована на очень высоком уровне из-за распространённости C.
                                              А если зайдёте на www.powerbasic.com, то поймёте, что по всем тестам PB быстрее всех известных компиляторов (об асме не говорю, но на асме можно по сути воспроизвести выходной код тормозящих компиляторов, так что не всякая прога на асме - быстрая [ещё одно заблуждение; надо не просто уметь писать на асме, а писать БЫСТРЫЙ код, хотя он обычно быстрее высокоуровнего на пару порядков]). И что существует PowerBASIC for Windows (восьмая версия недавно вышла), который почему-то ещё быстрее.
                                              А вообще, чтобы что-то стоящее писать под PB, всё равно асм знать нужно :P...
                                                Цитата Alex221 @

                                                Alex221
                                                Цитата
                                                На почту тебе скину, в конце недели


                                                А нельзя ли и мне заполучить? Для Винды я себе v.8 скачал и установил, разбираюсь потихоньку. А вот для ДОСа у меня ничего нету такого, чтобы мне удобно было программировать. Я вот думаю, ДОСовский PowerBasic вполне нормально будет, только найти нигде не могу.
                                                  Мне понравилось =)
                                                    Можно мне тоже скинуть powerbasic на мыло?
                                                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                    0 пользователей:


                                                    Рейтинг@Mail.ru
                                                    [ Script execution time: 0,0807 ]   [ 16 queries used ]   [ Generated: 24.04.24, 04:55 GMT ]