Operating System Design/Interface< Operating System Design
An interface is a connection between two devices or organisms or between a device and an organism. Interfaces are usually characterized by a standard, by protocols, and by physical links. The earliest computers had only a plug-board and lights for input and output. Scientists had to put customized plugs into the plug-board, and then read the results off of the lights. Then, a printer interface was created that allowed the computer to form letters in much the same way as typewriters did. Then punch cards were created that let operators enter programs one line at a time. From this evolved command languages that operated on a line at a time, these early protocols were later called Command Line Interfaces or CLI's. As computers became more powerful, more devices were allowed to hook up to them, and more interfaces were designed. Different computer companies made different types of interfaces for the same devices, and so there was always a demand that the manufacturers settle on a common standard for their interfaces. From this developed first buses, then Interface cards, then standard interface designs, until today, computers come with many standard hardware and software interfaces that allow them to talk to many different types of hardware, and to connect to humans in different and gradually more and more intuitive ways.
Fiction would have us believe that the most intimate interface would be an implant within the head that allowed us to interface directly with a computer, that might also be within our heads. Until this is practical we are limited to interfaces based on graphics and pointing devices, and a type of interface called a GUI or Graphics User Interface. The most popular of these interfaces is called WIMP (Windows, Icons, Menus, Pointers), which was originally written in Smalltalk for the Xerox star, and was rewritten to suit other platforms when it was found to be so useful. You are probably using a variation of this interface now.