Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Bare machine

From Wikipedia, the free encyclopedia
(Redirected fromBare metal)
Computer without an operating system
"Bare metal" redirects here. For other uses, seeBare metal (disambiguation).
This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(May 2021) (Learn how and when to remove this message)

Ininformation technology,bare machine (orbare-metal computer) is acomputer which has nooperating system.[1] The software executed by a bare machine, commonly called a "bare metal program" or "bare metal application",[2] is designed to interact directly with hardware. Bare machines are widely used inembedded systems, particularly in cases where resources are limited or high performance is required.[3]

Advantages

[edit]

Typically, a bare-metal application will run faster, use less memory and be more power efficient than an equivalent program that relies on an operating system, due to the inherent overhead imposed by system calls. For example, hardware inputs and outputs are directly accessible to bare metal software, whereas they must be accessed through system calls when using an OS.[4]

Disadvantages

[edit]

Bare metal applications typically require more effort to develop because operating system services such as memory management and task scheduling are not available.

Debugging a bare-metal program may be complicated by factors such as:

  • Lack of a standard output.
  • The target machine may differ from the hardware used for program development (e.g.,emulator, simulator). This forces to set up a way to load the bare-metal program onto the target (flashing), start the program execution and access the target resources.

Bare-metal programming is generally done using a close-to-hardware language such asRust,C++,C, orassembly language.[5]

Examples

[edit]

Early computers

[edit]

Early computers, such as thePDP-11, allowed programmers to load a program, supplied inmachine code, toRAM. The resulting operation of the program could be monitored bylights, and output derived frommagnetic tape, print devices, orstorage.

Embedded systems

[edit]
The WikibookEmbedded Systems has a page on the topic of:Super Loop Architecture

Bare machine programming is a common practice inembedded systems, in whichmicrocontrollers ormicroprocessors boot directly into monolithic, single-purpose software without loading an operating system. Suchembedded software can vary in structure. For example, one such program paradigm, known as "foreground-background" or "superloop" architecture, consists of an infinitemain loop in which each task is executed sequentially.[6]

See also

[edit]

References

[edit]
  1. ^"Understanding Bare Metal: Exploring the Meaning and Benefits". DataBank. Retrieved17 January 2025.
  2. ^"Bare Metal Overview". Intel. Retrieved17 January 2025.
  3. ^Beningo, Jacob."Is Bare-Metal Programming Dead?". DesignNews. Retrieved17 January 2025.
  4. ^Gordon, Abel; Amit, Nadav; Har'El, Nadav; Ben-Yehuda, Muli; Landau, Alex; Schuster, Assaf; Tsafrir, Dan (2012)."ELI".ACM SIGPLAN Notices.47 (4):411–422.doi:10.1145/2248487.2151020.
  5. ^"Practical Guide to Bare Metal C++". RetrievedDecember 16, 2022.
  6. ^Niedźwiedź, Krzysztof."Embedded Systems Programming: A Foreground-Background ("Superloop") Architecture". Retrieved17 January 2025.

Further reading

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Bare_machine&oldid=1272657090"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp