Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Открытая операционная система с нуля.

1.8K
01 апреля 2004 года
Sanya DLR
123 / / 03.03.2004
Не стану отвечать на вопрос ЗАЧЕМ.
Предлагаю написать операционную систему.
1. Задумка эта не коммерческая.
2. Пишется всё с нуля, без использования сторонних продуктов - на голом железе и собственных мозгах.
3. Все происходит прямо здесь, пока это не перестанет быть возможным.
Существует много проектов, но эта затея для тех кто хочет родить операционную систему и воспитывать ее с пеленок (а не содержать пенсионерку). Вот как раз сейчас мы ее зачали.
Надеюсь многому научиться, найти единомышленников, а также найти предел своих возможностей.

Стартовые условия таковы.
Железо: Процессор пень второй. Оператива 32М. Остальное может быть любым, а может и не быть вовсе.
Направление: Система должна в перспективе поддерживать все что угодно, работать с любым набором железа. Систему можно улучшать и это должна предусматривать ее архитектура.
Другими словами - система пишется с нуля и до бесконечности. При этом она все может но ничего не требует. По крайней мере к этому стремится.

Пишется все по порядку - шаг за шагом. Официальный язык - машинный код или то, что напишем на нем сами. Разумеется в мнемониках ассемблера или чего угодно другого, но без использования КОНКРЕТНОГО компилятора.
Главная идея - понимание каждого байта своей системы.

Я так понимаю, что сначала нужно создать ту часть, которая сидит в памяти и работает. Как она туда попадет - не важно. Не надо привязываться к дискетам, жестким дискам и сидюкам. Носители появятся новые и система не должна от них зависеть.
На этом этапе надо определить основные понятия: устройство, процесс, ... вобщем всё то, что будет ядром системы и в дальнейшем уже не изменится - идеология. Это ядро должно дать минимальную функциональность системе, но при этом не ограничивать возможности дальнейшего развития.

Идея подана.
Если она прижилась, то говорите что делать в первую очередь (разумеется не надо начинать с того, как будет выглядеть окно интернет-браузера и каким будет цвет рабочего стола :).
Что должна уметь система в самом фундаменте?
Наверное она должна запускать процессы и соединять их с ресурсами.
Какие могут быть процессы? Какие ресурсы?
Разумеется, система не имеет права зависнуть ни в каком случае по собственной вине или по вине программы.
Нужно придумать универсальные интерфейсы, чтобы система была модульной (универсальность за счет драйверов и т.п.).
Еще раз скажу, что этот велосипед изобретается в первую очередь для собственного развития участников. Поэтому не надо говорить что все уже кем-то создано.
Бог вот человека создал и ладно (раз работает, то ради бога ничего не трогай!), а тебе так - слабо? (я в том смысле, который тут уместен...)
Страницы:
349
15 апреля 2006 года
Phantom-84
656 / / 27.10.2005
Цитата:
Originally posted by disasm
Пэйджинг, подсистема управления памятью, драйвера клавиатуры, флопика, таймера, библиотека libc. Мало?

Нет не мало, просто я не могу понять, как ты можешь говорить о пэйджинге и подсистеме управления памятью, когда у тебя дыры и наложения по всему адресному пространству из-за проблем с адресацией... или с этим уже все в порядке?

1.9K
16 апреля 2006 года
disasm
232 / / 06.02.2006
Цитата:
Originally posted by Phantom-84
Нет не мало, просто я не могу понять, как ты можешь говорить о пэйджинге и подсистеме управления памятью, когда у тебя дыры и наложения по всему адресному пространству из-за проблем с адресацией... или с этим уже все в порядке?


Там такого нет и быть не может. Физическая память выделяется при помощи битмапа (а значит не может выделиться дважды). В целом глюков в области ядра обнаружено не было. Единственная проблема находится не в ядре, а в загрузчике (loader.bin) в указанном мною месте и не может иметь никакого отношения к коду ядра (к его содержимому) так как до ядра дело не доходит.
Поэтому я еще сегодня новую книженцию "ASSEMBLER для Win UNIX" (может там чего найду).
Но вопрос, конечно, интересный...

PS: Под WMWare ядро получает управление.

349
01 мая 2006 года
Phantom-84
656 / / 27.10.2005
Судя по всему те, кто действительно способен создать операционную систему, уже занимаются этим или же чем-то другим. Содержимое данной ветки форума не соответствует названию ее темы, поэтому в обсуждении совместной разработки операционной системы с самого начала я больше не стану принимать никакого участия. Будем мастерить сами, авось это окажется кому-нибудь нужно :)
349
30 июня 2006 года
Phantom-84
656 / / 27.10.2005
Короче для начинающих я вывесил исходник дискового загрузчика. Чтобы перейти на download-страничку, кликните здесь.

Кто хочет узнать или наоборот рассказать о том, какие действия должна выполнить операционная система во время своей инициализации, пишите здесь.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог