SlideShare a Scribd company logo
1 of 49
Download to read offline
1

A Basic
Handout
of a
Computer
System
By Jacob Zvirikuzhe, produced by Chief Printing Services
By J Zvirikuzhe, produced by Chief printers
2

What is a Computer?
A computer is a general purpose device that can be programmed to carry out a
finite set of arithmetic or logical operations. Since a sequence of operations can be
readily changed, the computer can solve more than one kind of problem.

Conventionally, a computer consists of at least one processing element, typically a
central processing unit (CPU) and some form of memory. The processing element
carries out arithmetic and logic operations, and a sequencing and control unit that
can change the order of operations based on stored information. Peripheral devices
allow information to be retrieved from an external source, and the result of
operations saved and retrieved.
The first electronic digital computers were developed between 1940 and 1945 in
the United Kingdom and United States. Originally they were the size of a large room,
consuming as much power as several hundred modern personal computers (PCs). In
this era mechanical analog computers were used for military applications.
Modern computers based on integrated circuits are millions to billions of times
more capable than the early machines, and occupy a fraction of the space. Simple
computers are small enough to fit into mobile devices, and mobile computers can be
powered by small batteries. Personal computers in their various forms are icons of
the Information Age and are what most people think of as “computers.” However,
the embedded computers found in many devices from MP3 players to fighter
aircraft and from toys to industrial robots are the most numerous.
Input/output (I/O)

I/O is the means by which a computer exchanges information with the outside
world. Devices that provide input or output to the computer are called peripherals.

By J Zvirikuzhe, produced by Chief printers
3

On a typical personal computer, peripherals include input devices like the keyboard
and mouse, and output devices such as the display and printer. Hard disk drives,
floppy disk drives and optical disc drives serve as both input and output devices.
Computer networking is another form of I/O.
I/O devices are often complex computers in their own right, with their own CPU and
memory. A graphics processing unit might contain fifty or more tiny computers that
perform the calculations necessary to display 3D graphics. Modern desktop
computers contain many smaller computers that assist the main CPU in performing
I/O.
Central Processing Unit
A central processing unit (CPU), also referred to as a central processor unit, is
the hardware within a computer that carries out the instructions of a computer
program by performing the basic arithmetical, logical, and input/output operations
of the system. The term has been in use in the computer industry at least since the
early 1960s. The form, design, and implementation of CPUs have changed over the
course of their history, but their fundamental operation remains much the same.
In older computers, CPUs require one or more printed circuit boards. With the
invention of the microprocessor, a CPU could be contained within a single silicon
chip. The first computers to use microprocessors were personal computers and
small workstations. Since the 1970s the microprocessor class of CPUs has almost
completely overtaken all other CPU implementations, to the extent that even
mainframe computers use one or more microprocessors. Modern microprocessors
are large scale integrated circuits in packages typically less than four centimeters
square, with hundreds of connecting pins.
A computer can have more than one CPU; this is called multiprocessing. Some
microprocessors can contain multiple CPUs on a single chip; those microprocessors
are called multi-core processors.
Two typical components of a CPU are the arithmetic logic unit (ALU), which
performs arithmetic and logical operations, and the control unit (CU), which
extracts instructions from memory and decodes and executes them, calling on the
ALU when necessary.
Not all computational systems rely on a central processing unit. An array processor
or vector processor has multiple parallel computing elements, with no one unit
considered the "center". In the distributed computing model, problems are solved
by a distributed interconnected set of processors.

By J Zvirikuzhe, produced by Chief printers
4

Computer data storage
Computer data storage often called storage or memory, is a technology consisting
of computer components and recording media used to retain digital data. It is a core
function and fundamental component of computers.
In contemporary usage, memory is usually semiconductor storage read-write
random-access memory, typically DRAM (Dynamic-RAM) or other forms of fast but
temporary storage. Storage consists of storage devices and their media not directly
accessible by the CPU, (secondary or tertiary storage), typically hard disk drives,
optical disc drives, and other devices slower than RAM but are non-volatile
(retaining contents when powered down). Historically, memory has been called core,
main memory, real storage or internal memory while storage devices have been
referred to as secondary storage, external memory or auxiliary/peripheral storage.
The distinctions are fundamental to the architecture of computers. The distinctions
also reflect an important and significant technical difference between memory and
mass storage devices, which has been blurred by the historical usage of the term
storage. Nevertheless, this article uses the traditional nomenclature.
Many different forms of storage, based on various natural phenomena, have been
invented. So far, no practical universal storage medium exists, and all forms of
storage have some drawbacks. Therefore a computer system usually contains
several kinds of storage, each with an individual purpose.
A modern digital computer represents data using the binary numeral system. Text,
numbers, pictures, audio, and nearly any other form of information can be
converted into a string of bits, or binary digits, each of which has a value of 1 or 0.
The most common unit of storage is the byte, equal to 8 bits. A piece of information
can be handled by any computer or device whose storage space is large enough to
accommodate the binary representation of the piece of information, or simply data.
For example, the complete works of Shakespeare, about 1250 pages in print, can be
stored in about five megabytes (40 million bits) with one byte per character.
The defining component of a computer is the central processing unit (CPU, or simply
processor), because it operates on data, performs computations, and controls other
components. In the most commonly used computer architecture, the CPU consists of
two main parts: control unit and arithmetic logic unit (ALU). The former controls
the flow of data between the CPU and memory; the latter performs arithmetic and
logical operations on data.
Without a significant amount of memory, a computer would merely be able to
perform fixed operations and immediately output the result. It would have to be
By J Zvirikuzhe, produced by Chief printers
5

reconfigured to change its behavior. This is acceptable for devices such as desk
calculators, digital signal processors, and other specialised devices. Von Neumann
machines differ in having a memory in which they store their operating instructions
and data. Such computers are more versatile in that they do not need to have their
hardware reconfigured for each new program, but can simply be reprogrammed
with new in-memory instructions; they also tend to be simpler to design, in that a
relatively simple processor may keep state between successive computations to
build up complex procedural results. Most modern computers are von Neumann
machines.
In practice, almost all computers use a variety of memory types, organized in a
storage hierarchy around the CPU, as a trade-off between performance and cost.
Generally, the lower a storage is in the hierarchy, the lesser its bandwidth and the
greater its access latency is from the CPU. This traditional division of storage to
primary, secondary, tertiary and off-line storage is also guided by cost per bit.

Computer Storage
Contents








1 Hierarchy of storage
o 1.1 Primary storage
o 1.2 Secondary storage
o 1.3 Tertiary storage
o 1.4 Off-line storage
2 Characteristics of storage
o 2.1 Volatility
o 2.2 Mutability
o 2.3 Accessibility
o 2.4 Addressability
o 2.5 Capacity
o 2.6 Performance
o 2.7 Energy use
3 Fundamental storage technologies
o 3.1 Semiconductor
o 3.2 Magnetic
o 3.3 Optical
o 3.4 Paper
o 3.5 Uncommon
4 Related technologies

By J Zvirikuzhe, produced by Chief printers
6

4.1 Network connectivity
o 4.2 Robotic storage
5 See also
o 5.1 Primary storage topics
o 5.2 Secondary, tertiary and off-line storage topics
o 5.3 Data storage conferences
6 References
o





Hierarchy of storage

By J Zvirikuzhe, produced by Chief printers
7

Various forms of storage, divided according to their distance from the central
processing unit. The fundamental components of a general-purpose computer are
arithmetic and logic unit, control circuitry, storage space, and input/output devices.
Technology and capacity as in common home computers around 2005.
See also: Memory hierarchy
Primary storage
Direct links to this section: Primary storage, Main memory, Internal Memory.
Main article: Computer memory
Primary storage (or main memory or internal memory), often referred to simply as
memory, is the only one directly accessible to the CPU. The CPU continuously reads
instructions stored there and executes them as required. Any data actively operated
on is also stored there in uniform manner.

By J Zvirikuzhe, produced by Chief printers
8

Historically, early computers used delay lines, Williams tubes, or rotating magnetic
drums as primary storage. By 1954, those unreliable methods were mostly replaced
by magnetic core memory. Core memory remained dominant until the 1970s, when
advances in integrated circuit technology allowed semiconductor memory to
become economically competitive.
This led to modern random-access memory (RAM). It is small-sized, light, but quite
expensive at the same time. (The particular types of RAM used for primary storage
are also volatile, i.e. they lose the information when not powered).
As shown in the diagram, traditionally there are two more sub-layers of the primary
storage, besides main large-capacity RAM:




Processor registers are located inside the processor. Each register typically
holds a word of data (often 32 or 64 bits). CPU instructions instruct the
arithmetic and logic unit to perform various calculations or other operations
on this data (or with the help of it). Registers are the fastest of all forms of
computer data storage.
Processor cache is an intermediate stage between ultra-fast registers and
much slower main memory. It's introduced solely to increase performance of
the computer. Most actively used information in the main memory is just
duplicated in the cache memory, which is faster, but of much lesser capacity.
On the other hand, main memory is much slower, but has a much greater
storage capacity than processor registers. Multi-level hierarchical cache setup
is also commonly used—primary cache being smallest, fastest and located
inside the processor; secondary cache being somewhat larger and slower.

Main memory is directly or indirectly connected to the central processing unit via a
memory bus. It is actually two buses (not on the diagram): an address bus and a data
bus. The CPU firstly sends a number through an address bus, a number called
memory address, that indicates the desired location of data. Then it reads or writes
the data itself using the data bus. Additionally, a memory management unit (MMU)
is a small device between CPU and RAM recalculating the actual memory address,
for example to provide an abstraction of virtual memory or other tasks.
As the RAM types used for primary storage are volatile (cleared at start up), a
computer containing only such storage would not have a source to read instructions
from, in order to start the computer. Hence, non-volatile primary storage containing
a small startup program (BIOS) is used to bootstrap the computer, that is, to read a
larger program from non-volatile secondary storage to RAM and start to execute it. A
non-volatile technology used for this purpose is called ROM, for read-only memory

By J Zvirikuzhe, produced by Chief printers
9

(the terminology may be somewhat confusing as most ROM types are also capable of
random access).
Many types of "ROM" are not literally read only, as updates are possible; however it
is slow and memory must be erased in large portions before it can be re-written.
Some embedded systems run programs directly from ROM (or similar), because
such programs are rarely changed. Standard computers do not store nonrudimentary programs in ROM, rather use large capacities of secondary storage,
which is non-volatile as well, and not as costly.
Recently, primary storage and secondary storage in some uses refer to what was
historically called, respectively, secondary storage and tertiary storage.[2]
Secondary storage

A hard disk drive with protective cover removed.
Secondary storage (also known as external memory or auxiliary storage), differs
from primary storage in that it is not directly accessible by the CPU. The computer
usually uses its input/output channels to access secondary storage and transfers the
desired data using intermediate area in primary storage. Secondary storage does
not lose the data when the device is powered down—it is non-volatile. Per unit, it is
typically also two orders of magnitude less expensive than primary storage.
Consequently, modern computer systems typically have two orders of magnitude
more secondary storage than primary storage and data are kept for a longer time
there.
In modern computers, hard disk drives are usually used as secondary storage. The
time taken to access a given byte of information stored on a hard disk is typically a
few thousandths of a second, or milliseconds. By contrast, the time taken to access a
given byte of information stored in random-access memory is measured in
billionths of a second, or nanoseconds. This illustrates the significant access-time
difference which distinguishes solid-state memory from rotating magnetic storage
devices: hard disks are typically about a million times slower than memory. Rotating

By J Zvirikuzhe, produced by Chief printers
10

optical storage devices, such as CD and DVD drives, have even longer access times.
With disk drives, once the disk read/write head reaches the proper placement and
the data of interest rotates under it, subsequent data on the track are very fast to
access. To reduce the seek time and rotational latency, data are transferred to and
from disks in large contiguous blocks.
When data reside on disk, block access to hide latency offers a ray of hope in
designing efficient external memory algorithms. Sequential or block access on disks
is orders of magnitude faster than random access, and many sophisticated
paradigms have been developed to design efficient algorithms based upon
sequential and block access. Another way to reduce the I/O bottleneck is to use
multiple disks in parallel in order to increase the bandwidth between primary and
secondary memory.[3]
Some other examples of secondary storage technologies are: flash memory (e.g. USB
flash drives or keys), floppy disks, magnetic tape, paper tape, punched cards,
standalone RAM disks, and Iomega Zip drives.
The secondary storage is often formatted according to a file system format, which
provides the abstraction necessary to organize data into files and directories,
providing also additional information (called metadata) describing the owner of a
certain file, the access time, the access permissions, and other information.
Most computer operating systems use the concept of virtual memory, allowing
utilization of more primary storage capacity than is physically available in the
system. As the primary memory fills up, the system moves the least-used chunks
(pages) to secondary storage devices (to a swap file or page file), retrieving them
later when they are needed. As more of these retrievals from slower secondary
storage are necessary, the more the overall system performance is degraded.
Tertiary storage

By J Zvirikuzhe, produced by Chief printers
11

Large tape library. Tape cartridges placed on shelves in the front, robotic arm
moving in the back. Visible height of the library is about 180 cm.
Tertiary storage or tertiary memory,[4] provides a third level of storage. Typically it
involves a robotic mechanism which will mount (insert) and dismount removable
mass storage media into a storage device according to the system's demands; these
data are often copied to secondary storage before use. It is primarily used for
archiving rarely accessed information since it is much slower than secondary
storage (e.g. 5–60 seconds vs. 1–10 milliseconds). This is primarily useful for
extraordinarily large data stores, accessed without human operators. Typical
examples include tape libraries and optical jukeboxes.
When a computer needs to read information from the tertiary storage, it will first
consult a catalog database to determine which tape or disc contains the information.
Next, the computer will instruct a robotic arm to fetch the medium and place it in a
drive. When the computer has finished reading the information, the robotic arm will
return the medium to its place in the library.
Off-line storage
Off-line storage is a computer data storage on a medium or a device that is not under
the control of a processing unit.[5] The medium is recorded, usually in a secondary or
tertiary storage device, and then physically removed or disconnected. It must be
inserted or connected by a human operator before a computer can access it again.
Unlike tertiary storage, it cannot be accessed without human interaction.

By J Zvirikuzhe, produced by Chief printers
12

Off-line storage is used to transfer information, since the detached medium can be
easily physically transported. Additionally, in case a disaster, for example a fire,
destroys the original data, a medium in a remote location will probably be
unaffected, enabling disaster recovery. Off-line storage increases general
information security, since it is physically inaccessible from a computer, and data
confidentiality or integrity cannot be affected by computer-based attack techniques.
Also, if the information stored for archival purposes is rarely accessed, off-line
storage is less expensive than tertiary storage.
In modern personal computers, most secondary and tertiary storage media are also
used for off-line storage. Optical discs and flash memory devices are most popular,
and to much lesser extent removable hard disk drives. In enterprise uses, magnetic
tape is predominant. Older examples are floppy disks, Zip disks, or punched cards.
Characteristics of storage

A 1GB DDR RAM module (detail)
Storage technologies at all levels of the storage hierarchy can be differentiated by
evaluating certain core characteristics as well as measuring characteristics specific
to a particular implementation. These core characteristics are volatility, mutability,
accessibility, and addressibility. For any particular implementation of any storage
technology, the characteristics worth measuring are capacity and performance.

By J Zvirikuzhe, produced by Chief printers
13

Volatility
Non-volatile memory
Will retain the stored information even if it is not constantly supplied with
electric power. It is suitable for long-term storage of information.
Volatile memory
Requires constant power to maintain the stored information. The fastest
memory technologies of today are volatile ones (not a universal rule). Since
primary storage is required to be very fast, it predominantly uses volatile
memory.
Dynamic random-access memory
A form of volatile memory which also requires the stored information to be
periodically re-read and re-written, or refreshed, otherwise it would vanish.
Static random-access memory
A form of volatile memory similar to DRAM with the exception that it never
needs to be refreshed as long as power is applied. (It loses its content if
power is removed).
Mutability
Read/write storage or mutable storage
Allows information to be overwritten at any time. A computer without some
amount of read/write storage for primary storage purposes would be useless
for many tasks. Modern computers typically use read/write storage also for
secondary storage.
Read only storage
Retains the information stored at the time of manufacture, and write once
storage (Write Once Read Many) allows the information to be written only
once at some point after manufacture. These are called immutable storage.
Immutable storage is used for tertiary and off-line storage. Examples include
CD-ROM and CD-R.
Slow write, fast read storage
Read/write storage which allows information to be overwritten multiple
times, but with the write operation being much slower than the read
operation. Examples include CD-RW and flash memory.
Accessibility
Random access
Any location in storage can be accessed at any moment in approximately the
same amount of time. Such characteristic is well suited for primary and

By J Zvirikuzhe, produced by Chief printers
14

secondary storage. Most semiconductor memories and disk drives provide
random access.
Sequential access
The accessing of pieces of information will be in a serial order, one after the
other; therefore the time to access a particular piece of information depends
upon which piece of information was last accessed. Such characteristic is
typical of off-line storage.
Addressability
Location-addressable
Each individually accessible unit of information in storage is selected with its
numerical memory address. In modern computers, location-addressable
storage usually limits to primary storage, accessed internally by computer
programs, since location-addressability is very efficient, but burdensome for
humans.
File addressable
Information is divided into files of variable length, and a particular file is
selected with human-readable directory and file names. The underlying
device is still location-addressable, but the operating system of a computer
provides the file system abstraction to make the operation more
understandable. In modern computers, secondary, tertiary and off-line
storage use file systems.
Content-addressable
Each individually accessible unit of information is selected based on the basis
of (part of) the contents stored there. Content-addressable storage can be
implemented using software (computer program) or hardware (computer
device), with hardware being faster but more expensive option. Hardware
content addressable memory is often used in a computer's CPU cache.
CAS(content-addressable storage) addresses the thinking behind how are we to find
and access the information that we currently have or will gather in the future.
Capacity
Raw capacity
The total amount of stored information that a storage device or medium can
hold. It is expressed as a quantity of bits or bytes (e.g. 10.4 megabytes).
Memory storage density
The compactness of stored information. It is the storage capacity of a medium
divided with a unit of length, area or volume (e.g. 1.2 megabytes per square
inch).

