На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Создать программу для компа, работающую без операционной системы. Возможно? , Программирование компа без операционной системы
    Я не уверен, что в правильный раздел запостил свою тему.
    Но если нет - модераторы перенесите её в нужный раздел.

    Просто я подумал, что с такими задачами скорей всего только ассемблерщики сталкивались.

    Меня интересует, где можно найти проекты и IDE позволяющие работать с "голым" железом напрямую. Без всяких прослоек вроде Windows, DOS, или Windows.

    Я понимаю, что теоретически это сделать возможно: написать свой загрузчик, свои драйверы и т.п.

    Но вот как это все практически сделать?

    Я хочу работать с голым железом напрямую, без API, DOS-функций и т.п.

    Ну совсем без API и драйверов наверное не выйдет обойтись.
    При начальной загрузке.

    Но чтоб потом железо было полностью отдано моей программе.

    Чтобы даже никакие прерывания не могли прервать мою программу.

    Алгоритм примерно такой хотелось бы реализовать:
    1) BIOS запускает загрузчик, который переносит в ОЗУ программу с флешки и гигабайт данных с флешки и передает управление программе
    2) Программа в полностью монопольном режиме (не отвлекаясь даже не на какие прерывания вообще) перемалывает этот гигабайт и возвращает управление загрузчику
    3) Загрузчик записывает перемолотый гигабайт обратно на флешку
    всё.

    Хотелось бы знать кто делал такие проекты насколько сложно это реализовать? И как?

    Добавлено
    А может в Windows возможно отключить, так сказать, Windows?
    Т.е. Windows запускает программу и больше код Windows вообще не работает пока программа сама не отдаст управление
      Цитата Исмаил Прокопенко @
      Меня интересует, где можно найти проекты и IDE позволяющие работать с "голым" железом напрямую.

      Можно. Я делал такие.
      Цитата Исмаил Прокопенко @
      Без всяких прослоек вроде Windows, DOS, или Windows.

      Да.
      Цитата Исмаил Прокопенко @
      Но вот как это все практически сделать?

      Ну можно начать с загрузичка.
      Цитата Исмаил Прокопенко @
      Ну совсем без API и драйверов наверное не выйдет обойтись.

      Загрузчик запускается под BIOS'ом.
      Цитата Исмаил Прокопенко @
      BIOS запускает загрузчик, который переносит в ОЗУ программу с флешки и гигабайт данных с флешки и передает управление программе

      Зачем гигабайт!? А если нет ГБ ОЗУ? И через BIOS работа с флешкой м.б.очень медленна (он рассчитан ТОЛЬКО для чтения загрузчика ОС). Гигабайт лучше читать своим драйвером, хотя написать свой драйвер USB очень и очень трудоемко. Писал только для двух типов хост-контроллеров (их сейчас уже 4ре).
      Цитата Исмаил Прокопенко @
      Программа в полностью монопольном режиме (не отвлекаясь даже не на какие прерывания вообще) перемалывает этот гигабайт и возвращает управление загрузчику

      Так-то особых проблем нет. Если нужен SMP, то сложнее. Ну с отключением SMI тоже могут быть заморочки (если ну вообще хочется без прерываний 100%).
      Цитата Исмаил Прокопенко @
      Хотелось бы знать кто делал такие проекты насколько сложно это реализовать?

      Если скорость чтения/записи на флешку не важна (не нужен свой драйвер USB), то не сказал бы что сильно сложно.
      Цитата Исмаил Прокопенко @
      И как?

      Слишком общий вопрос. В интернете есть теперь даже статьи типа пишем свою ОС.

      Добавлено
      Цитата Исмаил Прокопенко @
      А может в Windows возможно отключить, так сказать, Windows?

      Можно, но нужно писать свой драйвер режима ядра. Для SMP-систем сложнее.

      Добавлено
      Цель-то какая? Если хочется ускорить вычисления, то я разочарую: прирост по сравнению с правильно настроенной ОС будет 5% в лучшем случае. И то при правильной оптимизации своей самодельной ОС. А то можно и отрицательный выигрыш получить.
      Сообщение отредактировано: shm -
        Если нужна именно скоростная числодробилка, то имеет смысл глянуть на GPU-вычисления (всякие там CUDA, OpenCL).
          Исмаил Прокопенко
          Что за вычисления-то? Научные? Тогда есть смысл смотреть в сторону создания своего BOINC-проекта, или хотя бы контакта с местными универами (если еще/уже не в универе) на предмет использования их кластеров. Получишь результат на порядки быстрее.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0298 ]   [ 16 queries used ]   [ Generated: 29.03.24, 04:48 GMT ]