American University in Bosnia and Herzegovina
Information Technology Terminology Review Document
A Note to Students
This review document is in no way complete. New terms are constantly added in the Information Technology field. If there is a term you do not understand, always search for the term in a dictionary and on the Web. Remember that some words will have both a technical and a non-technical meaning.
Hardware Terminology
CPU – Central Processing Unit, also known as microprocessor. The CPU is a component of a computer that computes or performs instructions.
RISC – Reduced Instruction Set Computing represents a CPU design strategy that emphasizes a smaller list of hardware instructions. The goal of this design strategy is to optimize performance with software improvements. SUN’s SPARC system is an example of a RISC system.
CISC – Complex Instruction Set Computing represents a CPU design strategy that emphasizes a larger and more intricate list of hardware instructions. The goal of this design strategy is to optimize performance by relying on the speed of hardware. Intel’s x86 chip is an example of a CISC system.
RAM – Random Access Memory, also known as memory. RAM is a subsystem of a computer used for storing programs and data while they execute. RAM is volatile storage. If a person pulls the plug from a computer, the data stored in RAM is lost.
Hard Disk – a high-capacity, persistent, peripheral storage device. The hard disk, also known as Hard Drive, is non-volatile storage. If a person pulls the plug from a computer, the data on the hard disk is preserved.
Motherboard – contains the processor chip, memory, hard disk, and other computer electronics.
Daughter Board – a small printed circuit board plugged into a motherboard to provide additional functionality. Daughter boards are often called daughter cards or just cards. Networking cards and video cards are examples of daughter boards.
Cable – a bundle of wires carrying power or signals between computer components. These are sometimes referred to as cords or wires. Category 5 cable is a physical connector consisting of 4 pairs of twisted wires in a plastic shield that transmits network signals.
RAID – Redundant Array of Inexpensive Disks also known as Redundant Array of Independent Disks. RAID combines two or more physical hard disks into a single logical unit by using either special hardware or software. RAID achieves redundancy for hard disks by eliminating a single point of failure. If one disk fails, the system should be able to continue functioning properly.
RAID 1 is a mirrored set of disks without parity. RAID 1 simply maintains two copies of the data with each copy residing on a separate disk. If one disk fails, the other disk should be able to keep the system functioning properly. RAID 1 requires 2 disks. RAID 1 provides improved read performance because the system can use both disks for reading. RAID 1, however, suffers from a slight decrease in performance for write operations.
RAID 5 is a striped set with distributed parity. RAID 5 requires at least 3 disks. RAID 5 is popular for its redundancy but not for its performance. The performance is adversely affected due to the overhead of calculating the parity information. The array will continue to function properly if 1 disk fails.
Parity is a simple error detection technique. In RAID 5, parity information is used to reconstruct data on a lost disk.
NAS – Network Attached Storage uses File System protocols like NFS, SMB, or CIFS to provide additional hard disk storage over a network.
SAN – Storage Area Network is an architecture to attach remote computer storage devices like disk arrays to servers in such a way that the devices appear locally attached from the point of view of the Operating System.
Load balancing is a technique to spread work between two or more computers, network links, CPUs, hard drives, or other resources, in order to get optimal resource utilization, throughput, or response time. We discussed load balancing to distribute requests across a number of web servers. Load balancing is a technique used to scale hardware in
enterprise computer systems. There are hardware and software load balancing solutions.
Operating System Terminology
Operating System – A software component of a computer system that is responsible for the management and coordination of activities and the sharing of resources of the
computer. The OS hosts applications and handles the details of the operation of the hardware. All machines have operating systems including handheld computers, desktop computers, supercomputers, and video game consoles. Operating Systems offer services to applications. These services are accessed through Application Programming Interfaces (API).
Shell – The shell is an interface or program for users to access the services of an operating system. Shells can be either Graphical User Interfaces (GUI) or Command Line Interfaces (CLI). The bash shell is the shell we used in our labs.
Window – an area of a computer screen that displays its own file or message independent of the rest of the screen.
Registry – The registry is the repository in Windows Operating Systems responsible for storing configuration settings. A repository is simply a storage area for something.
File Structure – the directories and files of a computer.
NFS – Network File System is a file sharing protocol used by Unix operating systems.
SMB – Server Message Block is a file sharing protocol used by Windows operating systems. Linux systems can interoperate with SMB using Samba.
CIFS – Common Internet File System is a file sharing protocol used by Windows operating systems. Essentially an updated rebranded version of SMB.
Desktop – The metaphor used to organize the Graphical User Interface of most modern operating systems.
Process – is an instance of a program that is being sequentially executed by a computer system that has the ability to run several programs concurrently.
Kernel – the central component of most computer operating systems. The kernel creates a process by setting aside or allocating some memory, loading program code, and
executing the initial code.
Outline of differences between Linux and Windows kernels:
http://widefox.pbwiki.com/Kernel%20Comparison%20Linux%20vs%20Windows
Interrupt – Interrupts allow the operating system to deal with unexpected activities of running programs. Interrupts allow computers to run code automatically in response to specific events. When an interrupt is received, the computer’s hardware suspends the program currently running by pushing its content onto a stack. The program’s registers and program counter are saved in a fashion similar to a bookmark. For example, when a program needs to access hardware it triggers an interrupt. The kernel handles interrupts regardless of whether they are triggered by hardware or program device drivers.
Supervisor Mode – Supervisor mode of an OS permits unlimited access to hardware. The BIOS and bootloader of an OS run in supervisor mode. When a computer starts it is automatically running in supervisor mode.
Protected Mode – Most programs run in protected mode which limits a program’s access to system resources. User programs can only leave protected mode by triggering an interrupt.
Virtual Memory - is a computer system technique which gives an application program the impression that it has contiguous working memory, while in fact it may be physically fragmented and may even overflow on to disk storage. Systems that use this technique make programming of large applications easier and use real physical memory (e.g. RAM) more efficiently than those without virtual memory. Most modern operating systems support virtual memory. Windows utilizes c:\pagefile.sys, a page file, to implement features of virtual memory. In Linux, a swap partition serves this purpose.
Networking and Data Communications Terminology
Synchronous Communication – requires that the sender and the receiver are active at the same time. A telephone conversation is an example of synchronous communication.
Asynchronous Communication – sending and receiving occur at different times. A postcard is an example of an asynchronous communication.
Multicast communication – is when a single sender transmits to many receivers, but the intended recipients are not the whole population. Magazines are an example of multicast communication.
Point-to-point communication – is when a single sender transmits to a single receiver. Telephone communication is point to point.
Spamming – spam is unsolicited email. In short, spam is email that no one asked for and no one wanted.
Client/Server – a relationship between two computers in which the client computer requests services from the server computer. Most of the interactions over the Internet use client/server protocols.
IP Address – Each computer connected to the Internet is given a unique address called its IP Address, short for Internet Protocol Address. IP addresses have the following format: 172.17.12.230.
Domain Names – A domain is a related group of networked computers. A domain name simply represents and IP address or collection of IP addresses in a human-readable fashion.
DNS – The Domain Name System translates the hierarchical, human-readable names into the numeric IP addresses they represent.
DNS Server – a Domain Name System server maintains a list of DNS Names with their corresponding IP addresses. Every computer or host on the Internet knows the IP address of its nearest DNS Server. When you type, http://www.cnn.com, into your web browser, your computer asks your local DNS server for the IP address associated with this DNS Name.
Root Name Server – a top-level DNS server that maintains the master list of all of the name-to-address translations. If the Root Name Server does not know, the query is forwarded to the Authoritative Name Server.
Authoritative Name Server – a DNS Server that maintains a record of the name-to-address translations for its domain.
Top-level Domains – the final part of a domain name that represents the broad category of the institution sponsoring the name. For example, .edu is the top-level domain for educational institutions. Recently, the rules for top-level domains have changed allowing virtually any top-level domain desired.
accurately with a digital signal the analog signal must be sampled at a minimum of 2x the highest frequency of the analog signal.
Analog Signal – An analog signal is any continuous signal that represents a variable that changes over time.
Digital Signal – A digital signal captures the essence of an analog signal with a technique called sampling. By sampling or taking snapshots of the analog signal at specific intervals, it is possible to reconstruct the information in the analog signal. Digital signals are discrete, non-continuous representations of analog signals.
Encryption – the transformation of a digital representation so that the information in the representation is hidden. Information that is not encrypted is called clear text.
OSI – Open Systems Interconnection Reference Model is an abstract description for layered communications and computer network protocol design. The OSI Reference Model includes 7 layers.
TCP/IP – Transmission Control Protocol/Internet Protocol is the protocol suite that allows computers to communicate over the Internet. TCP/IP has 4 layers. Some authors will refer to a fifth level as well (physical). TCP is a connection-oriented protocol providing a reliable byte stream. UDP, user datagram protocol, is a connectionless protocol that provides no such reliable byte stream. Applications that use UDP must provide their own checks to ensure reliability. ICMP, internet control message protocol, is used to send error messages and diagnostic information. Ping uses ICMP packets to determine if a host is available on the network.
Application - HTTP Transport - TCP Network - IP Link - Ethernet
(Physical) - Category 5 Cable
HTTP – Hypertext Transfer Protocol is the protocol a web browser uses to communicate with a web server. The well-known port for HTTP is 80.
HTML – Hypertext Markup Language is the programming language interpreted by web browsers. HTML commands are called tags. The example below demonstrates well-formed HTML tags.
<html> <head>
<title>Kelly Clarkson – In Concert</title> </head>
<body>
</body> </html>
RSA – The public key/private key encryption algorithm that makes HTTPS technology work. RSA stands for the people who invented the technology: Rivest, Shamir, and Adelman.
WAN – Wide area networks are networks that connect computers over a wider area than a few kilometers.
LAN – Local area networks are networks that connect computers within a small physical space such as a building. Ethernet is the main technology for local area networks.
DHCP – Dynamic Host Configuration Protocol assigns IP addresses to workstations on a network.
Software Terminology
Debugging – Debugging is the process of fixing an error in a program or system. Debugging is the act of discovering why a system does not work properly.
Almost all software contains bugs!
General Computing
Algorithm – a precise and systematic method for producing a specified result.
API – Application Programming Interface. An application programming interface (API) is a set of functions, procedures, methods or classes that an operating system, library or service provides to support requests made by computer programs.
GUI – Graphical User Interface. The Windows Operating System is an example of a GUI.
RGB – Red, Green, Blue refers to the color display system for almost all computer monitors.
Literal - Computers can only do exactly what they are told. They are literal in the sense that they can only follow instructions from a computer program. Human beings use computers in conjunction with free will and intuition to achieve creative ends.
Literal means to the letter.
Bits and Bytes
Assembly Language – a symbolic form of a binary machine language. Assembly languages are NOT high-level programming languages.
Functions or Methods – these are the building blocks of good programming in any language. A program without functions or methods is simply a big ball of mud, also known as, spaghetti code.
Mathematics and Computing
Binary
Hexadecimal
NP-Complete – NP stands for Non-deterministic Polynomial. NP-complete refers to a class of problems that require one to consider every possible solution to find the best one. NP-complete problems do not have an algorithmically efficient solution. NP-complete is a measure of difficulty of problems believed to be intractable for computers.
Database Terminology
SQL – Structured Query Language is a programming language designed for creating and manipulating database structures and data.