Small programs each with specific purpose often for maintenance of computer
Utility Software Examples
Anti-virus software, Disk defragmentation, File managers, Firewalls, Backing up things
Translator
Any program that converts source code written in a programming language into machine code (1's and 0's)
3 Types of Translators
Interpreters, Compilers, Assemblers.
Assemblers
Assemblers are responsible for converting low level assembly languages directly into machine code. Assembly language specific to each computer.
Compilers + Interpreters
Converting high level languages to machine code
Interpreter
Take one line of high level language program code and convert it directly into machine code and then runs it. Does this for each line of code.
Uses of Interpreters
When debugging a program, it runs through each line of code until it finds an error.
Disadvantages - Interpreter
Needs the whole source code each time it translates. Security problem and results in slower execution
Compiler
Compiler takes the entire program and converts it into object code. This is then converted to machine code.
Compiler Advantages
Takes less time compared to interpreter
Compiler Disadvantages
If there is an error, it will not run
Libraries
Pre compiled sets of code with lots of subroutines that have already been created for users to use
Operating System
Software that manages hardware, software and security of the computer.
Purposes of Operating System
Managing Processor - decides which process to do next, handles interruptions to current process
Purposes of Operating System
Managing Memory - Allocating and managing memory used
Purposes of Operating System
Managing External Devices - Understanding instructions given by external hardware and sending instructions to them
Purposes of Operating System
Provides platform for software and utility programs - provides framework for apps to run, e.g. opening and closing files easily, disk defrag, file explorer
Purposes of Operating System
Communication using protocols between devices
Purposes of Operating System
Denying or saying yes to requests to access resources