
If you did not fill out a survey, please pick one up from me during another lecture or office hours. Thank you.
The five primary course objectives of ECS15 are:
A computer system contains hardware and software.
Hardware: The physical components that you can touch - the monitor (display), keyboard, mouse, system unit, etc.
Software: The programs that transform input data to output data.
A computer programmer is a person who writes computer
programs.
A computer user is a person who purchases and uses computer
software written by others.
Fig. 1-4, shows the Four Primary Hardware Components of Computers - Input, Output, Processing, and Storage.
A classification of computers is found in Figure 1-5. In increasing order of size, cost, and processing power, they are - (pen-based/ hand-held) computers, laptop computers, personal computers (microcomputers), workstations (midsize or minicomputers), mainframe computers, and supercomputers. We will describe how computer hardware and software works, especially on personal computers, during the quarter.
Computer software comes in a few different categories, including operating systems, applications programs, utilities, educational software, entertainment software, and programming languages. You will use programs in most of those categories in this course! In lab 1, you will have experience working with two operating systems - DOS and Windows95.
It is also important to consider the layers of software that are used inside a computer. First, remember that all computer instructions are software. However, the software inside a computer serves many different purposes. You have already learned that a computer contains several "entities:" the Boot program, DOS and Application programs. Each of these sets of instructions are programs. Boot instructions are stored in a special way inside a computer, using a special form of memory called ROM, for Read Only Memory, a set of computer "chips" that store special instructions to get the computer started when it is turned on. (By contrast, the RAM [Random Access Memory] used to hold DOS and Applications programs is erased each time the machine is turned off. ROM is useful for the Boot program, but since we need to change the conditions under which DOS works, and we want to switch applications in a general purpose computer, we never use ROM except for permanent, fixed programs like the Boot program.
DOS and Windows 95 are also programs - called operating systems. They control the user's interaction with the computer, once Boot has checked it out to make sure it is in working order.
You will see more about the types of software and specific programs in many of these areas throughout the quarter.
Stay tuned for more information about computer software and how it can help you in your life in the following lectures.
In the first class, you learned that there are several different entities inside general purpose computers, and that you must be careful to note which one is active at any given time. You also learned that the Boot program performs diagnostics, checks configuration, and then invokes the Operating System (DOS), which is then the "traffic cop" for all other uses of the computer.
This lecture introduces some of the key components of computers, so that you will understand them a little better and know how they interact with each other. There are a number of terms needed to describe computers; these terms are frequently used and probably should be understood, at least in a superficial way, if you are going to be making frequent use of computers in your daily lives.
The most common way of describing a general purpose computer is to say that it consists of the following five components:
To understand a little more about how computers work, you need to accept one basic fact of today's electronic systems: they deal with two states: on and off, which are often called 0 and 1. Thus, they are binary systems, and all of the basic architecture of computers relies on binary representation. We refer to a binary digit as a Bit, and this is the smallest, indivisible unit of computer components. Computers group bits together to form larger groups of bits. The most important way of referring to a set of bits is the byte, which is 8 bits grouped together. The term byte is important because it forms the basis of most codes used inside computers: for storing instructions, storing data, and shaping the architecture of most components that you will study. You will learn more about bytes in the next couple of lectures, and we will refer to bytes constantly during the remainder of this course.
When humans interact with computers, they must learn something about the personalities inside the computer. In special purpose computer-based devices, such as flash attachments for cameras and demand-type traffic lights, there is only one entity: The microprocessor (computer) inside the device knows how to do a limited number of things (e.g., time the flash, turn lights green for a pre-defined interval based on signals from the roadbed near the intersection). Most pocket calculators have only one mode of operation, or entity: the ability to perform user- defined (but limited) calculations. One kind of pocket calculators has two modes: in the first, you can work with date, time, alarm clock, and stopwatch functions; in the other mode, you can do arithmetic calculations. This calculator, then, has two entities: it is a dual purpose microprocessor-based device.
Another type of pocket calculator does arithmetic calculations, but it also stores names and addresses and phone numbers. This is another dual purpose system, with two different entities.
With dual purpose systems, typing one key may have different effects on the workings of the processor, depending on which entity is active. For instance, if you type a plus sign while trying to set the alarm clock in the clock/calculator described above, nothing happens. However, when you type a period ("decimal point") while setting the alarm, the time is automatically changed to "pm" and a little sign saying "pm" appears on the display. Of course, the decimal point acts just like a decimal point when you are in the calculator mode. This, then, is a good example of the potential for error: hitting a key that means different things to different entities inside the microprocessor's limited brain. It is a type of mistake made very often, even by experienced computer users. You will see how easy it is to "talk to the wrong person," which is why we are warning you in advance to consider this possibility first when a computer does not do what you expected it to.
So far, we have talked about single purpose or, in the case of some calculators, dual purpose systems. However, the capabilities of some microprocessors are very much more sophisticated than required for simple applications like traffic lights and pocket calculators. In fact, today's typical microprocessors are sufficiently versatile that they can solve many different types of problems - play many different roles in helping humans whose memory is limited and processing speed abysmally slow compared to a microprocessor.
This means that today's personal computers are General Purpose Systems. In other words, the same personal computer sitting on your desk may sometimes serve as a calculator, a word processor, a mailman, a sophisticated text analyzer, a language consultant, a financial planner or budget manager, a game player for small children or even chess experts, a manager of electrical devices in the home, and a very large number of other classes of operations. That's the good news. The bad news is that, being general purpose, it takes a little more effort to get them to do what we want at a particular time. In order to manage all these different personalities, we need to know not only how to interact with each of these applications, but we need somehow to tell the computer to put on its budget hat, not the German irregular verb drill, when it comes time to explain how that huge wad of money that you came to campus with has somehow vanished weeks before you thought it would.
Not only can we communicate with different entities within a computer, but we can often do so using different methods. Some may overlap (the decimal point), some may be active in only one or another mode of the computer's entities (the date key or the arithmetic operator keys). One of your jobs in this class and for the rest of your life will be to figure out how you can communicate effectively with each entity that you want to talk to in your computer(s). Therefore, you will need to think about entities inside a computer in several different ways:
These five steps relate in some ways to interactions with humans (yes, even the last one in some difficult situations). Consider the process of calling a restaurant for a reservation. The name is the name of the restaurant; its purpose (for your needs) is providing you with a dinner on Thursday night; it is reached by dialing its phone number; you communicate using well known formulas of dates, times, persons in party, and sometimes other information (special seating, special event menu such as birthday cake, etc.); you terminate by hanging up. All quite easy, well understood, and often quite simple to execute, providing nothing goes wrong. Wouldn't it be nice if all our interactions were so simple! They aren't, and unfortunately, interacting with computers is also sometimes more complex than we might wish and for similar reasons.
Suppose you dialed the wrong number, reaching, for instance, a friend who just happened to be rather annoyed at having been stood up by you only last week. The consequences of starting right in saying "I'd like to eat at your place Thursday evening with six friends, and we'd like to eat exactly at 6:30 because we have to go to a play on campus," could be truly awkward.
So, let's start learning about who lives inside the computer with some easy ones, beginning with the Boot person, and then looking at the Disk Operating System DOS.
With General Purpose Computers, we want to make life simple while still allowing us to use the computer in many different ways. Some things need to be done automatically, every time. One of them is to have the computer use its brain power to check itself out and make sure there are no obvious signs of failure. This series of steps has to be performed every time the computer is turned on. Since it is automatic, we consider it a standard startup operation, and give it the name Boot. When you turn on the computer, you invoke the Boot program. It performs three basic functions:
a) Checks the computer to see whether there are obvious defects that might prevent reliable operation. It does this by performing a series of Diagnostics. This process is called the Power-On Self Test or POST.
b) Checks the Configuration of the computer: to see what components are present. To access various components, boot must access the Basic Input/Output System (BIOS) stored in ROM (read-only memory) on the motherboard, and load a copy into Main Memory (RAM). (All information that a computer processes must be copied to Main Memory before the Central Processing Unit (CPU) has access to it.) Typical components might be a keyboard, monitor, memory (how much), printer, and a mouse. There can also be many other devices, some of which we will learn about in the weeks ahead. (Incidentally, the Boot program checks this by sending a signal to the device and seeing if any response is received. For instance, if it expects to have a keyboard, there are certain connector pins used to transmit messages to and from the keyboard; the computer uses these pins to see if they are really connected to something.)
c) If it is satisfied that all is well (i.e., at least a minimal working configuration is present and no catastrophic hardware failures are detected), it then loads the Disk Operating System.
To invoke the Boot program (make it active), you turn on the switch on the computer (or else a power switch controlling several components plugged into the same extension cord). There are, however, two other ways to invoke Boot: by hitting either a Reset key if your computer has one, or, in PCs, by holding down the Control and Alt keys and then pressing and releasing the delete key.
You don't interact with the Boot program at all when things are going right. However, if it finds something wrong, you may need to do something (remove a non-system disk and type enter to let Boot load the operating system from another source).
You don't terminate interaction with the Boot. It does that itself when all is well: it simply loads in the operating system, and from then on you are talking to:
DOS (that is the name we will use. It is sometimes called PCDOS or MSDOS or even other names on other kinds of computers) is actually a computer program (more on that later) which is stored in such a way that it can be accessed by the Boot, loaded into the computer's active work area, and allowed to take over control of the computer. Windows 95 is also an operating system that is available on newer computers. You will learn how to use both DOS and Windows 95 in the labs this quarter.
DOS has a number of purposes. It is, after all, controlling a General Purpose Computer, so it is natural to expect it to have multiple purposes. Some of them are:
a) Information Manager. DOS allows you to find out what information is stored on your computer or available to it. It also allows you to load, move, copy, rename, print out plain text (ASCII) files, and a few other activities associated with information management.
b) Reconfigure your system: for instance, you may want to plug in a modem to connect your computer by telephone to a remote computer somewhere else in the world. DOS would allow you to make sure that the signal that goes out of your computer's communication port is compatible with your telephone line and the computer system you will be talking to.
c) Allow you to invoke other entities, such as Word Processors, Spread Sheets, games - whatever. Note that each of these is also an entity, with its own need to be understood in order to be managed effectively.
d) Allow you to create completely new instructions for a computer by using a Programming Language
You communicate with DOS either by typing Commands or by using a Mouse, pointing and clicking. With PCs running the Windows 95 operating system and with Macintosh personal computers you start by using the mouse, but sometimes you end up typing a little.
You terminate your conversation with DOS either by invoking special command(s) that Shut(s) Down the system (a kind of reverse Boot that is not always available), or else by turning off power.
To summarize: Entities Discussed Thus Far
Name Purpose Invoked by Communicate by Terminate by
___________________________________________________________________________________
Boot perform diagnostics on/off power switch keyboard automatic
check configuration [sometimes]
load DOS
____________________________________________________________________________________
DOS information management done by Boot keyboard Shut Down or
reconfigure system user mouse On/off switch
invoke other entities user
create new programs user
____________________________________________________________________________________
Word Processor*
Spread Sheet*
Programming Language*
* We'll learn about how to communicate with these entities later.
That's our introduction. Now we have to find out what a number of the terms we used in this introduction really mean. Don't worry if you are not yet familiar with the terms; they will be explained in the next few lectures.
Note: A video of this lecture is available for viewing in the media center in 1101 Hart Hall under ECS015, Title: Video 1 - Who Lives Inside a Computer?
Go to the index of
lectures for ECS15 - Fall 1997 .
Go to the homepage for ECS15 - Fall 1997 .
