Java — загрузочная программа

Я разработчик внешнего интерфейса, который хочет освоить некоторые другие языки, такие как Java или C ++. У меня есть идея для программы, и я просто искал ответ на что-то. То, что я хотел бы сделать, это собрать программу и загрузить непосредственно к этой программе. Например, у меня есть старый компьютер, и я вытираю жесткий диск. Так что на данный момент они ничего не значат. Даже не ОС. Я хочу создать программу, которую я смогу установить на жесткий диск, который загрузится прямо в программу после ее запуска. Будет ли это рассматриваться как ОС?

2

Решение

Нет, ты не Если вы не хотите тратить много лет на написание драйверов для вашей видеокарты, контроллера жесткого диска, контроллера USB, контроллера DMA и всего остального оборудования, которое есть на вашем компьютере.

Вам нужна минимальная операционная система, которая включает в себя только ядро ​​и библиотеку времени выполнения, которая запускает вашу программу и ничего больше при запуске. Хорошей отправной точкой будет минимальный Linux, такой как linux с нуля или bsd.

2

Другие решения

Прежде всего, вам нужно решить, что нужно вашей программе. Я имею в виду должен работать в Protected mode или у вас небольшая подпрограмма, поэтому ее достаточно запустить до перехода в защищенный режим (т. е. в real mode).

Здесь вы можете сделать три вещи

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

    Теперь обратите внимание, что для последующих двух пунктов вам нужно изменить ядро, что не легко (даже не всегда возможно)

    Теперь проблема в первом подходе: Ничто не будет готово для вас, даже не обычная библиотека C или водители , поэтому вы должны писать каждый необработанный бит кода вручную, что является грубым.


Это конечно не возможно в Java. Потому что JVM не будет готов для вас.

Этапы загрузки


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

2

Во-первых, Java прямо сейчас. Вы не можете сделать это в Java без огромного количества инструментальных средств. Java вообще не подходит для этой задачи.

Вы можете сделать это на C ++ или C. Поисковые термины, которые вы ищете, — это разработка операционной системы. Вероятно, технически это не будет рассматриваться как разработка операционной системы, поскольку она не будет запускать другие программы, но информацию о том, как пройти процедуру загрузки и создать минимальную среду, будет легче всего найти в категории операционных разработка системы. Некоторые разумные стартовые ресурсы для этого можно найти на OS Dev Wiki.

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

1

Java не может работать без окружающей среды. Если вы хотите запустить свою программу на своем компьютере без ОС, Java — неправильный выбор.
Программа на C ++ может работать без ОС, но сложно написать загрузочную программу на C ++.
Если вы хотите написать собственную загрузочную программу, вам следует использовать ассемблер для загрузки и загрузки, с некоторыми знаниями для использования аппаратного обеспечения на низком уровне.

1

У вас должна быть операционная система, поэтому ваша программа будет операционной системой (или вам придется использовать другую и написать ее для этого). Это конечно возможно в C ++, но на самом деле невозможно написать операционную систему на Java.

0

Если вы не хотите написать что-то в (например) Открытая прошивка а также вперед или сказать ROM BASIC. Вы, вероятно, будете квалифицированы как загрузчик. Ваша заявка может рассматриваться как операционная система. На мой взгляд, и современный контекст полностью зависит от того, сколько функциональных возможностей он предоставляет размещенным приложениям. Я не уверен, что что-то вроде FreeDOS будет рассматриваться как операционная система (без упреждающего планирования задач или графического интерфейса, например) с учетом современных компьютеров (я не хочу спорить об этом в любом случае).

0
По вопросам рекламы [email protected]