Notes Topic 8
Notes Topic 8
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
Databases
• MS Access database
• Examples of SQL
Relational databases
Fundamentals of Relational Databases
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
source save
code
executable
binary code
on disc
10110011100… CPU
11100010011...
fetch
executable
binary code decode
in RAM
execute
pseudo
code
on disc
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)
Runtime environments
Java VB.NET
Pseudo Pseudo
Code Code C C++
Virtual Machine Native Native
Code Code
Operating System
Hardware
Object-oriented languages:
• C++ (Systems implementation language)
• Java (Web and embedded applications)
• VB.NET (Windows and commercial applications)
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
Integrated development
environment, e.g., Visual Studio
Menu Bar
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)
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
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.
Database DNS
"Give me an IP address"
DHCP Host
“Borrow this IP address:
192.168.1.2
for 7 days only"
local remote
filestore filestore
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
Hardware A Hardware B
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.
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.
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)
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.
Any Questions?