Topic 8 - Technical Implications (Software)

Download Report

Transcript Topic 8 - Technical Implications (Software)

Computing Science
Information Systems Design and
Development
Technical Implications (Software)
Learning Outcomes
•
By the end of this topic you will be able to:
• describe the functions of an operating system;
• understand the purpose of a software licence;
• explain the difference between proprietary and open source
software;
• explain what is meant by the term transferability;
• discuss current trends in the design of operating systems.
Functions of an operating system
The main functions of an operating system are
• Interpreting user commands
• File management
• Memory management
• Input/output management
• Error reporting
• Resource allocation
Interpreting user commands
User interface may be
• Command driven – require specific commands
to be entered, normally by keyboard. Most
suited to experienced users
• Menu driven – options available presented to
user. May be text or graphical.
File management
• The part of the system that deals with
managing backing storage devices
• When files saved it creates an entry giving
details of location, file size, date saved etc.
• Organises files into hierarchical system with
folders and sub-folders
Memory management
• The part of the system that controls where
programs and data are placed in main
memory
• Keeps track of available space and size and
location of programs and data in main
memory
• Allows multiple programs to be in main
memory at the same time and prevents them
from interfering with each other
Input/output management
• The part of the system that deals with
communications between the processor and
attached peripherals
• Handles the transfer of data between
processor and peripherals
• Checks for readiness of peripherals
• Checks that data is transferred correctly
Error reporting
• The part of the system that displays error
messages to the user
Resource allocation
• The part of the system that controls availabe
resources for processes
• These resources will include available memory
and processor time
• In systems with more than one process active
it ensures that all processes get a share of
available resources
Software licences
• A software licence is the permission to use a
piece of software
• Using licenced software without a licence
breaches the Copyright, Design and Patents
Act
• The license will specify what you are allowed
to do with the software. For example, can you
install it on a single system, on several devices
or on a site or a network
Software licences
• You normally have to agree to the conditions
of the licence to be allowed to install software
• Not all software requires a licence. For
example the Linux operating system is licence
- free
Software licences
• Some software is available on a different basis
• Freeware – software available at no cost.
Usually fully working programs with no time
limitations
• Shareware – similar to freeware but will only
work for a limited period before the user has
to pay
Proprietary and Open Source Software
Another way to classify software is
• Proprietary
• Open source
Proprietary software
• Proprietary or closed source software is
software that is sold with conditions that
prevent you from
• Sharing
• Copying
• Modifying
• The source code is not normally available to
the user
Proprietary software
• Advantages
• Software is supported by software company
• More likely to be good quality
• Disadvantages
• Have to pay for it
• Can’t alter it
• Normally limiter to one operating system
Open source software
• Software that is made available with its source
code
• Users can alter code
• Users can share code
• Code is often produced on a non-commercial
basis by public bodies or groups of enthusiasts
Open source software
• Advantages
• Free to use, change and distribute
• Not dependent on single company for support. This
makes updates and security fixes faster
• No need for anti-piracy measures like activation codes
• Disadvantages
• Less user friendly
• Far fewer applications run on open source operating
systems
Software portability
• Software is portable if it can run on more than
one operating system with little or no alteration.
• Portability is rare with commercial operating
systems. Where the same software exists for
different platforms, a different version will have
to have been created. This is why, for example
that there will be apps that are only available for
iOS and not Android devices
Software Portability
• Java offers the ability to run sotware on
different devices by using Java Virtual
Machine software. Virtual machines are
covered in more detail in the SDD unit
• Developments in web-based software have
started to create true portable software
Current trends in Operating System
development
Developments driven by move to mobile devices
•
•
•
•
Use of touch screens
Cut down OS for mobile devices
Cloud storage
Wearable technology