software software essential is coded programs that perform a serious of algorithms. instructions...
Post on 16-Jan-2016
212 Views
Preview:
TRANSCRIPT
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..
Software
• Types of software
Systems Software
Operating Systems
Device Drivers
Firmware
Servers
Utilities
Interfaces
Development tools
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.
Software - Systems
• Operating Systems
OS
Multitasking
Security
Interfaces
Peripheral Management
File Management
Process Management
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
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.
Software - Systems
• Operating Systems• Interfaces
Interfaces
Command LineDOS
Unix
GUI
Windows
Mac OS
Xfce
KDE
GNOME
Android
iOS
Voice Input
Menu Driven
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.
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
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.
Software - Systems
• Utility Software
Utility Software Security
Virus Detection
Spyware
Malware
Firewalls
MaintenanceDisk organisation
Defragmenters
Common Utilities
Free space management
Calendars
Clock
Search Facilities
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.
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
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
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.
top related