Software Flashcards
Definition of Software
Collection of computer programs and related data that provide the instructions for telling a computer what to do
Definition of computer program
Any set of instruction that guide the HW and tells it how to accomplish each task
Types of SW
System software
Programming software
Apllicatiom software
System Software: definition
Sw defined to per ate the computer HW to provide
- basic functionalities
- a platform for running application software
System Software: includes
Operating system
Systems utility programs (not always, may be bought separately)
Operating system: definition
Program that acts as interface between the hardware and the user, controlling the execution fo every program
Operating system: responsible for
- managing computer activities
- controlling sharing of resources
Operating system: goals
- simplify programs’ execution
- use the hardware efficiently
- allow the sharing of hw/sw resources
- make application software versatile and portable
- guaranteeing security among user programs
- guaranteeing system’s reliability
Operating system: functions
RAM MANAGEMENT
De-allocating memory
Keep track of mem usage
PROCESS MANAGEMENT
= processor scheduling, for execution of different programs at the same time
De-allocating programs to processor
Track of programs status
DEVICE MANAGEMENT
De-allocating devices to programs
Track of connected devices
Which program can use which device
FILE MANAGEMENT
File system
Deciding access
De-allocating files to user
Track of files location, status…
SECURITY
Preventing unauthorized access to programs and data
CONTROL OVER SYSTEM’S PERFORMANCE
Monitoring delays in request-system’s response
JOB ACCOUNTING
Track of time and resources used bu programs as users
ERROR DETECTING AIDS
Programming software: definition
Programs used by software developers to create, debug, maintain other programs
Programming software: types of
Machine/executable language
Assembly language
Hig level language
Macchina language characteristics
Instruction written in binary code that indicate operations or memory cells
Not portable
Machine dependent
Assembly language characteristics
Uses mnemonics
Machine dependent
Not portable
Mnemonics definition
Symbolic representations of the machine language for a specific processor
High level language: characteristics
Portable
Machine independent
Instructions are in English like language and one instruction corresponds to many machine language instructions
IDE
Integrated development environment
Environment that automates the various steps in the sw development cycle. It contains
Code editor
Debugger
Compiler/interpreter
Project editor
Ways to transform source code into executable
COMPILATION
translates the whole programs and goes away during execution
- decisions made once, before execution
- syntax errors detected before execution
- better performance
INTERPRETATION
Instructions are read and executed one at a time
- late binding possible
- programs can be modified on the fly
- better diagnostic
MIX
Source program translated into intermediate program, then the interpreters adpts a VM on the intermediate program
Application software: definition
Program that allows users to perform specific tasks on a computer
Application software: types
General purpose sw
Specialist sw
Tailor made/bespoke sw
General purpose sw
Offers functions useful for many users
ADV
user support
Reliability
Cheap
Easility available
DIS
Dimensions
Not perfect for specific tasks
Specialist sw
For specific tasks, customizable, costly
Tailor made sw
Fully customizable SW
ADV
Perfect for its function
No useless functions
Works how it is supposed to
CONS
not much user support
Time for delivery
Pricey
User may need specific skills to use it
Sw licensing definition
Legal instrument governing the usage/redistribution of sw allowing its use
Types fo sw licenses
Commercial: copyrighted sw sold commercially (machine code)
Freeware: copyrighted sw given for free (machine code)
Public domain: machine code is without copyright
Open source: source code is available for free or under copyright license
Sw piracy definition
Unauthorized copying of sw
Sw piracy types
Counterfeit SW: fake copies produced
Hard disk loading: selling stand-along SW originally meant to be with a specific accompanying product
Original Manufacturer Equipment unbundling
Internet SW piracy: SW illegally obtained throught the internet
Soft lifting: users share their SW with others