0% found this document useful (0 votes)
14 views12 pages

Notes Topic 8

This document covers the topic of Computer Systems Software, detailing the software hierarchy, systems software, interpreters, compilers, databases, and networking software. It outlines learning outcomes for students, including the roles of system software, the differences between compilers and interpreters, and fundamentals of relational databases. Additionally, it discusses various development tools, networking services, and provides a comparison of popular operating systems.

Uploaded by

slimemalawi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views12 pages

Notes Topic 8

This document covers the topic of Computer Systems Software, detailing the software hierarchy, systems software, interpreters, compilers, databases, and networking software. It outlines learning outcomes for students, including the roles of system software, the differences between compilers and interpreters, and fundamentals of relational databases. Additionally, it discusses various development tools, networking services, and provides a comparison of popular operating systems.

Uploaded by

slimemalawi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Topic X – Topic Title Module Title

Module Title: Computer Systems


Topic: 8
Topic Title: Computer Systems Software

© NCC Education Limited

Computer Systems Software Topic 8 - 8.2

Scope and Coverage


This topic will cover:
• Software hierarchy
• Systems software
• Interpreters
• Compilers
• Databases
• Networking software
• Program development environments

Computer Systems Software Topic 8 - 8.3

Learning Outcomes
By the end of this topic students will be able to:
• Describe system software’s role in modern computer
systems.
• Compare and contrast functions of compilers and
interpreters.
• Describe fundamentals of relational databases
• Describe basic networking services available on
computer systems

V0.0 Visuals Handout – Page 1


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.4

Computer systems - roadmap


Although an operating system is the most
important software, there are others that
Advanced topics are just important that support programs.
Computer networks
System software are not part of an
Embedded systems
Digital logic
operating system. They are not directly
Computer systems software responsible for managing computer
Computer programs resources but support applications.
Numbers and logic
All user applications require specialist
Operating systems 2
support that they cannot provide. These
Computer systems hardware
Computer systems
include database, communications and
application library supports as well as
compilers and interpreters.

Computer Systems Software Topic 8 - 8.5

Databases

The following are covered:

• MS Access database

• Fundamentals of relational databases

• Structured Query Language (SQL)

• Examples of SQL

Computer Systems Software Topic 8 - 8.6

Database manager – MS Access


A tool to create Access databases and database tables,
maintain and repair databases and provides macros to create
forms to enter and present database data. The following
features are available:
• Create Access databases (uses .mdb extension)
• Create database tables (multiple fields of various types)
• Populate database tables with data
• Analyse relationships
• Repair databases
• Perform queries
• Create forms and reports

V0.0 Visuals Handout – Page 2


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.7

Relational databases
Fundamentals of Relational Databases

• Primary unit of storage is the table.


• Each table may be accessed independently, or joins may be used
to combine tables into new tables.
• Relationships defined using primary and foreign keys.
• Easily defined integrity constraints.
Examples:
• Microsoft SQL server databases
• IBM DB2 databases
• ORACLE databases

Computer Systems Software Topic 8 - 8.8

Relational databases
Entities and Relationships
In "Relational Data Model" terminology
• Entity: something about which data is kept
• Attributes: properties of an entity
• Relationships: connections between entities
In the "Real World"
• Entity Table
• Entity instance Row entry
• Attribute Column heading/entry
• Entity identifier Primary key

Computer Systems Software Topic 8 - 8.9

Relational databases - ERD


Entity Relationship Diagrams (ERD)
A Factory makes
Name Components.
FACTORY Given a factory, we
Country can tell which
components it
Size
makes.
Factory A Component is
COMPONENT made in a Factory.
One-to-Many (1:M) Code Given a component,
we can tell which
Type Description factory it is made in.

V0.0 Visuals Handout – Page 3


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.10

Relational databases - SQL


Structured Query Language (SQL)
SQL is a full language for manipulating and querying relational
databases.
• Querying
• Inserting (new records, can create databases)
• Updating (existing records)
• Deleting

SQL statements: SELECT, INSERT, UPDATE, DELETE

Computer Systems Software Topic 8 - 8.11

Did you know?


Edgar F. Codd, father of relational database
model was an English computer scientist who
invented the relational model for database
management while working for IBM in USA. This
became the theoretical basis for relational
databases and relational database management
systems. He made other valuable contributions to
computer science, but the relational model remains
his most mentioned, analysed and celebrated
achievement as a very influential general theory of
Re: data management. In the 1960s and 1970s, he
https://en.wikipedia.org/wik
i/Edgar_F._Codd developed his theories of data arrangement
resulting in his paper "A Relational Model of Data
for Large Shared Data Banks" in 1970.

Computer Systems Software Topic 8 - 8.12

Program development tools


The following development tools are available:

