Голая машина

редактировать
Компьютер без операционной системы

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

Содержание

  • 1 Преимущества
  • 2 Недостатки
  • 3 Примеры
    • 3.1 Ранние компьютеры
    • 3.2 Встроенные системы
  • 4 Разработка
  • 5 См. Также
  • 6 Ссылки

Преимущества

Для данного приложения в большинстве случаев реализация на «голом железе» будет работать быстрее, используя меньше памяти и, следовательно, более энергоэффективно. Это связано с тем, что операционным системам, как и любой программе, требуется некоторое время выполнения и объем памяти для работы, и они больше не нужны на «голом железе». Например, любая аппаратная функция, включая входы и выходы, доступна напрямую на голом железе, а использование ОС обычно подразумевает вызов подпрограммы, потребляя время работы и память.

Недостатки

Для конкретного приложения программирование на «голом железе» требует больше усилий для правильной работы и является более сложным, поскольку службы, предоставляемые операционной системой и используемые приложением, должны быть повторно реализовано с учетом потребностей. Эти службы могут быть:

  • Запуск / загрузка системы (обязательно).
  • Управление памятью: сохранение местоположения кода и данных, касающихся аппаратных ресурсов и периферийных устройств (обязательно).
  • Прерывания обработка (если есть).
  • Планирование задач, если приложение может выполнять более одной задачи.
  • Управление периферийными устройствами (если есть).
  • Управление ошибками / сбоями, если желательно и / или необходимо.

Отладка программы на «голом железе» затруднена, поскольку:

  • Отсутствуют уведомления об ошибках программного обеспечения и управление сбоями, если они не были реализованы и проверены.
  • Не существует стандарта вывод, если он не был реализован и проверен.
  • Машина, на которой написана программа, не может быть той же, на которой программа выполняется, поэтому целевым оборудованием является либо эмулятор / симулятор, либо внешнее устройство. Это вынуждает настроить способ загрузки программы на «голое железо» в цель (мигает ), запустить выполнение программы и получить доступ к целевым ресурсам.

Программирование «на голом железе» обычно выполняется с использованием закрытого кода. аппаратный язык, такой как C ++, C или язык ассемблера, которые, как правило, сложнее освоить. Все предыдущие проблемы неизбежно означают, что программы на «голом железе» очень редко переносимы.

Примеры

Ранние компьютеры

Ранние компьютеры, такие как PDP-11 позволяет программистам загружать программу, предоставленную в машинном коде, в RAM. Результирующая работа программы может отслеживаться с помощью индикаторов, а вывод выводиться с магнитной ленты, устройств печати или хранилища.

Встроенные системы

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

Разработка

Подход с использованием «голых» машин проложил путь новым идеям, которые ускорили эволюцию разработки операционных систем.

Этот подход выявил необходимость в следующем:

. Например, программы загружались в PDP-11 вручную, с помощью ряда переключателей на передняя панель устройства. Клавиатуры намного превосходят эти старинные устройства ввода, поскольку гораздо быстрее набирать код или данные, чем использовать тумблеры для ввода их в машину. Позднее клавиатуры станут стандартом почти для всех компьютеров, независимо от марки или цены.

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

См. Также

Ссылки

Последняя правка сделана 2021-05-11 12:07:57
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте