Форум программистов, компьютерный форум, киберфорум
ОС на Assembler
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232

Создание ОС, языка и софта с нуля

09.10.2016, 20:38. Показов 28526. Ответов 197
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые программисты!

_ У многих время от времени возникает идея создать свою операционную систему. Вот и я пришёл к такой мысли Я самоучка, в детстве программировал на асме в ZX-Spectrum, после армии увлёкся сайтостроением, затем форексом(писал советники). Создал большой интернет проект, но средств на раскрутку и найм персонала не было, понятно, почему полез в форекс. Далее сменив работу, постепенно забросил свои проекты. Но данный опыт мне очень сольно помогает в моих новых разработках.
Поначалу захотелось сделать удобную программу подобно 1С, но удобнее и проще. Сделал небольшие модули, мини базу данных custodem(только запись и чтение простых типов данных), публикатор publisher(своего рода веб-сервер), bucinator(передача данных по сети и между модулями базы данных и публикатором), cerebrum(язык программирования подобный PHP для веб сайтов, но проще).

_ Всё это писал на Lazarus, так как делал разные приложения для упрощения своей работы на Delphi, привык к паскалю, а так как Lazarus c кросплатформенной компиляцией и свободно распространяемый, решил написать приложение для работы на нём, но из идеи приложения для работы переросло во что-то большее. Со временем создам сайт проекта, опишу всё более подробно, выложу модули.
Далее на основе этих модулей можно сделать простые приложения для производств(подобно 1С), торговли(подобно торговому терминалу форекс), поликлиник(для карточек пациентов) и др. Это сможет сделать даже школьник, который знает Паскаль, всё можно написать также в Lazarus. Сайты, которые будут размещаться на личных компьютерах.

_ Теперь ближе к теме. Работая над своими проектами я всегда искал единомышленников, но так и не находил, так как живу на периферии и в ближайшем кругу нет программистов которые хотят что-то сами сделать. Также время от времени, возникала мысль о более продуманной системе. Сейчас изучаю ассемблер и есть желание написать свою ОС.

Итак, если тут есть желающие написать свою удобную операционную систему, то предлагаю следующее:
  1. собрать команду специалистов
  2. обсудить структуру ОС
  3. распределить задачи
  4. приступить к реализации
Моя идея операционной системы такая:
  1. создать драйвера для работы с дисками, видеобуфером, звуком, мышкой и др. периферийных устройств по мере надобности
  2. ядро управления памятью, базу данных, передача данных по сети
  3. интерпретатор языка программирования, напрашивается название EMPEROR , так как на этом языке будут писаться все программы для нашей операционной системы

Язык EMPEROR будет создавать окна, вставлять нужные компоненты в приложении и тд. Это будет очень простой язык, на котором сможет писать кто угодно.

Если соберётся хорошая команда, то думаю за год, максимум два мы создадим СУПЕР операционку Итак, кто согласен участвовать в этом?

Добавлено через 6 часов 4 минуты
Наверняка у многих уже есть наработки. По себе знаю в одиночку такой грандиозный проект не реализовать. Если вы откажитесь от применения своих знаний и наработок в создании работающей ОС, то считайте, вы зря делали, то, что сделали и это окажется никому не нужным, так как чтобы это работало, надо ещё очень многое создать на что у вас не хватит и жизни, это, во-первых. А во-вторых, предлагаю написать лицензионное соглашение по созданию и распространению исходных кодов по принципу свободного распространения, а также договор долевого участия в капитализации операционной системы, то есть распределения дохода от участия разработчиков. В третьих если будет хорошая команда, то эта операционка будет очень быстро написана и доступна всем, на основе чего уже можно будет создавать полезные коммерческие приложения (платёжная система, бизнес приложения, социальные и частные приложения, подробнее о идеях могу рассказать позже).

Если вы не зарегистрированы на форуме можете написать мне на email: del

Добавлено через 54 минуты
Кто в деле пишем о своём опыте в той или иной области, например:
Есть опыт в создании больших проектов, создании языка программирования, базы данных, платёжной системы.

Это я о себе В ассемблере у меня на данный момент мало опыта, но думаю наверстаю, указанный опыт может применим в разработке ОС. То есть я хочу заняться созданием ядра ОС. Если вы имеете опыт в работе с дисками, видео, звуком и тд. отписывайтесь кто желает включиться в разработку.
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2016, 20:38
Ответы с готовыми решениями:

Создание игры и софта
Скажите пожалуйста какие книги можете порекомендовать на с++ я хочу написать игру в шахматы для виндоус но не знаю с чего начать код то я...

