Biomedical Engineering Reference
In-Depth Information
One of the distinguishing characteristics of the digital computer is the development of several layers
of abstraction above the hardware through the use of a software program referred to as the
operating system. The significance of the operating system for end users of computer systems is a
relatively recent phenomenon. Prior to the introduction of the PC, programmers and users never
interacted with the operating system. It was the computer operator's job to work with the utilities
that read data from punched cards, tape, and large disk packs. For everyone else, the user interface
consisted of a keypunch machine that could create a single line of code or data. Rearranging lines of
code consisted of rearranging stacks of punched cards. Still, users could write in FORTRAN or other
high-level languages, without having to worry about the individual registers in the microprocessor.
Operating systems allow users to upgrade their underlying hardware, often without having to learn
new applications. They allow users with different hardware—even with different underlying operating
systems—to share data. The transition hasn't been smooth, however, and there are still
incompatibility issues because of the constant evolution of Macintosh, Windows, UNIX, Linux, and
other operating systems. The operating system has undergone tremendous market and technologic
evolution since its introduction, with thousands of operating system-specific applications and utilities
forced into evolutionary dead ends in the process. Today, UNIX, Microsoft Windows, and Linux rule
the desktop PCs, and even these systems are in flux as the developers jostle for market share.
Although process control programmers may have to deal with the base hardware and basic
input/output system (BIOS), written in Assembly language, most programmers use a higher-level
language. In this way, programmers don't have to concern themselves with the intricacies of the
underlying microprocessor or other hardware, but work at a level of abstraction with a "virtual
machine," as shown in Figure 1-13 .
Although a process control program can be written in Assembly language, abstraction allows the
programmer to focus on the real-world problems, such as controlling the progression of a laser beam
across a sample of dyed base sequences. The level of abstraction is often a function of the language
used to communicate to the hardware. There are dozens of computer languages, many developed for
niches in the digital computer world. For example, LISP (LISt Processing) and Perl have been used
extensively in pattern-matching research, and SIMULA is popular in the simulation and modeling
world. BASIC, PASCAL, and Smalltalk have enjoyed popularity in academic settings, because they are
easy to use or demonstrate important programming concepts. MUMPS continues to be used for
medical databases, and PHP, XML, Python, and JAVA are increasingly popular for Web development.
FORTH, one of the first process control languages, developed initially to control observatory
telescopes, continues to be used in equipment controllers. Outside of relatively small niche areas,
many of these languages turned out to be evolutionary dead ends, in favor of industry standard
BASIC and C++.
Search WWH ::




Custom Search