software software essential is coded programs that perform a serious of algorithms. instructions...

15
Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage FDE Cycle performed on instructions as software is running. CPU runs software from machine code. However Most software is written in higher level languages. Software High level language (C+ + VB Python) Compiler Object code (Machine Code) Is written in Is translated by And turned into..

Upload: poppy-davidson

Post on 16-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software

• Software essential is coded programs that perform a serious of algorithms.• Instructions loaded into primary memory (RAM) from secondary storage• FDE Cycle performed on instructions as software is running.• CPU runs software from machine code. However Most software is written in

higher level languages.

Software

High level language (C++ VB

Python)

Compiler

Object code (Machine Code)

Is written in

Is translated by

And turned into..

Page 2: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software

• Types of software

Systems Software

Operating Systems

Device Drivers

Firmware

Servers

Utilities

Interfaces

Development tools

Page 3: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Systems

• Operating Systems• Early computers could only run one program at a time.• Code was fed into a computer through punch cards or tape• Program then ran until completed or crashed.• OS developed to make the hardware transparent.• Developed further into multitasking.

Page 4: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Systems

• Operating Systems

OS

Multitasking

Security

Interfaces

Peripheral Management

File Management

Process Management

Page 5: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Systems

• Operating Systems• Multitasking

• Allows processes to be attended to in the most efficient way.• Mutliple processes are loaded into RAM and can be switched between• Processes can be either:

Runnable

RunningWaiting

Page 6: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Systems

• Operating Systems• Security

• Prevents overwriting of date. Divides memory into pages and keeps tabs on which processes are using which pages to prevent conflicts.

• Manages user profiles and access rights for multiuser networks.• OS Firewalls.

Page 7: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Systems

• Operating Systems• Interfaces

Interfaces

Command LineDOS

Unix

GUI

Windows

Mac OS

Xfce

KDE

GNOME

Android

iOS

Voice Input

Menu Driven

Page 8: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Systems

• Device Drivers• Software to inform the OS how to control the Devices attached to a computer• One for each peripheral and written by the device manufacturers.• Occasionally there are generic device drivers – USB• Requests are passed onto the device drivers and these are translated into

code necessary for the device to perform the request.• Works on Interrupts to the OS.• Comes with User settings.

Page 9: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Systems

• Firmware• Usually required for smaller devices that do not have much RAM• Stored on ROM • Can provide simple functionality such as in a remote control up to a fully

fledged operating system like on DVD players

Page 10: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Systems

• Server• Software that responds to requests from “Clients”• Web server software (e.g. Apache) responds to web browser requests • Also used in running Networks. Print Servers, File Servers.

Page 11: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Systems

• Utility Software

Utility Software Security

Virus Detection

Spyware

Malware

Firewalls

MaintenanceDisk organisation

Defragmenters

Common Utilities

Free space management

Calendars

Clock

Email

Search Facilities

Page 12: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software – Systems

• Development Software

Dev

elop

men

t Soft

war

eEditors

Writing Programs

Text IDEs

GUI IDES

Compilers Convert High level language to Object code

Interpreters Convert high level code to machine code a line at a time

Assemblers

Linkers Links many object codes to from an executable.

Page 13: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Applications

• Application software

Appl

icati

on S

oftw

are

Word Processing

Spreadsheet

Presentation

Graphics

Database

Enterprise

Stock Control

Payroll

Customer ManagementEmail

Cloud Software

Browsers

Educational VLE’s

Media

Games

Page 14: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Applications

• Procurement• Off the shelf

• Adobe CS Suite, MS Office etc..• Readily available• Good development process – most bugs discovered and fixed.• Good communities and forums for help.

• Custom• Specifically written for specific client• Fits requirements of client• Bug fixing part of service contract• Development costs borne by customer – can be expensive• Limited testing

Page 15: Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage

Software - Applications

• Proprietary and open source software• Proprietary Software

• Clients are licensed to use it. Developer owns the intellectual property• Source code hidden• Quality for software covered by developers• Can be expensive

• Open Source• Developed by a community• Source code publically available• Anyone can adapt it.• No guarantees or contract• Developer community is quick to spot errors• Free• Examples – Linux, Libre Office, Mozilla Firefox, Apache.