Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов. 8(977)608-78-62 adm@nixm.ru
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов. 8(977)608-78-62 adm@nixm.ru
Пишем операционную систему
Пишем операционную систему
Заинтересовавшись строением и работой компьютера на самом низком уровне я наткнулась на
серию статей по написанию игрушечной оси на англоязычном ресурсе:
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
на винде не собрался на линуксе. Я сейчас говорю о коде который запускается
самостоятельно без какой либо операционной системы, просто мы его собираем
там где нам удобней. Насм тоже довольно доброжелателен и близок по функционалу к Фасм.
На этом все. Буду рада любым предложениям в моем начинании.
Последний раз редактировалось nezabudka 17 сен 2016, 13:27, всего редактировалось 1 раз.
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Re: Пишем операционную систему
Это проходили, наверное, все, кто всерьёз интересовался вопросами программирования...nezabudka писал(а): Для того что бы разбираться в системе и по настоящему понять как работает компьютер
я решила пройти по шагово все пути развития самописной системы по этим мануалам и
поделится со всеми заинтересовавшимися своими впечатлениями, а так же дополнить что то
от себя, а быть может что то изменить или заново переделать.
Но со временем это проходит, надоедает.
Могу прислать целый ящикБоксы я надеюсь здесь применить в качестве дебагера программы в
реальном режиме работы процессора. Тема с боксами для меня новая но так же
очень интересно будет разобратся с этим всем вместе. Естественно оставляю
контольный запуск в qemu-kvm с образа дискеты и диска, а так же с реальной
дискеты если найду хоть одну...
Мог бы и таких прислать ... но вряд ли позволятМне пообещали
подарить ради такого случая старенький ide на 40 Гигов.
- NoVASpirit
- Разговорчивый гость
- Сообщения: 33
- Зарегистрирован: 18 янв 2015, 02:32
Re: Пишем операционную систему
А может лучше собрать систему с нуля уже из готовых пакетов? Зачем заморачиваться так глубоко?
------------------------------------
Меня всегда можно найти
Ярославская группа пользователей GNU/Linux:
yarlug@conference.jabber.ru
Меня всегда можно найти
Ярославская группа пользователей GNU/Linux:
yarlug@conference.jabber.ru
Re: Пишем операционную систему
Речь здесь идёт, как предполагаю, о системе Linux?NoVASpirit писал(а):А может лучше собрать систему с нуля уже из готовых пакетов?
Linux From Scratch?
Вот это?
Вот это уж совершенно бездарное убиение своего времени!Когда красноглазику становится совсем нечем заняться долгими зимними вечерами, а сессия уже позади (или так далеко впереди, что о ней думать ещё рано), оный начинает предаваться сладостному единению с системой — увы, но если линуксоид опытен и со стажем, то скоро система начинает работать аки швейцарские часы и становится скучно. И тогда гентушник (или слакварщик — дебианщики/редхатовцы этим страдают куда реже, а неиспорченое сознание убунтовцев просто не вместит подобное) решает, что собирать систему через команду emerge и прописывание юзов — слишком просто, и для обретения полного посвящения и становления истинным джедаем красной стороны силы находит себе новое развлечение под названием LFS. Которое после сборки и отладки становится или очередной убунтой с измененными иконками, или выбрасывается за ненадобностью, т.к. обновление софта и решение вопросов безопасности это гемор даже для искушенных линуксоидов-одиночек.
И книга сама , как показало время, оказывается вредной и бессмысленной провокацией.
- NoVASpirit
- Разговорчивый гость
- Сообщения: 33
- Зарегистрирован: 18 янв 2015, 02:32
Re: Пишем операционную систему
Нет... Я имею в виду собрать систему со своей пакетной базой. Никто ведь не вникает для чего нужен тот или иной пакет. Да даже Linux From Scratch сделан под чью то копирку и не раскрывает всех особенностей Linux. Это просто не интересно... А вот закопмилить и изучить вдоль и поперёк каждый пакет, написать к каждому пакету свои доки и перевести мануалы которые никто не любит переводить вот это будет интереснее
------------------------------------
Меня всегда можно найти
Ярославская группа пользователей GNU/Linux:
yarlug@conference.jabber.ru
Меня всегда можно найти
Ярославская группа пользователей GNU/Linux:
yarlug@conference.jabber.ru
Re: Пишем операционную систему
Здесь полная путаница понятий:
Это не имеет касательства ни к программному обеспечению, ни к программному коду ... ни даже к операционной системе - тот же Linux может прекрасно существовать без какой-то пакетной системы вообще.
Это рыночная технология, направленная, как и всякая рыночная технология на единственную цель: впарить потребителю как можно больше.
Но затея ТС вообще о совершенно другом: о написании прототипа ядра операционной системы.
А все "пакеты", как и великое множество свободных программных проектов, не имеют никакого отношения к самой операционной системе, к ядру системы.
Пакетная система, пакетная база, пакеты - это всё терминология из области распространения, тиражирования программного обеспечения.NoVASpirit писал(а):Я имею в виду собрать систему со своей пакетной базой.
Это не имеет касательства ни к программному обеспечению, ни к программному коду ... ни даже к операционной системе - тот же Linux может прекрасно существовать без какой-то пакетной системы вообще.
Это рыночная технология, направленная, как и всякая рыночная технология на единственную цель: впарить потребителю как можно больше.
А вот здесь даже сам термин "пакет" неуместен, потому что каждое программное изделие - это проект, это программный код, который сам по себе является продуктом и представляет ценность ... и уж никак не связан с каким-то там "пакетом".NoVASpirit писал(а): Никто ведь не вникает для чего нужен тот или иной пакет.
... А вот закопмилить и изучить вдоль и поперёк каждый пакет, написать к каждому пакету свои доки и перевести мануалы которые никто не любит переводить вот это будет интереснее
Но затея ТС вообще о совершенно другом: о написании прототипа ядра операционной системы.
А все "пакеты", как и великое множество свободных программных проектов, не имеют никакого отношения к самой операционной системе, к ядру системы.
Re: Пишем операционную систему
Затея любопытая ... чтобы следить за ней со стороны ...
Только некоторые детали смущают:
2. Этот путь (крайне тяжёлым, трудоёмким способом) приведёт только к пониманию в тонкостях работы процессора, железа ... да и то только одного типа процессора из многих - Intel x86.
(ничего другого нового вы там не узнаете ... да и ничего интересного там нет)
Но для этого понимания есть гораздо более лёгкий путь - книги.
Вот например:
Там всё описано в примерах кода ... и переключение в защищённый режим, и таблицы и т.д.
Только некоторые детали смущают:
1. Авторы этих заметок прошли только самое-самое начало: создали таблицы (GDT, LDT, IDT...) и переключились в защищённый режим процессора ... а к 2013 году им это наскучило, когда они поняли громоздкость предстоящего.nezabudka писал(а):Заинтересовавшись строением и работой компьютера на самом низком уровне я наткнулась на
серию статей по написанию игрушечной оси на англоязычном ресурсе:
http://www.independent-software.com/category/os/
Для того что бы разбираться в системе и по настоящему понять как работает компьютер
я решила пройти по шагово все пути развития самописной системы по этим мануалам и
поделится со всеми заинтересовавшимися своими впечатлениями, а так же дополнить что то
от себя, а быть может что то изменить или заново переделать.
2. Этот путь (крайне тяжёлым, трудоёмким способом) приведёт только к пониманию в тонкостях работы процессора, железа ... да и то только одного типа процессора из многих - Intel x86.
(ничего другого нового вы там не узнаете ... да и ничего интересного там нет)
Но для этого понимания есть гораздо более лёгкий путь - книги.
Вот например:
(кстати, книгу можно во множестве найти в Интернет для свободного скачивания)Зубков С. В.
Assembler для DOS, Windows и Unix Одиннадцатое издание
Там всё описано в примерах кода ... и переключение в защищённый режим, и таблицы и т.д.