Це може бути марним, оскільки я знаю, що написання операційної системи нестерпно складне (особливо самотужки).
Я не сподіваюся створити наступний Linux або Windows.
Я знаю, що це буде жахливо, і баггі, і не буде працювати, але це добре.
Я хочу все написати самостійно, в Асамблеї , С та (деяких) С ++ .
Це майбутній проект, оскільки я зараз зайнятий якимись іншими речами і не маю часу одразу, але я подумав, що зараз це запитаю, тому, можливо, я можу отримати багато відповідей на це, і це могло б створити і бути корисним ресурсом для такого типу підходу (все інше, що я бачив, пов'язане зі складанням minix, використовуючи наявний завантажувач, будуючи його у віртуальній програмі завантажувальної програми тощо).
Я хочу встановити один зі своїх старих настільних комп'ютерів з монітором, клавіатурою та мишкою і почати працювати на порожньому жорсткому диску.
Я хочу навчитися писати власний завантажувач (я знайшов багато ресурсів з цього приводу, але для повноти, будь ласка, додайте ще кілька хороших), власний USB-драйвер (якщо це необхідно), драйвер CD (якщо це потрібно) ) і т. д. Все, з нуля.
Як вставити код на комп'ютер? Краще це зробити з дискети? Чи може більшість комп'ютерів зробити це з USB-накопичувача?
Які драйвери мені потрібні, і чи можете ви запропонувати будь-які посилання на їх створення?
Після послідовності завантаження - тоді що? Як перейти в захищений режим і т.д.
Як керувати пам'яттю без допомоги операційної системи? Я просто використовую всі потрібні адреси? Не потрібна ініціалізація?
Що я, безперечно, натрапляю на це, що збентежить мене?
Як я можу зробити це командним рядком O / S та графічним?
На чому побудований графічний O / S? Мовляв, як би я зробив щось на зразок, командний рядок із шрифтом та малюнком вгорі?
Де можна прочитати про налаштування багатозадачного середовища? (тобто, має два графічно схожі командні рядки, що працюють поруч).
Як би я встановив якусь систему вікон? Як відображати графіку на екрані після встановлення простої багатозадачності?
Повірте, я розумію, що це дуже складний проект, і я, мабуть, ніколи не обійдуся його виконанням чи написанням на ньому будь-якої користі.
Є багато інших творів до цього, про які я не згадував, якщо ви думаєте про будь-яке, сміливо додайте і їх.
Будь ласка, введіть одну "тему" на відповідь - наприклад, драйвери USB, а потім, можливо, список ресурсів, речі, на які слід звернути увагу тощо.
Крім того, не рекомендуйте створювати інший O / S або попередній код. Я знаю, що я прочитаю багато раніше існуючого коду (наприклад, ядро Linux, або приклади ресурсів, наявні драйвери тощо), але в кінцевому підсумку я хочу все написати самостійно. Я знаю, що я повинен будувати щось інше, і є багато інших запитань, про те, що я можу прочитати, якщо передумаю і піти цим шляхом. Але це все про те, щоб зробити всю справу з нуля.
Будь-які пропозиції щодо того, як це зробити графічним? Різні режими відео і як з ними працювати тощо?