SU3 - Computer organisation, networks
& Internet, operating systems
CMPG111 – Introduction to Computing & Programming
OUTCOMES SU3
Computer organisation, networks & Internet, operating systems
On completion of this study unit, you should be able to:
• Understand the interconnection of subsystems and list different bus systems;
• Understand program execution in a simple computer; Foundations of Computer
Science CHAPTER 5.5 – 5.10
• Distinguish between different computer architectures;
• Understand how computer throughput can be improved using pipelining;
• Understand how parallel processing can improve the throughput of computers;
• Describe local (LAN) and wide area (WAN) networks;
Foundations of Computer
• Distinguish an internet from the Internet; Science CHAPTER 6.1
• Describe the TCP/IP protocol suite as the network model in the Internet;
• Define the layers in the TCP/IP protocol suite, and their relationship;
• Define an operating system, list its components, and understand its role in a computer system;
• Understand the process of bootstrapping to load the operating system into memory; Foundations of Computer
Science CHAPTER 7
• Discuss the roles of the memory, process, device, and file managers in an operating system; and
• Understand the main features of three common operating systems: UNIX, Linux, and Windows.
List the three subsystems of a computer
• Describe the role of the CPU;
• Describe the main memory;
• Describe the input/output subsystem;
• Understand the interconnection of subsystems and list different bus systems.
We investigated the three A bus is an electronic path over which data can travel
subsystems (CPU, main • Expansion bus – on the motherboard, used to connect peripheral
memory, and I/O) in a stand- devices,
• Universal Serial Bus (USB) – versatile architecture, widely used to
alone computer. Now we
connect peripherals to a computer,
explore how these three • FireWire (IEEE 1394) – a high-speed standard to connect
subsystems are multimedia devices (like digital cameras) to a computer.
interconnected.
The interconnection plays an
important role because
information needs to be
exchanged between the
three subsystems.
Foundations of Computer
Science CHAPTER 5.5 – 5.10
List the three subsystems of a computer
• Describe the role of the CPU;
• Describe the main memory;
• Describe the input/output subsystem;
• Understand the interconnection of subsystems and list different bus systems.
Foundations of Computer
Science CHAPTER 5.5 – 5.10
Understand program execution in a simple computer
In the fetch phase, the control unit orders the system to copy the
next instruction into the instruction register in the CPU. The address
of the instruction to be copied is held in the program counter
register. After copying, the program counter is incremented to refer
to the next instruction in memory.
The second phase in the cycle is the decode phase. When the
instruction is in the instruction register, it is decoded by the control
unit. The result of this decode step is the binary code for some
operation that the system will perform.
After the instruction is decoded, the control unit sends the task
order to a component in the CPU. For example, the control unit can
tell the system to load (read) a data item from memory, or the CPU
can tell the ALU to add the contents of two input registers and put
the result in an output register. This is the execute phase.
The components of a simple computer
Foundations of Computer
Science CHAPTER 6.1
Distinguish between different computer architectures
Understand how computer throughput can be improved using pipelining
CISC (pronounced sisk) stands for complex instruction set
computer. The strategy behind CISC architectures is to have a
large set of instructions, including complex ones. Programming
CISC-based computers is easier than in other designs because
there is a single instruction for both simple and complex tasks. The
complexity of the instruction set makes the circuitry of the CPU
and the control unit very complicated. An example of CISC
architecture can be seen in the Pentium series of processors
developed by Intel.
RISC (pronounced risk) stands for reduced instruction set
computer. The strategy behind RISC architecture is to have a small
set of instructions that do a minimum number of simple
operations. Complex instructions are simulated using a subset of
simple instructions. Programming in RISC is more difficult and (a) shows how three consecutive instructions are handled in a computer that uses
time-consuming than in CISC, because most of the complex no pipelining.
instructions are simulated using simple instructions. (b) shows how pipelining can increase the throughput of the computer by allowing
Pipeline. We have learned that a computer uses three phases of different types of phases belonging to different instructions to be done
fetch, decode, and execute for each instruction. In early simultaneously. When the CPU is performing the decode phase of the first
computers, these three phases needed to be done in series for instruction, it can also perform the fetch phase of the second instruction. The
each instruction. In other words, instruction n needs to finish all of first computer can perform on average 9 phases in the specific period of time,
these phases before the instruction n + 1 can start its own phases. while the pipelined computer can perform 24 phases in the same period of time.
Modern computers use a technique called pipelining to improve If we assume that each phase uses the same amount of time, the first computer
the throughput (the total number of instructions performed in has done 9/3 = 3 instructions while the second computer has done 24/3 = 8
each period of time). The idea is that if the control unit can do two instructions. The throughput is therefore increased 8/3 or 266%. Of course,
or three of these phases simultaneously, the next instruction can pipelining is not as easy as this.
start before the previous one is finished.
Foundations of Computer
Science CHAPTER 6.1
Distinguish between different computer architectures
Understand how parallel processing can improve the throughput of computers
Traditionally a computer had a single control unit, a single
arithmetic logic unit, and a single memory unit. With the
evolution in technology and the drop in the cost of computer
hardware, today we can have a single computer with multiple
control units, multiple arithmetic logic units and multiple
memory units. This idea is referred to as parallel processing.
Like pipelining, parallel processing can improve throughput.
Parallel processing involves many different techniques. A
general view of parallel processing is given by the taxonomy
SISD vs MIMD proposed by M. J. Flynn. This taxonomy divides the
computer’s organization (in term of processing data) into four
categories, as shown in the figure. According to Flynn, parallel
processing may occur in the data stream, the instruction
stream, or both.
Foundations of Computer
Science CHAPTER 6.1
Describe local (LAN) and wide area (WAN) networks
Although we want to discuss
the Internet, a system that
LAN
interconnects billions of
computers in the world, we
think of the Internet not as a
single network, but as an
Internetwork, a combination
of networks.
So, we start our journey with
a network.
We then show how we can
connect networks to create
WANs
small Internetworks. Finally,
we show the structure of the
Internet.
Foundations of Computer
Science CHAPTER 6.1
Distinguish an internet from the Internet
An internet (note the lowercase i) is two or more The Internet
networks that can communicate with each other. The
most notable internet is called the Internet (uppercase
I ), and is composed of thousands of interconnected
networks. The figure shows a conceptual (not
geographical) view of the Internet.
The figure shows the Internet as several backbones,
provider networks, and customer networks. At the top
level, the backbones are large networks owned by
some communication companies. The backbone
networks are connected through some complex
switching systems, called peering points. At the second
level, there are smaller networks, called provider
networks, that use the services of the backbones for a
fee.
The provider networks are connected to backbones
and sometimes to other provider
networks. The customer networks are networks at the
edge of the Internet that actually use the services
provided by the Internet. They pay fees to provider
networks for receiving services.
Backbones and provider networks are also called
internet service providers (ISPs).
Foundations of Computer
Science CHAPTER 6.1
Describe the TCP/IP protocol suite as the network model in the Internet
Transmission Control
Protocol/ Internet Protocol
Layers in the TCP/IP protocol suite
Google search (with examples):
• Application (e.g. SNMP, HTTP,
FTP)
• Presentation (e.g. encryption,
ASCII, PNG, MIDI)
• Session (e.g. Syn/Ack)
• Transport (e.g. TCP, UDP, port
numbers)
• Network (e.g. IP, routers)
• Data Link (e.g. MAC,
switches)
• Physical (e.g. cable, RJ45)
Foundations of Computer
Science CHAPTER 6.1
Define the layers in the TCP/IP protocol suite, and their relationship
Communication through an internet
Layers in the TCP/IP protocol suite
Foundations of Computer
Science CHAPTER 6.1
Define the layers in the TCP/IP protocol suite, and their relationship
Communication through an internet
Foundations of Computer
Science CHAPTER 6.1
Define the layers in the TCP/IP protocol suite, and their relationship
Let us assume that computer A communicates with computer B.
As the figure shows, we have five communicating devices in this
communication:
(1) source host (computer A),
(2) the link-layer switch in link 1,
(3) the router,
(4) the link-layer switch in link 2, and
(5) the destination host (computer B).
Each device is involved with a set of layers depending on the role of
the device in the internet.
The two hosts are involved in all five layers; the source host needs to
Communication through an internet
create a message in the application layer and send it down the layers
so that it is physically sent to the destination host. The destination
host needs to receive the communication at the physical layer and For example, in the above figure, the router is involved in three links, but
then deliver it through the other layers to the application layer. The the message sent from source A to destination B is involved in two links.
router is involved only in three layers; there is no transport or Each link may be using different link-layer and physical-layer protocols; the
application layer in a router as long as the router is used only for router needs to receive a packet from link 1 based on one pair of protocols
routing. Although a router is always involved in one network layer, it is and deliver it to link 2 based on another pair of protocols. A link-layer switch
involved in n combinations of link and physical layers in which n is the in a link, however, is involved only in two layers, data-link and physical.
number of links the router is connected to. The reason is that each Although each switch in the above figure has two different connections, the
link may use its own data-link or physical protocol. connections are in the same link, which uses only one set of protocols. This
means that, unlike a router, a link-layer switch is involved only in one data-
link and one physical layer.
Foundations of Computer
Science CHAPTER 6.1
Define an operating system, list its components, and understand its role in a computer
system
An operating system is an
interface between the hardware
of a computer and the user
(programs or humans) that
facilitates the execution of other
programs and the access to
hardware and software
resources.
It should:
• Use hardware efficiently.
• It should make the use of
resources easy.
Foundations of Computer
Science CHAPTER 7
Understand the process of bootstrapping to load the operating system into memory
The bootstrap process
A very small section of memory is
made of ROM and holds a small
program called the bootstrap
program. When the computer is
turned on, the CPU counter is set
to the first instruction of this
bootstrap program and executes
the instructions in this program.
This program is only responsible
for loading the operating system
itself, or that part of it required to
start up the computer, into RAM
memory. When loading is done,
the program counter in the CPU is
set to the first instruction of the
operating system in RAM and the
operating system is executed.
Foundations of Computer
Science CHAPTER 7
Discuss the roles of the memory, process, device, and file managers in an operating
system
Each operating system has a
user interface, a program that
accepts requests from users
(processes) and interprets
them for the rest of the
operating system. A user
interface in some operating
systems, such as UNIX, is
called a shell. In others, it is
called a window to denote
that it is menu driven and has
a GUI (graphical user
interface) component.
Foundations of Computer
Science CHAPTER 7
Discuss the roles of the memory, process, device, and file managers in an operating
system
One of the responsibilities of a modern computer
system is memory management . Memory allocation
must be controlled by the operating system.
Memory management techniques can be divided
into two categories:
• Monoprogramming (most of the memory
capacity is dedicated to one single program), and
• Multiprogramming (more than one program can
be in memory at the same time).
Foundations of Computer
Science CHAPTER 7
Discuss the roles of the memory, process, device, and file managers in an operating
system
Modern operating systems use three terms that refer to a set of
instructions:
• program – a non-active set of instructions stored on disk (or tape);
it may or may not become a job,
• job – a program becomes a job from the moment it is selected for
execution until it has finished running and becomes a program
again, and
• process - is a program in execution; it has started but has not
finished, so, a process is a job that is being run in memory, it has
been selected among other waiting jobs and loaded into memory.
Foundations of Computer
Science CHAPTER 7
Discuss the roles of the memory, process, device, and file managers in an operating
system
The device manager, or input/output manager, is
responsible for access to input/output devices.
There are limitations on the number and speed of
input/output devices in a computer system.
Because these devices are slower in speed
compared with the CPU and memory, when a
process accesses an input/output device, the
device is not available to other processes for a
period of time. The device manager is responsible
for the efficient use of input/output devices. Foundations of Computer
Science CHAPTER 7
Discuss the roles of the memory, process, device, and file managers in an operating
system
Operating systems today use a file manager
to control access to files. Access is
permitted only by permitted applications
and/or users, and the type of access can
vary.
For example, a process (or a user that calls a
process) may be allowed to read from a file
but is allowed to write to it (that is, change
it). Another process may be allowed to
execute a file and a process, but not
allowed to read its contents, and so on.
The file manager supervises the creation,
deletion, and modification of files.
• The file manager can control the naming
of files.
• The file manager supervises the storage
of files: how they are stored, where they
are stored, and so on.
• The file manager is responsible for
archiving and backups.
Foundations of Computer
Science CHAPTER 7
Understand the main features of three common operating systems:
UNIX, Linux, and Windows
UNIX is a multiuser, multiprocessing, portable operating
system. It is designed to facilitate programming, text
Examples of operating systems: processing, and communication.
• DOS
• Windows In 1991, Linus Torvalds, a Finnish student at the
• Mac OS X University of Helsinki at the time, developed a
new operating system that is known today as
• UNIX Linux. The initial kernel, which was similar to a
small subset of UNIX, has grown into a full-scale
• Linux operating system today. The Linus 2.0 kernel,
released in 1997, was accepted as a commercial
• iOS operating system: it has all the features
traditionally attributed to UNIX.
• Android
In the late 1980s, Microsoft started development of a new
single-user operating system to replace MS-DOS (Microsoft
Disk Operating System). Windows was the result. Several
versions of Windows followed. We refer to all of these
versions as Windows.
Foundations of Computer
Science CHAPTER 7
Thank you for listening!
Any questions?