Создадим О/С (перемешено из форума "Операционные системы")
Подключайтесь к созданию новой мультизадачной операционной системы!
[email]gladkih@hot.ee[/email]
:D После такого "зависания 3 кольца" все клинит так, что даже ни CAD, ни NumLock не работают :D
А с чего вдруг должно работать CAD? Оно не работает даже тогда, когда Иксы нормально функционируют :D Комбинация для убития иксов - Ctrl-Alt-Backspace
Я тут недавно провел опыт - на восемь разных компьютеров ставил Win98 и разные Линуксы.
Везде, подчеркиваю - везде Win98 работал заметно стабильнее...
Если не секрет, расскажи как ты тестировал стабильность, я тоже так попробую. Вот эксперимент который провел я (надо сказать верю в стойкость Линукса я исключительно руководствуясь собственным опытом, ибо недолинуксоидов кричащих "винда мастдай, линух рулез" я повидал достаточно и в большинстве своем они слабо представляли себе различия между этими осями - "и там кнопочки, и там..."): испытуемая ОС ставилась на компьютер, который затем работал в качестве proxy-сервера в небольшой локальной сети + я его юзал как типичный воркстейшен (программил, слушал музон, серфился по инету и т.д). Естественно - никаких перезагрузок в процессе эксперимента.
Первым делом я ради смеха попробовал Win98 - как и ожидалось, система слетела на следующие сутки со своим знаменитым BSoD.
Windows XP Pro без перебоев работала около недели, но мне нормально поработать не удавалось - приложения вылетали с ошибками с периодичностью 2-3 раза в день.
Linux (дистриб mandrake 8.2) работал два месяца, испытав после этого перезагруз по вине злобных электриков повернувших ручку рубильника в подъезде :) ) За все это время единственным глюком было выпадение Oper'ы.
ЗЫ. Для сомневающихся - ядро НЕ перекомпиливалось, ибо товарищей, начавших свою линуксовую жизнь с этого архисложного занятия и затем рассуждающих о линуксовой глючности (а надо бы о собственном криворучии) - хватает... Так нет - до сих пор многие думают что производители линуксовых дистрибутивов глупее их.
И я так, просто, фразу бросил, тут форум про MN-DOS!
Как насчет ext2fs? Поддерживать собираешься? :)
Как бы я хотел иметь такое устройство, чтобы увидев некое сообщение, нажимал на кнопку, и автора било бы током. Шутка, конечно. Видел в "Принцип'е Дилберта"
Как же еще заставить людей внимательно читать форум!?
Моя система прдставляет нумерацию секторов так же, как и BIOS. Причины я уже называл.
То-есть, получается такой меандр - вверх-вниз...
И в данном случае 20/2 будет не конец первого блина, а 5 сектор первой стороны.
Митя, извини пжлста, но перерыв весь форум (этот) я не нашел того, что искал, каким образом 20/2 равняется пяти... то есть дело даже не совсем в этом, а в том, что я не увидел никакой инфы по методу подсчета этого числа (опять-таки на этом форуме)... возможно я его просто не увидел, что называется в упор, возможно ты собирался написать и забыл... возможно еще что-нибудь... объясни плиз, еще раз, каким образом ищется середина винта...(так как не имею способностей понять это из кода загрузчика, если это там есть...) только поподробнее, а также что ты подразумеваешь под представлением как в биосе?
И ЗАБЕЙТЕ ВЫ НА СРАВНЕНИЕ ЛИНУХОВ VS WiN ...
Здесь форум MN-DOS!
Я скачал загрузчик MN-DOS, и не могу понять: ты запретил модификацию его, кроме того говоришь, что бы другие учавствоватли в составлении ОС. Как можно учавствовать и не редактировать?
Во-первых, загрузчик на сайте неработоспособен.
Он как пример программирования. Я выкинул оттуда пару о-очень важных строк...
А тем, кто участвует, высылаю по желанию рабочий код, они могут изменять. Для этого надо мне на E-mail отправить сообщение с кратким CV и желанием участвовать.
Кстати! Давайте уж точно определимся! Все-все-все! И те, кто уже мне писал(xkip и др.), и кто нет, но хотят участвовать, напишите, начинаем!Хочу точно знать, кто из моей команды.
И ребята! Я понял наконец, в чем все проблемы системы: баг загрузчика, он неправильно читает второй сектор системы.
Я его !!!тестировал на правильность считывания!!!, потом на несколько месяцев бросил, затем кое-что изменил, но, как всегда, старой версии не осталось. Из-за этого и ничего не работало. Странно. Вскоре, наверно, положу на сайт образ дискеты для Disk Editor, т.е. просто посекторная копия.
А с чего вдруг должно работать CAD? Оно не работает даже тогда, когда Иксы нормально функционируют :D Комбинация для убития иксов - Ctrl-Alt-Backspace
Я имел ввиду не Ctrl-Alt-Del, а вырубание с клавы вообще.
Если не секрет, расскажи как ты тестировал стабильность, я тоже так попробую.
С точки зрения конечного пользователя - т.е. сеть, набор загруженных утилит, программ. Насколько тормозит, глючит и т.д. X-Server нигде не выдержал. И хватит про Линукс!
Как насчет ext2fs? Поддерживать собираешься? :)
И ext2fs и ext3fs - почему бы и нет? Если дадите описания.
Митя, извини пжлста, но перерыв весь форум (этот) я не нашел того, что искал, каким образом 20/2 равняется пяти... то есть дело даже не совсем в этом, а в том, что я не увидел никакой инфы по методу подсчета этого числа (опять-таки на этом форуме)... возможно я его просто не увидел, что называется в упор, возможно ты собирался написать и забыл... возможно еще что-нибудь...
Да было, было, я точно помню.
объясни плиз, еще раз, каким образом ищется середина винта...(так как не имею способностей понять это из кода загрузчика, если это там есть...) только поподробнее, а также что ты подразумеваешь под представлением как в биосе?
И ЗАБЕЙТЕ ВЫ НА СРАВНЕНИЕ ЛИНУХОВ VS WiN ...
Ладно, слушайте сюда. Насколько я понял из умных книг, БИОС нумерует сектора следующим (как и MS-DOS)образом(для дискеты 1.44 Мбайт):
H0 T0 S1 ... H0 T0 S18 ... H1 T0 S1 ... H1 T0 S18
H0 T1 S1 ... H0 T1 S18 ... H1 T1 S1 ... H1 T1 S18
Вот и все. Мною был выбран этот, несколько неудобный с моей точки зрения метод, потому, что Disk Editor, которым я пользуюсь, работает именно так, и мне пришлось подстроиться под него. В книгах этот метод трактуется так: время перехода с головки на головку - наименьшее, значит на оптимизированном диске, где сектора файла идут один за другим, части файла, расположенные таким методом, считаются быстрее. Мне кажется, это весомый довод+Disk Editor.
Ладно, слушайте сюда. Насколько я понял из умных книг, БИОС нумерует сектора следующим (как и MS-DOS)образом(для дискеты 1.44 Мбайт):
H0 T0 S1 ... H0 T0 S18 ... H1 T0 S1 ... H1 T0 S18
H0 T1 S1 ... H0 T1 S18 ... H1 T1 S1 ... H1 T1 S18
Вот и все. Мною был выбран этот, несколько неудобный с моей точки зрения метод, потому, что Disk Editor, которым я пользуюсь, работает именно так, и мне пришлось подстроиться под него. В книгах этот метод трактуется так: время перехода с головки на головку - наименьшее, значит на оптимизированном диске, где сектора файла идут один за другим, части файла, расположенные таким методом, считаются быстрее. Мне кажется, это весомый довод+Disk Editor.
Поправь меня если я не прав...
Я ж тебе об этом и говорил... Все легко и просто, когда речь идет о дискете, геометрия которой заранее известна (да и то...). Возьмем виннт. У меня в биосе стоит 256 головок, сколько-то там цилиндров, сколько-то там секторов... Ты что ж, будешь в алгоритме поиска середины распределять все сектора по 256 головкам?!!! И исче, если я правильно понял твои разъяснения, то FS будет разбросана по разным поверхностям, да?
и еще, про DiskEditor, кто-нить знает, есть какой-нибудь нормальный аналог под длинные винты и под винду???
Да! Меня это тоже интересует! Но только под MS-DOS.
Поправь меня если я не прав...
Я ж тебе об этом и говорил... Все легко и просто, когда речь идет о дискете, геометрия которой заранее известна (да и то...)
Что и то?
Возьмем виннт. У меня в биосе стоит 256 головок, сколько-то там цилиндров, сколько-то там секторов... Ты что ж, будешь в алгоритме поиска середины распределять все сектора по 256 головкам?!!!
Да.
И исче, если я правильно понял твои разъяснения, то FS будет разбросана по разным поверхностям, да?
Да. Я сначала хотел расположить только на одной стороне и сектора нумеровать сначала все на одной стороне, затем - на другой. Но DE заставил меня сделать по-другому.
И 255 головок - ведь это виртуальное представление ECHS. И я читал, что там тоже эти параметры вычисляются по оптимальности.
И, в принципе, я думаю, что эти параметры все-таки можно узнать. БИОС то откуда-то узнает, прежде, чем преобразовать в ECHS, верно?
На худой конец, можно и LBA на 2 делить, но тогда это будет, как уже было замечено, в конце диска - тогда уже мой принцип с ECHS 100% будет быстрее.
И хватит про Ф/С! Давайте, наконец, займемся разработкой!
Почему до сих пор никто не прислал CV хотя бы из тех, с кем я уже знаком?
и еще, про DiskEditor, кто-нить знает, есть какой-нибудь нормальный аналог под длинные винты и под винду???
Советую WinHex. Прикольная штучка. Только под винду
Советую WinHex. Прикольная штучка. Только под винду
Вроде он у меня есть, правда, никогда не использовал. А с ним можно диски(еты) на низком уровне записывать?
Вроде он у меня есть, правда, никогда не использовал. А с ним можно диски(еты) на низком уровне записывать?
Конечно можно
Ведь я сам пользуюсь Disk Editor-ом из пакета
Norton Utlities 2000. И он берет и FAT32, и мой 40-гигабайтный диск! И MS-DOSовский!
И извините за невышдшее обещанное обновление! Не успел.
Вчера листал книгу "Дисковая подсистема ПК". И там написано, что если устройству АТА выдать определенную команду, оно возвращает блок своих параметров из своего ПЗУ. В таблице, где расписанно, что в этом блоке что значит, против байтов, идентифицирующих C, H, S, стоит "F" - т.е. fixed - это реальные параметры, записанные производителем.
Ребяты! Что же это я глючу-то так?
Ведь я сам пользуюсь Disk Editor-ом из пакета
Norton Utlities 2000. И он берет и FAT32, и мой 40-гигабайтный диск! И MS-DOSовский!
И извините за невышдшее обещанное обновление! Не успел.
Вчера листал книгу "Дисковая подсистема ПК". И там написано, что если устройству АТА выдать определенную команду, оно возвращает блок своих параметров из своего ПЗУ. В таблице, где расписанно, что в этом блоке что значит, против байтов, идентифицирующих C, H, S, стоит "F" - т.е. fixed - это реальные параметры, записанные производителем.
Ты просил кинуть сообщение на твою почту, чтож я сделал. Жду ответа!
Ты просил кинуть сообщение на твою почту, чтож я сделал. Жду ответа!
На твое сообщение я ответил, но реакции от тебя никакой не получил.
Для сведения всех:
CV - это не порода С - я его не люблю, а краткое описание себя в качестве программиста, в данном случае. Т.е. ФИО, сколько лет, м.б. фотография, описание своих достоинств :) и недостатков .
Отловил я ошибку в загрузчике - 3 ночи подряд сидел, но нашел в конце концов.
Скоро положу на сайт образ флоппи-диска. Переписав его, вы сможете насладиться :) надписями о том, что загрузчик сработал, ядро считано и увидеть первые три сектора файла kernel.bin. :D
И, чтобы не было лишних споров, объявляю :) SLTFS базовой системой MN-DOS, аксиомой, т.е. не подлежащим обсуждению аспектом. Все разговоры отныне - о ядре.
... И к тому же - из твоих слов выходит, что я должен сначала написать загрузчик, ядро, компилятор - то есть ВСЕ, а потом на готовое звать помощников отлаживать? Извини, глупо. Для того команду и собирают, чтобы написать лучше и быстрее, а не чтоб по шаблону версии клепать.
Ну разумеется, надо представить уже рабочее ядро оси, с кучей багов. Если начинать с нуля большой командой людей, которые не могут общаться напрямую, ничего не выйдет. Рекомендую книгу "Собор и Базар" Эрика Реймонда - о философии разработки открытых проектов.
Ну разумеется, надо представить уже рабочее ядро оси, с кучей багов.
Что значит - "надо"? Если бы у меня было ядро, я не просил бы помощи. Люди собираются вместе, чтобы сделать что-то лучше и быстрее. То есть, я могу и один написать, но это будет долго.
Если начинать с нуля большой командой людей, которые не могут общаться напрямую, ничего не выйдет. Рекомендую книгу "Собор и Базар" Эрика Реймонда - о философии разработки открытых проектов.
Во-первых электронная почта - достаточно прямой путь общения в данном случае. Во-вторых, советую повспоминать народные мудрости, пословицы.
Один в поле - не воин и т.д.
:D.
А где ваши характеристики?!
Ну вот, дело пошло на лад. Тьфу-тьфу-тьфу, стучу по монитору...
А где ваши характеристики?!
Митя, где же твое обновление?? Жду не дождусь, чтобы хорошенечко покритиковать :)
Митя, где же твое обновление?? Жду не дождусь, чтобы хорошенечко покритиковать :)
Сегодня положу образ дискеты.
:(
Больше ничего нового. Скачайте и скажите, пожалуйста, пошло ли у вас.
Чуть-чуть обновил сайт. Выложил образ дискеты - этот код ведет подсчет времени, реагирует на нажатия клавиш.
Больше ничего нового. Скачайте и скажите, пожалуйста, пошло ли у вас.
Скачал, посмотрел. И это плоды месячных трудов? Маловато будет, даже я - главный бармалей, и то могу похвастаться большим :). Ну да ладно. Хочу обрадовать - у меня не работает, перезагружается. Серьезно, не шучу. Самый прикол, запустил под VMWARE Virtual Machine - работает ;), может у меня комп не правильный, но винда вроде грузится (на сколько мне показалось :)) и без глюков. Ну впринципе и все, говорить то больше не о чем, пойду опрокину 100 грамм :). Единственное еще, не у всех же есть diskeditor, надо было еще и программку выложить для копирования образа. Ну это так мелочи.
Да, Митя, только не ругайся. Я тут подумал про SLTFS. Фигня это, а не система :D:D:D. Да ладно, шучу :). Просто у меня возникло одно предположение. Имеем винт, скажем емкостью 20 Гб и мат. плату без расширенного инт13. Значит таблица будет где-то на 10Гб, а обычный инт13 берет только 8. Чтобы твоя ось загрузилась, надо будет работать через порты, а значит еще в добавок писать свои обработчики прерываний, дополнительные функции и т.д. и т.п. Отсюда загрузчик вырастет достаточно сильно! Как ты на это смотришь? Если пойти таким путем (т.е. через порты), то что нам мешает запихнуть в загрузчик и скажем ядро :).
Скачал, посмотрел. И это плоды месячных трудов? Маловато будет, даже я - главный бармалей, и то могу похвастаться большим :). Ну да ладно. Хочу обрадовать - у меня не работает, перезагружается. Серьезно, не шучу. Самый прикол, запустил под VMWARE Virtual Machine - работает ;), может у меня комп не правильный, но винда вроде грузится (на сколько мне показалось :)) и без глюков. Ну впринципе и все, говорить то больше не о чем, пойду опрокину 100 грамм :). Единственное еще, не у всех же есть diskeditor, надо было еще и программку выложить для копирования образа. Ну это так мелочи.
Да, странно, у меня на одном тоже не грузится, а на лаптопе - без сучка и задоринки...
Да, Митя, только не ругайся.
И не проси!
Я тут подумал про SLTFS. Фигня это, а не система :D:D:D. Да ладно, шучу :). Просто у меня возникло одно предположение. Имеем винт, скажем емкостью 20 Гб и мат. плату без расширенного инт13. Значит таблица будет где-то на 10Гб, а обычный инт13 берет только 8. Чтобы твоя ось загрузилась, надо будет работать через порты, а значит еще в добавок писать свои обработчики прерываний, дополнительные функции и т.д. и т.п. Отсюда загрузчик вырастет достаточно сильно! Как ты на это смотришь? Если пойти таким путем (т.е. через порты), то что нам мешает запихнуть в загрузчик и скажем ядро :).
В
о-первых: скорее всего, если нет расширенных int 13, то БИОС не возьмет винт более 8 Гб.
Сомневаюсь, что есть такие. Ведь сам БИОС должен оперировать дисками, а MBR - вдруг раздел в конце, или я путаю, вроде ведь любой диск м.б. загрузочным? Он же через БИОС идет...
Во-вторых, я же говорил, что прекращаем обсуждение SLTFS.
Кстати, реально, что там в моем микронном ядре может быть несовместимым, а?
Подумайте!
Во-первых: скорее всего, если нет расширенных int 13, то БИОС не возьмет винт более 8 Гб.
Сомневаюсь, что есть такие. Ведь сам БИОС должен оперировать дисками, а MBR - вдруг раздел в конце, или я путаю, вроде ведь любой диск м.б. загрузочным? Он же через БИОС идет...
Во-вторых, я же говорил, что прекращаем обсуждение SLTFS.
Вот не надо, БИОС только mbr загружает, а там написан код, который в зависимости от установок загружает Boot-сектор соответствующего логического диска. Причём если нет расширенного int 13h, то БИОС любой диск возьмёт, но только видеть будет первые 8гб.
Вот ты ещё спрашиваешь, что может быть несовместимым, но без исходников это очень трудно понять будет...
Вот не надо, БИОС только mbr загружает, а там написан код, который в зависимости от установок загружает Boot-сектор соответствующего логического диска.
Что значит - не надо? Разве я сказал что-то противоположное? Я так и сказал. Просто, я думаю, MBR тоже, да точно! работает через сервисы БИОС.
Причём если нет расширенного int 13h, то БИОС любой диск возьмёт, но только видеть будет первые 8гб.
Что могу сказать?
Вот ты ещё спрашиваешь, что может быть несовместимым, но без исходников это очень трудно понять будет...
Может, скину иходник.
Кстати, хотел добавить, раньше (не знаю как сейчас) даже модные Линуксы и Виндовсы не грузились если находились на разделе за границей 8гб
Вот это похоже на правду. Ну, ведь решено уже - не обсуждать Ф/С. Давайте, я сначала хоть для дискеты сделаю, а?
Кстати, хотел добавить, раньше (не знаю как сейчас) даже модные Линуксы и Виндовсы не грузились если находились на разделе за границей 8гб
Вот это похоже на правду. Ну, ведь решено уже - не обсуждать Ф/С. Давайте, я сначала хоть для дискеты сделаю, а? Кстати, может кто возьмется за программу копирования образа?
Кстати, реально, что там в моем микронном ядре может быть несовместимым, а?
Подумайте!
А вот если бы спросили меня, я бы сказал что микроядро отстой, но поскольку меня никто не спрашивает, то я лучше промолчу :)
А вот если бы спросили меня, я бы сказал что микроядро отстой, но поскольку меня никто не спрашивает, то я лучше промолчу :)
Чистое микроядоро - действительно отстой, слишком низкое быстродействие, но чистое монолистное - тоже, т.к. есть большие трудности с оборудованием.
Самый лучший вариант - что-то смешанное, вроде Windows NT/2k/XP
Да ещё, зачем программа для копирования образа, такие полно. Но если ничего не подойдёт, я могу написать такую программу, но я не знаю форматы этих образов. Если это просто файл, в котором по порядку записаны сектора - это пара функций API, но если это какой-нибудь сжатый файл, но надо формат знать.
Чистое микроядоро - действительно отстой, слишком низкое быстродействие, но чистое монолистное - тоже, т.к. есть большие трудности с оборудованием.
Да, но если проект будет действительно OS (т.е. Open Source :)), все трудности будут преодолеваться перекомпиляцией ядра :) Ну или встраиваемые модули - тоже вариант. Или свое что нибудь придумать.
Да ещё, зачем программа для копирования образа, такие полно. Но если ничего не подойдёт, я могу написать такую программу, но я не знаю форматы этих образов. Если это просто файл, в котором по порядку записаны сектора - это пара функций API, но если это какой-нибудь сжатый файл, но надо формат знать.
А под Linux вобще одна команда:
[FONT=courier new]dd if=file of=/dev/fd0[/FONT]
:)
И вобще там все инструменты для разработки под рукой, зря Митя его не любит...