Software
There are 2 types of software:
1. System – This is for computer function. There are 2 parts (operating and utility)
2. Application – this is installed by the user (VOC and Ps)
Operating system – Program that manages the computer by allowing
applications to run on it for example – Windows, Ios, Linux, android, kizen and MacOs.
Providing interface – a way in which a person communicates with a computer.
1. GUI – This is icons menus and pointers and is the most popular as it is user friendly.
2. Command line interface – requires user to type in commands but is more secure.
3. Natural language interface – Things like Alexa, Siri and Hey Google.
Managing files – This allows the creation of directories and also allows the user to copy,
delete, rename, etc.
Managing peripherals and drivers
1. Peripherals – Components connected from outside the computer like a mouse.
2. Divers – The software that is used as the interface between hardware and software.
Managing memory – It manages the movement of data to and from memory. (RAM and
ROM) Files are not overwritten in the memory.
Managing multitasking – This is where the processor can do several tasks at once (Time
slicing)
Managing interrupts – This is a signal that tells a computer that attention is needed on
another application.
Providing a platform for running applications – software that can only run on some
operation systems.
Managing user accounts – Were you can create different accounts for different users for
example the admin account and guest accounts.
Interrupts – This is a signal that tells the CPU that its attention is needed
somewhere.
Divide by zero – It will give you an error as it is an error.
Output or input is required – by a certain program witch is running in the background.
Hardware interrupts – For example if you want to print but there is no paper in the printer
an error will pop up.
New hardware device connected – If you plug in your controller there will be a sound that
will tell you it is connected.
Types of programing languages – Programing languages can be
categorised as high level and low level.
High level:
- This language is closer to the human language.
- Examples – Python, [Link] and Java.
- Translators – Interpreters and compilers
- Interpreter – reads one line at a time and checks if it is syntactically correct.
- Compiler – checks all the code at once.
Low level:
- In assembly language mnemonics are used to represent code.
- Examples – Machine and assembly.
- Assembler – Used for assembly to convert the instructions to machine code.
Choosing a language:
Table 4.2
Translators – Programs are written in high level and low level therefore they
need to be converted into machine code for the computer to understand.
Low level translators:
- Assembler – This converts assembly language into machine code.
High level translators:
- Interpreter- It translates one line at a time. When it encounters an error it stopes
and can only proceed after the error has been dealt with. Code is translated every
time it is run meaning you need the code every time you run it. It is usually used on
writing and debugging.
- Compiler – It converts the whole code at once. If there are any errors it will produce
a report. It produces an executable file so you don’t need the code when running it.
It is useful when a program is finished and ready for distribution.
Table on pg. 88 4.3 for comparing
IDE (Integrated development environment) – A
piece of software where you write your programs. It has features that help users to avoid
mistakes when programing.
1. Auto completion – IF you type in a command it will complete that for you.
2. Auto correction – If you type in a spelling error it will correct for you.
3. Pretty printing – This is the change of colour certain key words.
4. Block minimizing – If you have multiple parts you can minimize those to only display
a few lines.
5. Debugging features – Basically looking for errors. There are 3 types of debugging.
Break points – User sets points were the code should only run.
Stepping – This is where the program runs one line at a time.