0% found this document useful (0 votes)
69 views22 pages

CSC105 Lecture 20 - Software: Rich Little (A01) Eduard Wisernig (A02)

This document provides information about software categories, processing with programs, algorithms, programming languages, system software including operating systems and the user interface. It discusses three main categories of software: compilers, application software, and system software. It describes how operating systems control hardware resources and communication, and how they provide user interfaces through either a command line or graphical user interface. Common operating systems like UNIX, Linux, and Mac OS X are also mentioned.

Uploaded by

Terry
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)
69 views22 pages

CSC105 Lecture 20 - Software: Rich Little (A01) Eduard Wisernig (A02)

This document provides information about software categories, processing with programs, algorithms, programming languages, system software including operating systems and the user interface. It discusses three main categories of software: compilers, application software, and system software. It describes how operating systems control hardware resources and communication, and how they provide user interfaces through either a command line or graphical user interface. Common operating systems like UNIX, Linux, and Mac OS X are also mentioned.

Uploaded by

Terry
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/ 22

CSC105 Lecture 20 –

Software
Rich Little (A01) Eduard Wisernig (A02)
rlittle@uvic.ca eduardw@uvic.ca
http://connex.csc.uvic.ca http://connex.csc.uvic.ca
Phone: 250-472-5752 Phone: 250-472-5722
Lectures: Lectures:
MWR 2:30 – 3:20 pm ECS 125 TWF 8:30 – 9:20 am ECS 116

Office Hours: Office Hours:


F 10:00 a.m. – 12:00 p.m. T 9:30 a.m. – 11:30 a.m.
ECS 516. ECS 617.
Software Categories
 3 Categories of Software
 Compilers (Module 11)
 Application Software (Module 4)
 System Software (Module 9)
Processing with Programs

Software programs are:


 Stored in memory
 Instructions that tell the computer what
to do
 Designed to solve problems
Leonardo da Vinci called music ”the shaping of the invisible,“
and his phrase is even more apt as a description of software.
—Alan Kay, developer of the concept of the personal computer
A Fast, Stupid Machine

Computers:
 Perform arithmetic and comparisons
capabilities
 Follow precise instructions to perform
an operation
 Execute instructions quickly and
accurately
Algorithms

 Programmers begin with an algorithm


 An algorithm is:
 A set of step-by-step instructions (written
in a natural language, e.g., English)
 Algorithms are ambiguous, error-prone
generalities
 Algorithms are translated into the
vocabulary of a programming
language
The Language of Computers

 Natural Languages include the languages spoken by


humans (algorithms)
 High-level languages fall between machine language
and natural human language (java, python, C++, etc.)
 Compilers translates high-level language into machine
language
 Low-level language represent a one-to-one
correspondence to machine language (assembly)
 Machine Language uses numeric codes to represent
data (binary)
Example (DO NOT MEMORIZE)
 Average 10 numbers given by a user
Natural (algorithm) High-Level (C) Low-Level (Assembly)
Input 10 numbers int i, x, sum, avg; LOAD B TEN
Add them up for(i=1; i<=10; i=i+1) { INPUT: IN XI
Divide by 10 printf(“Input a #: ”); ADD A X1
Output result scanf(“%d”, &x); STORE A SUM
sum = sum + x; INC I
} COMPARE B I
avg = sum/10; JUMPGE INPUT
printf(“Result = %d.”, avg); LOAD A SUM
DIV A B
STORE A AVG
OUT AVG
DONE

.DATA TEN 10
Executing Executing Executing
Executing
instruction at instruction at instruction at
instruction at
address address address
address
104 108 112
100
System Software:
The Hardware-Software Connection

 System software is a class of software


that includes:
 The Operating System (OS)
 Utility programs,
Device Drivers, etc.
Operating Systems

 An operating system (OS) is a set of


programs that coordinate all the activities
among computer or mobile device hardware
What the Operating System Does

 The operating system controls:


 Communication with peripherals
 Coordination of concurrent processing
 Memory management
 Monitoring of resources and security
 Management of programs and data
 Coordinating network communications
Managing resources
When an application or
program is being
executed it is called a
process.

Processes are allocated


CPU time and memory

Some processes are


owned by the OS; some
are owned by the user
Where the Operating System Lives
 Some computers store their
operating system in ROM
 Others include only part of
it in ROM
 The remaining system is
loaded into memory (booting)

 Most of the time it works


behind the scenes
Booting
 Power computer on Power

 Computer then loads BIOS


 BIOS then looks at HDD & BIOS

loads first “sector”


HDD
 1st Sector contains core part
of OS
OS
 OS then runs and
completes loading
The User Interface:
The Human-Machine Connection

 The user interface is what the user sees


on the screen
 Two major user interface types:

 Command-line interface
 Graphical user interface (GUI)
A Command-Line Interface:
MS-DOS
 This is a disk operating system in
which the user interacts using
characters
 letters
 numbers
 symbols
Graphical User Interface
 GUIs are operating systems in which the user
interacts with the computer by using a pointing device
(e.g. a mouse or touch). It includes the following tools:
 Icons
 windows
 pull-down menus

“The first principal of human interface design, whether for a


doorknob or a computer, is to keep in mind the human
being who wants to use it. The technology is
subservient to that goal.” Donald Norman, in The Art of
Human-Computer Interface Design
Other System Software

 Operating systems often provide users


with a variety of tools related to
managing a computer, its devices, or
its programs called utility programs.

File Search Image Viewer Uninstaller Disk Cleanup


Manager

Disk File PC Backup and


Screen Saver
Defragmenter Compression Maintenance Restore
Other System Software
Types of Operating Systems
Multiple User Operating Systems:
UNIX and Linux

 UNIX was developed at Bell Labs in the


early 1970’s before personal computers
were available
 Linux is a UNIX-based OS, created by
Linus Torvalds that continues to be a
work-in-progress
 Linux is free for anyone to use or improve
 Open-source software
Hardware and Software
Platforms

Mac OS X
built on UNIX

Hardware built Hardware built Intel


around Intel / AMD around Intel

You might also like