Monday, 24 March 2014

Software

3 main categories of software are:
Systems software  -  operating systems, device drivers, firmware, servers, utilities, interfaces
Development software  
Applications

Operating system ~ platform, a collecting if programs that control the hardware.
At the heart of the operating system is the kernel, the kernel looks after low level hardware operations.
       Running: what CPU is currently doing
       Runnable: waiting to run after what is running
       Waiting: waiting to join the queue 

GUI: graphical user interface
It uses icons (pictures) to represent resources and actions.
Main examples are Windows, MacOS, UNIX, LINUX

Device drivers tell your CPU to finish what it is doing as soon as possible and deal with peripheral devices.

Utility software deal with simple maintenance tasks

Disk defragmenters gets rid of gaps caused by deleting and adding files to improve access speeds.

Interpreters and compilers: both translate high level code into machine code (source code to object code) but interpreters do it 1 line at a time and execute it. 

Assemblers translate assembly languages (1 line is 1 machine instruction like LMC) into machine code.

Linkers link sub programs together. #look up examples

Off the shelf software
    Advantages-immediately available, well tested, cheap
    Disadvantages-may not meet exact requirements

Custom Written software
    Advantages-specifically written
    Disadvantages-expensive and takes time

Open source software
    Advantages-specifically modified, bugs fixed quickly
    Disadvantages-nobody owns it so no guaranteed support, issues with quality

No comments:

Post a Comment