By J Zvirikuzhe, produced by Chief printers
15

Performance
Latency
The time it takes to access a particular location in storage. The relevant unit
of measurement is typically nanosecond for primary storage, millisecond for
secondary storage, and second for tertiary storage. It may make sense to
separate read latency and write latency, and in case of sequential access
storage, minimum, maximum and average latency.
Throughput
The rate at which information can be read from or written to the storage. In
computer data storage, throughput is usually expressed in terms of
megabytes per second or MB/s, though bit rate may also be used. As with
latency, read rate and write rate may need to be differentiated. Also accessing
media sequentially, as opposed to randomly, typically yields maximum
throughput.
Energy use




Storage devices that reduce fan usage, automatically shut-down during
inactivity, and low power hard drives can reduce energy consumption 90
percent.[6]
2.5 inch hard disk drives often consume less power than larger ones.[7][8] Low
capacity solid-state drives have no moving parts and consume less power
than hard disks.[9][10][11] Also, memory may use more power than hard
disks.[11]

Fundamental storage technologies
As of 2011, the most commonly used data storage technologies are semiconductor,
magnetic, and optical, while paper still sees some limited usage. Media is a common
name for what actually holds the data in the storage device. Some other
fundamental storage technologies have also been used in the past or are proposed
for development.
Semiconductor
Semiconductor memory uses semiconductor-based integrated circuits to store
information. A semiconductor memory chip may contain millions of tiny transistors
or capacitors. Both volatile and non-volatile forms of semiconductor memory exist.
In modern computers, primary storage almost exclusively consists of dynamic
volatile semiconductor memory or dynamic random access memory. Since the turn
of the century, a type of non-volatile semiconductor memory known as flash
memory has steadily gained share as off-line storage for home computers. NonBy J Zvirikuzhe, produced by Chief printers
16

volatile semiconductor memory is also used for secondary storage in various
advanced electronic devices and specialized computers. As early as 2006, notebook
and desktop computer manufacturers started using flash-based solid-state drives
(SSDs) as default configuration options for the secondary storage either in addition
to or instead of the more traditional HDD.[12][13][14][15][16]
Magnetic
Magnetic storage media
Magnetic storage uses different patterns of magnetization on a magnetically coated
surface to store information. Magnetic storage is non-volatile. The information is
accessed using one or more read/write heads which may contain one or more
recording transducers. A read/write head only covers a part of the surface so that
the head or medium or both must be moved relative to another in order to access
data. In modern computers, magnetic storage will take these forms:




Magnetic disk
o Floppy disk, used for off-line storage
o Hard disk drive, used for secondary storage
Magnetic tape, used for tertiary and off-line storage

In early computers, magnetic storage was also used as:




Primary storage in a form of magnetic memory, or core memory, core rope
memory, thin-film memory and/or twistor memory.
Tertiary (e.g. NCR CRAM) or off line storage in the form of magnetic cards.
Magnetic tape was then often used for secondary storage.

Optical
Optical storage media
Optical storage, the typical optical disc, stores information in deformities on the
surface of a circular disc and reads this information by illuminating the surface with
a laser diode and observing the reflection. Optical disc storage is non-volatile. The
deformities may be permanent (read only media ), formed once (write once media)
or reversible (recordable or read/write media). The following forms are currently in
common use:[17]

By J Zvirikuzhe, produced by Chief printers
17





CD, CD-ROM, DVD, BD-ROM: Read only storage, used for mass distribution of
digital information (music, video, computer programs)
CD-R, DVD-R, DVD+R, BD-R: Write once storage, used for tertiary and off-line
storage
CD-RW, DVD-RW, DVD+RW, DVD-RAM, BD-RE: Slow write, fast read storage,
used for tertiary and off-line storage
Ultra Density Optical or UDO is similar in capacity to BD-R or BD-RE and is
slow write, fast read storage used for tertiary and off-line storage.

Magneto-optical disc storage is optical disc storage where the magnetic state on a
ferromagnetic surface stores information. The information is read optically and
written by combining magnetic and optical methods. Magneto-optical disc storage is
non-volatile, sequential access, slow write, fast read storage used for tertiary and offline storage.
3D optical data storage has also been proposed.
Paper
Paper data storage media
Paper data storage, typically in the form of paper tape or punched cards, has long
been used to store information for automatic processing, particularly before
general-purpose computers existed. Information was recorded by punching holes
into the paper or cardboard medium and was read mechanically (or later optically)
to determine whether a particular location on the medium was solid or contained a
hole. A few technologies allow people to make marks on paper that are easily read
by machine—these are widely used for tabulating votes and grading standardized
tests. Barcodes made it possible for any object that was to be sold or transported to
have some computer readable information securely attached to it.
Uncommon
Vacuum tube memory
A Williams tube used a cathode ray tube, and a Selectron tube used a large
vacuum tube to store information. These primary storage devices were shortlived in the market, since Williams tube was unreliable and the Selectron tube
was expensive.
Electro-acoustic memory

By J Zvirikuzhe, produced by Chief printers
18

Delay line memory used sound waves in a substance such as mercury to store
information. Delay line memory was dynamic volatile, cycle sequential
read/write storage, and was used for primary storage.
Optical tape
is a medium for optical storage generally consisting of a long and narrow strip
of plastic onto which patterns can be written and from which the patterns can
be read back. It shares some technologies with cinema film stock and optical
discs, but is compatible with neither. The motivation behind developing this
technology was the possibility of far greater storage capacities than either
magnetic tape or optical discs.
Phase-change memory
uses different mechanical phases of Phase Change Material to store
information in an X-Y addressable matrix, and reads the information by
observing the varying electrical resistance of the material. Phase-change
memory would be non-volatile, random-access read/write storage, and might
be used for primary, secondary and off-line storage. Most rewritable and
many write once optical disks already use phase change material to store
information.
Holographic data storage
stores information optically inside crystals or photopolymers. Holographic
storage can utilize the whole volume of the storage medium, unlike optical
disc storage which is limited to a small number of surface layers. Holographic
storage would be non-volatile, sequential access, and either write once or
read/write storage. It might be used for secondary and off-line storage. See
Holographic Versatile Disc (HVD).
Molecular memory
stores information in polymer that can store electric charge. Molecular
memory might be especially suited for primary storage. The theoretical
storage capacity of molecular memory is 10 terabits per square inch.[18]
Related technologies
Network connectivity
A secondary or tertiary storage may connect to a computer utilizing computer
networks. This concept does not pertain to the primary storage, which is shared
between multiple processors in a much lesser degree.


Direct-attached storage (DAS) is a traditional mass storage that does not use
any network. This is still a most popular approach. This retronym was coined
recently, together with NAS and SAN.

By J Zvirikuzhe, produced by Chief printers
19




Network-attached storage (NAS) is mass storage attached to a computer
which another computer can access at file level over a local area network, a
private wide area network, or in the case of online file storage, over the
Internet. NAS is commonly associated with the NFS and CIFS/SMB protocols.
Storage area network (SAN) is a specialized network that provides other
computers with storage capacity. The crucial difference between NAS and
SAN is the former presents and manages file systems to client computers,
whilst the latter provides access at block-addressing (raw) level, leaving it to
attaching systems to manage data or file systems within the provided
capacity. SAN is commonly associated with Fibre Channel networks.

Robotic storage
Large quantities of individual magnetic tapes, and optical or magneto-optical discs
may be stored in robotic tertiary storage devices. In tape storage field they are
known as tape libraries, and in optical storage field optical jukeboxes, or optical disk
libraries per analogy. Smallest forms of either technology containing just one drive
device are referred to as autoloaders or auto-changers.
Robotic-access storage devices may have a number of slots, each holding individual
media, and usually one or more picking robots that traverse the slots and load
media to built-in drives. The arrangement of the slots and picking devices affects
performance. Important characteristics of such storage are possible expansion
options: adding slots, modules, drives, robots. Tape libraries may have from 10 to
more than 100,000 slots, and provide terabytes or petabytes of near-line
information. Optical jukeboxes are somewhat smaller solutions, up to 1,000 slots.
Robotic storage is used for backups, and for high-capacity archives in imaging,
medical, and video industries. Hierarchical storage management is a most known
archiving strategy of automatically migrating long-unused files from fast hard disk
storage to libraries or jukeboxes. If the files are needed, they are retrieved back to
disk.

By J Zvirikuzhe, produced by Chief printers
20

Software

Computer software, or just software, is a collection of computer programs and
related data that provides the instructions for telling a computer what to do and
how to do it. Software refers to one or more computer programs and data held in
the storage of the computer. In other words, software is a set of programs,
procedures, algorithms and its documentation concerned with the operation of a data
processing system. Program software performs the function of the program it
implements, either by directly providing instructions to the digital electronics or by
serving as input to another piece of software. The term was coined to contrast to the
old term hardware (meaning physical devices). In contrast to hardware, software
"cannot be touched".[1] Software is also sometimes used in a more narrow sense,
meaning application software only. Sometimes the term includes data that has not
traditionally been associated with computers, such as film, tapes, and records.[2]
Computer software is so called to distinguish it from computer hardware, which
encompasses the physical interconnections and devices required to store and
execute (or run) the software. At the lowest level, executable code consists of
machine language instructions specific to an individual processor. A machine
language consists of groups of binary values signifying processor instructions that
change the state of the computer from its preceding state. Programs are an ordered
sequence of instructions for changing the state of the computer in a particular
sequence. It is usually written in high-level programming languages that are easier
and more efficient for humans to use (closer to natural language) than machine
language. High-level languages are compiled or interpreted into machine language
object code. Software may also be written in an assembly language, essentially, a
By J Zvirikuzhe, produced by Chief printers
21

mnemonic representation of a machine language using a natural language alphabet.
Assembly language must be assembled into object code via an assembler.
Contents











1 History
2 Types of software
o 2.1 System software
o 2.2 Programming software
o 2.3 Application software
3 Software topics
o 3.1 Architecture
o 3.2 Documentation
o 3.3 Library
o 3.4 Standard
o 3.5 Execution
o 3.6 Quality and reliability
o 3.7 License
o 3.8 Patents
4 Design and implementation
5 Industry and organizations
6 See also
7 References
8 External links

By J Zvirikuzhe, produced by Chief printers
22

Types of software

A layer structure showing where the operating system software and application
software are situated while running on a typical desktop computer
Software includes all the various forms and roles that digitally stored data may have
and play in a computer (or similar system), regardless of whether the data is used as
code for a CPU, or other interpreter, or whether it represents other kinds of
information. Software thus encompasses a wide array of products that may be
developed using different techniques such as ordinary programming languages,
scripting languages, microcode, or an FPGA configuration.
The types of software include web pages developed in languages and frameworks
like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like
OpenOffice.org, Microsoft Word developed in languages like C, C++, Objective-C,
Java, C#, or Smalltalk. Application software usually runs on an underlying software
operating systems such as Linux or Microsoft Windows. Software (or firmware) is
also used in video games and for the configurable parts of the logic systems of
automobiles, televisions, and other consumer electronics.
Practical computer systems divide software systems into three major classes system
software, programming software and application software, although the distinction
is arbitrary, and often blurred.

By J Zvirikuzhe, produced by Chief printers
23

System software
System software is computer software designed to operate the computer hardware,
to provide basic functionality, and to provide a platform for running application
software.[5] System software includes device drivers, operating systems, servers,
utilities, and window systems.
System software is responsible for managing a variety of independent hardware
components, so that they can work together harmoniously. Its purpose is to
unburden the application software programmer from the often complex details of
the particular computer being used, including such accessories as communications
devices, printers, device readers, displays and keyboards, and also to partition the
computer's resources such as memory and processor time in a safe and stable
manner.
Programming software
Programming software include tools in the form of programs or applications that
software developers use to create, debug, maintain, or otherwise support other
programs and applications. The term usually refers to relatively simple programs
such as compilers, debuggers, interpreters, linkers, and text editors, that can be
combined together to accomplish a task, much as one might use multiple hand tools
to fix a physical object. Programming tools are intended to assist a programmer in
writing computer programs, and they may be combined in an integrated
development environment (IDE) to more easily manage all of these functions.
Application software
Application software is developed to perform in any task that benefits from
computation. It is a set of programs that allows the computer to perform a specific
data processing job for the user. It is a broad category, and encompasses software
of many kinds, including the internet browser being used to display this page.
Software topics
Architecture
Users often see things differently than programmers. People who use modern
general purpose computers (as opposed to embedded systems, analog computers
and supercomputers) usually see three layers of software performing a variety of
tasks: platform, application, and user software.

By J Zvirikuzhe, produced by Chief printers
24






Platform software: Platform includes the firmware, device drivers, an
operating system, and typically a graphical user interface which, in total,
allow a user to interact with the computer and its peripherals (associated
equipment). Platform software often comes bundled with the computer. On a
PC you will usually have the ability to change the platform software.
Application software: Application software or Applications are what most
people think of when they think of software. Typical examples include office
suites and video games. Application software is often purchased separately
from computer hardware. Sometimes applications are bundled with the
computer, but that does not change the fact that they run as independent
applications. Applications are usually independent programs from the
operating system, though they are often tailored for specific platforms. Most
users think of compilers, databases, and other "system software" as
applications.
User-written software: End-user development tailors systems to meet users'
specific needs. User software include spreadsheet templates and word
processor templates. Even email filters are a kind of user software. Users
create this software themselves and often overlook how important it is.
Depending on how competently the user-written software has been
integrated into default application packages, many users may not be aware of
the distinction between the original packages, and what has been added by
co-workers.

Documentation
Most software has software documentation so that the end user can understand the
program, what it does, and how to use it. Without clear documentation, software can
be hard to use—especially if it is very specialized and relatively complex like
Photoshop or AutoCAD.
Developer documentation may also exist, either with the code as comments and/or
as separate files, detailing how the programs works and can be modified.
Library
An executable is almost always not sufficiently complete for direct execution.
Software libraries include collections of functions and functionality that may be
embedded in other applications. Operating systems include many standard Software
libraries, and applications are often distributed with their own libraries.

By J Zvirikuzhe, produced by Chief printers
25

Standard
Since software can be designed using many different programming languages and in
many different operating systems and operating environments, software standard is
needed so that different software can understand and exchange information
between each other. For instance, an email sent from a Microsoft Outlook should be
readable from Yahoo! Mail and vice versa.
Execution
Computer software has to be "loaded" into the computer's storage (such as the hard
drive or memory). Once the software has loaded, the computer is able to execute the
software. This involves passing instructions from the application software, through
the system software, to the hardware which ultimately receives the instruction as
machine code. Each instruction causes the computer to carry out an operation –
moving data, carrying out a computation, or altering the control flow of instructions.
Data movement is typically from one place in memory to another. Sometimes it
involves moving data between memory and registers which enable high-speed data
access in the CPU. Moving data, especially large amounts of it, can be costly. So, this
is sometimes avoided by using "pointers" to data instead. Computations include
simple operations such as incrementing the value of a variable data element. More
complex computations may involve many operations and data elements together.
Quality and reliability
Software quality is very important, especially for commercial and system software
like Microsoft Office, Microsoft Windows and Linux. If software is faulty (buggy), it
can delete a person's work, crash the computer and do other unexpected things.
Faults and errors are called "bugs." Many bugs are discovered and eliminated
(debugged) through software testing. However, software testing rarely – if ever –
eliminates every bug; some programmers say that "every program has at least one
more bug" (Lubarsky's Law). All major software companies, such as Microsoft,
Novell and Sun Microsystems, have their own software testing departments with the
specific goal of just testing. Software can be tested through unit testing, regression
testing and other methods, which are done manually, or most commonly,
automatically, since the amount of code to be tested can be quite large. For instance,
NASA has extremely rigorous software testing procedures for many operating
systems and communication functions. Many NASA based operations interact and
identify each other through command programs called software. This enables many
people who work at NASA to check and evaluate functional systems overall.
Programs containing command software enable hardware engineering and system
operations to function much easier together.
By J Zvirikuzhe, produced by Chief printers
26

License
The software's license gives the user the right to use the software in the licensed
environment. Some software comes with the license when purchased off the shelf,
or an OEM license when bundled with hardware. Other software comes with a free
software license, granting the recipient the rights to modify and redistribute the
software. Software can also be in the form of freeware or shareware.
Patents
Software can be patented in some but not all countries; however, software patents
can be controversial in the software industry with many people holding different
views about it. The controversy over software patents is about specific algorithms
or techniques that the software contains, which may not be duplicated by others and
considered intellectual property and copyright infringement depending on the
severity.
Design and implementation

By J Zvirikuzhe, produced by Chief printers
27

A particular implementation of software. This software was created to assist the
Wikipedia website. Also, it does not use a graphical user interface aside from a
simple console window.

By J Zvirikuzhe, produced by Chief printers
28

