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

  1. Character Encoding
  2. Processors
  3. Operatoing Systems
  4. Common Computer Languages
  5. 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.


by

Matthew Martin

2004

top of page