Посоветуйте с чего начать создание USB устройства, софта и драйвера для Андроид
Доброго дня всем кто читает! В небольшом творческом коллективе возникла неведомая ранее креативная задача. Надо оживить некоторый...

Создание локалки с нуля
Добрый день. Появилась необходимость поставить невыключаемый системник между Интернет и компом, также подоткнуть к нему приставку ТВ и...

197
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
12.10.2016, 15:51
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Mikl___ Посмотреть сообщение
создать FAQ по созданию осей
Для этого есть целый небезызвестный ресурс (правда на анг. языке). Вот если бы товарищи подобные ТС туда перед созданием темы заглядывали... Я писал (не тут) только о вещах о которых нет информации в сети, вроде той же установки не vbe-видеорежимов на radeon'ах. Про BIOS и так немерено всякой инфы в сети. По поводу студентов -- ну есть у некоторых предмет про операционные системы. Я помню еще на первом курсе учась подрабатывал, делал курсачи по этой теме. Сейчас бы не стал, ибо такие потом приходят на работу.

Добавлено через 1 минуту
Цитата Сообщение от nezabudka Посмотреть сообщение
но именно в деталях
А конкретнее?
0
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
12.10.2016, 16:10
shmkv, Ой, во всем но пока справляюсь, слава Богу на начальном этапе литературы хватает.
...начиная с общих вопросов по ассемблеру и настройки инструментария по отладке до построения алгоритма
работы программы. Все очень интересно, не хватает длины рук что бы все это обнять .
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
12.10.2016, 16:44
Цитата Сообщение от Mikl___ Посмотреть сообщение
как раз в области написания осей я ни кроки не понимаю
Зато кровь ОС - Ассемблер ты знаешь лучше меня раз в 100500.
Цитата Сообщение от shmkv Посмотреть сообщение
я с этой темой связан более 10 лет и могу аргументировать свои ответы
Ну молодец, молодец )
Мне нет нужды спорить, я знаю то что знаю, и не вижу каких-то серьезных трудностей написать в одиночку ОС. Естественно при условии оставить попытки сделать монстра для конкурирования с Виндовс или Мак.
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
12.10.2016, 16:55  [ТС]
Приветствую! Оказывается тут без меня весело. Любят люди меня за спиной обсуждать.
Слушайте, а команда то считай собралась
Далее предлагаю следующее. Я в асме новичок, но быстро осваиваюсь. Итак, ближе к делу, сделаю загрузчик, потом буду делать ядро, исходники буду выкладывать здесь, быстрых результатов не ждите, прежде хочу доделать свой текущий проект(думаю он тоже будет кому-то интересен). Есть у кого сырцы по рисованию окна?, работа с дисками? клавиатурой? сетью? и тд. можно поюзать?
Исходники о описанием ОСи буду выкладывать тут, кто желает можете также участвовать в процессе программирования, и самобучение и реальный результат будет.
0
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
12.10.2016, 17:06
Цитата Сообщение от nezabudka Посмотреть сообщение
начиная с общих вопросов по ассемблеру
Писать свою игрушечную ОС на ассемблере не советую, ну разве что из религиозных побуждений.

Добавлено через 2 минуты
Цитата Сообщение от Hikari Посмотреть сообщение
Ассемблер ты знаешь лучше меня раз
ОС можно написать практически не зная асм. Достаточно будет нск. оберток для вызова привилегированных команд.

Добавлено через 1 минуту
Цитата Сообщение от nezabudka Посмотреть сообщение
Все очень интересно, не хватает длины рук что бы все это обнять
И мне не хватает, увы. А как вступил во взрослую жизнь, то длина рук резко поубавилась.
0
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
12.10.2016, 17:17
Цитата Сообщение от pgb Посмотреть сообщение
...за спиной обсуждать.
Я думала это ваша тема

Добавлено через 5 минут
Цитата Сообщение от shmkv Посмотреть сообщение
Писать свою игрушечную ОС на ассемблере не советую
Согласна, но куда же без него? И о-о-о-чень хочется в ассемблере через это занятие
подразобраться. Так же мне интересен и Си.
0
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
12.10.2016, 17:35
Хотите поговорить о деталях, они у меня есть. Могу рассказать о свои последних проблемах:
1. Не понимаю как гарантированно обойти на любом железе все дерево pci и выцепить таблицу irq-роутинга с корректным соответствием адреса pci. Все это конечно средствами acpica. Решение нашел, но нет уверенности в универсальности.
2. Не понимаю почему на VBOX в режиме эмуляции ICH9 в конфигурационном пространстве PCI нет PCI-to-host моста, хотя в дереве ACPI он есть.
3. Пока не разобрался как корректно перенастраивать IRQ у PCI устройств в режиме IO APIC. Мне намекнули, что правки соответствующих полей в конф. пространстве PCI недостаточно. Разбираюсь с acpica.

