Пишем операционную систему
Добавлено: 17 сен 2016, 12:18
Заинтересовавшись строением и работой компьютера на самом низком уровне я наткнулась на
серию статей по написанию игрушечной оси на англоязычном ресурсе:
http://www.independent-software.com/category/os/
Для того что бы разбираться в системе и по настоящему понять как работает компьютер
я решила пройти по шагово все пути развития самописной системы по этим мануалам и
поделится со всеми заинтересовавшимися своими впечатлениями, а так же дополнить что то
от себя, а быть может что то изменить или заново переделать.
Иногда под свой интерес я как и многие подвожу оправдательную базу. Заинтересовавшись
чем-то, что бы предупредить вопросы коллег и выстроить за благовременно оправдательную
линию защиты мы обычно показываем что конкретно приобретаем занимаясь именно этим. Вот и
сейчас начиная серию статей, что бы оградится от вопросов для чего мне нужно заниматся
именно тем чем мне заниматся интересно я сразу закрою подобные вопросы но совершенно по иному.
Я этим занимаюсь просто потому что мне интересно в этом разбираться. Это единственный
стимул к моим действиям который я не хочу смешивать ни с выгодой ни с перспективой ни с
упущенными возможностями в профессиональном росте из за ошибочно выбранной линии своего
наивного чувства интереса. Тем кому мои статьи покажутся бесполезными или скучными,
просто проходят мимо в поисках своего розового слона или создают его так же как я
самостоятельно.
Сразу сообщу что это не перевод на русский язык высше обозначенного мануала,
а скорее результат добываемого мной опыта построения системы по уже приведенной логической
схеме плюс ко всему множество дополнительных статей со всего инета переработанного и
просеянного через фильтр моего серого вещества. Я просто хочу в этом разобратся и
буду это делать на страницах нашего форума и хочу поделится этим опытом со
всеми кто так же как и я посчитает его интересным. Буду рада дополнениям,
критике по теме и всем желающим присоединится к этой движухе. В следующем
посте я как можно подробней разберу работу биоса и немного коснусь реального
режима работы процессора. Этого нет в принятом мной руководстве для действий,
но понимание этого просто необходимо для дальнейшего разбора полетов в построении
системы. Следующая тема это знания агрегированные из различных источников и некоторые еще
являются для меня самой не совсем понятными вещами, так что я так же надеюсь с вашей
помощью прояснить для себя все темные моменты в моем образовании. Специально для
этого стартапа я выбрала надавно собраный из металлолома старенький компьютер с
процессором intel pentium 4 и 500 Mб оперативной памяти. На него я сегодня утановлю
debian stable i386 и в этой операционке будет проходить вся дальнейшая работа.
Некоторые действия я собираюсь дублировать на своем домашнем компе с федорой
23 и в нетбуке с intel atom debian testing, который беру с собой на работу.
Но проверятся все действия будут в обязательном порядке на заявленном оборудовании
с 32 битной системой debian stable и запущенной в ней виртуальной машине qemu-kvm и
bochs. Боксы я надеюсь здесь применить в качестве дебагера программы в
реальном режиме работы процессора. Тема с боксами для меня новая но так же
очень интересно будет разобратся с этим всем вместе. Естественно оставляю
контольный запуск в qemu-kvm с образа дискеты и диска, а так же с реальной
дискеты если найду хоть одну и с реального раздела диска. Мне пообещали
подарить ради такого случая старенький ide на 40 Гигов. Код в статье,
удивительно, но факт, написан на gnu ассемблере под названием gas - продукте
компании AT&T но код употребляется в нотации intel. Некоторые примеры я подозреваю
будут мной использованы в разных ассемблерах, сейчас я уже вполне сносно могу
ориентироваться в синтаксисе и nasm и fasm и что самое главное все эти ассемблеры
доступны в линукс из стандартных репозиториев. Так что мудрить с программным
обеспечением не придется и по возможности я буду переписывать код в gas c
синтаксисом как AT&T так и intel. Так же есть хорошая подборка статей на русском:
http://subscribe.ru/catalog/comp.soft.myosdev?pos=3
Код в которой написан на fasm а в ниже приведенной на nasm.
http://subscribe.ru/catalog/comp.soft.prog.asmos?pos=2
к темам которых я планирую обращатся. С кодом написанным на fasm в винде
проблемм возникнуть не должно. Как говорит мой не большой опыт этот ассемблер
самый переносимый и в моей практике еще не было случая что бы код написанный в fasm
на винде не собрался на линуксе. Я сейчас говорю о коде который запускается
самостоятельно без какой либо операционной системы, просто мы его собираем
там где нам удобней. Насм тоже довольно доброжелателен и близок по функционалу к Фасм.
На этом все. Буду рада любым предложениям в моем начинании.
серию статей по написанию игрушечной оси на англоязычном ресурсе:
http://www.independent-software.com/category/os/
Для того что бы разбираться в системе и по настоящему понять как работает компьютер
я решила пройти по шагово все пути развития самописной системы по этим мануалам и
поделится со всеми заинтересовавшимися своими впечатлениями, а так же дополнить что то
от себя, а быть может что то изменить или заново переделать.
Иногда под свой интерес я как и многие подвожу оправдательную базу. Заинтересовавшись
чем-то, что бы предупредить вопросы коллег и выстроить за благовременно оправдательную
линию защиты мы обычно показываем что конкретно приобретаем занимаясь именно этим. Вот и
сейчас начиная серию статей, что бы оградится от вопросов для чего мне нужно заниматся
именно тем чем мне заниматся интересно я сразу закрою подобные вопросы но совершенно по иному.
Я этим занимаюсь просто потому что мне интересно в этом разбираться. Это единственный
стимул к моим действиям который я не хочу смешивать ни с выгодой ни с перспективой ни с
упущенными возможностями в профессиональном росте из за ошибочно выбранной линии своего
наивного чувства интереса. Тем кому мои статьи покажутся бесполезными или скучными,
просто проходят мимо в поисках своего розового слона или создают его так же как я
самостоятельно.
Сразу сообщу что это не перевод на русский язык высше обозначенного мануала,
а скорее результат добываемого мной опыта построения системы по уже приведенной логической
схеме плюс ко всему множество дополнительных статей со всего инета переработанного и
просеянного через фильтр моего серого вещества. Я просто хочу в этом разобратся и
буду это делать на страницах нашего форума и хочу поделится этим опытом со
всеми кто так же как и я посчитает его интересным. Буду рада дополнениям,
критике по теме и всем желающим присоединится к этой движухе. В следующем
посте я как можно подробней разберу работу биоса и немного коснусь реального
режима работы процессора. Этого нет в принятом мной руководстве для действий,
но понимание этого просто необходимо для дальнейшего разбора полетов в построении
системы. Следующая тема это знания агрегированные из различных источников и некоторые еще
являются для меня самой не совсем понятными вещами, так что я так же надеюсь с вашей
помощью прояснить для себя все темные моменты в моем образовании. Специально для
этого стартапа я выбрала надавно собраный из металлолома старенький компьютер с
процессором intel pentium 4 и 500 Mб оперативной памяти. На него я сегодня утановлю
debian stable i386 и в этой операционке будет проходить вся дальнейшая работа.
Некоторые действия я собираюсь дублировать на своем домашнем компе с федорой
23 и в нетбуке с intel atom debian testing, который беру с собой на работу.
Но проверятся все действия будут в обязательном порядке на заявленном оборудовании
с 32 битной системой debian stable и запущенной в ней виртуальной машине qemu-kvm и
bochs. Боксы я надеюсь здесь применить в качестве дебагера программы в
реальном режиме работы процессора. Тема с боксами для меня новая но так же
очень интересно будет разобратся с этим всем вместе. Естественно оставляю
контольный запуск в qemu-kvm с образа дискеты и диска, а так же с реальной
дискеты если найду хоть одну и с реального раздела диска. Мне пообещали
подарить ради такого случая старенький ide на 40 Гигов. Код в статье,
удивительно, но факт, написан на gnu ассемблере под названием gas - продукте
компании AT&T но код употребляется в нотации intel. Некоторые примеры я подозреваю
будут мной использованы в разных ассемблерах, сейчас я уже вполне сносно могу
ориентироваться в синтаксисе и nasm и fasm и что самое главное все эти ассемблеры
доступны в линукс из стандартных репозиториев. Так что мудрить с программным
обеспечением не придется и по возможности я буду переписывать код в gas c
синтаксисом как AT&T так и intel. Так же есть хорошая подборка статей на русском:
http://subscribe.ru/catalog/comp.soft.myosdev?pos=3
Код в которой написан на fasm а в ниже приведенной на nasm.
http://subscribe.ru/catalog/comp.soft.prog.asmos?pos=2
к темам которых я планирую обращатся. С кодом написанным на fasm в винде
проблемм возникнуть не должно. Как говорит мой не большой опыт этот ассемблер
самый переносимый и в моей практике еще не было случая что бы код написанный в fasm
на винде не собрался на линуксе. Я сейчас говорю о коде который запускается
самостоятельно без какой либо операционной системы, просто мы его собираем
там где нам удобней. Насм тоже довольно доброжелателен и близок по функционалу к Фасм.
На этом все. Буду рада любым предложениям в моем начинании.