Design and implementation of software varies depending on the complexity of the
software. For instance, design and creation of Microsoft Word software will take
much more time than designing and developing Microsoft Notepad because of the
difference in functionalities in each one.
Software is usually designed and created (coded/written/programmed) in
integrated development environments (IDE) like Eclipse, Emacs and Microsoft
Visual Studio that can simplify the process and compile the program. As noted in
different section, software is usually created on top of existing software and the
application programming interface (API) that the underlying software provides like
GTK+, JavaBeans or Swing. Libraries (APIs) are categorized for different purposes.
For instance, JavaBeans library is used for designing enterprise applications,
Windows Forms library is used for designing graphical user interface (GUI)
applications like Microsoft Word, and Windows Communication Foundation is used
for designing web services. Underlying computer programming concepts like
quicksort, hash table, array, and binary tree can be useful to creating software.
When a program is designed, it relies on the API. For instance, if a user is designing a
Microsoft Windows desktop application, he/she might use the .NET Windows Forms
library to design the desktop application and call its APIs like Form1.Close() and
Form1.Show()[6] to close or open the application and write the additional operations
him/herself that it need to have. Without these APIs, the programmer needs to write
these APIs him/herself. Companies like Sun Microsystems, Novell, and Microsoft
provide their own APIs so that many applications are written using their software
libraries that usually have numerous APIs in them.
Computer software has special economic characteristics that make its design,
creation, and distribution different from most other economic goods.
A person who creates software is called a programmer, software engineer, software
developer, or "code monkey", terms that all have a similar meaning.

By J Zvirikuzhe, produced by Chief printers
29

Software Categories

1. Starting a computer
2. User interface
3. Features of operating
systems
4. Stand-alone and
network operating
system

6. Stand-alone
operating systems
7. Network operating
systems
8. Embedded operating
systems
9. Utility programs

Here you will find additional information that will expand and enhance your
knowledge beyond that contained in your textbook. Compare this information to
what may be provided in a traditional classroom by your instructor or peers.

Starting a Computer
When you turn on a computer after it has been powered off, you are performing a
cold boot. When you restart a computer that already has been powered on, you are
performing a warm boot. Your typically can perform a warm boot by pressing a
combination of keys on the keyboard (in Windows, CTRL+ALT+DEL), selecting
options from a menu, or pressing a Reset button on the computer.
If you watch the screen closely as the POST is conducted, the value for the total
amount of memory can be seen to change as it is measured in the memory test. If the
POST results do not match the data on the CMOS chip, an appropriate message
should appear. The boot program typically is the first side, first track, and first
sector of the hard disk. When you install an operating system, one of the installation
steps involves making an emergency disk from which you can start your computer
if the hard disk is damaged.
User Interface
You can interact with an operating system directly (as you do when copying files,
moving files, formatting disks, and so on) or indirectly (as you do when working
with an application program). An operating system is intended to be transparent;
that is, it does not have to be understood, considered, or even known. The operating
system with which an application program will work is specified on the application
software package. The application programs you want to use should be considered
By J Zvirikuzhe, produced by Chief printers
30

before deciding on an operating system, and the operating system must be
considered when choosing application software.
A graphical user interface is designed to be easier to use (more user-friendly) than a
command-line interface. As an example of this user-friendly nature, consider how a
relatively simple task, such as deleting a file, is performed with a command-line
interface and with a GUI. With a command-line interface, you might type del
followed by the file name in quotation marks. Therefore, you must remember the
command, type it correctly, and use the proper syntax. On the other hand, with a GUI
you need only select (click) the file name in the file manager window and then click
the Delete command on a menu or the Delete button on a toolbar. Although most
people find a GUI the easiest interface to use, some long-time computer virtuosos
still feel a command-line user interface is more efficient.
Features of Operating Systems
Early operating systems were single user/single tasking, but today most operating
system are multitasking. Multitasking can be cooperative, in which programs switch
when they reach a logical break point, or preemptive, in which programs switch
based on priority and an allocated amount of time. Early versions of Windows used
cooperative multitasking; Windows 95 and subsequent versions use preemptive
multitasking. Upon termination, most programs relinquish their space in memory,
which then is reallocated by the operating system. Some programs, however, stay in
memory after they terminate. As a class, these programs are called TSR (Terminate
and Stay Resident) programs.
Virtual memory is employed with multitasking operating systems to maximize the
number of programs that can use memory at one time. Paging, or the technique of
swapping items between memory and storage, was developed before processors
could address directly more than 1 MB of memory. All printers have buffers, and
printer manufacturers are eager to sell DRAM. The term spooling comes from the
observation that placing print jobs temporarily in a buffer is somewhat like winding
thread onto a spool so that it can be used at a later time. Today, adding and
configuring devices is easier because most devices support Plug and Play, which
means the computer can recognize a new device and automatically load the
necessary drivers. A feature of Windows 95, Plug and Play initially was greeted with
mixed reviews. In fact, some wags claimed the new technology was more accurately
called, “Plug and Pray.”
Processor utilization – the amount of time that the processor is working and not idle
– is one way of monitoring system performance. In addition to the programs that
come with most operating systems, several utility programs are available to monitor

By J Zvirikuzhe, produced by Chief printers
31

system performance. Formatting a disk is the process of preparing it for reading and
writing. Today, most floppy and hard disks are preformatted by the manufacturer. If
you format a disk that already contains data, the formatting process erases the file
location information, but it does not erase the actual files on the disk. Therefore, if
you accidentally format a disk, often you can unformat it with a utility program.
System security usually is most important for large systems or networks. For singleuser PCs, adequate system security can be a key in the user’s pocket.
Stand-Alone and Network Operating System
Many early operating systems were device dependent and proprietary. Devicedependent operating systems run only on a specific type of computer. Proprietary
software is privately owned and limited to a specific vendor or computer mode.
Today, the trend is towards device-independent operating systems that run on
many manufacturers’ computers. Software that is not proprietary (i.e., that can work
with a variety of computer models) sometimes is called portable or generic. Most of
the operating systems discussed in this section are portable. When an operating
system is proprietary, usually it is to boost hardware sales.
Operating systems for Apple computers and most mainframes initially were
proprietary. Steve Wozniak, cofounder of Apple Computers, believes the decision to
make its innovative Macintosh operating system proprietary was one of the
company’s greatest mistakes. “We had the most beautiful operating system,”
Wozniak writes, “but to get it you had to buy our hardware at twice the price.”
Wozniak now feels the operating system should have been licensed.
Stand-Alone Operating Systems
Bill Gates, founder of Microsoft and one of the wealthiest men in the world, began
his fortune with the MS-DOS operating system. Although developed for IBM,
Microsoft retained the rights to the operating system and licensed the source code
to several hardware manufacturers, which resulted in multiple variations. An
application written for one type of DOS, however, will work with any other
variation. A number follows each version of PC-DOS or MS-DOS. The integer portion
of the number indicates a major release, while the decimal portion indicates
updates. Thus, MS-DOS 6.2 means major version six, which has been updated twice.
To a great extent, the popularity of DOS was a result of the large number of
applications written to work with the operating system.
Windows 1.0, released in 1985, was Microsoft’s first attempt with a graphical user
interface. It was not until five years later, however, with the release of Windows 3.0,
that computer users began to take Windows seriously. Windows required 2 MB of
memory (with 4 MB recommended) and an 80386 or newer processor, so it could
By J Zvirikuzhe, produced by Chief printers
32

not be used with many older PCs. Nevertheless, because Windows 3.0 was easier to
use than DOS, eventually most software was written, and many popular DOS
programs were rewritten, to work with Windows.
Despite the advantages of Windows 95 and a heavily-funded promotional campaign,
a poll of DOS and Windows 3.x users showed not everyone immediately embraced
the new operating system. When asked how likely they were to adopt Windows 95
within the next six months, respondents replied:





extremely likely
possible
not likely
don’t know

10%
35%
53%
2%

Why are people often reluctant to adopt a new operating system?
The inclusion of Internet Explorer in the Windows 98 operating system led to an
antitrust suit against Microsoft. Prosecutors insisted that the incorporation of a
browser was an attempt by Microsoft to eliminate competition from rival Web
browsers (such as Netscape Navigator). Microsoft maintained that the addition
simply was an enhancement to the operating system. Although Microsoft advertised
Windows 98 less heavily than Windows 95, many vendors took up the slack. One
retailer offered Windows 98 with the opportunity to buy a new computer for $98.
The promotion evidently worked. A buyer waited in line 11 hours for a chance to
buy the new operating system and discount computer. When asked if he would have
come out simply for Windows 98 (his current computer ran Windows 3.1), he
replied, “Not a chance.”
Windows 2000 was released in February, 2000 and was touted as a boon for all
businesses, from small companies with no more than two desktop computers to
large corporations with vast networks. Windows Millennium is a result of
Microsoft’s recognition that the needs of business and home users are different.
For years, the Macintosh operating system had features that made it far easier to use
than other operating systems. For example, people could give files sensible names
(like “Letter to Grandma”) instead of the cryptic, eight-character strings (like
“letgrand.txt”) demanded by DOS and Windows 3.x. While Windows 95
incorporated many of these features, Macintosh devotees still feel their operating
system is easier to use. Until recently, the Macintosh operating system was
proprietary. In 1994 the operating system was licensed, but experts feel Apple’s
promotion has been lukewarm. New standards let IBM computers run Apple
software. More than 4,000 applications are designed to run under the Mac OS.
Microsoft has developed the more popular Mac OS applications.
By J Zvirikuzhe, produced by Chief printers
33

IBM supplies OS/2 (Operating System/2) Warp with its high-end personal
computers. OS/2 originally was developed jointly by IBM and Microsoft to replace
MS-DOS. As an interim measure, Microsoft developed Windows, an operating
environment to work with DOS. The eventual popularity of Windows, coupled with
the initial poor sales of OS/2, resulted in Microsoft and IBM going their separate
ways, with Microsoft concentrating on Windows and IBM continuing to develop
OS/2. Features offered in OS/2 Warp include:







An enhanced graphical user interface
Integrated business application software
Speaker-independent speech recognition software
Desktop objects that allow users to connect directly to the Internet
Integrated Java programming language that allows Java applications to run
without a Web browser
Support for multiple CPUs using multiprocessing

By J Zvirikuzhe, produced by Chief printers
34

Command line vs. GUI
Users not familiar with a command line interface (CLI) or a graphic user interface
(GUI) may want to know the advantages and disadvantages of each interface to help
determine what interface is the best for them to use and why. Below is a table to
help illustrate the major advantages and disadvantages of each of the interfaces.
Topic

Command line (CLI)

GUI

Ease

Because of the memorization and
familiarity needed to operate a
command line interface, new users
have a difficult time navigating and
operating a command line interface.

Although new users may have a
difficult time learning to use the
mouse and all GUI features, most
users pick up this interface much
easier when compared to a
command line interface.

Control

Users have much more control of
their file system and operating
system in a command line interface.
For example, users can copy a
specific file from one location to
another with a one-line command.

Although a GUI offers plenty of
control of a file system and
operating system, the more
advanced tasks may still need a
command line.

Although many command line
environments are capable of
multitasking, they do not offer the
Multitasking
same ease and ability to view
multiple things at once on one
screen.

GUI users have windows that
enable a user to view, control,
and manipulate multiple things
at once and is much faster to
navigate when compared with a
command line.

Command line users only need to
use their keyboards to navigate a
command line interface and often
only need to execute a few lines to
perform a task.

A GUI may be easier to use
because of the mouse. However,
using a mouse and keyboard to
navigate and control your
operating system for many
things is going to be much
slower than someone who is

Speed

By J Zvirikuzhe, produced by Chief printers
35

working in a command line.

A computer that is only using the
command line takes a lot less of the
computers system resources than a
GUI.

A GUI requires more system
resources because of each of the
elements that need to be loaded
such as icons, fonts, etc. In
addition, video drivers, mouse
drivers, and other drivers that
need to be loaded will also take
additional resources.

Scripting

A command line interface enables a
user to script a sequence of
commands to perform a task or
execute a program.

Although A GUI enables a user to
create shortcuts, tasks, or other
similar actions, it doesn't even
come close in comparison to
what is available through a
command line.

Remote
access

When accessing another computer
or networking device over a
network, a user will only be able to
manipulate the device or its files
using a command line interface.

Although remote graphical
access is possible. Not all
computers and especially not all
network equipment will have
this ability.

Diverse

After you've learned how to navigate
and use a command line, it's not
going to change as much as a new
GUI. Although new commands may
be introduced, the original
commands always remain the same.

Each GUI has a different design
and structure of how to perform
different tasks. Even different
versions of the same GUI, such as
Windows, can have hundreds of
different changes between each
version.

Strain

The command line allows the user to
keep their hands on the keyboard
and rarely have to move from the
keyboard to the mouse. Moving back
and forth between a keyboard and

Although shortcut keys can be
learned to help reduce the
amount of times you have move
from the keyboard to the mouse,
you will still be moving much

Resources

By J Zvirikuzhe, produced by Chief printers
36

mouse can cause additional strain
and may help contribute to Carpal
Tunnel.

more between the keyboard and
mouse with a GUI.

Computer program

A computer program written in an object-oriented style.
A computer program (also software, or just a program or application) is a
sequence of instructions written to perform a specified task with a computer.[1] A
computer requires programs to function, typically executing the program's
instructions in a central processor.[2] The program has an executable form that the
computer can use directly to execute the instructions. The same program in its
human-readable source code form, from which executable programs are derived
(e.g., compiled), enables a programmer to study and develop its algorithms.
Computer source code is often written by computer programmers. Source code is
written in a programming language that usually follows one of two main paradigms:
imperative or declarative programming. Source code may be converted into an
executable file (sometimes called an executable program or a binary) by a compiler
and later executed by a central processing unit. Alternatively, computer programs

By J Zvirikuzhe, produced by Chief printers
37

may be executed with the aid of an interpreter, or may be embedded directly into
hardware.
Computer programs may be categorized along functional lines: system software and
application software. Two or more computer programs may run simultaneously on
one computer, a process known as multitasking

Contents










1 Programming
o 1.1 Paradigms
o 1.2 Compiling or interpreting
o 1.3 Self-modifying programs
2 Execution and storage
o 2.1 Embedded programs
o 2.2 Manual programming
o 2.3 Automatic program generation
o 2.4 Simultaneous execution
3 Functional categories
4 See also
5 References
6 Further reading
7 External links

By J Zvirikuzhe, produced by Chief printers
38

Programming
Computer programming is the iterative process of writing or editing
source code.
Editing source code involves testing, analyzing, and refining, and
sometimes coordinating with other programmers on a jointly
developed program.
A person who practices this skill is referred to as a computer
programmer, software developer or coder.