• Text editors (programming language specific)

• Compilers (language processors/translators)

• Assemblers (language processors/translators)

• Integrated Development Environments (IDE)

V0.0 Visuals Handout – Page 4


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.13

Compilers – language processors


executable
binary code
in a file
Language
Compiler 10110011100…
11100010011...

source save
code

executable
binary code
on disc

Computer Systems Software Topic 8 - 8.14

Executing compiled code


executable
binary code
on disc

Loader (e.g. OS file manager)

10110011100… CPU
11100010011...

fetch
executable
binary code decode
in RAM

execute

Computer Systems Software Topic 8 - 8.15

Interpreting compiled pseudo code

pseudo
code
on disc

Loader Virtual Machine Interpreter


mimics (or emulates) the
10110011100… behaviour of a CPU in
11100010011...
software
pseudo
code
in RAM

V0.0 Visuals Handout – Page 5


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.16

Native code or interpreted code?


L1
Lang. L1
Compiler
(e.g. C#)

Lang. L2 L2 Pseudo
(e.g. VB) Compiler Code

Lang. L3 L3 Computer
(e.g. C++) Compiler

L4 Native
Lang. L4 Code
Compiler
(e.g. C)

Computer Systems Software Topic 8 - 8.17

Runtime environments

Java VB.NET
Pseudo Pseudo
Code Code C C++
Virtual Machine Native Native
Code Code

Operating System

Hardware

Computer Systems Software Topic 8 - 8.18

Compilers as development tools


Compilers are programming language specific.
Structured high-level languages:
• C (Systems implementation)
• Pascal (Teaching language)
• Cobol (Commercial language)
• Fortran (Scientific language)

Object-oriented languages:
• C++ (Systems implementation language)
• Java (Web and embedded applications)
• VB.NET (Windows and commercial applications)

V0.0 Visuals Handout – Page 6


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.19

Development environment
IDE's are development tools with integrated functions, i.e.,
kind of all-in-one packages. Examples are JBuilder, Delphi
and Visual Studio. Standard functions offered are:
• Create a development project
• Add project files
• Capture and edit program statements
• Capture and edit user interfaces (GUI)
• Build the project
• Run the project
• Debug the project

Computer Systems Software Topic 8 - 8.20

Integrated development
environment, e.g., Visual Studio
Menu Bar

General Work Area Project Files


Components Library

(Source Text Edit)


(Toolbox)

(User Interface Design)


Component
(Debug Support) Attributes
(Help Text) and Events
List

Status, Output display Window(s)

Computer Systems Software Topic 8 - 8.21

Networking services
The following networking services are available:
• Web browser
• Mail server
• Domain Name Server (DNS)
• Dynamic Host Configuration Protocol (DHCP)
server
• Ping test
• File Transfer Protocol (FTP)
• Remote Services (Distributed computing)

V0.0 Visuals Handout – Page 7


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.22

Web browsers
Application software for presenting and navigating hypertext
formatted (HTML) Web pages of text and images. Also used
to download files from remote sites. The main functions are:
• Interpret HTML mark-up language
• Navigate Web sites (hyperlinks, back, forward, etc.)
• Download files (images, text, binary code, etc.)
• View HTML source in text form
• Store and recall favourites list
• Support international language encoding

Computer Systems Software Topic 8 - 8.23

Mail applications, e.g., MS Outlook


Application software used for sending and receiving
electronic mail via dial-up and/or network connections. The
main functions are:
• Send and receive mail
• Add attachments (text files, image files, etc.)
• Spell check mail text and grammar support
• Maintain contacts list
• Calendar, notes, alarm, meeting planning support
• Organise mail via structured folders

Computer Systems Software Topic 8 - 8.24

Mail application
Mail clients use the services of the mail servers for receiving
and sending mail over the network (using TCP/IP) on
specific network server ports.

POP POP: Post


Receive Server Office Protocol
mail
Mail
Client SMTP SMTP: Simple
Send Server Mail Transport
e.g. MS
Outlook
mail Protocol
Mail Server

V0.0 Visuals Handout – Page 8


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.25

Networking software - DNS


Resolving domain names to network addresses
Domain Name Server (DNS) looks up databases of names
and locates corresponding network address
Multiple DNS servers can cooperate to resolve a name
www.ncc.co.uk?
Mail
Database DNS
Program
80.92.65.144

Database DNS

Computer Systems Software Topic 8 - 8.26

Networking software - DHCP


Assigning dynamic IP address to client computers
The client requests an IP address from Dynamic Host
Configuration Protocol (DHCP) server

DHCP allocates an IP address from a pool of IP addresses


IP addresses are leased for a limited time

"Give me an IP address"
DHCP Host
“Borrow this IP address:
192.168.1.2
for 7 days only"

Computer Systems Software Topic 8 - 8.27

Networking software – Ping test


Testing basic connection with ping command

ping [<IP address> | <host name>]

Sends test packets and times response times

Also detects connection problems:

• Unknown host: cannot resolve IP, bad IP, etc

• Network unreachable: cannot find a route to the specified


host

• No answer: remote host not responded (timeout)

V0.0 Visuals Handout – Page 9


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.28

Networking software - FTP


File Transfer Protocol (FTP) transfers files between remote hosts.
• The client starts an FTP session that requires authentication by
the server
• The client requests single or multiple files (binary or ascii) from
the server.
• The server host locates the files and sends to the requesting
client.
FTP FTP
Client Server
file transfer

local remote
filestore filestore

Computer Systems Software Topic 8 - 8.29

Networking software - Popular


Popular Internet applications and their underlying transport protocols.

Application App. Protocol Based on


E-mail SMTP/POP TCP
File transfer FTP TCP
Web HTTP TCP
Remote file serv. NFS TCP
Network mgmt. SNMP UDP
Routing protocol RIP Typically UDP
Name server DNS Typically UDP
Echo ICMP Typically UDP
File transfer TFTP UDP

Networking software – Remote


Computer Systems Software Topic 8 - 8.30

services
Distributed systems support
‘virtual’ application’s code is on a remote system
‘virtual’ application is run as if it is on the local system

‘virtual’ ‘real’
Application A Application A

Middleware Middleware

Operating System X Operating System Y

Hardware A Hardware B

V0.0 Visuals Handout – Page 10


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.31

Operating systems
• An operating system is the most important system software on
computer systems capable of virtual memory and multi-
tasking. The most notable amongst many operating systems
are
o Microsoft’s Windows
o Linux
o Android
• We covered the principles of operating systems in previous
topics. Although there many more operating systems, some for
specialised purposes, they all make use of the same basic
principles.

Computer Systems Software Topic 8 - 8.32

Operating systems - comparison


Windows Linux Android
Owner Microsoft Inc. Developed as open Google Inc.
source under the GNU
project
Development Developed and
and distributed by
Open source and
distributed by various
Google, OHA (Open
Handset Alliance)
On the left, the table
Distribution Microsoft vendors
compares various
Architecture
Supported
x86, x86-64, ARM,
Alpha, MIPS,
x86, x86-64, PowerPC,
SPARC, Alpha, ARM
ARMv7, ARMv8-A,
Intel x86, x86-64
selected aspects of
Target
PowerPC
Workstation, Desktop/Server Mobile phones, smart
the popular three
System Type Personal Computer,
Media Centre,
Embedded watches, tablets, TV,
cars
operating systems
Tablet PC,
Embedded that have most user
User
Friendly
Uses user-friendly
GUI, voice
Uses user-friendly GUIs
are available, command
Uses user-friendly
GUI, voice visibility and reach.
commands lines, batch processing commands, hand
gestures
Security High Medium Medium
Threats
Reliability High High Can be unstable

Computer Systems Software Topic 8 - 8.33

Quiz time!
1. In a bank database, suggest an entity and its three attributes.
2. In a student database, what entity relationships describe "A student
has one department, a department has many students".
3. What does SQL "Select * from student where age < 21" do?
4. Interpreters can run code across multiple computer platforms
without re-compiling. How is this possible?
5. Web browsers are able to locate remote hosts by domain name
alone. How does this work?
6. Mail servers use two different network protocols. Identify these and
state what they do.
7. Explain how programs can be run remotely across different types of
computer platforms.
8. I have 20 computers in my lab. Suggest an easy way of
automatically assigning IP addresses to all.

V0.0 Visuals Handout – Page 11


Topic X – Topic Title Module Title

Computer Systems Software Topic 8 - 8.34

Discussion Session
Integrated development environments (IDEs), such
as MS Visual Studio or Eclipse, are an efficient and
rapid way of producing and releasing quality
software.
Discuss, in some detail, what aspects of a typical IDE
make it such a useful tool.
(If you have not previously used one, you should
carry out some literature research to find out about
IDEs)
(May be presented in small groups using 3/4 slides)

Computer Systems Software Topic 8 - 8.35

Topic Summary
An important constituent of system software are the database
services such as the popular relational databases which are
widely used in business computing.
An essential addition to system software are the computer
language compilers and interpreters. Compilers are necessary
to create computer programs and interpreters are used to run
them conveniently across multiple platforms.
Other valuable additions are the remote services that rely on
fast and reliable networking technology. These are used to
provide services such as electronic mail, file transfer, web
browsing, distributed computing and dynamic internet-based
enablers.

Topic 8 – Computer Systems Software

Any Questions?

V0.0 Visuals Handout – Page 12

You might also like