OSDev http://osdev.su/ |
|
ОСь с нуля. С чего начать? http://osdev.su/viewtopic.php?f=5&t=134 |
Страница 1 из 3 |
Автор: | zidan [ 26 сен 2007, 23:44 ] |
Заголовок сообщения: | ОСь с нуля. С чего начать? |
Вопрос теоретический, потому как писать ось я наверно буду только в теории (пока дело с места не сдвинулось уже пару лет). Интересует мнение с чего начинать в какой последовательности и т.д. Есть небольшое/неглубокое знание иа32, архитектуры ИБМ РС и асма. Начало теоретического изыскания в конце концов уперлось просто в систему кодировки. Получилось что то вроде азбуки Морзе - битовая последовательность различной длины в которую заключен код и длина кода. Следущий шаг как мне мыслится файловая система? Если можете подсказать какие то ресурсы посвещенные принципам сего дела (не по существующим файловым системам - это не так интересно) буду рад. Также любым соображениям посвещенным осестроительству. |
Автор: | zidan [ 27 сен 2007, 00:13 ] |
Заголовок сообщения: | Re: ОСь с нуля. С чего начать? |
Цитата: Привет. Сначала попробуй прочитать цикл статей на ["http Lowlevel]. Цитата: Начало теоретического изыскания в конце концов уперлось просто в систему кодировки. Получилось что то вроде азбуки Морзе - битовая последовательность различной длины в которую заключен код и длина кода. Что-то я не очень понимаю, что ты имеешь в виду ;) //legos система кодировки символов отличная от табличной - мне она кажеться недостаточно гибкой и часто избыточной. хотя в такой кодировке как я придумал избыточность тоже присутсвует - принцип простой, в битовой последовательности представляющей из себя символ содержатся биты по которым можно определить длину последовательности. каждый символ может быть разной длины от двух бит до... скольки фантазия позволит. Цитата: <!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><td id='QUOTE'><!--QuoteEBegin-->Следущий шаг как мне мыслится файловая система?
ИМХО, реализацию драйверов файловых систем лучше оставить на тот момент, когда ядро уже сможет обеспечить нормальную многозадачность, межпроцессное взаимодействие, интерфейсы к драйверам и т.п. И уж лучше попробуй писать ОСь не в теории, а в практике; получше разобравшись, что к чему -- перейти к теоретическим размышлениям ;)<!--QuoteEnd-->QUOTE<div class='postcolor'><!--QuoteEEnd--> Речь идет не о драйверах, а о структуре файловой системы. Еще интересны методы защиты целостности информации, а также принцип распределеных файловых систем (подобные RAID как я понимаю это). |
Автор: | Himik [ 27 сен 2007, 00:14 ] |
Заголовок сообщения: | Re: ОСь с нуля. С чего начать? |
На теоретический вопрос я и отвечу теоретически :) Представь, что ты пишешь Тетрис. Но не обычный, потому что обычный писать не интересно. Значит первое дело - надо придумать что-то, делающее игру круче. Разработать новую логику игры, вид. ОС - это почти такая же программа как и все остальные, поэтому подход к разработке можно брать из обычной практики, тут нет ничего сверхестественного. |
Автор: | zidan [ 27 сен 2007, 00:27 ] |
Заголовок сообщения: | Re: ОСь с нуля. С чего начать? |
Цитата: На теоретический вопрос я и отвечу теоретически :) Представь, что ты пишешь Тетрис. Но не обычный, потому что обычный писать не интересно. Значит первое дело - надо придумать что-то, делающее игру круче. Разработать новую логику игры, вид. ОС - это почти такая же программа как и все остальные, поэтому подход к разработке можно брать из обычной практики, тут нет ничего сверхестественного. //Chizh ну вот... теоретически я начинаю писать ось пользуя 256 битную таблицу символов. Исчерпав ее - упираюсь в потолок и начинаю писать дополнительные драйвера, менять вызовы процедур, часть ПО умеет работать с новой кодировкой часть нет... ну наверно мысль понятна - додумав кодировку с переменой длиной (уверен не я первый такое придумал и наверняка уже она как то используется) я уже избежал (тоже теоретически, потому как я не пишу ось) проблем при добавлении китайского словаря в систему кодировки. вот все таки мне мыслиться что разумный подход к осестроительству в следующем шаге требует файловую систему продумать, а не способы распределения оперативки, выделения процессорного времени и тому подобного хотя возможно я ошибаюсь. |
Автор: | zidan [ 27 сен 2007, 00:59 ] |
Заголовок сообщения: | Re: ОСь с нуля. С чего начать? |
Цитата: Так UTF-8 разве недостаточно? //legos незнаком (теория все таки - необязательно знать существующие) там табличная организация? могу привести пример того что придумал я - может подскажите как оно называется. Цитата: Что значит "распределенных ФС"? Сетевых? Тогда при чем тут RAID? В случае расположения одной ФС на нескольких дисках -- эти диски обычно просто виртуально объединяются драйвером диска в один раздел. И драйвер ФС работает именно с этим одним разделом, как с цельным диском -- драйверу ФС совсем не обязательно знать про физическое строение раздела. вообще скажем - файловая система приближенная к идеальной разработка ведь этой части не нуждается в программном обеспечении, ее можно разработать на бумаге. чего от нее желательно - устойчивость к разрушению, маштабируемость, возможность частичного или полного востановления данных при разрушении. Желательно последнее к примеру без остановки системы. Тема очень емкая по моему и немаленькое поле для исследования и работы в этом направлении. з.ы. ссылка кстати не плоха - спасибо, читаю. |
Автор: | Himik [ 27 сен 2007, 01:15 ] |
Заголовок сообщения: | Re: ОСь с нуля. С чего начать? |
Цитата: ну вот... теоретически я начинаю писать ось пользуя 256 битную таблицу символов. Исчерпав ее - упираюсь в потолок и начинаю писать дополнительные драйвера, менять вызовы процедур, часть ПО умеет работать с новой кодировкой часть нет... ну наверно мысль понятна - додумав кодировку с переменой длиной (уверен не я первый такое придумал и наверняка уже она как то используется) я уже избежал (тоже теоретически, потому как я не пишу ось) проблем при добавлении китайского словаря в систему кодировки. //Zidan Советую использовать Unicode кодировку, она 16 битная, и содержит все языки сразу. К тому же её начали поддерживать все системы. Коды 0-0x7F содержат таблицу ASCII, а начиная с 0x400-0x4FF идёт кириллица. Лучше не ориентироваться на текстовый режим, а лучше графический, чтобы отображать любые буквы одновременно. Цитата: Речь идет не о драйверах, а о структуре файловой системы. Еще интересны методы защиты целостности информации, а также принцип распределеных файловых систем (подобные RAID как я понимаю это). //Zidan Но скорее всего ты "изобретёшь" RAID. Тоесть получится ФС устроенная как RAID-1 или RAID-5, потому что он придуман для такой же защиты от сбоев. По большому счёту такая ФС будет не актуальна при наличии RAID. А без RAID защита от сбоев будет так сильно тормозить, что ни какой защиты не захочется. |
Автор: | pushkoff [ 27 сен 2007, 09:13 ] |
Заголовок сообщения: | Re: ОСь с нуля. С чего начать? |
Главное при написании оси не начинать с загрузчика, ибо на этом и закончишь... (куча примеров в инете и всем известный 3ОС) Я начал с ядра, а конкретно с функций обработчиков прерываний исключений и системных вызовов, в которых мне понадобились семафоры очереди и пошло поехало и так до тех пор пока не сдал диплом... |
Автор: | Himik [ 27 сен 2007, 10:06 ] |
Заголовок сообщения: | Re: ОСь с нуля. С чего начать? |
legos, я подразумаваю защиту от повреждённых секторов. А журналирование защищает только от внезапного выключения питания и прочих мелких неприятностей. |
Автор: | Гость [ 27 сен 2007, 10:14 ] |
Заголовок сообщения: | Re: ОСь с нуля. С чего начать? |
Chizh, Двойка тебе... :) Для начала UCS-2 которая строго 2-байтовая не в состоянии описать любые символы юникода. А UTF-16 имеет переменную длину 2-4 байта... В то время как UTF-8 как и UTF-16 в состоянии описать все и тоже имеет переменную длину от 1 до 6 байт. Потом я не совсем понял как графика влияет на отображение символов? Что мешает загружать любые символы в знакогенератор и выводить их? |
Автор: | zidan [ 27 сен 2007, 12:12 ] |
Заголовок сообщения: | Re: ОСь с нуля. С чего начать? |
Какая в RAID система кодировки (слово неудобное в контекте предыдущих постов, но к символьной кодировке отношения не имеет)? Я к своему сдыду до сих пор толком даже как ECC работает не знаю. |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |