Technical Implementation: Software

Preview:

Citation preview

Operating SystemEvery general purpose computer needs an operating system (OS). The OS performs tasks such as:providing an interface between the user and computerrunning other programsaccepting and directing input from the keyboard, mouse etc.sending output to the displaykeeping track of programs and data in memorykeeping track of files and directories stored on disk drivescontrolling peripheral devices (printer, scanner, disk drives)security

Operating SystemThere are many different Operating Systems.

Programs written to work with one Operating System will not work with another Operating System without a new version of the program being written.

Operating SystemProcessor Management

If a processor has more than one core, the OS is responsible for distributing and managing tasks between the different processors

Memory Management

The processor is responsible for ensuring that programs and data are allocated blocks of memory. This needs to be managed carefully so that one application does not overwrite the memory locations used by another application (or even the OS itself)

Operating SystemFile Management

Files are stored on the hard disk drive in blocks of binary data. Furthermore, it’s quite common for files to be split across different locations on the hard drive.

This is quite different to the view of files that the user expects: a hierarchy of folders and files.

Operating SystemFile Management

The OS has the job of managing the location of all of the files on the hard drive, and then presenting the information to the user in a way that they can make sense of it.

When files are deleted, the OS will mark the space as available but does not physically remove the binary data.

Operating SystemFile Management

Operating SystemFile Management

Operating SystemInput / Output Control

Data comes in and out of the computer regularly (mouse, keyboard, monitor, speakers, disk drive, printer). The Operating System has to be able to accept or send this data to and from peripherals.

A device driver is a program which is used to control a device attached to the computer. Many common device drivers come with the OS (keyboard, mouse, USB storage) but in some cases the user will need to install a specific driver for the device.

Operating SystemError Reporting

If something does go wrong, the OS should be able to report this to the user, preferably in a graceful manner.

Operating SystemResource Allocation

At any one time there are numerous programs and tasks running on the computer, and hardware is sending or waiting for information.

The OS is responsible for prioritising all of these resources and trying to ensure they all get some processor time.

Software LicensingSoftware is generally licensed rather than sold.

The licence is a legal contract which grants the user permission to use or distribute the software in an agreed way.

Software LicensingA site licence allows the user to install and use the software on multiple computers/devices within one location e.g. school or business premises.

All software in the UK is protected under the Copyright Designs and Patents Act.

Software LicensingProprietary Software

Owned by a company, usually licensed with a view to making revenue/profitLicense generally states the program may not be modified or distributed to anyone elseSource code is copyright, and not accessible to the end user to protect the copyrightSometimes known as close source software

Software LicensingFreeware and Shareware

Proprietary software that is made freely available. Copyright and licensing will still apply.Freeware is generally the full program which is available for freeShareware is generally a version of the program with limited functionality which is available for free

Software LicensingOpen Source Software

Code is open and can be modified/enhanced by anyonePromotes collaboration and sharingOpen source software still has a license, but it’s different from proprietary software. May state that if changes/improvements made then source code for changes should be sharedGenerally free of chargeExamples: Linux, OpenOffice, LibreOffice, Blender, Apache, GIMP, Python, Firefox, PHP, MySQL

Recommended