Bare machine
Encyclopedia
Bare Machine, in computer parlance, means a computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

 without its operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

. Modern operating systems evolved through various stages, from elementary to the present day complex, highly sensitive real-time systems. In the very first stage of computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

 there was nothing like an Operating System at all. Programs were fed to the computer system directly using machine language by the programmers without any system software support. This approach is termed the "Bare Machine" approach in the development of operating systems.

Example

The PDP-11
PDP-11
The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s, one of a succession of products in the PDP series. The PDP-11 replaced the PDP-8 in many real-time applications, although both product lines lived in parallel for more than 10 years...

 machine allowed programmers to feed a program, written in machine code
Machine code
Machine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...

, to RAM
Ram
-Animals:*Ram, an uncastrated male sheep*Ram cichlid, a species of freshwater fish endemic to Colombia and Venezuela-Military:*Battering ram*Ramming, a military tactic in which one vehicle runs into another...

 directly using front panel switches, and the result of execution of the loaded program could be observed on lights mounted on front cover itself. The approach was very much user-unfriendly, non-robust and tiresome, as someone would have to load the entire program in machine code, and he/she would have to do that each time the user wanted to execute it. Had there been a power failure during the feeding of the program then that would require the entire program to be reloaded on restart. The whole process was highly time consuming and thus resulted in poor throughput
Throughput
In communication networks, such as Ethernet or packet radio, throughput or network throughput is the average rate of successful message delivery over a communication channel. This data may be delivered over a physical or logical link, or pass through a certain network node...

.

Development

Although the Bare Machine approach failed, it paved the way for new ideas that pushed the process of OS evolution to its next stage. Bare Machine approach brought out a need for the following:
  1. Input/output
    Input/output
    In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world, possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...

     (I/O) devices to enter both code and data conveniently and output the result of execution in a user friendly manner
  2. Secondary storage devices to store the program to non-volatile memory
    Non-volatile memory
    Non-volatile memory, nonvolatile memory, NVM or non-volatile storage, in the most basic sense, is computer memory that can retain the stored information even when not powered. Examples of non-volatile memory include read-only memory, flash memory, ferroelectric RAM, most types of magnetic computer...

  3. Requirement for a convenient high-level language and a translator for such a high-level language to the corresponding machine code
  4. Linkers to link library modules, which may be written by the user or already available in the system
  5. Loaders to load the executables to the primary memory from the secondary storage
  6. Suitable I/O devices like printers for producing a hard-copy of the output generated by the program
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK