Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
Своя ОС для чайника09.01.2010, 22:16. Показов 34552. Ответов 81
Хочу написать свою ОС на асме. Самую простую. Единственное, что она должна уметь: загружаться с неё, открывать файлы (проводник) пускай консольный или еще какой. Но нужно, чтобы скажем если установлены некоторые программы, то с этой ОС можно было бы найти екзешник и его запустить. Если и это сложно, то хотя бы чтобы по нажатию клавиши открывалась любая заведомо установленная программа. Нашел-написал это MyOS.rar Я не претендую написать полноценную ОС. Просто пример.
Там в архиве готовая ОС. Но я не могу разобраться как её скомпилировать.
0
|
09.01.2010, 22:16 | |
Ответы с готовыми решениями:
81
ДК для чайника QT для чайника |
![]() 2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
||
10.01.2010, 20:07 | ||
Ну и зачем вам этот код ? Просто чтение нескольких секторов есть и в моем коде.
Строки 36 - 44 в посте #19 грузят "ядро" со следующих секторов в память. А вот как в DOSBox'e запустить загрузочную дискету... ![]()
1
|
Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
||
10.01.2010, 20:40 [ТС] | ||
Evg, Я его запустил из под чистого доса, он даже что-то читал (лампочка мигала), но на экране ничего не появилось.
Добавлено через 5 минут ![]()
0
|
![]() 2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
||||||
10.01.2010, 22:52 | ||||||
Вобщем вот образ дискеты. В загрузочной записи у нее этот код. Единственное, что я изменил - это поменял имя загружаемого файла с "BOOTOR" на "KERNEL", а то звучит как-то страшно
![]() С самом ядре - код, выводящий список файлов на дискете. Немного корявый правда, но показывает.
1
|
Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
11.01.2010, 02:43 [ТС] | |
Спасибо. Только форматнуть винт надо в ФАТ32 и все.
Добавлено через 2 часа 4 минуты Форматнул винт в ФАТ32. Все равно не совсем оно все файлы показало. Вообще-то тут же файловая система винта не влияет, да? влияет только система дискеты? Добавлено через 3 минуты А на дискете там вообще ФАТ12. То есть чтобы прочесть что-то с жесткого диска надо еще переделывать это все под НТФС или хотя бы ФАТ32, так я понимаю? Щас почти никто уже даже ФАТ32 не юзает. Почти все NTFS. Добавлено через 12 минут NTFS более надежный. Поэтому вообще если эту ОС будут испытывать на компютерах с виндой (ну не раритетных ![]() ![]()
0
|
![]() 2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|
11.01.2010, 02:44 | |
Однако, даже прочесть NTFS очень не просто. И за 2 недели вряд ли получится написать такой модуль...
Да фат12, фат16 и фат32 отличаются и, хотя логика похожа, код нужно переделывать отдельно для каждой из ФС. Чтение с жесткого диска также несколько сложнее, чем с дискеты... При загрузке с CD, последний подставляется биосом, как диск А, поэтому загрузка вроде как должна быть такой же, правда я сам не пробовал...
1
|
Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|||
11.01.2010, 02:59 [ТС] | |||
Меня вообще поразила Kolibri OS. Она видит нормально харды, под ней быстро клепаются проги на С и на Паскале, на асме. И вообще она много чего умеет. Красивый рабочий стол) Много библиотек своих.
Добавлено через 8 минут Вот еще: Колибри прекрасно ставится на хард и с него грузится как полноценная ОС, только если там ФАТ32. Я пробовал в НТФС - не загрузилась. В чем тут дело? В чем основная сложность загрузки с НТФС?
1
|
![]() 2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
||
11.01.2010, 03:03 | ||
Ей вообще-то и годков уже не так мало. да и сама она выросла из MenuetOS. Но сейчас это скорее игрушка для разработчиков, т.к. для пользования ей там очень много чего не хватает, а для исследования уже слишком сложна.
Добавлено через 2 минуты
1
|
Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
11.01.2010, 03:31 [ТС] | |
Ух ты как все сложно на ровном месте. Почему нельзя было написать большую часть на асме, а потом, как и делают обычные люди
![]() Добавлено через 15 минут Вот интересный факт: Драйвер NTFSDOS Марка Руссиновича (Mark Russinovich) — поддержка чтения, а в версии Professional и записи на NTFS-разделы (с июля 2006 права на утилиты Марка Руссиновича принадлежат Microsoft, на сайте компании информации об этом продукте нет, но его без труда можно найти в Сети). Ведь ДОС грузится тоже с биоса. Можно по этим исходникам своё склепать.
0
|
![]() 2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|
11.01.2010, 03:35 | |
Я бы на вашем месте, все же на ntfs особо не заглядывался. Для начала стоит сделать модуль для фат32, а там, если время останется попробовать сделать чтение с нтфс. В конце концов вспоминается, сколько времени убили линуксоиды, пока написали боле менее приличную его поддержку...
Файловая система NTFS извне и изнутри
1
|
Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
11.01.2010, 06:14 [ТС] | |
Да я бы с радостью, но у нас мало компов с фатом. Хотя я так и сделаю видимо. Но мечтать же не вредно
![]() Добавлено через 2 часа 24 минуты Выложу что есть. 1) заготовка для файлового менеджера. только грузится она из под доса. 2) программулина, считывающая нтфс разделы из под биоса. 3) исходники доса. 4) еще разные куски кода, типа драйверов для поддержки длинных имен, смена цвета, и т. п. 5) огромное желание слепить из этого всего ядро ОС.
0
|
Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
11.01.2010, 06:33 [ТС] | |
Вот: Итог.rar
0
|
![]() 872 / 146 / 7
Регистрация: 26.04.2009
Сообщений: 633
|
|
11.01.2010, 07:57 | |
![]() ![]() ![]() ![]() Во, посетил ее сайтик. Уже не такая и бесполезная ![]()
1
|
Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
11.01.2010, 17:24 [ТС] | |
Goodwin98, что скажете на это все что я выложил? Можно из этого слепить простейшую операционную систему?
Добавлено через 1 минуту Удалов Дмитрий, taras atavin, Я это делаю ради примера. Уже все готово. Слепить вместе и все. Большего мне не надо. Добавлено через 31 минуту Вот как допустим сделать, чтобы эта заготовка грузилась из под биоса без ДОСа? Добавлено через 1 минуту Может написать код, который сначала загрузит дос, а потом мою ОС? Ведь код исходный ДОСа есть.
0
|
![]() 2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|
11.01.2010, 19:08 | |
Может тогда сразу ДОС сдавать ?
Отличная ОС, полная поддержка FAT12, FAT16 и FAT32, полная поддержка реального режима процессора. Есть менеджер памяти, обширный сервис апи, встроенный в командный интерпритатор скриптовый язык, есть встроенная поддержка таких устройств как PC-speaker, VGA, CGA, PCj, клавиатур AT и XT, НГМД( 360, 720, 1228, 1474), НЖМД и много другого, а при использовании специальных драйверов, сервис для которых так же присутствует, эти богатые способности можно сильно расширить... ![]()
1
|
Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
||||||
11.01.2010, 20:04 [ТС] | ||||||
Ну не весь Дос заюзать. А вообще в коде MyComander.ASM вроде мало дос ф-й. Вообщем надо его с биоса запустить. А тот файл с поддержкой НТФС смотрели? Можно его дизасемблировать IDA PRO и прикрутить тоже?
Добавлено через 25 минут Что вот тут не так? Оно компилируется но не запускается.
Ваш код из поста 45 не работает ![]()
0
|
![]() 2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
||||||||||||||
11.01.2010, 23:18 | ||||||||||||||
1
|
Пробующий
![]() 185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|||
12.01.2010, 08:25 [ТС] | |||
bin.rar
0
|
12.01.2010, 08:25 | |
Помогаю со студенческими работами здесь
60
Литература для чайника для понимания VCL Atoi для чайника Assembler для чайника
Интеграл для чайника Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
![]() |
||||
Квантовые алгоритмы и обработка строк в Q#
EggHead 07.06.2025
Квантовые вычисления перевернули наше представление о том, как работать с данными, а Q# стал одним из ключевых языков для разработки квантовых алгоритмов. В традиционых системах мы оперируем битами —. . .
|
NUnit и C#
UnmanagedCoder 07.06.2025
В . NET существует несколько фреймворков для тестирования: MSTest (встроенный в Visual Studio), xUnit. net (более новый фреймворк) и, собственно, NUnit. Каждый имеет свои преимущества, но NUnit. . .
|
с++ Что нового?
russiannick 06.06.2025
Продолжаю обзор dev-cpp5. 11. Посмотрев на проекты, предоставленные нам для обучения, становится видно, что они разные по содержащимся файлам
где:
. dev обязательно присутствует
. cpp/ . c один из них. . .
|
WebAssembly в Kubernetes
Mr. Docker 06.06.2025
WebAssembly изначально разрабатывался как бинарный формат инструкций для виртуальной машины, обеспечивающий высокую производительность в браузерах. Но потенциал технологии оказался гораздо шире - она. . .
|
Как создать первый микросервис на C# с ASP.NET Core, step by step
stackOverflow 06.06.2025
Если говорить простыми словами, микросервисная архитектура — это подход к разработке, при котором приложение строится как набор небольших, слабо связанных сервисов, каждый из которых отвечает за. . .
|
Рисование коллайдеров Box2D v2 на Three.js с помощью порта @box2d/core
8Observer8 06.06.2025
Используется порт Box2D v2 под названием @box2d/ core - пакет NPM. Загрузил документацию Box2D v2 на Netlify: https:/ / box2d-v2-docs. netlify. app/ Документацию Box2D v2 можно скачать с официального. . .
|
Как создать стек в Python
AI_Generated 05.06.2025
Как архитектор с более чем десятилетним опытом работы с Python, я неоднократно убеждался, что знание низкоуровневых механизмов работы стеков дает конкурентное преимущество при решении сложных задач. . . .
|
Server-Sent Events (SSE) в Node.js
run.dev 05.06.2025
Потоковая передача данных с сервера прямо в браузер стала повседневной потребностью - от биржевых графиков и спортивных трансляций до чатов и умных дашбордов. Много лет разработчики полагались на. . .
|
Создаем RESTful API на Golang с Fiber
golander 04.06.2025
Я перепробовал десятки фреймворков для создания RESTful API за последние годы, и когда впервые столкнулся с Fiber, понял, что это совсем другой уровень. Нет, я не собираюсь рассказывать сказки о. . .
|
Как работать с куки в ASP.NET Core
UnmanagedCoder 04.06.2025
Когда я впервые начал работать с куки в ASP. NET Core, меня поразило, насколько отличается работа с ними от классического ASP. NET. В Core все стало более декомпозированным - больше нет удобного. . .
|