Добавлено через 3 минуты
Цитата Сообщение от nezabudka Посмотреть сообщение
Согласна, но куда же без него?
Да можно туда же в принципе. Единственное, что не получится написать без ассемблера - первичный загрузчик (но можно использовать готовый), а ну еще переход в защищенный режим и старт код процессора для SMP, но это нск. строк всего. Для всего остального - опционально. Просто разработка на асме многократно займет больше времени, чем грамотная разработка на тех же плюсах (т.е. ты банально больше функционала сможешь реализовать при равных трудозатратах).

Добавлено через 6 минут
+ асм код не будет переносим.
3
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
12.10.2016, 18:21
Зачем писать всё с нуля? Берём прекрасную ОС MINIX, и доделываем её. В мире столько всего недоделанного, но хорошего, именно потому, что все что-то хотят "своё". Поэтому ничего и нет в результате...
1
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
12.10.2016, 20:44
CoderHuligan, А не возникало мысли, что может быть интересен сам процесс?
В этом контексте считаю что лучше пройти проторенной дорожкой и разобрать существующий код
готовой оси и тогда уже можно дополнить или изменить что то сообразно своим идеям.
И это хороший способ разобраться как все устроено и работает. Поэтому я и выбрала для
себя серию постов по постройке игрушечной оси. Разбираю готовое, вношу изменения
согласно своим находкам. Но подобные наработки с подробным описанием даже близко не
стоят рядом с minix3 или plan9. А ТС может не понимает на что замахнулся и ему вполне
подошел бы например конструктор LFC https://barracuda72.github.io/
По всей видимости у него есть какие то основные планы на дальнейшую судьбу своей оси
и как мне кажется всему виной тлетворное влияние форекс
1
 Аватар для BOGG ART
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
12.10.2016, 20:58
pgb, а вот так другое дело. Делайте, показывайте - тогда будем обсуждать, сравнивать с конкурентами, возможно что-то советовать.
2
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
13.10.2016, 00:37
nezabudka, на низком уровне он ни разу не писал.
У него delphi + lazarus, что само по себе скрывает от программера само приложение, т.к. delphi предлагает только ставить свои обработчики и все, что такое стандартные классы окна, что такое регистрация класса пользователя он не знает, т.е. предложи ему на асме GUI-программу написать, с окнами, кнопками - не сможет.
И это самое груснное в этой теме.
3
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16377 / 7689 / 1080
Регистрация: 11.11.2010
Сообщений: 13,769
13.10.2016, 01:48
nezabudka,
предлагаю создать новую тему "Создание учебной операционной системы" в виде дневниковых записей, где будете описывать цели создания, возникшие трудности, фрагменты системы и т.д. и т.п. От остальных будут советы, рекомендации, помощь, от вас описание создания проекта и сопутствующий драйв...
1
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
13.10.2016, 06:59
Mikl___, Ну я как то уже недавно начала вылаживать свои подвижки на одном ресурсе.
Не думаю что здесь это кого заинтересует потому, что пишу на gas, дебажу под линем. Даже среди
коллег пользователей линукса интереса к этому ноль и получается главным образом я делаю это для
систематизации собственных знаний. Хотя по некоторым вопросам я думаю все же смогу здесь задать
определенные вопросы и постараться оформить их на nasm, fasm или хотя бы в интел нотации.
Constantin Cat Для тех кто знакомится с асмом под линукс, с окошками так же будет но очень просто
В любом случае, здесь очень хороший коллектив и я не перестаю его везде пропагандировать. И если бы
не старые завязки я целиком была бы только здесь. Я через этот форум написала свою первую программу-игру на bash
и вот уже разбираюсь с ассемблером
Воспользуюсь случаем скажу большое спасибо всем профессионалам за их терпение по работе с новичками.
3
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
13.10.2016, 08:25  [ТС]
Цитата Сообщение от Mikl___ Посмотреть сообщение
предлагаю создать новую тему "Создание учебной операционной системы" в виде дневниковых записей, где будете описывать цели создания, возникшие трудности, фрагменты системы и т.д. и т.п. От остальных будут советы, рекомендации, помощь, от вас описание создания проекта и сопутствующий драйв...
По сути да, надо делать ещё одну тему(но не сейчас, а немного позже как только будет что показать). В данной теме и других темах этого раздела можно обсуждать общие вопросы, в новой исключительно описание и фрагменты кода ОС.

