Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.140.198.173] |
|
Сообщ.
#1
,
|
|
|
Почитал здешние топики и понял, сейчас только ленивый не пишет свою операционную систему. Вот и решил предложить свой вариант, написал
его истественно на Бейсике, чтоб излишне мозг не напрягать )) Называется она "Дурацкая ОСь" или сокращенно 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) |
Сообщ.
#2
,
|
|
|
Alex221
Цитата Alex221 @ Называется она "Дурацкая ОСь" или сокращенно DUR-DOS Это все, что ты сумел вынести из топика "идеи для Shareware"? Тяжело, видимо, когда нечем заняться... Сочувствую. |
Сообщ.
#3
,
|
|
|
Цитата Это все, что ты сумел вынести из топика "идеи для Shareware"? Тяжело, видимо, когда нечем заняться... Сочувствую. Вчера много пива выпил.. Сории, вот и назвал ее DUR DOS. Но ведь она же работает! Добавлено Вообще, если говорить серьезно, этот исходник можно использовать не только для написания примитивной операционки, вот только некоторые направления: 1) Создание специализированных контролеров, на базе устаревших 286/386/486 материнских плат. Стоят они на радиорынке - копейки, а применение им можно найти разнообразное. DUR-DOS прошивается в микросхему ПЗУ на 64 кбайт, и грузится от туда. Например - охранная система. Многи коммерческие охранные системы имеют COM порт, для диагностики и выдачи тревоги. Подключаем 386 компьютер к такому порту, в DUR-DOS дописывает функцию обработки прерываний от СОМ портов и в случае взлома, DUR-DOS может позвонить вам по телефону (используя модем) и писком сообщить - Воры! Воры!!! Стоит такая система, будет очень дешево. Старый корпус АТ, материнка 386, старый ISA модем, мультикарта с COM портами. Во весь этот древний хлам, можно вдохнуть вторую жизнь. 2) Защищенные приложения, для запуска программ не нужна ОС. Работаем на "голом железе", а значит нам не страшны вирусы, троянские кони и т.п. 3) Ресурсоемкие задачи, отсуствие ос позволяет полностью контролировать процессор, имеем полную гарантию, что выполнение программы не прервет другой процесс. А значит, можем обрабатывать прерывания от портов в "реальном времени", опять же пригодится для различных контроллеров. Короче применений не по детски много... |
Сообщ.
#4
,
|
|
|
DUR-DOS плохое название, поэтому пусть называется BASIC 0S
Приделал оконный интерфейс с "горячими" клавишами. Теперь при загрузке BASIC 0S фон окрашивается в голубой цвет, как рабочий стол Windows. В верхней строке окна список функций ОС в виде меню (пока только для красоты), в нижней строке горячие клавиши для показа хелпа, запуска текстового редактора, управления принтером. Драйвер для FAT12, не такая уж тривиальная вещь, пока смог только читать/сохранять отдельные сектора на диске. Можно будет сделать поддержку HDD, если получится разобратся с LBA - адресацией. Хочу сделать запуск *.СOM программ, правда после того как напишу менеджер памяти. Добавлено Процесс установки на дискету аналогичен DUR-DOS... Прикреплённый файлbasic_os.zip (48.53 Кбайт, скачиваний: 251) |
Сообщ.
#5
,
|
|
|
Ну и скажи, зачем тебе ось на бейсике? Я имею ввиду не предназначение, а эффективность. Бейсик крайне медлителен в операциях с экраном. Никакого нормального графического интерфейса будет сделать невозможно. А консоль... Скажу сразу, идея написания оси на бейсике пришла мне где-то классе в 8-ом именно во времена далеких 386. Но забросил эту идею по двум причинам. 1 - не было знаний, 2 - обидно видеть, как Бейсик меддленно, по линии прорисовывает экран...
|
Сообщ.
#6
,
|
|
|
Цитата LBertone @ Ну и скажи, зачем тебе ось на бейсике? Я имею ввиду не предназначение, а эффективность. Бейсик крайне медлителен в операциях с экраном. Никакого нормального графического интерфейса будет сделать невозможно. А консоль... Скажу сразу, идея написания оси на бейсике пришла мне где-то классе в 8-ом именно во времена далеких 386. Но забросил эту идею по двум причинам. 1 - не было знаний, 2 - обидно видеть, как Бейсик меддленно, по линии прорисовывает экран... LBertone, а почему ты думаешь что компилятор PowerBASIC`а тормозит? Ты запускал мой пример? Разве можно сказать, что он хоть на йоту тормозит... PowerBASIC, превосходит по качеству создаваемого кода многие Паскаль и С компиляторы для DOS. Доказательство тому, что откомпилированные PowerBASIC программы, могут работь на "голом железе", без поддержки операционной системы. А к примеру, TURBO PASCAL или TURBO C, не могут создавать "настоящий" native код, т.к. без спросу, вставляют где ни поподя, вызовы функций DOS, через INT21. А на счет, твоей операционки на бейсике, ты наверное ее на интерпритаторе писал, вот все и тормозило... |
Сообщ.
#7
,
|
|
|
Alex221, очень понравилась идея, будешь развивать проект?
|
Сообщ.
#8
,
|
|
|
Цитата Alex221, очень понравилась идея, будешь развивать проект? Думаю да, сейчас мало времени, но к середине мая вплотную займусь.. |
Сообщ.
#9
,
|
|
|
Запусти на старой машине какую-нибудь серьезную графику и поймешь, Who is Who...
|
Сообщ.
#10
,
|
|
|
Цитата LBertone @ Запусти на старой машине какую-нибудь серьезную графику и поймешь, Who is Who... Насколько старой должны быть машина? И какой сложности графика.. Предложение непонятное... |
Сообщ.
#11
,
|
|
|
Под древностью я понимаю 386.
Ты так и хочешь исполизовать псевдографику, или склеишь что-нибудь оконное? Какие файловые системы она будет поддерживать? В каком режиме будет работать - реальном или защищенном? Как будут распознаваться устройства? Где будут содержаться драйверы - в ядре, или отдельными файлами? Будет ли организована многозадачность? А мышь...? Вообщем пока больше вопросов, чем ответов. Не хочу грузить тебя кучей вопросов и прочими цитатами, как это любит делать trainer. Думаю у тебя и без того времени мало... |
Сообщ.
#12
,
|
|
|
Цитата Под древностью я понимаю 386. Попробовал мой пример на ADM 486 - 100 МГЦ, не тормозит... Цитата Ты так и хочешь исполизовать псевдографику, или склеишь что-нибудь оконное? Окна из псевдографики, как в FAR`е. Цитата В каком режиме будет работать - реальном или защищенном? На этапе работы bootloader`а в реальном, после загрузки ядра можно переключится в защищенный. Цитата Как будут распознаваться устройства? Где будут содержаться драйверы - в ядре, или отдельными файлами? Пока можно "жестко" прошить следующие устройства. 1. Клавиатура. 2. EGA/VGA видеоадаптеры. 3. COM порты (Мышь, модемы, внешние усройства) 4. LPT порт. (Принтер, внешние устройства) 5. работа с FAT12 для чтения/записи файлов с дискеты. 6. ATA контроллер, с ним пожно работать через INT13 Поддержка других устройств для такой простой ОС, бессмысленна, как мне кажется. |
Сообщ.
#13
,
|
|
|
Alex221 Вопрос, конечно, не в тему, но где достать нормальный (читай полнофункциональный) компилятор с редактором PowerBasic v3?? Я искал, не нашел... Если есть и не жалко скинь на мыло? (или если мало весит сюда). Я просто давно егопытаюсь найти... но чето никак... Заранее thanks.
|
Сообщ.
#14
,
|
|
|
Цитата Seriy-Coder @ Alex221 Вопрос, конечно, не в тему, но где достать нормальный (читай полнофункциональный) компилятор с редактором PowerBasic v3?? Я искал, не нашел... Если есть и не жалко скинь на мыло? (или если мало весит сюда). Я просто давно егопытаюсь найти... но чето никак... Заранее thanks. весит больше 5 мегов вроде, мне SCINER на мыло присылал Добавлено и еще вопрос не в тему: Alex221, ты свою ОСь так и отлаживаешь, через дискету или используешь прогу для создания виртуальных машин? Добавлено кстати, я так и не смог записать твою ОСь на дискету. После запуска MBR.EXE на экране появляется только: Цитата DUR DOS 1.0 Create bootloader После прошествия около 5 минут ничего не изменяется |
Сообщ.
#15
,
|
|
|
Цитата весит больше 5 мегов вроде, мне SCINER на мыло присылал У меня весит 800 кбайт... Цитата После прошествия около 5 минут ничего не изменяется Испорченная дискета... |
Сообщ.
#16
,
|
|
|
Цитата Alex221 @ Испорченная дискета... , дискета рабочая, я оттуда совершенно спокойно читал\записывал файлы за пять минут до запуска mbr.exe Добавлено стати, я пробовал еще штук пять рабочих дискет и результат тот же |
Сообщ.
#17
,
|
|
|
Цитата стати, я пробовал еще штук пять рабочих дискет и результат тот же Ну не знаю тогда, значит с железом проблемы... У остальных все работает нормально.. |
Сообщ.
#18
,
|
|
|
Alex221, но какие тут могут быть проблемы с железом?
|
Сообщ.
#19
,
|
|
|
Цитата Alex221 @ У меня весит 800 кбайт... ТАк может можешь какнибудь мне его скинуть или сюды выложить? |
Сообщ.
#20
,
|
|
|
Цитата ТАк может можешь какнибудь мне его скинуть или сюды выложить? На почту тебе скину, в конце недели |
Сообщ.
#21
,
|
|
|
Alex221, а есть способ обйтись без mbr.exe?
|
Сообщ.
#22
,
|
|
|
Цитата LBertone @ Я имею ввиду не предназначение, а эффективность. Бейсик крайне медлителен... Почему все так плохо думают о языке? Дело ведь не в языках, а в компиляторах. Вот было в 80-х годах, что Бейсик интерпретатором был, - так и записали в учебники. И теперь все так думают. А ведь дело просто в том, что та же libc была прооптимизирована на очень высоком уровне из-за распространённости C. А если зайдёте на www.powerbasic.com, то поймёте, что по всем тестам PB быстрее всех известных компиляторов (об асме не говорю, но на асме можно по сути воспроизвести выходной код тормозящих компиляторов, так что не всякая прога на асме - быстрая [ещё одно заблуждение; надо не просто уметь писать на асме, а писать БЫСТРЫЙ код, хотя он обычно быстрее высокоуровнего на пару порядков]). И что существует PowerBASIC for Windows (восьмая версия недавно вышла), который почему-то ещё быстрее. А вообще, чтобы что-то стоящее писать под PB, всё равно асм знать нужно ... |
Сообщ.
#23
,
|
|
|
Цитата Alex221 @ Alex221 Цитата На почту тебе скину, в конце недели А нельзя ли и мне заполучить? Для Винды я себе v.8 скачал и установил, разбираюсь потихоньку. А вот для ДОСа у меня ничего нету такого, чтобы мне удобно было программировать. Я вот думаю, ДОСовский PowerBasic вполне нормально будет, только найти нигде не могу. |
Сообщ.
#24
,
|
|
|
Мне понравилось =)
|
Сообщ.
#25
,
|
|
|
Можно мне тоже скинуть powerbasic на мыло?
|