#include
<stdio.h>
int main() {
printf("Hello
world!n");
return 0;
}

Source code
The sometimes lengthy process of computer programming is usually of a Hello
referred to as software development.
World
program
The term software engineering is becoming popular as the process is written in the
seen as an engineering discipline.
C
programming
language
Paradigms
Computer programs can be categorized by the programming language paradigm
used to produce them. Two of the main paradigms are imperative and declarative.
Programs written using an imperative language specify an algorithm using
declarations, expressions, and statements.[3] A declaration couples a variable name
to a datatype. For example: var x: integer; . An expression yields a value. For
example: 2 + 2 yields 4. Finally, a statement might assign an expression to a variable
or use the value of a variable to alter the program's control flow. For example: x := 2
+ 2; if x = 4 then do_something(); One criticism of imperative languages is the side
effect of an assignment statement on a class of variables called non-local variables.[4]

By J Zvirikuzhe, produced by Chief printers
39

Programs written using a declarative language specify the properties that have to be
met by the output. They do not specify details expressed in terms of the control flow
of the executing machine but of the mathematical relations between the declared
objects and their properties. Two broad categories of declarative languages are
functional languages and logical languages. The principle behind functional
languages (like Haskell) is to not allow side effects, which makes it easier to reason
about programs like mathematical functions.[4] The principle behind logical
languages (like Prolog) is to define the problem to be solved — the goal — and leave
the detailed solution to the Prolog system itself.[5] The goal is defined by providing a
list of subgoals. Then each subgoal is defined by further providing a list of its
subgoals, etc. If a path of subgoals fails to find a solution, then that subgoal is
backtracked and another path is systematically attempted.
The form in which a program is created may be textual or visual. In a visual
language program, elements are graphically manipulated rather than textually
specified.
Compiling or interpreting
A computer program in the form of a human-readable, computer programming
language is called source code. Source code may be converted into an executable
image by a compiler or executed immediately with the aid of an interpreter.
Either compiled or interpreted programs might be executed in a batch process
without human interaction, but interpreted programs allow a user to type
commands in an interactive session. In this case the programs are the separate
commands, whose execution occurs sequentially, and thus together. When a
language is used to give commands to a software application (such as a shell) it is
called a scripting language.
Compilers are used to translate source code from a programming language into
either object code or machine code. Object code needs further processing to become
machine code, and machine code is the central processing unit's native code, ready
for execution. Compiled computer programs are commonly referred to as
executables, binary images, or simply as binaries — a reference to the binary file
format used to store the executable code.
Interpreted computer programs - in a batch or interactive session - are either
decoded and then immediately executed or are decoded into some efficient
intermediate representation for future execution. BASIC, Perl, and Python are
examples of immediately executed computer programs. Alternatively, Java
computer programs are compiled ahead of time and stored as a machine

By J Zvirikuzhe, produced by Chief printers
40

independent code called bytecode. Bytecode is then executed on request by an
interpreter called a virtual machine.
The main disadvantage of interpreters is that computer programs run slower than
when compiled. Interpreting code is slower than running the compiled version
because the interpreter must decode each statement each time it is loaded and then
perform the desired action. However, software development may be faster using an
interpreter because testing is immediate when the compiling step is omitted.
Another disadvantage of interpreters is that at least one must be present on the
computer during computer program execution. By contrast, compiled computer
programs need no compiler present during execution.
No properties of a programming language require it to be exclusively compiled or
exclusively interpreted. The categorization usually reflects the most popular method
of language execution. For example, BASIC is thought of as an interpreted language
and C a compiled language, despite the existence of BASIC compilers and C
interpreters. Some systems use just-in-time compilation (JIT) whereby sections of
the source are compiled 'on the fly' and stored for subsequent executions.
Self-modifying programs
A computer program in execution is normally treated as being different from the
data the program operates on. However, in some cases this distinction is blurred
when a computer program modifies itself. The modified computer program is
subsequently executed as part of the same program. Self-modifying code is possible
for programs written in machine code, assembly language, Lisp, C, COBOL, PL/1,
Prolog and JavaScript (the evaluated feature) among others.
Execution and storage
Typically, computer programs are stored in non-volatile memory until requested
either directly or indirectly to be executed by the computer user. Upon such a
request, the program is loaded into random access memory, by a computer program
called an operating system, where it can be accessed directly by the central
processor. The central processor then executes ("runs") the program, instruction by
instruction, until termination. A program in execution is called a process.[6]
Termination is either by normal self-termination or by error — software or
hardware error.
Embedded programs

By J Zvirikuzhe, produced by Chief printers
41

The microcontroller on the right of this USB flash drive is controlled with embedded
firmware.
Some computer programs are embedded into hardware. A stored-program
computer requires an initial computer program stored in its read-only memory to
boot. The boot process is to identify and initialize all aspects of the system, from
processor registers to device controllers to memory contents.[7] Following the
initialization process, this initial computer program loads the operating system and
sets the program counter to begin normal operations. Independent of the host
computer, a hardware device might have embedded firmware to control its
operation. Firmware is used when the computer program is rarely or never
expected to change, or when the program must not be lost when the power is off.[8]
Manual programming

Switches for manual input on a Data General Nova 3
Computer programs historically were manually input to the central processor via
switches. An instruction was represented by a configuration of on/off settings. After
setting the configuration, an execute button was pressed. This process was then
repeated. Computer programs also historically were manually input via paper tape
By J Zvirikuzhe, produced by Chief printers
42

or punched cards. After the medium was loaded, the starting address was set via
switches and the execute button pressed.[9]
Automatic program generation
Generative programming is a style of computer programming that creates source
code through generic classes, prototypes, templates, aspects, and code generators to
improve programmer productivity. Source code is generated with programming
tools such as a template processor or an integrated development environment. The
simplest form of source code generator is a macro processor, such as the C
preprocessor, which replaces patterns in source code according to relatively simple
rules.
Software engines output source code or markup code that simultaneously become
the input to another computer process. Application servers are software engines
that deliver applications to client computers. For example, a Wiki is an application
server that lets users build dynamic content assembled from articles. Wikis generate
HTML, CSS, Java, and JavaScript which are then interpreted by a web browser.
Simultaneous execution
Many operating systems support multitasking which enables many computer
programs to appear to run simultaneously on one computer. Operating systems may
run multiple programs through process scheduling — a software mechanism to
switch the CPU among processes often so users can interact with each program
while it runs.[10] Within hardware, modern day multiprocessor computers or
computers with multicore processors may run multiple programs.[11]
One computer program can calculate simultaneously more than one operation using
threads or separate processes. Multithreading processors are optimized to execute
multiple threads efficiently.
Functional categories
Computer programs may be categorized along functional lines. The main functional
categories are system software and application software. System software includes
the operating system which couples computer hardware with application
software.[12] The purpose of the operating system is to provide an environment in
which application software executes in a convenient and efficient manner.[12] In
addition to the operating system, system software includes utility programs that
help manage and tune the computer. If a computer program is not system software
then it is application software. Application software includes middleware, which
couples the system software with the user interface. Application software also
By J Zvirikuzhe, produced by Chief printers
43

includes utility programs that help users solve application problems, like the need
for sorting.
Sometimes development environments for software development are seen as a
functional category on its own, especially in the context of human-computer
interaction and programming language design. Development environments gather
system software (such as compilers and system's batch processing scripting
languages) and application software (such as IDEs) for the specific purpose of
helping programmers create new programs.
Operating System: Questions and Answers
Overview

1. Describe the two types of
software
2. Understand the startup
process for a personal
computer
3. Describe the term user
interface
4. Explain features common
to most operating systems
5. Know the difference
between stand-alone
operating systems and
network operating systems
6. Identify various standalone operating systems

7. Identify various network
operating systems
8. Recognize devices that use
embedded operating
systems
9. Discuss the purpose of the
following utilities: file
viewer, file compression,
diagnostic, uninstaller, disk
scanner, disk defragmenter,
backup, and screen saver

System software is an essential part of a computer system. This chapter defines
system software and discusses two types of system software: operating systems and
utility programs. You learn what an operating system is and explore user interfaces,
operating systems features, and operating system functions. A variety of popular
operating systems are described including DOS, Windows 3.x, Windows 95,
Windows 98, Windows 2000, Windows XP, Windows CE, the Mac OS, OS/2, UNIX,
Linux, and NetWare. You discover what happens when they start a computer and
why a boot disk is important. Finally, a number of utility programs are explained.
Describe the two types of software
Two types of software are application software and system software. Application
software consists of programs that perform specific tasks for users, such as a word

By J Zvirikuzhe, produced by Chief printers
44

processing program, e-mail program, or Web browser. System software consists of
the programs that control the operations of a computer and its devices. The two
types of system software are operating systems and utility programs. An operating
system (OS) is a set of programs containing instructions that coordinate all the
activities among computer hardware devices. A utility program performs a specific
task, usually related to managing a computer, its devices, or its programs.
Understand the startup process for a personal computer
Booting is the process of starting or restarting a computer. When you turn on the
computer, the power supply sends an electrical signal to devices located in the
system unit. The processor chip resets itself and looks for the ROM chip that
contains the BIOS (basic input/output system), which is firmware that holds the
startup instructions. The BIOS executes the power-on self test (POST) to make
sure hardware is connected properly and operating correctly. The POST results are
compared with data in a CMOS chip on the motherboard. If the POST completes
successfully, the BIOS searches for specific operating system files called system
files. Once located, the boot drive (the drive from which your personal computer
starts), loads the system files from storage (the hard disk – usually drive C) into
memory (RAM) and executes them. Next, the kernel of the operating system loads
into memory and takes control of the computer. The operating system loads
configuration information. In Windows XP, the registry consists of several file that
contain the system configuration information. When complete, the Windows XP
desktop and icons display, and programs in the StartUp folder are executed.
Describe the term user interface
A user interface controls how you enter data and instructions and how information
displays on the screen. Two types of user interfaces are command-line and
graphical. With a command-line interface, you type keywords or press special
keys to enter data or instructions. A graphical user interface (GUI) allows you to
use menus and visual images such as icons, buttons, and other graphical objects to
issue commands. A menu is a set of commands from which you can choose. An icon
is a small image that represents a program, an instruction, a file, or some other
object.
Explain features common to most operating systems
Most operating systems perform similar functions that include managing programs,
managing memory, scheduling jobs, configuring devices, accessing the Web,
monitoring performance, providing housekeeping services, and administering
security. Managing programs directly affects your productivity. A single
user/single tasking operating system allows only one user to run one program at a
By J Zvirikuzhe, produced by Chief printers
45

time. A multitasking operating system allows a single user to work on two or more
applications that reside in memory at the same time. A multi-user operating system
enables two or more users to run a program simultaneously.
A multiprocessing operating system can support two or more CPUs running
programs at the same time. Managing memory involves assigning items to an area of
memory while they are being processed. The purpose of memory management is
to optimize use of random access memory (RAM). With virtual memory (VM), the
operating system optimizes memory by allocating a portion of a storage medium,
usually the hard disk, to function as additional RAM. Scheduling jobs (operations
the processor manages) involves determining the order in which jobs are processed.
Spooling increases efficiency by placing print jobs in a buffer (an area of memory
or storage where data resides while waiting to be transferred) until the printer is
ready, freeing the processor for other tasks. Configuring devices establishes
communication with each device in the computer. A device driver is a small
program that tells the operating system how to communicate with a device.
Accessing the Web may entail including a Web browser and e-mail program in the
operating system. Monitoring performance helps to identify and solve system
problems.
A performance monitor is a program that assesses and reports information about
various system resources and devices. Providing housekeeping services entails
performing storage and file management functions. A file manager performs such
functions as formatting and copying disks; listing the files on a storage medium;
checking the amount of used and unused space on a storage medium; organizing,
copying, deleting, moving, and sorting files; and creating shortcuts (icons on the
desktop that run a program when clicked).
Administering security involves establishing user accounts on a network. Each
account typically requires a user name and a password to log on, or access, the
network.
Know the difference between stand-alone operating systems and network
operating systems
A stand-alone operating system is a complete operating system that works on a
desktop or notebook computer. A network operating system (also called network
OS or NOS) is an operating system that supports a network. A network is a
collection of computers and devices connected together via communications media
and devices such as cables, telephone lines, and modems. In some networks, the
server is the computer that controls access to the hardware and software on a

By J Zvirikuzhe, produced by Chief printers
46

network and provides a centralized storage area. The other computers on the
network, called clients, rely on the server(s) for resources.
Identify various stand-alone operating systems
Stand-alone operating systems include DOS, Windows 3.x, Windows 95, Windows
NT Workstation, Windows 98, Windows 2000 Professional, Windows Millennium
Edition, Windows XP Home Edition, Windows XP Professional Edition, Mac OS, OS/2
Warp Client, UNIX, and Linux. UNIX and Linux also function as network operating
systems.
DOS (Disk Operating System) refers to several single user, command-line and
menu-driven operating systems developed in the early 1980s for personal
computers. Windows 3.x refers to early operating environments that, although
not operating systems, provided a graphical user interface to work in combination
with DOS and simplify its use. Windows 95 is a true multitasking operating system
– not an operating environment – with an improved graphical interface. Windows
NT Workstation is a client operating system that can connect to a Windows NT
Server. Developed as an upgrade to Windows 95, the Windows 98 operating system
is easier to use and more integrated with the Internet. Windows 98 includes
Microsoft Internet Explorer, a popular Web browser, Windows Explorer, a file
manager, and an Active Desktop™ that works similarly to Web links. Windows
2000 Professional is a complete, reliable multitasking client operating system for
business desktop and business notebook computers. Windows Millennium
Edition is an operating system that has features specifically for the home user.
Windows XP is Microsoft’s fastest, most reliable Windows operating system,
providing quicker startup, better performance, and a new, simplified visual look.
Windows XP Home Edition is an upgrade to Windows Millennium Edition, while
Windows XP Professional Edition is an upgrade to Windows 2000 Professional.
The Mac OS, the latest version of the Macintosh operating system (the first
commercially successful graphical user interface), is a multitasking operating
system available only on Apple computers. OS/2 Warp Client is IBM’s GUI
multitasking client operating system that supports networking, Java, the Internet,
and speech recognition.
Identify various network operating systems
Network operating systems include NetWare, Windows NT Server, Windows 2000
Server, Windows .NET Server, OS/2 Warp Server for E-business, UNIX, Linux, and
Solaris™. Novell’s NetWare is a widely used network operating system designed for
client/server networks. Windows NT Server is the operating system used by
servers in the Windows NT client/server network environment. The Windows
By J Zvirikuzhe, produced by Chief printers
47

2000 Server family consists of three products: Windows 2000 Server (for the
typical business network), Windows 2000 Advanced Server (for e-commerce
applications), and Windows 2000 Database server (for demanding, large-scale
applications). Windows .NET Server is an upgrade to Windows 2000 Server. The
Windows .NET Server family includes four products: Windows .NET Standard
Server (for the typical small- to medium-sized business network), Windows .NET
Enterprise Server (for medium- to large-sized businesses, including those with ecommerce applications), Windows .NET Datacenter (for business with huge
volumes of transactions and large-scale databases), and Windows .NET Web
Server (for Web server and Web hosting businesses).
OS/2 Warp Server for E-business is IBM’s network operating system designed for
all sizes of business.
UNIX is a multitasking, command-line operating system implemented on many
different types of computers. Because it is both a stand-alone operating system and
a network operating system, some call UNIX a multipurpose operating system.
Linux is a popular, free, multitasking UNIX-type operating system. Solaris™, a
version of UNIX developed by Sun Microsystems, is a network operating system
designed for e-commerce applications.
Recognize devices that use embedded operating systems
The operating system on most handheld computers and small devices, called an
embedded operating system, resides on a ROM chip. Popular embedded operating
systems include Windows CE, Pocket PC OS, and Palm OS®. Windows CE is a scaleddown Windows operating system designed for use on wireless communications
devices and smaller computers such as handheld computers, in-vehicle devices, and
Web-enabled devices. Pocket PC OS is a scaled-down operating system developed
by Microsoft that works on a specific type of handheld computer, called a Pocket
PC. The Palm OS® is the operating system used on Palm handheld computers from
Palm, Inc., and Visor handheld computers from Handspring™.
Discuss the purpose of the following utilities: file viewer, file compression,
diagnostic, uninstaller, disk scanner, disk defragmenter, backup, and screen saver
Most operating systems include several utility programs that perform specific tasks
related to managing a computer, its devices, or its programs. A file viewer is a
utility that allows you to display and copy the contents of a file. A file compression
utility shrinks the size of a file. A diagnostic utility compiles technical information
about a computer’s hardware and certain system software programs and then
prepares a report outlining any identified problems. An uninstaller is a utility that
removes an application, as well as any associated entries in the system files. A disk
By J Zvirikuzhe, produced by Chief printers
48

scanner is a utility that (1) detects and corrects both physical and logical problems
on a hard disk, and (2) searches for and removes unnecessary files.
A disk defragmenter is a utility that reorganizes files and unused space on a
computer’s hard disk so data can be accessed more quickly and programs can run
faster. A backup utility copies, or backs up, selected files or an entire hard drive
onto another disk or tape. A screen saver is a utility that causes the monitor’s
screen to display a moving image on a blank screen if no keyboard activity occurs
for a specified period.

By J Zvirikuzhe, produced by Chief printers
49

By J Zvirikuzhe, produced by Chief printers

More Related Content

What's hot

Operating System
Operating SystemOperating System
Operating SystemRaja Adapa
 
Computer Operating Systems
Computer Operating SystemsComputer Operating Systems
Computer Operating Systemsguevarra_2000
 
Evolution of operating system
Evolution of operating systemEvolution of operating system
Evolution of operating systemArshad khan
 
Operatingsystems
Operatingsystems Operatingsystems
Operatingsystems kuldeepy60
 
Functions Of Operating Systems
Functions Of Operating SystemsFunctions Of Operating Systems
Functions Of Operating SystemsAkshay Kurup
 
Desktop system,clustered system,Handheld system
Desktop system,clustered system,Handheld systemDesktop system,clustered system,Handheld system
Desktop system,clustered system,Handheld systemLokesh Singrol
 
lecture:Operating Syste Ms
lecture:Operating Syste Mslecture:Operating Syste Ms
lecture:Operating Syste Msyeswanth reddy
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architecturevenkateswarlu G
 
Ch01 introducing operating systems
Ch01 introducing operating systemsCh01 introducing operating systems
Ch01 introducing operating systemsJacob Cadeliña
 
Unit 1 introduction to Operating System
Unit 1 introduction to Operating SystemUnit 1 introduction to Operating System
Unit 1 introduction to Operating Systemzahid7578
 

What's hot (20)

Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
Operating system Tutorial.
Operating system Tutorial.Operating system Tutorial.
Operating system Tutorial.
 
Operating System
Operating SystemOperating System
Operating System
 
Computer Operating Systems
Computer Operating SystemsComputer Operating Systems
Computer Operating Systems
 
Operating system
Operating systemOperating system
Operating system
 
Operating system-1
Operating system-1Operating system-1
Operating system-1
 
Evolution of operating system
Evolution of operating systemEvolution of operating system
Evolution of operating system
 
Operatingsystems
Operatingsystems Operatingsystems
Operatingsystems
 
Operating System
Operating SystemOperating System
Operating System
 
Presentation On Operating system
Presentation On Operating systemPresentation On Operating system
Presentation On Operating system
 
Functions Of Operating Systems
Functions Of Operating SystemsFunctions Of Operating Systems
Functions Of Operating Systems
 
Operating system
Operating systemOperating system
Operating system
 
Desktop system,clustered system,Handheld system
Desktop system,clustered system,Handheld systemDesktop system,clustered system,Handheld system
Desktop system,clustered system,Handheld system
 
lecture:Operating Syste Ms
lecture:Operating Syste Mslecture:Operating Syste Ms
lecture:Operating Syste Ms
 
Utility Programs
Utility ProgramsUtility Programs
Utility Programs
 
Operating system
Operating systemOperating system
Operating system
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architecture
 
Ch01 introducing operating systems
Ch01 introducing operating systemsCh01 introducing operating systems
Ch01 introducing operating systems
 
file management
 file management file management
file management
 
Unit 1 introduction to Operating System
Unit 1 introduction to Operating SystemUnit 1 introduction to Operating System
Unit 1 introduction to Operating System
 

Viewers also liked

Printing a workbook and worksheets
Printing a workbook and worksheetsPrinting a workbook and worksheets
Printing a workbook and worksheetsJacob Zvirikuzhe
 
Printing a workbook and worksheets
Printing a workbook and worksheetsPrinting a workbook and worksheets
Printing a workbook and worksheetsJacob Zvirikuzhe
 
Football footsteps half hour
Football footsteps half hourFootball footsteps half hour
Football footsteps half hourJacob Zvirikuzhe
 
Handout: Teaching Your Students Technology 101 for the Computer-Based GED Test
Handout: Teaching Your Students Technology 101 for the Computer-Based GED TestHandout: Teaching Your Students Technology 101 for the Computer-Based GED Test
Handout: Teaching Your Students Technology 101 for the Computer-Based GED TestMeagen Farrell
 
Basic Computer Training ! BATRA COMPUTER CENTRE
Basic Computer Training ! BATRA COMPUTER CENTREBasic Computer Training ! BATRA COMPUTER CENTRE
Basic Computer Training ! BATRA COMPUTER CENTREjatin batra
 
Computer systems for school kids
Computer systems for school kidsComputer systems for school kids
Computer systems for school kidsRajesh Tivrekar
 
Kids on Computers
Kids on ComputersKids on Computers
Kids on ComputersAvni Khatri
 
EdTech2 Lesson 11: The Computer as Teacher's Tool
EdTech2 Lesson 11: The Computer as Teacher's ToolEdTech2 Lesson 11: The Computer as Teacher's Tool
EdTech2 Lesson 11: The Computer as Teacher's Toolbhanj_10
 
Educational Technology 2: The computer as a tutor
Educational Technology 2: The computer as a tutor Educational Technology 2: The computer as a tutor
Educational Technology 2: The computer as a tutor Alyssa Denise Valino
 

Viewers also liked (20)

Printing a workbook and worksheets
Printing a workbook and worksheetsPrinting a workbook and worksheets
Printing a workbook and worksheets
 
Printing a workbook and worksheets
Printing a workbook and worksheetsPrinting a workbook and worksheets
Printing a workbook and worksheets
 
Printers
PrintersPrinters
Printers
 
Football footsteps half hour
Football footsteps half hourFootball footsteps half hour
Football footsteps half hour
 
Printers
PrintersPrinters
Printers
 
Handout: Teaching Your Students Technology 101 for the Computer-Based GED Test
Handout: Teaching Your Students Technology 101 for the Computer-Based GED TestHandout: Teaching Your Students Technology 101 for the Computer-Based GED Test
Handout: Teaching Your Students Technology 101 for the Computer-Based GED Test
 
4 module windows operating system
4 module windows operating system4 module windows operating system
4 module windows operating system
 
Concurrency control
Concurrency controlConcurrency control
Concurrency control
 
Kompkamp brochure eng 2012
Kompkamp brochure  eng 2012Kompkamp brochure  eng 2012
Kompkamp brochure eng 2012
 
Computer handout
Computer handoutComputer handout
Computer handout
 
Virtual machine security
Virtual machine securityVirtual machine security
Virtual machine security
 
Basic Computer Training ! BATRA COMPUTER CENTRE
Basic Computer Training ! BATRA COMPUTER CENTREBasic Computer Training ! BATRA COMPUTER CENTRE
Basic Computer Training ! BATRA COMPUTER CENTRE
 
Computer systems for school kids
Computer systems for school kidsComputer systems for school kids
Computer systems for school kids
 
Word Lecture 1
Word Lecture 1Word Lecture 1
Word Lecture 1
 
Computer Lessons for Kids: Keyboard Shortcuts
Computer Lessons for Kids: Keyboard ShortcutsComputer Lessons for Kids: Keyboard Shortcuts
Computer Lessons for Kids: Keyboard Shortcuts
 
Kids on Computers
Kids on ComputersKids on Computers
Kids on Computers
 
Elementary School Computer Class
Elementary School Computer ClassElementary School Computer Class
Elementary School Computer Class
 
Computer as a tutor
Computer as a tutorComputer as a tutor
Computer as a tutor
 
EdTech2 Lesson 11: The Computer as Teacher's Tool
EdTech2 Lesson 11: The Computer as Teacher's ToolEdTech2 Lesson 11: The Computer as Teacher's Tool
EdTech2 Lesson 11: The Computer as Teacher's Tool
 
Educational Technology 2: The computer as a tutor
Educational Technology 2: The computer as a tutor Educational Technology 2: The computer as a tutor
Educational Technology 2: The computer as a tutor
 

Similar to Introduction to comp science

Computer architecture pptx
Computer architecture pptxComputer architecture pptx
Computer architecture pptxMDSHABBIR12
 
The Basic Configuration of a Microcomputer
The Basic Configuration of a Microcomputer The Basic Configuration of a Microcomputer
The Basic Configuration of a Microcomputer Taminul Islam
 
The Deal
The DealThe Deal
The Dealadhaval
 
Presentation 1.pptx
Presentation 1.pptxPresentation 1.pptx
Presentation 1.pptxMurthy86
 
Computer fundamental
Computer fundamentalComputer fundamental
Computer fundamentalrachit jaish
 
Nt1310 Unit 3 Computer Components
Nt1310 Unit 3 Computer ComponentsNt1310 Unit 3 Computer Components
Nt1310 Unit 3 Computer ComponentsKristi Anderson
 
CIS99_Ch_01 (1).pptx
CIS99_Ch_01 (1).pptxCIS99_Ch_01 (1).pptx
CIS99_Ch_01 (1).pptxAslamRj1
 
Computer Fundamentals
Computer FundamentalsComputer Fundamentals
Computer FundamentalsSatmon Satyam
 
This chapter teaches the components that make up a personal comput.docx
This chapter teaches the components that make up a personal comput.docxThis chapter teaches the components that make up a personal comput.docx
This chapter teaches the components that make up a personal comput.docxrhetttrevannion
 
Computer capsule sbi_clerk
Computer capsule sbi_clerkComputer capsule sbi_clerk
Computer capsule sbi_clerkpanduranga11
 
computer organisation and architecture_ppt.pptx
computer organisation and architecture_ppt.pptxcomputer organisation and architecture_ppt.pptx
computer organisation and architecture_ppt.pptxvishnuvardhan749108
 
Components and categories of computer
Components and categories  of computerComponents and categories  of computer
Components and categories of computerRabiaNaeem14
 
computer devices 1 presentation.pptx
computer devices 1 presentation.pptxcomputer devices 1 presentation.pptx
computer devices 1 presentation.pptxssuserea0dfe
 
Computer Fundamentals -to upload.pptx
Computer Fundamentals -to upload.pptxComputer Fundamentals -to upload.pptx
Computer Fundamentals -to upload.pptxVikas440463
 

Similar to Introduction to comp science (20)

Computer architecture pptx
Computer architecture pptxComputer architecture pptx
Computer architecture pptx
 
Q1_Module_5_ICT_7.pdf.pdf
Q1_Module_5_ICT_7.pdf.pdfQ1_Module_5_ICT_7.pdf.pdf
Q1_Module_5_ICT_7.pdf.pdf
 
MS-CIT Unit 5.pptx
MS-CIT Unit 5.pptxMS-CIT Unit 5.pptx
MS-CIT Unit 5.pptx
 
The Basic Configuration of a Microcomputer
The Basic Configuration of a Microcomputer The Basic Configuration of a Microcomputer
The Basic Configuration of a Microcomputer
 
The Deal
The DealThe Deal
The Deal
 
The Computer
The ComputerThe Computer
The Computer
 
Presentation 1.pptx
Presentation 1.pptxPresentation 1.pptx
Presentation 1.pptx
 
Computer fundamental
Computer fundamentalComputer fundamental
Computer fundamental
 
Nt1310 Unit 3 Computer Components
Nt1310 Unit 3 Computer ComponentsNt1310 Unit 3 Computer Components
Nt1310 Unit 3 Computer Components
 
CIS99_Ch_01 (1).pptx
CIS99_Ch_01 (1).pptxCIS99_Ch_01 (1).pptx
CIS99_Ch_01 (1).pptx
 
Computer Fundamentals
Computer FundamentalsComputer Fundamentals
Computer Fundamentals
 
Microcontroller part 1
Microcontroller part 1Microcontroller part 1
Microcontroller part 1
 
3945319.ppt
3945319.ppt3945319.ppt
3945319.ppt
 
This chapter teaches the components that make up a personal comput.docx
This chapter teaches the components that make up a personal comput.docxThis chapter teaches the components that make up a personal comput.docx
This chapter teaches the components that make up a personal comput.docx
 
Computer capsule sbi_clerk
Computer capsule sbi_clerkComputer capsule sbi_clerk
Computer capsule sbi_clerk
 
computer organisation and architecture_ppt.pptx
computer organisation and architecture_ppt.pptxcomputer organisation and architecture_ppt.pptx
computer organisation and architecture_ppt.pptx
 
Components and categories of computer
Components and categories  of computerComponents and categories  of computer
Components and categories of computer
 
computer devices 1 presentation.pptx
computer devices 1 presentation.pptxcomputer devices 1 presentation.pptx
computer devices 1 presentation.pptx
 
MY COMPUTER
MY COMPUTERMY COMPUTER
MY COMPUTER
 
Computer Fundamentals -to upload.pptx
Computer Fundamentals -to upload.pptxComputer Fundamentals -to upload.pptx
Computer Fundamentals -to upload.pptx
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Introduction to comp science

  • 1. 1 A Basic Handout of a Computer System By Jacob Zvirikuzhe, produced by Chief Printing Services By J Zvirikuzhe, produced by Chief printers
  • 2. 2 What is a Computer? A computer is a general purpose device that can be programmed to carry out a finite set of arithmetic or logical operations. Since a sequence of operations can be readily changed, the computer can solve more than one kind of problem. Conventionally, a computer consists of at least one processing element, typically a central processing unit (CPU) and some form of memory. The processing element carries out arithmetic and logic operations, and a sequencing and control unit that can change the order of operations based on stored information. Peripheral devices allow information to be retrieved from an external source, and the result of operations saved and retrieved. The first electronic digital computers were developed between 1940 and 1945 in the United Kingdom and United States. Originally they were the size of a large room, consuming as much power as several hundred modern personal computers (PCs). In this era mechanical analog computers were used for military applications. Modern computers based on integrated circuits are millions to billions of times more capable than the early machines, and occupy a fraction of the space. Simple computers are small enough to fit into mobile devices, and mobile computers can be powered by small batteries. Personal computers in their various forms are icons of the Information Age and are what most people think of as “computers.” However, the embedded computers found in many devices from MP3 players to fighter aircraft and from toys to industrial robots are the most numerous. Input/output (I/O) I/O is the means by which a computer exchanges information with the outside world. Devices that provide input or output to the computer are called peripherals. By J Zvirikuzhe, produced by Chief printers
  • 3. 3 On a typical personal computer, peripherals include input devices like the keyboard and mouse, and output devices such as the display and printer. Hard disk drives, floppy disk drives and optical disc drives serve as both input and output devices. Computer networking is another form of I/O. I/O devices are often complex computers in their own right, with their own CPU and memory. A graphics processing unit might contain fifty or more tiny computers that perform the calculations necessary to display 3D graphics. Modern desktop computers contain many smaller computers that assist the main CPU in performing I/O. Central Processing Unit A central processing unit (CPU), also referred to as a central processor unit, is the hardware within a computer that carries out the instructions of a computer program by performing the basic arithmetical, logical, and input/output operations of the system. The term has been in use in the computer industry at least since the early 1960s. The form, design, and implementation of CPUs have changed over the course of their history, but their fundamental operation remains much the same. In older computers, CPUs require one or more printed circuit boards. With the invention of the microprocessor, a CPU could be contained within a single silicon chip. The first computers to use microprocessors were personal computers and small workstations. Since the 1970s the microprocessor class of CPUs has almost completely overtaken all other CPU implementations, to the extent that even mainframe computers use one or more microprocessors. Modern microprocessors are large scale integrated circuits in packages typically less than four centimeters square, with hundreds of connecting pins. A computer can have more than one CPU; this is called multiprocessing. Some microprocessors can contain multiple CPUs on a single chip; those microprocessors are called multi-core processors. Two typical components of a CPU are the arithmetic logic unit (ALU), which performs arithmetic and logical operations, and the control unit (CU), which extracts instructions from memory and decodes and executes them, calling on the ALU when necessary. Not all computational systems rely on a central processing unit. An array processor or vector processor has multiple parallel computing elements, with no one unit considered the "center". In the distributed computing model, problems are solved by a distributed interconnected set of processors. By J Zvirikuzhe, produced by Chief printers
  • 4. 4 Computer data storage Computer data storage often called storage or memory, is a technology consisting of computer components and recording media used to retain digital data. It is a core function and fundamental component of computers. In contemporary usage, memory is usually semiconductor storage read-write random-access memory, typically DRAM (Dynamic-RAM) or other forms of fast but temporary storage. Storage consists of storage devices and their media not directly accessible by the CPU, (secondary or tertiary storage), typically hard disk drives, optical disc drives, and other devices slower than RAM but are non-volatile (retaining contents when powered down). Historically, memory has been called core, main memory, real storage or internal memory while storage devices have been referred to as secondary storage, external memory or auxiliary/peripheral storage. The distinctions are fundamental to the architecture of computers. The distinctions also reflect an important and significant technical difference between memory and mass storage devices, which has been blurred by the historical usage of the term storage. Nevertheless, this article uses the traditional nomenclature. Many different forms of storage, based on various natural phenomena, have been invented. So far, no practical universal storage medium exists, and all forms of storage have some drawbacks. Therefore a computer system usually contains several kinds of storage, each with an individual purpose. A modern digital computer represents data using the binary numeral system. Text, numbers, pictures, audio, and nearly any other form of information can be converted into a string of bits, or binary digits, each of which has a value of 1 or 0. The most common unit of storage is the byte, equal to 8 bits. A piece of information can be handled by any computer or device whose storage space is large enough to accommodate the binary representation of the piece of information, or simply data. For example, the complete works of Shakespeare, about 1250 pages in print, can be stored in about five megabytes (40 million bits) with one byte per character. The defining component of a computer is the central processing unit (CPU, or simply processor), because it operates on data, performs computations, and controls other components. In the most commonly used computer architecture, the CPU consists of two main parts: control unit and arithmetic logic unit (ALU). The former controls the flow of data between the CPU and memory; the latter performs arithmetic and logical operations on data. Without a significant amount of memory, a computer would merely be able to perform fixed operations and immediately output the result. It would have to be By J Zvirikuzhe, produced by Chief printers
  • 5. 5 reconfigured to change its behavior. This is acceptable for devices such as desk calculators, digital signal processors, and other specialised devices. Von Neumann machines differ in having a memory in which they store their operating instructions and data. Such computers are more versatile in that they do not need to have their hardware reconfigured for each new program, but can simply be reprogrammed with new in-memory instructions; they also tend to be simpler to design, in that a relatively simple processor may keep state between successive computations to build up complex procedural results. Most modern computers are von Neumann machines. In practice, almost all computers use a variety of memory types, organized in a storage hierarchy around the CPU, as a trade-off between performance and cost. Generally, the lower a storage is in the hierarchy, the lesser its bandwidth and the greater its access latency is from the CPU. This traditional division of storage to primary, secondary, tertiary and off-line storage is also guided by cost per bit. Computer Storage Contents     1 Hierarchy of storage o 1.1 Primary storage o 1.2 Secondary storage o 1.3 Tertiary storage o 1.4 Off-line storage 2 Characteristics of storage o 2.1 Volatility o 2.2 Mutability o 2.3 Accessibility o 2.4 Addressability o 2.5 Capacity o 2.6 Performance o 2.7 Energy use 3 Fundamental storage technologies o 3.1 Semiconductor o 3.2 Magnetic o 3.3 Optical o 3.4 Paper o 3.5 Uncommon 4 Related technologies By J Zvirikuzhe, produced by Chief printers
  • 6. 6 4.1 Network connectivity o 4.2 Robotic storage 5 See also o 5.1 Primary storage topics o 5.2 Secondary, tertiary and off-line storage topics o 5.3 Data storage conferences 6 References o   Hierarchy of storage By J Zvirikuzhe, produced by Chief printers
  • 7. 7 Various forms of storage, divided according to their distance from the central processing unit. The fundamental components of a general-purpose computer are arithmetic and logic unit, control circuitry, storage space, and input/output devices. Technology and capacity as in common home computers around 2005. See also: Memory hierarchy Primary storage Direct links to this section: Primary storage, Main memory, Internal Memory. Main article: Computer memory Primary storage (or main memory or internal memory), often referred to simply as memory, is the only one directly accessible to the CPU. The CPU continuously reads instructions stored there and executes them as required. Any data actively operated on is also stored there in uniform manner. By J Zvirikuzhe, produced by Chief printers
  • 8. 8 Historically, early computers used delay lines, Williams tubes, or rotating magnetic drums as primary storage. By 1954, those unreliable methods were mostly replaced by magnetic core memory. Core memory remained dominant until the 1970s, when advances in integrated circuit technology allowed semiconductor memory to become economically competitive. This led to modern random-access memory (RAM). It is small-sized, light, but quite expensive at the same time. (The particular types of RAM used for primary storage are also volatile, i.e. they lose the information when not powered). As shown in the diagram, traditionally there are two more sub-layers of the primary storage, besides main large-capacity RAM:   Processor registers are located inside the processor. Each register typically holds a word of data (often 32 or 64 bits). CPU instructions instruct the arithmetic and logic unit to perform various calculations or other operations on this data (or with the help of it). Registers are the fastest of all forms of computer data storage. Processor cache is an intermediate stage between ultra-fast registers and much slower main memory. It's introduced solely to increase performance of the computer. Most actively used information in the main memory is just duplicated in the cache memory, which is faster, but of much lesser capacity. On the other hand, main memory is much slower, but has a much greater storage capacity than processor registers. Multi-level hierarchical cache setup is also commonly used—primary cache being smallest, fastest and located inside the processor; secondary cache being somewhat larger and slower. Main memory is directly or indirectly connected to the central processing unit via a memory bus. It is actually two buses (not on the diagram): an address bus and a data bus. The CPU firstly sends a number through an address bus, a number called memory address, that indicates the desired location of data. Then it reads or writes the data itself using the data bus. Additionally, a memory management unit (MMU) is a small device between CPU and RAM recalculating the actual memory address, for example to provide an abstraction of virtual memory or other tasks. As the RAM types used for primary storage are volatile (cleared at start up), a computer containing only such storage would not have a source to read instructions from, in order to start the computer. Hence, non-volatile primary storage containing a small startup program (BIOS) is used to bootstrap the computer, that is, to read a larger program from non-volatile secondary storage to RAM and start to execute it. A non-volatile technology used for this purpose is called ROM, for read-only memory By J Zvirikuzhe, produced by Chief printers
  • 9. 9 (the terminology may be somewhat confusing as most ROM types are also capable of random access). Many types of "ROM" are not literally read only, as updates are possible; however it is slow and memory must be erased in large portions before it can be re-written. Some embedded systems run programs directly from ROM (or similar), because such programs are rarely changed. Standard computers do not store nonrudimentary programs in ROM, rather use large capacities of secondary storage, which is non-volatile as well, and not as costly. Recently, primary storage and secondary storage in some uses refer to what was historically called, respectively, secondary storage and tertiary storage.[2] Secondary storage A hard disk drive with protective cover removed. Secondary storage (also known as external memory or auxiliary storage), differs from primary storage in that it is not directly accessible by the CPU. The computer usually uses its input/output channels to access secondary storage and transfers the desired data using intermediate area in primary storage. Secondary storage does not lose the data when the device is powered down—it is non-volatile. Per unit, it is typically also two orders of magnitude less expensive than primary storage. Consequently, modern computer systems typically have two orders of magnitude more secondary storage than primary storage and data are kept for a longer time there. In modern computers, hard disk drives are usually used as secondary storage. The time taken to access a given byte of information stored on a hard disk is typically a few thousandths of a second, or milliseconds. By contrast, the time taken to access a given byte of information stored in random-access memory is measured in billionths of a second, or nanoseconds. This illustrates the significant access-time difference which distinguishes solid-state memory from rotating magnetic storage devices: hard disks are typically about a million times slower than memory. Rotating By J Zvirikuzhe, produced by Chief printers
  • 10. 10 optical storage devices, such as CD and DVD drives, have even longer access times. With disk drives, once the disk read/write head reaches the proper placement and the data of interest rotates under it, subsequent data on the track are very fast to access. To reduce the seek time and rotational latency, data are transferred to and from disks in large contiguous blocks. When data reside on disk, block access to hide latency offers a ray of hope in designing efficient external memory algorithms. Sequential or block access on disks is orders of magnitude faster than random access, and many sophisticated paradigms have been developed to design efficient algorithms based upon sequential and block access. Another way to reduce the I/O bottleneck is to use multiple disks in parallel in order to increase the bandwidth between primary and secondary memory.[3] Some other examples of secondary storage technologies are: flash memory (e.g. USB flash drives or keys), floppy disks, magnetic tape, paper tape, punched cards, standalone RAM disks, and Iomega Zip drives. The secondary storage is often formatted according to a file system format, which provides the abstraction necessary to organize data into files and directories, providing also additional information (called metadata) describing the owner of a certain file, the access time, the access permissions, and other information. Most computer operating systems use the concept of virtual memory, allowing utilization of more primary storage capacity than is physically available in the system. As the primary memory fills up, the system moves the least-used chunks (pages) to secondary storage devices (to a swap file or page file), retrieving them later when they are needed. As more of these retrievals from slower secondary storage are necessary, the more the overall system performance is degraded. Tertiary storage By J Zvirikuzhe, produced by Chief printers
  • 11. 11 Large tape library. Tape cartridges placed on shelves in the front, robotic arm moving in the back. Visible height of the library is about 180 cm. Tertiary storage or tertiary memory,[4] provides a third level of storage. Typically it involves a robotic mechanism which will mount (insert) and dismount removable mass storage media into a storage device according to the system's demands; these data are often copied to secondary storage before use. It is primarily used for archiving rarely accessed information since it is much slower than secondary storage (e.g. 5–60 seconds vs. 1–10 milliseconds). This is primarily useful for extraordinarily large data stores, accessed without human operators. Typical examples include tape libraries and optical jukeboxes. When a computer needs to read information from the tertiary storage, it will first consult a catalog database to determine which tape or disc contains the information. Next, the computer will instruct a robotic arm to fetch the medium and place it in a drive. When the computer has finished reading the information, the robotic arm will return the medium to its place in the library. Off-line storage Off-line storage is a computer data storage on a medium or a device that is not under the control of a processing unit.[5] The medium is recorded, usually in a secondary or tertiary storage device, and then physically removed or disconnected. It must be inserted or connected by a human operator before a computer can access it again. Unlike tertiary storage, it cannot be accessed without human interaction. By J Zvirikuzhe, produced by Chief printers
  • 12. 12 Off-line storage is used to transfer information, since the detached medium can be easily physically transported. Additionally, in case a disaster, for example a fire, destroys the original data, a medium in a remote location will probably be unaffected, enabling disaster recovery. Off-line storage increases general information security, since it is physically inaccessible from a computer, and data confidentiality or integrity cannot be affected by computer-based attack techniques. Also, if the information stored for archival purposes is rarely accessed, off-line storage is less expensive than tertiary storage. In modern personal computers, most secondary and tertiary storage media are also used for off-line storage. Optical discs and flash memory devices are most popular, and to much lesser extent removable hard disk drives. In enterprise uses, magnetic tape is predominant. Older examples are floppy disks, Zip disks, or punched cards. Characteristics of storage A 1GB DDR RAM module (detail) Storage technologies at all levels of the storage hierarchy can be differentiated by evaluating certain core characteristics as well as measuring characteristics specific to a particular implementation. These core characteristics are volatility, mutability, accessibility, and addressibility. For any particular implementation of any storage technology, the characteristics worth measuring are capacity and performance. By J Zvirikuzhe, produced by Chief printers
  • 13. 13 Volatility Non-volatile memory Will retain the stored information even if it is not constantly supplied with electric power. It is suitable for long-term storage of information. Volatile memory Requires constant power to maintain the stored information. The fastest memory technologies of today are volatile ones (not a universal rule). Since primary storage is required to be very fast, it predominantly uses volatile memory. Dynamic random-access memory A form of volatile memory which also requires the stored information to be periodically re-read and re-written, or refreshed, otherwise it would vanish. Static random-access memory A form of volatile memory similar to DRAM with the exception that it never needs to be refreshed as long as power is applied. (It loses its content if power is removed). Mutability Read/write storage or mutable storage Allows information to be overwritten at any time. A computer without some amount of read/write storage for primary storage purposes would be useless for many tasks. Modern computers typically use read/write storage also for secondary storage. Read only storage Retains the information stored at the time of manufacture, and write once storage (Write Once Read Many) allows the information to be written only once at some point after manufacture. These are called immutable storage. Immutable storage is used for tertiary and off-line storage. Examples include CD-ROM and CD-R. Slow write, fast read storage Read/write storage which allows information to be overwritten multiple times, but with the write operation being much slower than the read operation. Examples include CD-RW and flash memory. Accessibility Random access Any location in storage can be accessed at any moment in approximately the same amount of time. Such characteristic is well suited for primary and By J Zvirikuzhe, produced by Chief printers
  • 14. 14 secondary storage. Most semiconductor memories and disk drives provide random access. Sequential access The accessing of pieces of information will be in a serial order, one after the other; therefore the time to access a particular piece of information depends upon which piece of information was last accessed. Such characteristic is typical of off-line storage. Addressability Location-addressable Each individually accessible unit of information in storage is selected with its numerical memory address. In modern computers, location-addressable storage usually limits to primary storage, accessed internally by computer programs, since location-addressability is very efficient, but burdensome for humans. File addressable Information is divided into files of variable length, and a particular file is selected with human-readable directory and file names. The underlying device is still location-addressable, but the operating system of a computer provides the file system abstraction to make the operation more understandable. In modern computers, secondary, tertiary and off-line storage use file systems. Content-addressable Each individually accessible unit of information is selected based on the basis of (part of) the contents stored there. Content-addressable storage can be implemented using software (computer program) or hardware (computer device), with hardware being faster but more expensive option. Hardware content addressable memory is often used in a computer's CPU cache. CAS(content-addressable storage) addresses the thinking behind how are we to find and access the information that we currently have or will gather in the future. Capacity Raw capacity The total amount of stored information that a storage device or medium can hold. It is expressed as a quantity of bits or bytes (e.g. 10.4 megabytes). Memory storage density The compactness of stored information. It is the storage capacity of a medium divided with a unit of length, area or volume (e.g. 1.2 megabytes per square inch). By J Zvirikuzhe, produced by Chief printers
  • 15. 15 Performance Latency The time it takes to access a particular location in storage. The relevant unit of measurement is typically nanosecond for primary storage, millisecond for secondary storage, and second for tertiary storage. It may make sense to separate read latency and write latency, and in case of sequential access storage, minimum, maximum and average latency. Throughput The rate at which information can be read from or written to the storage. In computer data storage, throughput is usually expressed in terms of megabytes per second or MB/s, though bit rate may also be used. As with latency, read rate and write rate may need to be differentiated. Also accessing media sequentially, as opposed to randomly, typically yields maximum throughput. Energy use   Storage devices that reduce fan usage, automatically shut-down during inactivity, and low power hard drives can reduce energy consumption 90 percent.[6] 2.5 inch hard disk drives often consume less power than larger ones.[7][8] Low capacity solid-state drives have no moving parts and consume less power than hard disks.[9][10][11] Also, memory may use more power than hard disks.[11] Fundamental storage technologies As of 2011, the most commonly used data storage technologies are semiconductor, magnetic, and optical, while paper still sees some limited usage. Media is a common name for what actually holds the data in the storage device. Some other fundamental storage technologies have also been used in the past or are proposed for development. Semiconductor Semiconductor memory uses semiconductor-based integrated circuits to store information. A semiconductor memory chip may contain millions of tiny transistors or capacitors. Both volatile and non-volatile forms of semiconductor memory exist. In modern computers, primary storage almost exclusively consists of dynamic volatile semiconductor memory or dynamic random access memory. Since the turn of the century, a type of non-volatile semiconductor memory known as flash memory has steadily gained share as off-line storage for home computers. NonBy J Zvirikuzhe, produced by Chief printers
  • 16. 16 volatile semiconductor memory is also used for secondary storage in various advanced electronic devices and specialized computers. As early as 2006, notebook and desktop computer manufacturers started using flash-based solid-state drives (SSDs) as default configuration options for the secondary storage either in addition to or instead of the more traditional HDD.[12][13][14][15][16] Magnetic Magnetic storage media Magnetic storage uses different patterns of magnetization on a magnetically coated surface to store information. Magnetic storage is non-volatile. The information is accessed using one or more read/write heads which may contain one or more recording transducers. A read/write head only covers a part of the surface so that the head or medium or both must be moved relative to another in order to access data. In modern computers, magnetic storage will take these forms:   Magnetic disk o Floppy disk, used for off-line storage o Hard disk drive, used for secondary storage Magnetic tape, used for tertiary and off-line storage In early computers, magnetic storage was also used as:    Primary storage in a form of magnetic memory, or core memory, core rope memory, thin-film memory and/or twistor memory. Tertiary (e.g. NCR CRAM) or off line storage in the form of magnetic cards. Magnetic tape was then often used for secondary storage. Optical Optical storage media Optical storage, the typical optical disc, stores information in deformities on the surface of a circular disc and reads this information by illuminating the surface with a laser diode and observing the reflection. Optical disc storage is non-volatile. The deformities may be permanent (read only media ), formed once (write once media) or reversible (recordable or read/write media). The following forms are currently in common use:[17] By J Zvirikuzhe, produced by Chief printers
  • 17. 17     CD, CD-ROM, DVD, BD-ROM: Read only storage, used for mass distribution of digital information (music, video, computer programs) CD-R, DVD-R, DVD+R, BD-R: Write once storage, used for tertiary and off-line storage CD-RW, DVD-RW, DVD+RW, DVD-RAM, BD-RE: Slow write, fast read storage, used for tertiary and off-line storage Ultra Density Optical or UDO is similar in capacity to BD-R or BD-RE and is slow write, fast read storage used for tertiary and off-line storage. Magneto-optical disc storage is optical disc storage where the magnetic state on a ferromagnetic surface stores information. The information is read optically and written by combining magnetic and optical methods. Magneto-optical disc storage is non-volatile, sequential access, slow write, fast read storage used for tertiary and offline storage. 3D optical data storage has also been proposed. Paper Paper data storage media Paper data storage, typically in the form of paper tape or punched cards, has long been used to store information for automatic processing, particularly before general-purpose computers existed. Information was recorded by punching holes into the paper or cardboard medium and was read mechanically (or later optically) to determine whether a particular location on the medium was solid or contained a hole. A few technologies allow people to make marks on paper that are easily read by machine—these are widely used for tabulating votes and grading standardized tests. Barcodes made it possible for any object that was to be sold or transported to have some computer readable information securely attached to it. Uncommon Vacuum tube memory A Williams tube used a cathode ray tube, and a Selectron tube used a large vacuum tube to store information. These primary storage devices were shortlived in the market, since Williams tube was unreliable and the Selectron tube was expensive. Electro-acoustic memory By J Zvirikuzhe, produced by Chief printers
  • 18. 18 Delay line memory used sound waves in a substance such as mercury to store information. Delay line memory was dynamic volatile, cycle sequential read/write storage, and was used for primary storage. Optical tape is a medium for optical storage generally consisting of a long and narrow strip of plastic onto which patterns can be written and from which the patterns can be read back. It shares some technologies with cinema film stock and optical discs, but is compatible with neither. The motivation behind developing this technology was the possibility of far greater storage capacities than either magnetic tape or optical discs. Phase-change memory uses different mechanical phases of Phase Change Material to store information in an X-Y addressable matrix, and reads the information by observing the varying electrical resistance of the material. Phase-change memory would be non-volatile, random-access read/write storage, and might be used for primary, secondary and off-line storage. Most rewritable and many write once optical disks already use phase change material to store information. Holographic data storage stores information optically inside crystals or photopolymers. Holographic storage can utilize the whole volume of the storage medium, unlike optical disc storage which is limited to a small number of surface layers. Holographic storage would be non-volatile, sequential access, and either write once or read/write storage. It might be used for secondary and off-line storage. See Holographic Versatile Disc (HVD). Molecular memory stores information in polymer that can store electric charge. Molecular memory might be especially suited for primary storage. The theoretical storage capacity of molecular memory is 10 terabits per square inch.[18] Related technologies Network connectivity A secondary or tertiary storage may connect to a computer utilizing computer networks. This concept does not pertain to the primary storage, which is shared between multiple processors in a much lesser degree.  Direct-attached storage (DAS) is a traditional mass storage that does not use any network. This is still a most popular approach. This retronym was coined recently, together with NAS and SAN. By J Zvirikuzhe, produced by Chief printers
  • 19. 19   Network-attached storage (NAS) is mass storage attached to a computer which another computer can access at file level over a local area network, a private wide area network, or in the case of online file storage, over the Internet. NAS is commonly associated with the NFS and CIFS/SMB protocols. Storage area network (SAN) is a specialized network that provides other computers with storage capacity. The crucial difference between NAS and SAN is the former presents and manages file systems to client computers, whilst the latter provides access at block-addressing (raw) level, leaving it to attaching systems to manage data or file systems within the provided capacity. SAN is commonly associated with Fibre Channel networks. Robotic storage Large quantities of individual magnetic tapes, and optical or magneto-optical discs may be stored in robotic tertiary storage devices. In tape storage field they are known as tape libraries, and in optical storage field optical jukeboxes, or optical disk libraries per analogy. Smallest forms of either technology containing just one drive device are referred to as autoloaders or auto-changers. Robotic-access storage devices may have a number of slots, each holding individual media, and usually one or more picking robots that traverse the slots and load media to built-in drives. The arrangement of the slots and picking devices affects performance. Important characteristics of such storage are possible expansion options: adding slots, modules, drives, robots. Tape libraries may have from 10 to more than 100,000 slots, and provide terabytes or petabytes of near-line information. Optical jukeboxes are somewhat smaller solutions, up to 1,000 slots. Robotic storage is used for backups, and for high-capacity archives in imaging, medical, and video industries. Hierarchical storage management is a most known archiving strategy of automatically migrating long-unused files from fast hard disk storage to libraries or jukeboxes. If the files are needed, they are retrieved back to disk. By J Zvirikuzhe, produced by Chief printers
  • 20. 20 Software Computer software, or just software, is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it. Software refers to one or more computer programs and data held in the storage of the computer. In other words, software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system. Program software performs the function of the program it implements, either by directly providing instructions to the digital electronics or by serving as input to another piece of software. The term was coined to contrast to the old term hardware (meaning physical devices). In contrast to hardware, software "cannot be touched".[1] Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.[2] Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, executable code consists of machine language instructions specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Programs are an ordered sequence of instructions for changing the state of the computer in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a By J Zvirikuzhe, produced by Chief printers
  • 21. 21 mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler. Contents         1 History 2 Types of software o 2.1 System software o 2.2 Programming software o 2.3 Application software 3 Software topics o 3.1 Architecture o 3.2 Documentation o 3.3 Library o 3.4 Standard o 3.5 Execution o 3.6 Quality and reliability o 3.7 License o 3.8 Patents 4 Design and implementation 5 Industry and organizations 6 See also 7 References 8 External links By J Zvirikuzhe, produced by Chief printers
  • 22. 22 Types of software A layer structure showing where the operating system software and application software are situated while running on a typical desktop computer Software includes all the various forms and roles that digitally stored data may have and play in a computer (or similar system), regardless of whether the data is used as code for a CPU, or other interpreter, or whether it represents other kinds of information. Software thus encompasses a wide array of products that may be developed using different techniques such as ordinary programming languages, scripting languages, microcode, or an FPGA configuration. The types of software include web pages developed in languages and frameworks like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like OpenOffice.org, Microsoft Word developed in languages like C, C++, Objective-C, Java, C#, or Smalltalk. Application software usually runs on an underlying software operating systems such as Linux or Microsoft Windows. Software (or firmware) is also used in video games and for the configurable parts of the logic systems of automobiles, televisions, and other consumer electronics. Practical computer systems divide software systems into three major classes system software, programming software and application software, although the distinction is arbitrary, and often blurred. By J Zvirikuzhe, produced by Chief printers
  • 23. 23 System software System software is computer software designed to operate the computer hardware, to provide basic functionality, and to provide a platform for running application software.[5] System software includes device drivers, operating systems, servers, utilities, and window systems. System software is responsible for managing a variety of independent hardware components, so that they can work together harmoniously. Its purpose is to unburden the application software programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner. Programming software Programming software include tools in the form of programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs such as compilers, debuggers, interpreters, linkers, and text editors, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. Programming tools are intended to assist a programmer in writing computer programs, and they may be combined in an integrated development environment (IDE) to more easily manage all of these functions. Application software Application software is developed to perform in any task that benefits from computation. It is a set of programs that allows the computer to perform a specific data processing job for the user. It is a broad category, and encompasses software of many kinds, including the internet browser being used to display this page. Software topics Architecture Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers and supercomputers) usually see three layers of software performing a variety of tasks: platform, application, and user software. By J Zvirikuzhe, produced by Chief printers
  • 24. 24    Platform software: Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software. Application software: Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are usually independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications. User-written software: End-user development tailors systems to meet users' specific needs. User software include spreadsheet templates and word processor templates. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into default application packages, many users may not be aware of the distinction between the original packages, and what has been added by co-workers. Documentation Most software has software documentation so that the end user can understand the program, what it does, and how to use it. Without clear documentation, software can be hard to use—especially if it is very specialized and relatively complex like Photoshop or AutoCAD. Developer documentation may also exist, either with the code as comments and/or as separate files, detailing how the programs works and can be modified. Library An executable is almost always not sufficiently complete for direct execution. Software libraries include collections of functions and functionality that may be embedded in other applications. Operating systems include many standard Software libraries, and applications are often distributed with their own libraries. By J Zvirikuzhe, produced by Chief printers
  • 25. 25 Standard Since software can be designed using many different programming languages and in many different operating systems and operating environments, software standard is needed so that different software can understand and exchange information between each other. For instance, an email sent from a Microsoft Outlook should be readable from Yahoo! Mail and vice versa. Execution Computer software has to be "loaded" into the computer's storage (such as the hard drive or memory). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation – moving data, carrying out a computation, or altering the control flow of instructions. Data movement is typically from one place in memory to another. Sometimes it involves moving data between memory and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is sometimes avoided by using "pointers" to data instead. Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together. Quality and reliability Software quality is very important, especially for commercial and system software like Microsoft Office, Microsoft Windows and Linux. If software is faulty (buggy), it can delete a person's work, crash the computer and do other unexpected things. Faults and errors are called "bugs." Many bugs are discovered and eliminated (debugged) through software testing. However, software testing rarely – if ever – eliminates every bug; some programmers say that "every program has at least one more bug" (Lubarsky's Law). All major software companies, such as Microsoft, Novell and Sun Microsystems, have their own software testing departments with the specific goal of just testing. Software can be tested through unit testing, regression testing and other methods, which are done manually, or most commonly, automatically, since the amount of code to be tested can be quite large. For instance, NASA has extremely rigorous software testing procedures for many operating systems and communication functions. Many NASA based operations interact and identify each other through command programs called software. This enables many people who work at NASA to check and evaluate functional systems overall. Programs containing command software enable hardware engineering and system operations to function much easier together. By J Zvirikuzhe, produced by Chief printers
  • 26. 26 License The software's license gives the user the right to use the software in the licensed environment. Some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. Other software comes with a free software license, granting the recipient the rights to modify and redistribute the software. Software can also be in the form of freeware or shareware. Patents Software can be patented in some but not all countries; however, software patents can be controversial in the software industry with many people holding different views about it. The controversy over software patents is about specific algorithms or techniques that the software contains, which may not be duplicated by others and considered intellectual property and copyright infringement depending on the severity. Design and implementation By J Zvirikuzhe, produced by Chief printers
  • 27. 27 A particular implementation of software. This software was created to assist the Wikipedia website. Also, it does not use a graphical user interface aside from a simple console window. By J Zvirikuzhe, produced by Chief printers
  • 28. 28 Design and implementation of software varies depending on the complexity of the software. For instance, design and creation of Microsoft Word software will take much more time than designing and developing Microsoft Notepad because of the difference in functionalities in each one. Software is usually designed and created (coded/written/programmed) in integrated development environments (IDE) like Eclipse, Emacs and Microsoft Visual Studio that can simplify the process and compile the program. As noted in different section, software is usually created on top of existing software and the application programming interface (API) that the underlying software provides like GTK+, JavaBeans or Swing. Libraries (APIs) are categorized for different purposes. For instance, JavaBeans library is used for designing enterprise applications, Windows Forms library is used for designing graphical user interface (GUI) applications like Microsoft Word, and Windows Communication Foundation is used for designing web services. Underlying computer programming concepts like quicksort, hash table, array, and binary tree can be useful to creating software. When a program is designed, it relies on the API. For instance, if a user is designing a Microsoft Windows desktop application, he/she might use the .NET Windows Forms library to design the desktop application and call its APIs like Form1.Close() and Form1.Show()[6] to close or open the application and write the additional operations him/herself that it need to have. Without these APIs, the programmer needs to write these APIs him/herself. Companies like Sun Microsystems, Novell, and Microsoft provide their own APIs so that many applications are written using their software libraries that usually have numerous APIs in them. Computer software has special economic characteristics that make its design, creation, and distribution different from most other economic goods. A person who creates software is called a programmer, software engineer, software developer, or "code monkey", terms that all have a similar meaning. By J Zvirikuzhe, produced by Chief printers
  • 29. 29 Software Categories 1. Starting a computer 2. User interface 3. Features of operating systems 4. Stand-alone and network operating system 6. Stand-alone operating systems 7. Network operating systems 8. Embedded operating systems 9. Utility programs Here you will find additional information that will expand and enhance your knowledge beyond that contained in your textbook. Compare this information to what may be provided in a traditional classroom by your instructor or peers. Starting a Computer When you turn on a computer after it has been powered off, you are performing a cold boot. When you restart a computer that already has been powered on, you are performing a warm boot. Your typically can perform a warm boot by pressing a combination of keys on the keyboard (in Windows, CTRL+ALT+DEL), selecting options from a menu, or pressing a Reset button on the computer. If you watch the screen closely as the POST is conducted, the value for the total amount of memory can be seen to change as it is measured in the memory test. If the POST results do not match the data on the CMOS chip, an appropriate message should appear. The boot program typically is the first side, first track, and first sector of the hard disk. When you install an operating system, one of the installation steps involves making an emergency disk from which you can start your computer if the hard disk is damaged. User Interface You can interact with an operating system directly (as you do when copying files, moving files, formatting disks, and so on) or indirectly (as you do when working with an application program). An operating system is intended to be transparent; that is, it does not have to be understood, considered, or even known. The operating system with which an application program will work is specified on the application software package. The application programs you want to use should be considered By J Zvirikuzhe, produced by Chief printers
  • 30. 30 before deciding on an operating system, and the operating system must be considered when choosing application software. A graphical user interface is designed to be easier to use (more user-friendly) than a command-line interface. As an example of this user-friendly nature, consider how a relatively simple task, such as deleting a file, is performed with a command-line interface and with a GUI. With a command-line interface, you might type del followed by the file name in quotation marks. Therefore, you must remember the command, type it correctly, and use the proper syntax. On the other hand, with a GUI you need only select (click) the file name in the file manager window and then click the Delete command on a menu or the Delete button on a toolbar. Although most people find a GUI the easiest interface to use, some long-time computer virtuosos still feel a command-line user interface is more efficient. Features of Operating Systems Early operating systems were single user/single tasking, but today most operating system are multitasking. Multitasking can be cooperative, in which programs switch when they reach a logical break point, or preemptive, in which programs switch based on priority and an allocated amount of time. Early versions of Windows used cooperative multitasking; Windows 95 and subsequent versions use preemptive multitasking. Upon termination, most programs relinquish their space in memory, which then is reallocated by the operating system. Some programs, however, stay in memory after they terminate. As a class, these programs are called TSR (Terminate and Stay Resident) programs. Virtual memory is employed with multitasking operating systems to maximize the number of programs that can use memory at one time. Paging, or the technique of swapping items between memory and storage, was developed before processors could address directly more than 1 MB of memory. All printers have buffers, and printer manufacturers are eager to sell DRAM. The term spooling comes from the observation that placing print jobs temporarily in a buffer is somewhat like winding thread onto a spool so that it can be used at a later time. Today, adding and configuring devices is easier because most devices support Plug and Play, which means the computer can recognize a new device and automatically load the necessary drivers. A feature of Windows 95, Plug and Play initially was greeted with mixed reviews. In fact, some wags claimed the new technology was more accurately called, “Plug and Pray.” Processor utilization – the amount of time that the processor is working and not idle – is one way of monitoring system performance. In addition to the programs that come with most operating systems, several utility programs are available to monitor By J Zvirikuzhe, produced by Chief printers
  • 31. 31 system performance. Formatting a disk is the process of preparing it for reading and writing. Today, most floppy and hard disks are preformatted by the manufacturer. If you format a disk that already contains data, the formatting process erases the file location information, but it does not erase the actual files on the disk. Therefore, if you accidentally format a disk, often you can unformat it with a utility program. System security usually is most important for large systems or networks. For singleuser PCs, adequate system security can be a key in the user’s pocket. Stand-Alone and Network Operating System Many early operating systems were device dependent and proprietary. Devicedependent operating systems run only on a specific type of computer. Proprietary software is privately owned and limited to a specific vendor or computer mode. Today, the trend is towards device-independent operating systems that run on many manufacturers’ computers. Software that is not proprietary (i.e., that can work with a variety of computer models) sometimes is called portable or generic. Most of the operating systems discussed in this section are portable. When an operating system is proprietary, usually it is to boost hardware sales. Operating systems for Apple computers and most mainframes initially were proprietary. Steve Wozniak, cofounder of Apple Computers, believes the decision to make its innovative Macintosh operating system proprietary was one of the company’s greatest mistakes. “We had the most beautiful operating system,” Wozniak writes, “but to get it you had to buy our hardware at twice the price.” Wozniak now feels the operating system should have been licensed. Stand-Alone Operating Systems Bill Gates, founder of Microsoft and one of the wealthiest men in the world, began his fortune with the MS-DOS operating system. Although developed for IBM, Microsoft retained the rights to the operating system and licensed the source code to several hardware manufacturers, which resulted in multiple variations. An application written for one type of DOS, however, will work with any other variation. A number follows each version of PC-DOS or MS-DOS. The integer portion of the number indicates a major release, while the decimal portion indicates updates. Thus, MS-DOS 6.2 means major version six, which has been updated twice. To a great extent, the popularity of DOS was a result of the large number of applications written to work with the operating system. Windows 1.0, released in 1985, was Microsoft’s first attempt with a graphical user interface. It was not until five years later, however, with the release of Windows 3.0, that computer users began to take Windows seriously. Windows required 2 MB of memory (with 4 MB recommended) and an 80386 or newer processor, so it could By J Zvirikuzhe, produced by Chief printers
  • 32. 32 not be used with many older PCs. Nevertheless, because Windows 3.0 was easier to use than DOS, eventually most software was written, and many popular DOS programs were rewritten, to work with Windows. Despite the advantages of Windows 95 and a heavily-funded promotional campaign, a poll of DOS and Windows 3.x users showed not everyone immediately embraced the new operating system. When asked how likely they were to adopt Windows 95 within the next six months, respondents replied:     extremely likely possible not likely don’t know 10% 35% 53% 2% Why are people often reluctant to adopt a new operating system? The inclusion of Internet Explorer in the Windows 98 operating system led to an antitrust suit against Microsoft. Prosecutors insisted that the incorporation of a browser was an attempt by Microsoft to eliminate competition from rival Web browsers (such as Netscape Navigator). Microsoft maintained that the addition simply was an enhancement to the operating system. Although Microsoft advertised Windows 98 less heavily than Windows 95, many vendors took up the slack. One retailer offered Windows 98 with the opportunity to buy a new computer for $98. The promotion evidently worked. A buyer waited in line 11 hours for a chance to buy the new operating system and discount computer. When asked if he would have come out simply for Windows 98 (his current computer ran Windows 3.1), he replied, “Not a chance.” Windows 2000 was released in February, 2000 and was touted as a boon for all businesses, from small companies with no more than two desktop computers to large corporations with vast networks. Windows Millennium is a result of Microsoft’s recognition that the needs of business and home users are different. For years, the Macintosh operating system had features that made it far easier to use than other operating systems. For example, people could give files sensible names (like “Letter to Grandma”) instead of the cryptic, eight-character strings (like “letgrand.txt”) demanded by DOS and Windows 3.x. While Windows 95 incorporated many of these features, Macintosh devotees still feel their operating system is easier to use. Until recently, the Macintosh operating system was proprietary. In 1994 the operating system was licensed, but experts feel Apple’s promotion has been lukewarm. New standards let IBM computers run Apple software. More than 4,000 applications are designed to run under the Mac OS. Microsoft has developed the more popular Mac OS applications. By J Zvirikuzhe, produced by Chief printers
  • 33. 33 IBM supplies OS/2 (Operating System/2) Warp with its high-end personal computers. OS/2 originally was developed jointly by IBM and Microsoft to replace MS-DOS. As an interim measure, Microsoft developed Windows, an operating environment to work with DOS. The eventual popularity of Windows, coupled with the initial poor sales of OS/2, resulted in Microsoft and IBM going their separate ways, with Microsoft concentrating on Windows and IBM continuing to develop OS/2. Features offered in OS/2 Warp include:       An enhanced graphical user interface Integrated business application software Speaker-independent speech recognition software Desktop objects that allow users to connect directly to the Internet Integrated Java programming language that allows Java applications to run without a Web browser Support for multiple CPUs using multiprocessing By J Zvirikuzhe, produced by Chief printers
  • 34. 34 Command line vs. GUI Users not familiar with a command line interface (CLI) or a graphic user interface (GUI) may want to know the advantages and disadvantages of each interface to help determine what interface is the best for them to use and why. Below is a table to help illustrate the major advantages and disadvantages of each of the interfaces. Topic Command line (CLI) GUI Ease Because of the memorization and familiarity needed to operate a command line interface, new users have a difficult time navigating and operating a command line interface. Although new users may have a difficult time learning to use the mouse and all GUI features, most users pick up this interface much easier when compared to a command line interface. Control Users have much more control of their file system and operating system in a command line interface. For example, users can copy a specific file from one location to another with a one-line command. Although a GUI offers plenty of control of a file system and operating system, the more advanced tasks may still need a command line. Although many command line environments are capable of multitasking, they do not offer the Multitasking same ease and ability to view multiple things at once on one screen. GUI users have windows that enable a user to view, control, and manipulate multiple things at once and is much faster to navigate when compared with a command line. Command line users only need to use their keyboards to navigate a command line interface and often only need to execute a few lines to perform a task. A GUI may be easier to use because of the mouse. However, using a mouse and keyboard to navigate and control your operating system for many things is going to be much slower than someone who is Speed By J Zvirikuzhe, produced by Chief printers
  • 35. 35 working in a command line. A computer that is only using the command line takes a lot less of the computers system resources than a GUI. A GUI requires more system resources because of each of the elements that need to be loaded such as icons, fonts, etc. In addition, video drivers, mouse drivers, and other drivers that need to be loaded will also take additional resources. Scripting A command line interface enables a user to script a sequence of commands to perform a task or execute a program. Although A GUI enables a user to create shortcuts, tasks, or other similar actions, it doesn't even come close in comparison to what is available through a command line. Remote access When accessing another computer or networking device over a network, a user will only be able to manipulate the device or its files using a command line interface. Although remote graphical access is possible. Not all computers and especially not all network equipment will have this ability. Diverse After you've learned how to navigate and use a command line, it's not going to change as much as a new GUI. Although new commands may be introduced, the original commands always remain the same. Each GUI has a different design and structure of how to perform different tasks. Even different versions of the same GUI, such as Windows, can have hundreds of different changes between each version. Strain The command line allows the user to keep their hands on the keyboard and rarely have to move from the keyboard to the mouse. Moving back and forth between a keyboard and Although shortcut keys can be learned to help reduce the amount of times you have move from the keyboard to the mouse, you will still be moving much Resources By J Zvirikuzhe, produced by Chief printers
  • 36. 36 mouse can cause additional strain and may help contribute to Carpal Tunnel. more between the keyboard and mouse with a GUI. Computer program A computer program written in an object-oriented style. A computer program (also software, or just a program or application) is a sequence of instructions written to perform a specified task with a computer.[1] A computer requires programs to function, typically executing the program's instructions in a central processor.[2] The program has an executable form that the computer can use directly to execute the instructions. The same program in its human-readable source code form, from which executable programs are derived (e.g., compiled), enables a programmer to study and develop its algorithms. Computer source code is often written by computer programmers. Source code is written in a programming language that usually follows one of two main paradigms: imperative or declarative programming. Source code may be converted into an executable file (sometimes called an executable program or a binary) by a compiler and later executed by a central processing unit. Alternatively, computer programs By J Zvirikuzhe, produced by Chief printers
  • 37. 37 may be executed with the aid of an interpreter, or may be embedded directly into hardware. Computer programs may be categorized along functional lines: system software and application software. Two or more computer programs may run simultaneously on one computer, a process known as multitasking Contents        1 Programming o 1.1 Paradigms o 1.2 Compiling or interpreting o 1.3 Self-modifying programs 2 Execution and storage o 2.1 Embedded programs o 2.2 Manual programming o 2.3 Automatic program generation o 2.4 Simultaneous execution 3 Functional categories 4 See also 5 References 6 Further reading 7 External links By J Zvirikuzhe, produced by Chief printers
  • 38. 38 Programming Computer programming is the iterative process of writing or editing source code. Editing source code involves testing, analyzing, and refining, and sometimes coordinating with other programmers on a jointly developed program. A person who practices this skill is referred to as a computer programmer, software developer or coder. #include <stdio.h> int main() { printf("Hello world!n"); return 0; } Source code The sometimes lengthy process of computer programming is usually of a Hello referred to as software development. World program The term software engineering is becoming popular as the process is written in the seen as an engineering discipline. C programming language Paradigms Computer programs can be categorized by the programming language paradigm used to produce them. Two of the main paradigms are imperative and declarative. Programs written using an imperative language specify an algorithm using declarations, expressions, and statements.[3] A declaration couples a variable name to a datatype. For example: var x: integer; . An expression yields a value. For example: 2 + 2 yields 4. Finally, a statement might assign an expression to a variable or use the value of a variable to alter the program's control flow. For example: x := 2 + 2; if x = 4 then do_something(); One criticism of imperative languages is the side effect of an assignment statement on a class of variables called non-local variables.[4] By J Zvirikuzhe, produced by Chief printers
  • 39. 39 Programs written using a declarative language specify the properties that have to be met by the output. They do not specify details expressed in terms of the control flow of the executing machine but of the mathematical relations between the declared objects and their properties. Two broad categories of declarative languages are functional languages and logical languages. The principle behind functional languages (like Haskell) is to not allow side effects, which makes it easier to reason about programs like mathematical functions.[4] The principle behind logical languages (like Prolog) is to define the problem to be solved — the goal — and leave the detailed solution to the Prolog system itself.[5] The goal is defined by providing a list of subgoals. Then each subgoal is defined by further providing a list of its subgoals, etc. If a path of subgoals fails to find a solution, then that subgoal is backtracked and another path is systematically attempted. The form in which a program is created may be textual or visual. In a visual language program, elements are graphically manipulated rather than textually specified. Compiling or interpreting A computer program in the form of a human-readable, computer programming language is called source code. Source code may be converted into an executable image by a compiler or executed immediately with the aid of an interpreter. Either compiled or interpreted programs might be executed in a batch process without human interaction, but interpreted programs allow a user to type commands in an interactive session. In this case the programs are the separate commands, whose execution occurs sequentially, and thus together. When a language is used to give commands to a software application (such as a shell) it is called a scripting language. Compilers are used to translate source code from a programming language into either object code or machine code. Object code needs further processing to become machine code, and machine code is the central processing unit's native code, ready for execution. Compiled computer programs are commonly referred to as executables, binary images, or simply as binaries — a reference to the binary file format used to store the executable code. Interpreted computer programs - in a batch or interactive session - are either decoded and then immediately executed or are decoded into some efficient intermediate representation for future execution. BASIC, Perl, and Python are examples of immediately executed computer programs. Alternatively, Java computer programs are compiled ahead of time and stored as a machine By J Zvirikuzhe, produced by Chief printers
  • 40. 40 independent code called bytecode. Bytecode is then executed on request by an interpreter called a virtual machine. The main disadvantage of interpreters is that computer programs run slower than when compiled. Interpreting code is slower than running the compiled version because the interpreter must decode each statement each time it is loaded and then perform the desired action. However, software development may be faster using an interpreter because testing is immediate when the compiling step is omitted. Another disadvantage of interpreters is that at least one must be present on the computer during computer program execution. By contrast, compiled computer programs need no compiler present during execution. No properties of a programming language require it to be exclusively compiled or exclusively interpreted. The categorization usually reflects the most popular method of language execution. For example, BASIC is thought of as an interpreted language and C a compiled language, despite the existence of BASIC compilers and C interpreters. Some systems use just-in-time compilation (JIT) whereby sections of the source are compiled 'on the fly' and stored for subsequent executions. Self-modifying programs A computer program in execution is normally treated as being different from the data the program operates on. However, in some cases this distinction is blurred when a computer program modifies itself. The modified computer program is subsequently executed as part of the same program. Self-modifying code is possible for programs written in machine code, assembly language, Lisp, C, COBOL, PL/1, Prolog and JavaScript (the evaluated feature) among others. Execution and storage Typically, computer programs are stored in non-volatile memory until requested either directly or indirectly to be executed by the computer user. Upon such a request, the program is loaded into random access memory, by a computer program called an operating system, where it can be accessed directly by the central processor. The central processor then executes ("runs") the program, instruction by instruction, until termination. A program in execution is called a process.[6] Termination is either by normal self-termination or by error — software or hardware error. Embedded programs By J Zvirikuzhe, produced by Chief printers
  • 41. 41 The microcontroller on the right of this USB flash drive is controlled with embedded firmware. Some computer programs are embedded into hardware. A stored-program computer requires an initial computer program stored in its read-only memory to boot. The boot process is to identify and initialize all aspects of the system, from processor registers to device controllers to memory contents.[7] Following the initialization process, this initial computer program loads the operating system and sets the program counter to begin normal operations. Independent of the host computer, a hardware device might have embedded firmware to control its operation. Firmware is used when the computer program is rarely or never expected to change, or when the program must not be lost when the power is off.[8] Manual programming Switches for manual input on a Data General Nova 3 Computer programs historically were manually input to the central processor via switches. An instruction was represented by a configuration of on/off settings. After setting the configuration, an execute button was pressed. This process was then repeated. Computer programs also historically were manually input via paper tape By J Zvirikuzhe, produced by Chief printers
  • 42. 42 or punched cards. After the medium was loaded, the starting address was set via switches and the execute button pressed.[9] Automatic program generation Generative programming is a style of computer programming that creates source code through generic classes, prototypes, templates, aspects, and code generators to improve programmer productivity. Source code is generated with programming tools such as a template processor or an integrated development environment. The simplest form of source code generator is a macro processor, such as the C preprocessor, which replaces patterns in source code according to relatively simple rules. Software engines output source code or markup code that simultaneously become the input to another computer process. Application servers are software engines that deliver applications to client computers. For example, a Wiki is an application server that lets users build dynamic content assembled from articles. Wikis generate HTML, CSS, Java, and JavaScript which are then interpreted by a web browser. Simultaneous execution Many operating systems support multitasking which enables many computer programs to appear to run simultaneously on one computer. Operating systems may run multiple programs through process scheduling — a software mechanism to switch the CPU among processes often so users can interact with each program while it runs.[10] Within hardware, modern day multiprocessor computers or computers with multicore processors may run multiple programs.[11] One computer program can calculate simultaneously more than one operation using threads or separate processes. Multithreading processors are optimized to execute multiple threads efficiently. Functional categories Computer programs may be categorized along functional lines. The main functional categories are system software and application software. System software includes the operating system which couples computer hardware with application software.[12] The purpose of the operating system is to provide an environment in which application software executes in a convenient and efficient manner.[12] In addition to the operating system, system software includes utility programs that help manage and tune the computer. If a computer program is not system software then it is application software. Application software includes middleware, which couples the system software with the user interface. Application software also By J Zvirikuzhe, produced by Chief printers
  • 43. 43 includes utility programs that help users solve application problems, like the need for sorting. Sometimes development environments for software development are seen as a functional category on its own, especially in the context of human-computer interaction and programming language design. Development environments gather system software (such as compilers and system's batch processing scripting languages) and application software (such as IDEs) for the specific purpose of helping programmers create new programs. Operating System: Questions and Answers Overview 1. Describe the two types of software 2. Understand the startup process for a personal computer 3. Describe the term user interface 4. Explain features common to most operating systems 5. Know the difference between stand-alone operating systems and network operating systems 6. Identify various standalone operating systems 7. Identify various network operating systems 8. Recognize devices that use embedded operating systems 9. Discuss the purpose of the following utilities: file viewer, file compression, diagnostic, uninstaller, disk scanner, disk defragmenter, backup, and screen saver System software is an essential part of a computer system. This chapter defines system software and discusses two types of system software: operating systems and utility programs. You learn what an operating system is and explore user interfaces, operating systems features, and operating system functions. A variety of popular operating systems are described including DOS, Windows 3.x, Windows 95, Windows 98, Windows 2000, Windows XP, Windows CE, the Mac OS, OS/2, UNIX, Linux, and NetWare. You discover what happens when they start a computer and why a boot disk is important. Finally, a number of utility programs are explained. Describe the two types of software Two types of software are application software and system software. Application software consists of programs that perform specific tasks for users, such as a word By J Zvirikuzhe, produced by Chief printers
  • 44. 44 processing program, e-mail program, or Web browser. System software consists of the programs that control the operations of a computer and its devices. The two types of system software are operating systems and utility programs. An operating system (OS) is a set of programs containing instructions that coordinate all the activities among computer hardware devices. A utility program performs a specific task, usually related to managing a computer, its devices, or its programs. Understand the startup process for a personal computer Booting is the process of starting or restarting a computer. When you turn on the computer, the power supply sends an electrical signal to devices located in the system unit. The processor chip resets itself and looks for the ROM chip that contains the BIOS (basic input/output system), which is firmware that holds the startup instructions. The BIOS executes the power-on self test (POST) to make sure hardware is connected properly and operating correctly. The POST results are compared with data in a CMOS chip on the motherboard. If the POST completes successfully, the BIOS searches for specific operating system files called system files. Once located, the boot drive (the drive from which your personal computer starts), loads the system files from storage (the hard disk – usually drive C) into memory (RAM) and executes them. Next, the kernel of the operating system loads into memory and takes control of the computer. The operating system loads configuration information. In Windows XP, the registry consists of several file that contain the system configuration information. When complete, the Windows XP desktop and icons display, and programs in the StartUp folder are executed. Describe the term user interface A user interface controls how you enter data and instructions and how information displays on the screen. Two types of user interfaces are command-line and graphical. With a command-line interface, you type keywords or press special keys to enter data or instructions. A graphical user interface (GUI) allows you to use menus and visual images such as icons, buttons, and other graphical objects to issue commands. A menu is a set of commands from which you can choose. An icon is a small image that represents a program, an instruction, a file, or some other object. Explain features common to most operating systems Most operating systems perform similar functions that include managing programs, managing memory, scheduling jobs, configuring devices, accessing the Web, monitoring performance, providing housekeeping services, and administering security. Managing programs directly affects your productivity. A single user/single tasking operating system allows only one user to run one program at a By J Zvirikuzhe, produced by Chief printers
  • 45. 45 time. A multitasking operating system allows a single user to work on two or more applications that reside in memory at the same time. A multi-user operating system enables two or more users to run a program simultaneously. A multiprocessing operating system can support two or more CPUs running programs at the same time. Managing memory involves assigning items to an area of memory while they are being processed. The purpose of memory management is to optimize use of random access memory (RAM). With virtual memory (VM), the operating system optimizes memory by allocating a portion of a storage medium, usually the hard disk, to function as additional RAM. Scheduling jobs (operations the processor manages) involves determining the order in which jobs are processed. Spooling increases efficiency by placing print jobs in a buffer (an area of memory or storage where data resides while waiting to be transferred) until the printer is ready, freeing the processor for other tasks. Configuring devices establishes communication with each device in the computer. A device driver is a small program that tells the operating system how to communicate with a device. Accessing the Web may entail including a Web browser and e-mail program in the operating system. Monitoring performance helps to identify and solve system problems. A performance monitor is a program that assesses and reports information about various system resources and devices. Providing housekeeping services entails performing storage and file management functions. A file manager performs such functions as formatting and copying disks; listing the files on a storage medium; checking the amount of used and unused space on a storage medium; organizing, copying, deleting, moving, and sorting files; and creating shortcuts (icons on the desktop that run a program when clicked). Administering security involves establishing user accounts on a network. Each account typically requires a user name and a password to log on, or access, the network. Know the difference between stand-alone operating systems and network operating systems A stand-alone operating system is a complete operating system that works on a desktop or notebook computer. A network operating system (also called network OS or NOS) is an operating system that supports a network. A network is a collection of computers and devices connected together via communications media and devices such as cables, telephone lines, and modems. In some networks, the server is the computer that controls access to the hardware and software on a By J Zvirikuzhe, produced by Chief printers
  • 46. 46 network and provides a centralized storage area. The other computers on the network, called clients, rely on the server(s) for resources. Identify various stand-alone operating systems Stand-alone operating systems include DOS, Windows 3.x, Windows 95, Windows NT Workstation, Windows 98, Windows 2000 Professional, Windows Millennium Edition, Windows XP Home Edition, Windows XP Professional Edition, Mac OS, OS/2 Warp Client, UNIX, and Linux. UNIX and Linux also function as network operating systems. DOS (Disk Operating System) refers to several single user, command-line and menu-driven operating systems developed in the early 1980s for personal computers. Windows 3.x refers to early operating environments that, although not operating systems, provided a graphical user interface to work in combination with DOS and simplify its use. Windows 95 is a true multitasking operating system – not an operating environment – with an improved graphical interface. Windows NT Workstation is a client operating system that can connect to a Windows NT Server. Developed as an upgrade to Windows 95, the Windows 98 operating system is easier to use and more integrated with the Internet. Windows 98 includes Microsoft Internet Explorer, a popular Web browser, Windows Explorer, a file manager, and an Active Desktop™ that works similarly to Web links. Windows 2000 Professional is a complete, reliable multitasking client operating system for business desktop and business notebook computers. Windows Millennium Edition is an operating system that has features specifically for the home user. Windows XP is Microsoft’s fastest, most reliable Windows operating system, providing quicker startup, better performance, and a new, simplified visual look. Windows XP Home Edition is an upgrade to Windows Millennium Edition, while Windows XP Professional Edition is an upgrade to Windows 2000 Professional. The Mac OS, the latest version of the Macintosh operating system (the first commercially successful graphical user interface), is a multitasking operating system available only on Apple computers. OS/2 Warp Client is IBM’s GUI multitasking client operating system that supports networking, Java, the Internet, and speech recognition. Identify various network operating systems Network operating systems include NetWare, Windows NT Server, Windows 2000 Server, Windows .NET Server, OS/2 Warp Server for E-business, UNIX, Linux, and Solaris™. Novell’s NetWare is a widely used network operating system designed for client/server networks. Windows NT Server is the operating system used by servers in the Windows NT client/server network environment. The Windows By J Zvirikuzhe, produced by Chief printers
  • 47. 47 2000 Server family consists of three products: Windows 2000 Server (for the typical business network), Windows 2000 Advanced Server (for e-commerce applications), and Windows 2000 Database server (for demanding, large-scale applications). Windows .NET Server is an upgrade to Windows 2000 Server. The Windows .NET Server family includes four products: Windows .NET Standard Server (for the typical small- to medium-sized business network), Windows .NET Enterprise Server (for medium- to large-sized businesses, including those with ecommerce applications), Windows .NET Datacenter (for business with huge volumes of transactions and large-scale databases), and Windows .NET Web Server (for Web server and Web hosting businesses). OS/2 Warp Server for E-business is IBM’s network operating system designed for all sizes of business. UNIX is a multitasking, command-line operating system implemented on many different types of computers. Because it is both a stand-alone operating system and a network operating system, some call UNIX a multipurpose operating system. Linux is a popular, free, multitasking UNIX-type operating system. Solaris™, a version of UNIX developed by Sun Microsystems, is a network operating system designed for e-commerce applications. Recognize devices that use embedded operating systems The operating system on most handheld computers and small devices, called an embedded operating system, resides on a ROM chip. Popular embedded operating systems include Windows CE, Pocket PC OS, and Palm OS®. Windows CE is a scaleddown Windows operating system designed for use on wireless communications devices and smaller computers such as handheld computers, in-vehicle devices, and Web-enabled devices. Pocket PC OS is a scaled-down operating system developed by Microsoft that works on a specific type of handheld computer, called a Pocket PC. The Palm OS® is the operating system used on Palm handheld computers from Palm, Inc., and Visor handheld computers from Handspring™. Discuss the purpose of the following utilities: file viewer, file compression, diagnostic, uninstaller, disk scanner, disk defragmenter, backup, and screen saver Most operating systems include several utility programs that perform specific tasks related to managing a computer, its devices, or its programs. A file viewer is a utility that allows you to display and copy the contents of a file. A file compression utility shrinks the size of a file. A diagnostic utility compiles technical information about a computer’s hardware and certain system software programs and then prepares a report outlining any identified problems. An uninstaller is a utility that removes an application, as well as any associated entries in the system files. A disk By J Zvirikuzhe, produced by Chief printers
  • 48. 48 scanner is a utility that (1) detects and corrects both physical and logical problems on a hard disk, and (2) searches for and removes unnecessary files. A disk defragmenter is a utility that reorganizes files and unused space on a computer’s hard disk so data can be accessed more quickly and programs can run faster. A backup utility copies, or backs up, selected files or an entire hard drive onto another disk or tape. A screen saver is a utility that causes the monitor’s screen to display a moving image on a blank screen if no keyboard activity occurs for a specified period. By J Zvirikuzhe, produced by Chief printers
  • 49. 49 By J Zvirikuzhe, produced by Chief printers