Добавлено через 6 минут
Я сторонник простоты. Когда изучаешь материалы каких-либо систем, у меня в голове постоянно возникает мысль: "зачем всё так усложнять-то, почему не сделать проще и понятнее". Поэтому я буду делать так, что даже далёкий от программирования человек смог разобраться в системе, и сделать её так чтобы она была с высокой степенью защищённости.
1
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
13.10.2016, 16:56
Утопия все это. Уровень слишком разный. Еще когда начинаешь таким пионерам объяснять, что они делают неправильно, то в ответ следуют наезды.
Цитата Сообщение от pgb Посмотреть сообщение
зачем всё так усложнять-то, почему не сделать проще и понятнее
Будет КОС2. И потом уже не сделаешь ничего с этим. Хотя конкретно в данном случае вообще ничего не будет.
3
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
13.10.2016, 17:45  [ТС]
Цитата Сообщение от shmkv Посмотреть сообщение
Будет КОС2. И потом уже не сделаешь ничего с этим. Хотя конкретно в данном случае вообще ничего не будет.
не судите по себе
0
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
13.10.2016, 17:46
Цитата Сообщение от pgb Посмотреть сообщение
не судите по себе
Это прекрасный ответ, когда по факту сказать нечего.
2
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
13.10.2016, 19:18  [ТС]
Цитата Сообщение от shmkv Посмотреть сообщение
Это прекрасный ответ, когда по факту сказать нечего.
Скажу по факту. Я себя знаю лучше чем вы меня, знаю чего могу добиться. Есть определённый опыт. Скажу ещё что с ноля писать проще чем использовать чьё-то говно. Вы пытаетесь использовать чужие наработки поэтому у вас возникает масса проблем. Работая над разными программами на разных языках программирования постоянно сталкиваешься с соблазном использования уже готовых библиотек, толком не понимая и не зная как они работают, конечно можно разобраться, но в итоге не всё получается так хорошо как бы хотелось, на порах создания проекта кажется, что всё вроде бы хорошо, но в итоге может оказать просто мартышкин труд. Сейчас думаю понимаете о чём говорю. И рано или поздно хороший программист приходит к мнению что надо написать хорошую основу для своих будущих проектов.

Я вам в ближайшее время быстрых результатов не покажу, так как надо ещё многое изучить по архитектуре памяти, но я не отступлюсь и сделаю всё как надо.
0
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
13.10.2016, 20:50
Цитата Сообщение от pgb Посмотреть сообщение
Есть определённый опыт.
Опыт чего?
Цитата Сообщение от pgb Посмотреть сообщение
Скажу ещё что с ноля писать проще чем использовать чьё-то говно.
А вот мой опыт и опыт других знакомых программистов говорит, что как правило наоборот.
Цитата Сообщение от pgb Посмотреть сообщение
Вы пытаетесь использовать чужие наработки поэтому у вас возникает масса проблем.
А ты попробуй вручную напиши парсек AML для своей ОС (который будет работать хотя бы на большинстве мат. плат). Если осилишь, то я публично возьму свои слова обратно.
Цитата Сообщение от pgb Посмотреть сообщение
И рано или поздно хороший программист приходит к мнению что надо написать хорошую основу для своих будущих проектов.
Приходит как раз таки к обратному.
1
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
14.10.2016, 08:01  [ТС]
Цитата Сообщение от shmkv Посмотреть сообщение
Приходит как раз таки к обратному.
С таким настроем вам тут делать нечего
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.10.2016, 08:01

создание сайта с нуля
привет форумчане, есть задача написать свой сайт, который: 1. Имеет обычную и мобильную версию 2. помимо статичной инфы, на нем...

Создание такого bg c нуля
Гайс, помогите найти урок как такой бг делать, я чет так и не смог найти

Создание сайта с нуля
Здравствуйте! Из языков программирования знаю только C и C++; С нуля создать одностраничный сайт, где на странице будет написано...

Создание шаблона с нуля!
Кто то хочет научиться?

Создание БД MySql с нуля
Есть задание сделать БД MySql в локальной сети,которая будет лежать на сервере(WINdows 2003),из которой будут тянутся данние для внешней бд...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru