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