Upload
rochelle-flanagan
View
236
Download
0
Embed Size (px)
Citation preview
8/3/2019 Eck Test Study Notes
1/31
Data are symbols representing the values of theproperties ofobjects.
The four aspects of objects
y Behaviour - process, procedure, activity, tasks
y Structure - all the properties.
Synonyms for Properties
y Commonly Used: Properties, Attributes, Traits, Characteristics, Etc.
y Discipline-Oriented: Variables (incl. Constants), Placeholders, Dimensions,
Fields, Cells
y Other: Factors, Criteria
These all have one thing in common, which is that they are all spatial containers that
hold values. A value reflects what component is inside the property. A component is an
object.
y Value worth, state, status, condition, etc.
y Meaning - significance
8/3/2019 Eck Test Study Notes
2/31
DATA / INFORMATION: Internal Data Representation
Definition of data/information
Difference Between Data & Information
Bits, Bytes, and Organization into Fields
Field Types: Numeric, Character, Bit String
Definition ofData/Information
Definition: Symbols (signs) that represent:
the values (state, worth)
of the attributes (properties, characteristics, aspects, traits, variables, dimensions,
placeholders, factors, criteria, fields, etc.)
of objects (forms having behavior).
Difference Between Data & Information
There is an arguable distinction between the two.
Information is data that has been turned into something more useful for the user, who
receives the information through output devices.
Data is what goes into the computer from a user via input devices.
Thus, information is like the final product, while data is analogous to raw materials or
component parts going into the process.
When data is inside the computer, in the form of bits not readable by an ordinary user, we
simply think of this as data.
When data is output to a user by an output device, it is in a form understandable by the user,
and, presumably, more useful to the user than the data that went into the process of
manufacturing the information from other data.
The distinction between data and information is relative, since some users data may be
another users information.
Bits, Bytes, and Organization into Fields
8/3/2019 Eck Test Study Notes
3/31
Data gets inside the computer from an input device, a communications device (from another
computer), or auxiliary storage (previously saved data). It may also be generated by the
currently running program.
In all such cases, once inside, data is in the form of on/off (true/false) switches called bits
(short for binary digits).
As bits, we use 0s and 1s to represent the value of each piece of data. A 0 represents an off
condition, while a 1 represents an on state.
We join series of neighboring bits together to form the data values of particular memory storage
locations corresponding to fields (variables, properties, attributes) in software programs.
Each field (variable) name in the program designates a particular range of memory addresses
(contiguous bits) at program run time.
For example, a program may have a field (variable) called Velocity, with 24 bits in a series in a
given memory location representing the value of the velocity at any given time during the
running of this program.
How many different symbols can be represented by 2 successive bits? The possible patterns
(permutations) are 00, 01, 10, and 11, making 4 (22) symbols.
For 3 successive bits, the patterns are 000, 001, 010, 011, 100, 101, 110, and 111, making 8 (23)
symbols.
For 4 successive bits, you get 24 = 16 symbols. And, so on.
Normally, within each field location, bits are organized into larger sub-groupings called bytes,
octets, or other. The most common is the byte, which is nowadays a series of 8 contiguous
bits.
For example, our Velocity field of 24 bits would consist of 3 bytes.
In previous times, such groupings were fewer than 8 bits, starting at around 3 bits in the earliest
days of telecommunications using the telegraph.
Since each position in, say, a byte (taken normally today as 8 bits) can be either on (1) or off (0),
different values of the memory location can represented through permutations of the on/off
pattern. Here are some examples: 00011101, 10101000, 11111111, 00000000, 11001100,
10101101.
There are 28 (2 to the power 8) = 256 possible permutations of the 0s and 1s in any 8-bit bytes,
giving 256 possible values.
The question is, what values are represented by the different arrangements (permutations) of
the 0s and 1s?
8/3/2019 Eck Test Study Notes
4/31
To answer this, we need to know something about the basic type of data represented by the
field containing these bit patterns. That matter is the subject of the next group of slides in this
slideshow.
Data Types
There are three basic types of data generally used in computer programming, as well as many
sub-types of each. The programmer indicates the data type for each field (variable) created in
the program.
The three basic types are numeric, character, and bit string.
In the next slide, click on the data type link to go to (and then return from) a sub-slideshow
devoted to that data type.
Numeric fields: contain numbers with which mathematical operations (addition, multiplication,
etc. can be done).
Character fields: contain symbols, such as those from commonly known alphabets, possibly
including numeric digits that are treated as characters rather than as numbers subject to use in
mathematics.
Bit string fields: are simply individual bits, rather than contiguous series of bits super-organized
in larger groups, such as bytes.
Data Type: Numeric
To form a numeric quantity from a string of 0s and 1s, you need simply treat these digits as the
two digits of a number system having a base of two, i.e., the binary number system, which has
only two digits, 0 and 1. You can represent exactly the same quantities as in the decimal system,
which has 10 digits, 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9. The decimal system has a base of 10, and was
undoubtedly chosen by man because he has 10 fingers and 10 toes.
To give an example of equivalent numbers in both number systems, let us first assume that we
are dealing with non-negative integer numbers, so that one position does not have to
correspond to a fractional number start, and one bit does not have to represent the sign
(positive or negative) of the number. Then, for example, the decimal number 5 equals the binarynumber 101; i.e., 510 (5 to the base 10) = 1012 (101 to the base 2).
The mechanics of converting from binary to decimal will be explained by your teacher in class.
Basically, if there is a 1 in a binary number position, that adds 2 to a certain power when
accumulating the binary digits to form the equivalent decimal number. In this example, we have
22 + 20 = 510.
8/3/2019 Eck Test Study Notes
5/31
The exponents (superscripts) are obtained by counting the position of the binary number in
decimal numbers, starting at zero (rather than at one), going from right to left (rather than from
our normal left to right). In the binary number 101, the rightmost 1 is at position 0, will the
leftmost 1 is at position 2, from which we obtain our exponents.
As you add more bits to the left in the binary number, the number size increases dramatically(exponentially).
Thus, with non-zero integers and just one byte (8 bits), the equivalent decimal numbers
are in the range 0 to 255 (28, making 256 integers).
With two bytes (16 bits), the equivalent decimal numbers are in the range 0 to 65536
(216
, making 65,537 integers).
There are many sub-types of the numeric data type available in programming languages,
including types that contain fractional parts, use one bit to indicate the sign of the number, and
allocate different numbers of bits to control maximum or minimum size of the number with thatsub-type. You learn this in a programming course.
Data Type: Character
The character data type is sometimes call the string, or text, or symboldata type; e.g., in Visual
Basic, the term string is used.
A character can be any shape designated as a unitary character. Thus, it could be a picture of
your grandmother, a simple dot or dash, a letter of some known or secret alphabet, or a digit of
some number system treated as a shape rather than as a number.
Character data types are established by convention.
For example, say you have a byte (8 bits) as your character units. With 8 bits, you have
28
= 256 possible permutation (arrangements) of the bit pattern.
Each arrangement is then mapped to a particular character, based on a particular
convention agreed to by everyone using the same set of mappings (every party to that
convention).
For example, following are some mappings of byte patterns to particular characters based on a
convention known as ASCII (American Standard Code for Information Interchange):
00100101 % (percent sign);
00110101 5 (digit 5, not a number here);
01001011 K (English letter, capital K);
8/3/2019 Eck Test Study Notes
6/31
01101011 k (English letter, small k).
The ASCII convention, mentioned on the preceding slide, was the first one established, and is
still the one most widely used and a common denominator for data interchange between
different computer manufacturers and on the Internet.
This convention dates back to the early 1950s, when it was originally established for 128
characters based on a 7-bit (rather than 8-bit) byte.
Actually, the original motivation for the meeting that established ASCII was to establish certain
non-printing characters to be used to communicate between computer processors and their
peripherals, and between computers of different manufacturers.
The original ASCII was based on a 5-bit byte, which gave the first 25 = 32 characters of ASCII.
These characters, if you have seen them on your screen, often have strange shapes. The 8th of
these is the standard, dark, circular bullet character (), which actually meant the Backspace key
on your keyboard.
Go to http://www.neurophys.wisc.edu/comp/docs/ascii/#table to go to the Web to see the
original, only 7-bit-based set of 128 ASCII characters. In the table on that webpage:
The leftmost column gives you the decimal number equivalent of the 7-bit pattern in
that row.
The 7-bit pattern is in the column whose header is Binary.
The ASCII character for the row is in the rightmost column.
If you look carefully at the table on the webpage, you will notice that ASCII characters:
0 to 31 are the communications control ones, based on a 7-bit byte.
32 to 126 are you standard American English typewriter keyboard characters, not
including function, arrow, Backspace, and other similar keys.
127 (the 128th character) is the Del key on the standard American keyboard.
Nowadays, ASCII is just one of many well-known conventions for assigning particular 8-bit (byte)
patterns to characters:
Each major language group has its own.
There are special conventions for certain graphics characters, such as Dingbat, and for
mathematical characters.
8/3/2019 Eck Test Study Notes
7/31
The last 128 characters of Extended ASCII (based on an 8-bit byte) are now foreign language
characters from the typical English-language speakers perspective, as well as special characters
such as copyright symbol, certain mathematical symbols, and so on.
In any Microsoft application, you can select Insert > Symbol to view many more characters
available based on different conventions for an 8-bit byte.
In addition, you can select a convention called Unicode, which is based on 16 bits (rather than
8), and includes the 5,000-plus characters of certain traditional oriental languages, such as
Chinese.
Data Type: Bit String
Bit string fields are usually used for storing values indicators that have just a few possible values,
e.g.:
1 bit to signal a simple true or false condition.
3 bits to obtain a field with up to 8 possible values, such as the colors of the chacra (red,
orange, yellow, green, blue, violet) plus black and white.
Bit string data allows conservation of space, since it does not work in increments of bytes. It
works, that is, at the level of the individual bit, below the level of the byte.
USERS
INTRODUCTION
A user is an intelligent agent who/that interacts with the computer.
Users may be sub-typed according to the roles they play in relation to the computer.
The broad definition includes both direct users and those who have a somewhat indirect
relationship.
Example of the latter include the manager who sponsored purchase of the computer in a
company, the thief who stole data from the computer, and programmer who wrote the
program, and so on.
In this course, the two kinds of users of interest are the operator user and the end user.
OPERATORUSER
The operator user role involves managing the computer including
8/3/2019 Eck Test Study Notes
8/31
Entering data
Handling the printer and printouts
Implementing new programs
Handling hardware or data problems, etc.
ENDUSER
The end user receives that information produced by a computer for use over and beyond
operating the computer itself.
For example, a sales report would be used by a sales manager to analyze sales, rather than to
find errors in the computer functioning.
The end user role could be played by:
a customer who receives an invoice
a friend who receives a letter
the writer of the letter, etc.
Without end user information, a computer would have no real use.
The end user role does not involve actually physically touching the computer, although it
involves looking at output on screens and from printers.
The end user role is played when information is received by a user.
Note that end users and operator users refer to roles that may, and usually are, played by the
same person.
The two roles are often intertwined so closely that it becomes impossible to distinguish them
from one another.
For example, when playing a computer game
you are the operator user when making selection via a joystick
You are an end user when receiving enjoyment from the game, i.e., results of
which operator user is winning or losing.
8/3/2019 Eck Test Study Notes
9/31
INTRODUCTION
Let us begin with a simplified, conceptual model of the hardware, and then relate
this model to the complexities of actual, physical implementation of the computer
machine.
The model, shown in the block diagram on the next page, does not account for
many of the conceptual complexities. In particular, it does not account for the fact
that the processor usually involves a main processor along with one or more
further levels of assistant/satellite processors (whole or partial).
In the below, all the devices other than the processor can be categorized as
peripheral devices.
Hardware includes:
Peripheral devices & Processor
8/3/2019 Eck Test Study Notes
10/31
The RAM (Random Access Memory) part of the Processor acts as a kind of
Central Station for all data passing through the computer, including:
the interaction between the peripherals and processor;
the RAM and CPU parts of the processor during the machine
instruction execution cycle of a running program.
Peripheral devices include:
Input/Output devices
Communications devices
Auxiliary Storage devices
I/O devices are meant to communicate with users, in formats that users can
relate to.
Not 0's and 1's, as used internally by the computer processor and storage.
These familiar devices are classifiable according to the human sense they
relate to:
Touch
Sight
Hearing
Smell
etc.
The most common input devices, the keyboard and the mouse, correspond to the
sense of touch.
Note that the mouse is the most common example of a sub-class of input devices
known as pointer devices, which also includes:
Joysticks
8/3/2019 Eck Test Study Notes
11/31
touch screens
light pens
digitizer pads
Scanners are input devices that "see" pictures and text.
Microphones correspond to the sense of hearing.
Printers and monitors (screens), the most common output devices, rely on
sight.
Speakers and headphones are sound output devices.
Braille printers communicate based on the sense oftouch.
More importantly, robots, driven by computers, are touch output devices.
Communications devices include switches and routers.
They are used for interchange of data between different computers.
The data is interchanged in computer internal storage format, i.e., as bits
and bytes.
Historically, people have conceptualized the human brain as involving a thinking
part and a memory part, including both a short-term and a long-term memory.
While today's scientists now see the brain in a somewhat different way, this
historical conceptualization still applies to computers.
8/3/2019 Eck Test Study Notes
12/31
The auxiliary storage is that part of the computer memory where users save data
as files for later recall.
This long-term memory is less expensive and slower in access speed than is the
current (main) memory of the computer.
Secondary memory devices are classifiable according to the technology used for
representing 0's and 1's.
One of these technologies records 1's
and 0's as magnetic fields, using a positive
field for a 1 and a negative field for a 0.
Note: The words memory and storage are synonymous as used here.
As well, the terms secondary, long-term, and some other words are
synonymous with the word auxiliary.
This category of devices includes:
various kinds of disks
hard/fixed
floppy/diskettes
removable hard
magnetic tapes
cassette, large
VCR
Magnetic encoding devices are coated with iron oxide, a brown substance.
8/3/2019 Eck Test Study Notes
13/31
The other technology uses impressions burnt in by lasers on the surface of a disk
1's are represented by a depression or elevation in the surface
0's represented in the reverse way.
This technology includes:
CD's (compact disks, read-only or read and write varieties)
DVD's (digital video devices, now used for videos).
Processors include:
MainMemory
Computer Processing Unit (CPU)
Main memory (or storage) is where the data currently being processed by the
program gets placed.
Main memory, of which there are several grades, is more expensive than auxiliary
memory, as well as faster with respect to access speed.
Copies of all programs that are currently open and the data used (produced,
referenced) by these programs must be in the main storage for the program to
execute in the CPU.
Note: The words memory and storage are synonymous as used here.
As well, the terms primary, current, and some other words are
synonymous with the word main.
The first computers, around 1943-44, used vacuum tubes for the main memory,
with 1 signaled by an illuminated tube.
These bulky and unreliable devices were then replaced by iron, with 1's and 0's
represented by magnetic fields.
8/3/2019 Eck Test Study Notes
14/31
The next generation of main memory based itself on solid-state transistors,
embedded into semi-conductor chips (normally made of silicon).
A semi-conductor chip is a wafer of silicon.
This wafer is normally mounted on a platform protected by a layer of
plastic.
The platform has aluminum teeth or conductors of other shapes that
connect the chip:
to the bus system of the computer's circuit board
or to various slots on the circuit board that in turn connect into
the board's bus system.
The semi-conductor chip is itself a circuit board, but at a more microscopic level.
Thus, we have a smaller circuit board, the semi-conductor chip, making electric
contact with a larger circuit board (motherboard or adapter cards) via aluminum
conductors.
With semi-conductors:
1's are represented by the presence of a static electricity charge
0's are represented by the absence of such a charge in a given memory location
Semi-conductors retain electrostatic charges only when they receive periodic
pulses of electricity.
Semi-conductor memory is volatile ("flies away"), since its contents are lost when
the electricity is shut down.
Future technologies for main memory may base themselves on light, rather than
electricity.
8/3/2019 Eck Test Study Notes
15/31
RAM and ROM
There are two basic types of main storage:
RAM (random access memory)
ROM (read-only memory)
The "ordinary program" can not only read from RAM, but also can also write to it,
and replace or erase data in it.
Some kinds of RAM, called dynamic RAM (DRAM) need to have their contents
rewritten every so many milliseconds.
A more expensive and faster kind of RAM, called static RAM (SRAM), does not
have to be refreshed as long as the electricity remains on, and is only volatile in
the sense that its contents are lost when the computer is turned off.
One particular RAM chip on a PC circuit board is kept alive even when the
computer has been shut off due to electricity from a battery.
This is the CMOS (Complementary Metallic Oxide Semi-Conductor) semi-
conductor chip, which contains the computer clock and configuration
settings.
This data can be rewritten by a program that is invoked by:
pressing a designated key at a certain point in the boot process
(see the section on operating system programs)
or by choosing certain options in the Windows setting control
programs (e.g., to change date and time).
Originally, all ROM had unchangeable programs burnt into microscopic circuitry.
8/3/2019 Eck Test Study Notes
16/31
Programmable ROM (PROM) can be rewritten by the chip manufacturer using
ultraviolet light to erase previous circuitry on the chip).
Neither of these kinds of ROM contain data (1's and 0's), but just have circuitry.
Flash ROM (a kind of EEPROM, or electronically erasable programmable ROM) can
be rewritten based on the usage of a special voltage level applied to a pin to erase
old data. Note: The circuitry represents the program logic -- see section on
programs.
FLASHMEMORY USAGE OF ROM
The latter kind of ROM is really neither traditional RAM nor traditionalROM. It is, in fact, part of the auxiliary storage of the computer, rather than
main memory.
It is used to record zeros and ones, rather than as a circuit board for
encoding firmware programs.
It is often used for:
certain basic system hardware control programs (BIOS, or BasicInput/Output System programs);
and to hold user data in portable ("Notebook") computers and digital
cameras.
CPU (Central Processing Unit)
The CPU carries out program instructions. It contains two basic
components, namely:
CU (Control Unit): coordinates processor operations:
8/3/2019 Eck Test Study Notes
17/31
determining the next program instruction for
execution
managing the execution of this instruction by the
ALU
ALU (Arithmetic/Logic Unit): carries out the program
instruction by:
arithmetic (add, subtract, divide, etc.)
"logical" (comparison, >, =,
8/3/2019 Eck Test Study Notes
18/31
Output data from the program is copied from the RAM to auxiliary
storage files, or sent from RAM to output devices.
Program Instruction Flow
The RAM as Central Station for all Data Flow in the Computer (contd)
All data input into the registers (local memory areas) of the CPU, and all
data produced by the CPU also has to flow via the RAM. Thus:
When the CPUs CU (Control Unit) decides which software program
machine language instruction is to be executed next, it reads that
instruction into its register, by copying it from the RAM (where it has
to already be).
Any data values needed by the program instruction are copied from
the RAM into the registers of the ALU (Arithmetic/Logic Unit).
Any new data produced by the instruction execution in the ALU is
copied into another location in the RAM.
So that we can understand an example, let us pretend that the CPU
executes high-level program statements rather than machine level programinstructions. Let us assume a program whose steps are:
Input the value of X, where X is a variable.
Let A (another variable) be set to the value obtain by adding X + 1
(i.e., A = X + 1).
8/3/2019 Eck Test Study Notes
19/31
Print the value of A to the printer.
The program instructions are already in memory, and the first instruction
has already completed. The instruction cycle is then as follows:
The CU determines that the second instruction is next, so it reads the
instruction into the CUs register.
The instruction is analyzed by the CU, and then sent to the ALU for
number crunching (in this case).
The ALU copies the value of X into its register.
The ALU does the addition and produces the value of the variable A.
The ALU stores the value of A in RAM.
What is a program?
A program is a series of steps that lead to a well-defined outcome in a finite amount of time.
For instance, an academic program is a series of courses leading to a degree.
A computer program is a set of instructions to the computer telling it what to do in a specifiedorder.
Here is an example of a computer program:
Input the value of X from the keyboard.
Let A = X + 1.
Print the value of A to the printer.
Save the value of A on disk. (Could be done before, after, or at the same time as
step 3.)
Program steps do not have to form a simple sequence.
Thus, programs can have branches, such as IF conditionXis true, do the following; otherwise, dothe alternative steps.
Also, programs can have loops to reiterate certain steps, or to go back to repeat steps incorrectlycarried out.
8/3/2019 Eck Test Study Notes
20/31
Two Ways of Implementing Programs
There are two ways of implementing programs:
Using data/symbols/information. This is software implementation. Thus, programsthemselves may be a kind of data (see definition of "data" in the data/informationsection), and programs process other data (e.g., values of variables X and A in the above
example). Using circuitry to force program actions. This is firmware/hardware implementation.
Implementing Programs as Firmware
It is possible to embody programs as circuitry that forces the computer to perform certain logic.Here are a few examples:
Consider a boulder in a stream that causes the water to flow around it as a kind of"program" for the stream to follow. The layout of the electronic circuitry of the computercan have an analogous effect.
Another example is a program to bounce a drunk out of a bar. If the bouncer asks the
person to leave and the person leaves voluntarily, the program has been beencommunicated symbolically. If the bouncer physically throws the person out on the street,the program is communicated "through the hardware."
The idea of a physical representation of a program may seem esoteric. However, the firstcomputers were programmed by wiring the computer in a certain way, e.g., to force it to addnumbers.
A similar idea exists in modern computers, where computer manufacturers burn microscopic circuitry intosemi-conductor chips (see the idea of ROM chips in the section on computer hardware, main memory).This is the idea of firmware
Implementing Programs as Software
Communication by symbols/data implies software, and by physical constraints impliesfirmware:
Suppose that someone tells you in words (with data/symbols/information) to dosome series of steps, and you follow the steps on your own. This is analogous toa software (symbolic) program.
Alternatively, if they force you mechanically through the same series of steps,which you do passively, this is analogous to implementing the program in thecircuitry by firmware or even large wiring.
Most programs today are embodied as data, i.e., are software programs.
Computers do not directly understand steps written in human language.
Instead, they require instructions that are at the same level of detail as the computer's ownelectronic circuitry.
How is this translation from human language to electronics achieved?
The original symbolic programs were written directly in machine language (in zeroes and ones)at a level of detail matching that of the electronic circuitry of the computer.
Then it took a long time just to write a simple program, for example, to add two numbers.
Nowadays, programmers write symbolic (data-represented) programs using programminglanguages that are closer to human language.
8/3/2019 Eck Test Study Notes
21/31
This was made possible by writing other programs to translate "higher level" program statementsinto many more detailed steps in machine language.
Such translator programs themselves come at various levels of translation detail.
While a program written in a so-called "third-generation procedural" programming language mightlook something like the above example (of 4 steps), other programs may be written in either moredetail or in less detail.
In effect, with still higher level programming languages, the user is not actually doing programming, but isjust giving the computer enough information to allow other programs in the computer to generate theprocedure needed to form the program
Software and Programming by Design
An example of such "non-programming programming" is specifying the structure of data table inAccess, including what fields each record is to contain and the properties of each field.
From such specifications, Access is able to generate certain program steps.
That the computer itself generates the programming steps is often not obvious at all.
For example, designing a Word document by changing its margin settings may be viewed asprogramming in a fourth-generation (non-procedural) programming language.
The ultimate example of a high-level "programming" language is seen in StarTrek, where the useris able to specify to the so-called "replicator" some of the characteristics of certain food from alienplanets, based on which the computer inside the replicator is able to generate the necessarysteps (recipe) to produce that food.
Firmware versus Software Programs: Some Alternatives Uses of these Terms
Software equals programs. If this definition is used, then firmware is just a type of software.
Software refers to programs loaded into the RAM for execution. These are all those programsrepresented by data (symbols) rather than circuitry (as are ROM programs, i.e., firmwareprograms).
In this course, let us use the terms firmware and software in the latter way.
RAM and ROM Parts of the Hardware and their Relationships with Software and Firmware
Most programs are software ones, consisting of data loaded (copied) into the RAM part of mainmemory at time of execution.
Firmware, however, is in the ROM part of main memory, and are embodied as circuitry. Firmwareimplementation is often used for machine control operating system programs (although somebooks do not include ROM programs in the operating system). An example is the BIOS (BasicInput/Output System) chip, which contains low-level machine control programs.
OPERATING SYSTEM versus APPLICATION versus PROGRAMMING PROGRAMS
8/3/2019 Eck Test Study Notes
22/31
Types of Programs from a User Viewpoint
From a user perspective, three basic classes of programs can be identified:
Applications programs: directly produce information for end users.
Operating system programs: provide an environment for running all programs; used tomanage the computer.
Programming programs: produce other programs, by helping to compose them andtranslating them to lower level languages.
Application Programs
Application program: a program that directly produces information for the end user.
The word "direct" here is not used in the sense of "immediate," but in the sense of being in thedirect line of flow toward an objective (the accounting idea).
For example, if a teacher hands a pencil to a student and the pencil goes via the hands ofseveral students to a particular student at the end of the chain, the last student is the onewho "directly" hands the pencil to the student, if "directly" is used in the sense of
"immediately."
However, if the term "directly" is used in the accounting sense, all the students do thedirect work of getting the pencil to the last student in the chain, while the "indirect" workinvolves supporting and/or managing the flow of getting the pencil to the student, such asplanning, enabling directing, coordinating, and correcting the flow.
The above definition implies certain refinements to the common labeling of certain programs as"application" ones.
Many people assume that a word processing program is an application program.
Suppose, however, that users employ the program to write another program, or, say, to report onproblems in the functioning of the computer?
In other words, it depends on the purpose for which the program is used by a given user at agiven time.
In addition many programs are actually hybrids of application programs and one or both of thetwo other types.
Operating System Programs
An operating system may be understood as having three kinds/levels of programs:
Programs that provide a consistent platform, supported by graphics, through which allprograms interact with users.
Machine control programs that function in the background, and are transparent to theuser.
Operator user utility" programs that directly allow the operator user to support and/ormanage the computer machine.
The operating system may be seen either as an environment for running all programs, or as anunderlying system for setting up and managing the computer.
For a custom slideshow explaining the idea of an operating system, click here. (You will bereturned here after that slideshow.)
8/3/2019 Eck Test Study Notes
23/31
Operating system programs: programs used to support and/or manage the flow of application programexecution, as well as to support and/or manage the flow of programming programs and of itself.
Operating system programs are needed to start-up (boot), shutdown, and enable the computer ingeneral to run between start-up and shutdown.
The essential difference between application and operating system programs is that operatingsystem programs (hardware and/or firmware-implemented) have an indirect relationship to theproduction of information for the end user.
The operating system programs are still necessary for end user information, in that the computerwould not work if there were no operating system programs.
Programs to Interface with the User
This is the part of the operating system functioning most visible to the operator user, since itdirectly (immediately) allows the user to interact with the machine.
In the Microsoft's Windows operating system, this is the standard graphical interface that is seenno matter what program is being run.
This interface is used both to launch programs and interact with already launched programs
Machine Control Programs
The machine control functions can be said to constitute the lowest level of the operating system.
They include:
Software programs known as device drivers, to interface with different kinds ofcomputer equipment;
Firmware programs of the BIOS (Basic Input/Output System) chip in ROM.
Other underlying programs needed to boot and shut down the computer.
For example, when an application program needs to write a file to a disk, it request service fromthe appropriate machine control program of the operating system.
This program will not only transfer the data, but will also perform functions such as:
checking that the data was correctly transmitted;
looking for space on the disk;
handling space problems;
updating the directory and file location tables at the front of the disk.
Communication Between Operating System Levels
Between the machine control functions of the operating system and the requests from applicationprograms for machine control. there is a level of programs that act as messengers.
For example, when an application program wants to save a file to disk, it needs the appropriatemachine control operating system program for doing this.
To get to that program involves a "middleware" program that receives requests from theapplication program using certain standards known as the operating system API (ApplicationProgram Interface).
Middleware
8/3/2019 Eck Test Study Notes
24/31
Note that the term middleware is a buzzword that has been used in many different ways in thecomputer industry.
In its original meaning, middleware may have referred to a program that enables two otherprograms to communicate with one another on a retrofit basis.
In that sense, middleware can enable communication between:
two application programs;
two operating system programs;
an application and an operating system program.
Operator User Utility Programs
The utility programs of the operating system are initiated by the operator user, in a way that issimilar to the initiation of application programs (e.g., using the Start: Programs feature accessiblevia the taskbar in the Windows operating system).
An example of such a program is Windows Explorer, the Windows file manager.
This program achieves functions such as:
managing the folder structure (e.g., creating or deleting or renaming folders at variouslevels of hierarchy);
managing the files within folders (e.g., copying or moving or renaming files).
To see that these are operating system functions as opposed to application ones, it is necessaryto ask if the program directly produces information for the end user.
For example, does copying a file from a diskette to a hard disk directly produce information for anend user, or does it simply backup the file for security or accessibility purposes?
Obviously, it does the latter, which is a kind of task that has to be performed to manage thecomputer environment.
In other words, Windows Explorer performs operating system functions
Operating System Programs
The discussion of operating system programs can also be divided into :
1. Booting (starting) and shutting down the computer.
2. What the operating system does once the computer has been booted (started up), and
before it is shut down.
Programming Programs
Programming programs
Help programmer users to compose and debug programs
Help programs to translate programs written by programmers in higher levelprogramming languages into the more detailed machine language.
Hybrids of the Above Program Types
8/3/2019 Eck Test Study Notes
25/31
Many programs are hybrids of the above three basic program classes.
For example, a hybrid of a programming and an applications program occurs in the Accessdatabase program:
When in design mode, Access is a programming program.
When in information entry/production mode (called "worksheet view"), it is an
applications program (insofar as it is used to directly produce information for theend user).
A hybrid of an operating system program occurs in applications that users visit so frequently thatthe ability to launch other applications from within that application is included.
That is, the operator user interface function of an operating system is made part of theapplication.
In that case, the application is a hybrid of an application and an operating systemprogram/system.
Types of Programs Studied in this CourseIn this course, we use the Windows operating system,and also learn:
Word (word processor)
Excel (spreadsheet)
Windows is an operating system, but, based on the definitions of operating system establishedabove, Windows also includes a number of programs that can be used for applications orprogramming purposes.
For example, Notepad, a text editor/word process that comes with Windows, or Windows MediaPlayer (for playing sound files, etc.) can be used for application purposes.
When in design mode, Excel is effectively a programming program, used to buildapplications in Excel.
Similar thinking can be applied even to Word, when the designs for spreadsheetsor text documents are being prepared using these programs.
Spreadsheet vs. Database Software
Database: a collection of data on a particular topic.
Data in a so-called "relational" database may be conceptualized in terms of tables andrelationships between tables.
Tables containing data may be produced and processed in Word, Excel, and Access.
However, huge differences in the efficiency and effectiveness of database processing can beseen in going from a word processor, to a spreadsheet, to a database program.
Access is by far the most proficient at database, basically because it is able to maintainrelationships between the different tables.
These relationships are used to join data for particular queries and reports across the variousinterrelated tables in the database (and perhaps from other databases as well).
Moreover, they support the ability to place the data on a network server, such that many userscan concurrently access that data.
8/3/2019 Eck Test Study Notes
26/31
The other differences between a spreadsheet and a database software are not truly inherent inthe software types, and have much to do with the historical facts of how these different kinds ofsoftware evolved.
Both spreadsheet and database programs can derive fields (cells) from other cells, usingformulas (expressions, functions).
Database software does that through queries to produce derivative tables, or when reports arerun (e.g., reports that summarize the data at various levels).
Database software has a much more sophisticated query and reporting ability than doesspreadsheet software, except perhaps in the area of reports in the form of charts (graphs).
On the data input side, database software has a much more sophisticated ability to
screen out invalid data
set default values
produce user-friendly interfaces for data input
enforce consistency or integrity in the data through relationshipsinvolving more than a single table.
Database software, is usually used when the data becomes complex, with manyinterrelationships, and when data is shared by many users on a network.
For example, if one just wants to keep an address book just for one's own use, one could keepthe data and do the calculations using spreadsheet tables.
However, suppose that many users want to maintain a more complex address book. In this case,the address data would be kept in several interrelated tables (e.g., a "master" table, a table thatcould have more than a single address for a particular person or company, a table for multipleemail addresses of a person, and so on).
Access ensures that the different users enter only acceptable data into given fields (using datatypes and associated property sheets), and allows multiple users concurrent access to variousrecords or addresses.
It is able to join the data for a given person, say, across multiple tables, and produce results usingpre-designed interfaces for data entry (forms), queries, and reports.
Perhaps the greatest strength of spreadsheet software is in its simplicity for single-user use inmaintaining single tables, such as those used to keep class marks.
As well, spreadsheet software is usually better for simulation of the results obtained fromexploring different ranges of input variables, based on "what-if" analysis and reporting.
Windows Explorer
Dragging and dropping a file with the left mouse button = the file is moved to that location.
With the right mouse button = when dropped a list pops up and you have the choice to copy,
move, or create a shortcut into that location.
8/3/2019 Eck Test Study Notes
27/31
Menu Bar the bar at the very top that says File, Edit, View, Tools, Help. The menu bar is not
absolutely necessary because you can access the same functions in the task bar (which is right
below the menu bar) or by right clicking on a file/folder.
Panes
Navigation Pane : Always on the left, a pane with preset folders for organized navigation of
folders. Favorites, Libraries, Computer, Network.
Contents Pane: Shows you all the folders/files in the given folder or device selected in the
navigation pane. This pane is always there. (the task bar is always there too)
Details pane: Comes up at the bottom of the screen. Shows you a lot more data information
about the file selected in the contents pane. This is the same info that appears in the box when
you float your mouse over the file or in detail view.
Preview Pane: useful in viewing photos. Shows you a smaller version preview of whats in the
file you select in the conztents pane.
Library Pane : located above the contents pane and below the task bar. It tells you what library
the files in the content pane are in and allows you to Arrange By: rating, month, date, tag, etc.
You can make panes and bars appear and disappear- Task bar- Layout- select and deselect the
panes/bars you want to activate
Nav. Pane break down
Computer: Aux. storage drives that are available on your system. Drives= usually identified by
letter not name.
(A:) = Floppy Disk Drive
(B:)= Disquette (old floppy disk)
(C:) = Primary hard drive on system (successive hard drives get the successive letters) normally
ppl have only one but can create logical drives with different letters segment , create different
partitions/logical drives on a single hard drive. Program to do this partition magic.Why?
some create different operating systems on different partitions. Or Server software in one
partition and the data and other programs that are local to the computer on another partition
because if they have to restore the server they dont lose everything. Or to hide
thingssecurity reasons.
8/3/2019 Eck Test Study Notes
28/31
(D:) = CD or DVD optical disk drive
(E:) = Removable storage devices (like USB, DVD , flash memory) when you put these in they get
assigned the next available drive letter. Usually E.
Further letters = drives on another computer or server that you have sharing with. Ex:staffpub (L:)
Usually these are not drives or servers but they are FOLDERS. They are given drive letters
because it comes up right away as a major thing in the computer panel= easily findable. How
do you give a folder a drive letter? Nav pane, Click on Computer (select), Task bar = Map
Network Drive.
Libraries
-files and folders that the user has created and named. documents, music, pics, public
pictures, etc. all these things can be found stored in the Local Disk (C:) under the Users Folder,
each user of the comp has their own folder . Admin can see all users folder contents.
*Programs are stored in their own files because programs are a form of data. Stored under the
(C:) Aux. storage drive. Not all data in programs is in library because it is to technical and
complex (ex: the programing data of that program) its in a file called ProgramData . Another
side folder like this one, is for your emails, under your user folder. All the files in here have
some info they dont want you to see because its too complicated.
Favorites
Folders: Desktop, Downloads, Recent Places . These are frequently accessed folders there for
convienience.
Network- -all the computer equipment, storage devices, servers on the network.
We dont have the rights to see the contents but would if we had higher privileges/ were at
home admin.We could see Network.
8/3/2019 Eck Test Study Notes
29/31
Desktop
Icons represent rather actual programs or devices such as the Recycling bin and some are
Shortcut Icons (they have a little arrow in them in the bottom left hand corner of the icon)
These are just hyperlinks to the folder/file/device.
-Desktop under Favorite in nav. Pane, the files in the contents pane wont have detail boxes
appear because they are not files, these are shortcuts : a hyperlink to another file/device in the
system. So there is nothing to preview there.
View Options
Menu bar- View- here.
Sort files by date -> click date above the list of files in the contents pane in detail view. (Duh)
same goes for name, size, other details in that bar. (you can adjust the width of these columns
by dragging the lines, you can move the column order by dragging and dropping columns.
Double clicking the right border of a column name it adjusts to fit. )
Each column is called a field of data. These fields areMETADATA : data about other data.
Created to make indexs and to make it easier to navigate.Metadata fields.
Ex: you produced a word doc. You have the name, date last modified, author name, rating,category, etc. That data may or may not have appeared in the actual word document its data
about the file (data)
Rating field, name of doc = user created data. Date, Size = auto created.
If you didnt have Metadata- you have to look and select individual words to index by yourself.
Nowadays sounds and images can be indexed.
The metadata fields that show up are preselected for you, but you can pick which ones you see:
Float your mouse over a column title, a box appears, some are checked/selected, select more,
and then you see a whole selection of the metadata fields to pick from.
Another way- view menu- choose details. ^
Another way- Right click file- properties- details tab. ^
8/3/2019 Eck Test Study Notes
30/31
but if you pick Customize tab, you can create your own metadata field or you can pick a
template of fields -> optimize this folder for: docs, pics, music, video, etc.
File Types
Complexe view options
Task bar- organize- folder and search options or Menu- tools- folder options- view tab.
Diaolgue box appears.. Advanced settings:
*Hidden files and folders, show hidden files,
(you can hide or make a file a read-only file by going into properties of that file)
*Hide extensions for known file types. : file extension ex. Jpg for a picture. The extension
determines the file format/ type and what programs can open it. File ext. names can go from 1
character up to about 7 characters. Each file type has its own extension. If you dont have a file
name extension or if you accidentally change a files ext. name, when you double click on the
file, its not going to know what program from the association table to use to open it. You can
right click on a file and choose Open with to select a program other than the default program.
The default program will appear highlighted.
To change the default one you can check the box saying always use this program or go to File
Type Association Table is in the control panel: assigns file types to certain programs.
Useful to know the file ext. name when searching for a file! Great for narrowing down the
search parameters. Ex: excel docs eslx , word docs- docx .
Properties Tab when you right click on a file:
Tabs in the box:G
eneral,Security,
Details, etc..
These tabs work like the Task bar for different files/devices .. they change to suit the file based
on what kind of file./device it is, what server its on, etc.
8/3/2019 Eck Test Study Notes
31/31