Chapter 4 Software
Part 2 System Software
Outline
• Computer Language
• Programming Tools
• System Software
• How the Operating System work
• User Interfaces
• Future trends
2
Types of Software
Desktop Apps
Applications Web Apps
Mobile Apps
Software
Operating Systems
System Software
Utility Software
3
Machine Language
• Every computer processes instructions
in machine language.
Numeric codes are used to represent basic operations:
➢Adding and subtracting numbers
➢Comparing numbers
➢Moving numbers
➢Repeating instructions
• Is this a practical language that we can use to
create software?
4
Creating Software
• Why can’t we use human languages for programming?
o Ambiguity→ Can mean different things in different contexts
o Lack of details → Context dependent
For instance, if we give the below command to the computer:
“Get the input from the user and store it”
What do you think would happen?
“Input” is ambiguous to the computer
It can mean text, number, audio, etc..
The command lacks details
From where to get the input? Keyboard, microphone, touch
screen, etc..
Where to store it? Main memory, hard disk, etc..
5
Algorithms
• Algorithms are a unified common language that can be
understood by all programmers.
• Programmers convert algorithms to software using different
programming languages.
• Example of Algorithms:
6
Programming Languages
• Low Level Languages
Machine Languages
Lang. of 0s and 1s
Assembly Languages
Very Basic Instructions
• High Level Languages
C++, java, VB, Python, etc..
7
Programming
• Programmers/Developers
People who write software using a programming language
• Programmers use high-level languages such as:
C++, Java, and Python
• Use Compilers to build and compile code
Detecting and correcting errors → Debugging
Convert from High-level to low level code
E.g. Visual Studio, Eclipse, etc…
8
Why Programming?
Why Programming Is Important (YouTube Link)
Expands your thinking skills
Makes you more productive and efficient
It is useful, e.g. write a small script to automate tasks
on your computer
It is fun
9
What is System Software?
• System software is a type of computer program that is
designed to run a computer's hardware and application
programs.
• It is the interface between the hardware and user
applications.
• It includes the operating system and utility programs.
Link between
Application
Software and
hardware
10
11
Operating System
• Is the program that, after being initially
loaded into the computer by a boot
program, manages all the other programs
in a computer.
• It has multiple functions:
Memory Management
File Management
CPU Management
Security
And more.
12
13
How does the Computer Start
• Some Computing devices have full OS in ROM
• Others have only a part in ROM and the core in
the Hard Drive
• Booting Process
Loads OS from the Hard Drive into memory (RAM)
ROM Booting
Switch on Loads OS from
Program
Computer HD to RAM
Starts
14
After OS is loaded what next?
OS loads Word
Windows (OS) User selects (Application
controls screen MS Word Program)
OS controls Word Process Word controls
screen ends screen
15
16
Operating Systems
• Microsoft OS Family
Microsoft Windows 10: Introduced in 2015. Popular for
desktop/laptop computers
Microsoft Windows Server: Runs on small servers to the mightiest
hardware
Windows Embedded: Designed for devices such as robots, voting
machines, music players, etc.
Windows 10 Mobile: OS for mobile phones
17
Operating Systems
• Mac OS X:
Standard for the Mac
• Unix OS
Used by Internet servers
Enables timesharing: computers
can communicate with several other
computers at one time
Menus like windows also exist
• Linux OS
Open source
Have multiple spinoff OS
18
Operating Systems
• Apple iOS: Used for iPhone, iPad, and iPod
Was introduced with the introduction of iPhone in 2007, it
revolutionized the smartphone market
• Google Android: Designed for smart phones
Android OS, developed by Google followed suit to lead in the
smartphone OS market
• Chrome OS (web-based OS): Designed by Google to work
with Google Web Apps. Based on Linux.
19
Utility Programs
• Is system software designed to help analyze,
configure, optimize or maintain a computer.
• Some are included with the OS while others
are stand-alone applications.
• Examples:
Copy files
Compress files (eg: zip)
Virus protection
Disk Cleanup
Backup
20
Utility Programs
21
Device Drivers
• Small Programs that enable communication with
devices
Keyboard
Printers
Flash memory
etc..
• Most OS’s try to recognize and install the correct
driver, this is called Plug and Play
• If OS can’t find driver, it is downloaded from the
internet
22
User Interface
• Operating System behind the scenes most of the time.
23
User Interface
• For the user to interact with the computer
system
It should be simple, effective and user friendly
• Types of user interfaces:
Old interfaces:
Command Line
Menu Driven
Current interfaces:
WIMP (Windows, Icons, Menus, Pointing devices)
SILK (Speech, Image, Language, Knowledge)
24
Old Interfaces
• Command Line Interface
Limited only to text commands
• Menu Driven Interface
Use keyboard to open menus
Supports shortcuts
25
WIMP Interfaces
(Windows, Icons, Menus, Pointing devices)
• Graphical User Interfaces (GUI)
Sample Mac Interface
http://www.macintouch.com/specialreports/lion/img/aqua/aqua107b_large.jpg
26
GUI features
• Menu Based
• Submenus
• Pop up Menus
• Context sensitive menus (Right Click)
Task Bar
Any Icon
Start Menu
27
GUI features
• Tiles on the Start Screen
• Windows Icon Shortcuts
• Mac Icon Dock
28
SILK Interfaces
(Speech, Image, Language, Knowledge)
• Gesture Based Interfaces:
A gesture is a form of non-verbal communication in which
visible bodily actions communicate particular messages.
A simple gesture recognition algorithm can detect hand
location and movement
• Examples:
Smartphone, tablets touch screens
XBOX – Kinect uses multiple cameras to detect motion
Nintendo – Wii uses controllers to detect gestures
29
SILK Interfaces
• Virtual Reality
An interactive computer-generated experience within a
simulated environment. It is mainly auditory and visual
feedback, but may allow sensory feedback like haptic.
• Augmented Reality
A live view of a physical, real-world environment whose
elements are augmented/supplemented by computer-
generated sensory input such as sound, video, graphics and
more recently even smell!
E.g. Ikea Catalog App, Pokémon Go
30
SILK Interfaces
• Mixed Reality
(3D Interactive Holograms)
A live presentation of physical real-world
elements is incorporated with that of virtual
elements such that they are perceived to
exist together in a shared environment.
• Voice Commands:
It uses speech recognition algorithms
Can recognize multiple languages and tones
E.g. Siri, S Voice, Cortana virtual assistant
31
The Digital Future: Metaverse
32