Basic
Knowledge About Computer Systems
– Newbie Knowledge
by
Matthew Martin,
2004
The aim here
is to provide some basic information about computer systems. This basic
information is important for understanding computer systems and is fundamental
for the understanding of many aspects of computers.
Contents
- Character
Encoding
- Processors
- Operatoing
Systems
- Common
Computer Languages
- Analysis
& Design
Character
Encoding
ASCII
American Standard Code for Information Interchange (ASCII).
ACSII is the way to represent alphanumeric symbols. This is done by using
the lowest seven bits of a byte, giving each symbol a numerical representation.
ASCII is the agreed standard for doing so, allowing for the exchange of
plain text between different computer systems. Complete lists for ASCII
can be found in books and on the web.
UNICODE
A way of encoding characters for many different writing systems. While
ASCII copes well with the Latin (Western European), Cyrillic (Eastern
European) and Arab alphabets, it does not easily cope with Chinese and
many other languages. UNICODE was developed to allow for the representation
of all languages. Often the term internationalisation is used.
top
of page
Processors
The Central Processor Unit (CPU) is the “brain” of a computer.
The CPU is the most important processor in a computer. Other processors
perform specific tasks, such the control of communications with external
devices. Here we will consider the CPU.
PC:
Intel dominates the market with their 8086-family of processors, also
known as the Intel iAPX architecture. The most recent members of the 8086-family
are the Pentium series. AMD also produce 8086-family compatible processors.
Other
CPUs: There are a range of other processors, some common examples
are listed here.
· 68000 family of processors by Motorola. Members of this family
of processors have been used in older Apple Macs and other computer systems.
· SPARC by Sun Microsystems. Sun produce a range of powerful workstations.
· Alpha by DEC. DEC produce large systems for corporations.
top
of page
Operating
Systems (OS)
MS-DOS
MicroSoft – Disc Operating System.
This is the old PC OS. The DOS commands are still available under the
most recent Misrosoft versions of Windows, although they have been reduced
in number. DOS can be useful to learn if you want to do low level work
on PCs.
Windows
3.1
For PCs with Intel 80386 processors or above. Surprisingly it is faster
than Windows 95. This is basically DOS with a windows front end. There
are still a large number of computers in the World running this old version
of Windows.
Windows
3.11
Also known as Windows for Work Groups. An updated version of 3.1 with
more networking capabilities.
Windows
95
It’s still mostly DOS with a windows front end.
Windows
98 & ME
There are two editions of Windows 98, first and Second Edition (SE). The
SE version is a significant improvement and is the first version of windows
to support USB. Windows 98 is superior to 95, one of the main improvements
being the smaller memory footprint. Windows ME (Millennium Edition) is
an updated version of 98SE, with small improvements. Even today Windows
98 is one of the most used OS on the planet.
Windows
NT
NT is considerably more robust than 95 or 98. NT 4.0 is the most common
version of this OS. NT is resource grabbing, requiring large amonts of
memory. It is in use in many companies although Microsoft has been encouraging
organisations to upgrade their NT systems to Windows 2000. There are two
main versions of NT 4.0, Workstation and Server.
There
was an NT 5.0 version which was a complete re-write of NT 4.0 but this
was only ever released as a beta version. It was never commercially released.
However core parts of the OS are very robust and these were used in Windows
2000 and Windows XP. You will sometimes see system messages in both of
these OSs referring to NT 5.0.
Windows
2000
Sometimes written as Win 2K. This is designed to replace NT. Windows 2000
Professional replaces Windows NT 4.0 Workstation for client access to
domains. Windows 2000 Server replaces Windows NT 4.0 Server, offering
printer and file services. Windows 2000 Advanced Server provides additional
server services, of the type usually limited to UNIX systems.
Windows
2000 introduces Active Directory, a central database containing information
about network objects, such as domains, servers, printers, workstations
and users. These objects can be placed in containers that group the objects
together, making management easier.
Windows
XP
XP is Microsoft’s attempt to merge the two streams of OSs represented
by NT & Win 2K for businesses and Windows 95, 98 & ME for home
and small business users. XP Home edition is designed for home users and
Professional for corporate users. The professional version has greater
system management capabilities.
Note:
So far all the OSs discussed have been by Microsoft. The following OSs
are not.
UNIX
UNIX is found in large companies, universities and the military. UNIX
requires the use of the command line interface. There are a large number
of versions. The complexity of UNIX discourages some but this is an elegant
OS with many good features.
There
is a front end for UNIX using a GUI (Graphical User Interface) called
X-Windows. Microsoft have copied some of the features of X-Windows for
their OSs.
LINUX
Taking its name from the developer Linus Torvalds, LINUX is a version
of UNIX for PCs. Prior to LINUX the only version of UNIX that would really
work on an 8086 machine was SCO UNIX which was very expensive. Today there
are a number of different distribution versions of LINUX or “distros”.
Perhaps the best known of these is RedHat but there are many others. LINUX
can be free to download or you can buy one of the distro versions were
much of the set-up is automated.
LINUX
is open source, being developed for free by enthusiasts all over the World.
The code is freely available on the Internet and any one can join in the
development. Code is reviewed and carefully tested by peers. Open Source
has and is changing the world of software development.
LINUX
has been ported to many other hardware platforms other than 8086-family
processors.
LINUX
has become the main OS for supporting web servers, usually in combination
with the Apache server software. The popularity of this OS is ever growing
and the big players are having to take note. Many companies are adopting
this OS. It is cheap (or free) and very reliable. The umber of applications
and tools available is ever growing.
Recently
SCO has taken court action against LINUX claiming that some of its code
has been unlawfully incorporated into the OS. Many feel that this will
actually have little impact but this is on going.
Mac
OS
Developed by Apple for its Apple Mac computers. A recent development has
been the introduction of OS-X, which is built around 4.4 BSD, a version
of UNIX called Darwin. This has allowed Mac users access to a UNIX-style
shell and development tools. There are problems with this, adding the
BSD extension package to add these tools can introduce security holes,
care is required. While the introduction of a BSD subsystem in OS-X has
in some ways strengthened this Mac OS, it has at the same time made it
more vulnerable to security exploitations, although OSs based on open
BSD are now considered the safest with regard to hacker attacks.
top
of page
Common
Computer Languages
Here we will briefly look at some of the common languages. It is worth
noting that there is a significant difference between full programming
languages and scripts. The list here is far from complete, the aim is
to provide a taste for what’s out there.
BASIC
Beginners’ All Purpose Symbolic Instruction Code. In the past every
computer seemed to come with a version of BASIC. BASIC is a simple language,
easy to learn and write code in. BASIC tends to be a translated language,
although compilers do exist for some versions of BASIC. Translation tends
to make BASIC slow to execute.
Assembler
Machine code (binary) is horrible for programmers to work in, so assembler
was one of the first languages available. It consists of low level machine
instructions for the microprocessor. It is difficult to learn and read
but is very powerful and very fast to execute.
C
This is one of the most common computer languages and has been around
for a while now. Powerful, fast and easier to read than assembler.
C++
An iteration of C, hence the name. This is C with object orientation,
hence it is an object oriented programming language (OOP).
Java
Increasingly popular, although recently challenged by Microsoft’s
C# (“C sharp”). This is a platform independent OOP developed
by Sun Microsystems.
Visual
BASIC (VB)
This is not an OOP as some may claim, but is an object-based language
with the introduction of v6.0 by Microsoft.
Script
Languages
Not to be confused with full programming languages. There are many, here
just a few are mentioned.
PERL:
Used for the backend of web sites. PERL runs under UNIX and NT. It is
often used for web page forms and the Common Gateway Interface (CGI).
Understanding security on the WWW means understanding PERL and CGI.
HTML:
Hyper-Text Mark-up Language. Originally developed at CERN by Tim Berners-Lee,
this is the basis for all web pages everywhere.
JavaScript:
Not to be confused with Java. This is an OO script that runs inside a
browser to provide extra features for web pages. There are a number of
other scripts that provide similar features, like VB Script (not to be
confused with VB).
top
of page
Analysis
& Design
There are a number of tools available for analysis and design. These are
not programming languages.
Unified
Modelling Language (UML): UML is not a programming language but
a suite of Object Oriented Analysis and Design (OOAD) tools. Most commonly
used of this suite are use case diagrams and class diagrams. UML is the
industry standard for OOAD.
Structured
System Analysis & Design Methodologies (SSADM): A suite of
analysis and design tools for structured programming environments.
|