Software Flashcards
Give two functions of an operating system
1) Security- Blocks viruses that could be harmful to the computer
2) Memory/File management- Determines where certain files go on the hard disk
Utility software can be split into 3 areas:
1) Basic tools
2) File management
3) Security
What is an example of a single user?
Smartphone
What is an example of a multi-user?
School network
What is an operating system?
Software designed for a particular hardware
What is utility software?
Software that does a useful job for the user that is not essential to the operating system
What are the two things system software are divided into?
1) Operating System
2) Utility software
Define concurrent
processes that run apparently at the same time
Define User interface
the way the user interacts with the operating system
What is a backup?
a copy of files in another location so that they are still available if the original copy is damaged or locked
What is a defragmenter?
a utility that moves file clusters on a disk so they are closer to each other in order to speed up disk access
Define Virus
software that is designed to make and distribute copies of itself, usually for a malicious purpose
Define Spyware
software, possibly a virus, that is designed to be installed secretly on a computer and record private information as the user enters it
Define Firewall
a utility that controls program access to the network, both incoming and outgoing
What is Instruction set?
the list of all possible commands a particular CPU knows how to carry out
What is Machine code?
the binary codes representing each of the instructions in the instruction set
What is Translator?
a program the converts source code to machine code
What is Source code?
the text of the program that a programmer writes
What is Assembly language?
a low-level language written using mnemonics
What is low-level programming language?
a programming language that is closely related to the CPU’s machine code
What is a complier?
a translator that convert high level language source code into object code, often machine code. The source code is translated all at once and saved to be executed later.
What is object code?
the translated source code.
What is an interpreter?
a translator that converts high level language source code into object code. The source code is translated and executed one line at a time.
Name an advantage of an interpreter
-find errors when they happen and can often tell you what’s gone wrong
Name 2 disadvantages of an interpreter
- every computer that will run your program needs the interpreter software installed
- tend to run slower because the interpreter has to translate the source code while the program is running
Name 2 advantages of a complier
- the output from a complier will run on its own on any similar computer
- its easier to prevent your code from being altered or copied, because you a re only giving people the machine code
Name a disadvantage of a complier
-a complier cannot produce any object code unless the while program is correct
What is an embedded system?
A computer system built into another device in order to control it
identify 3 components of an embedded system
- Input/Output
- processor
- memory
Why are embedded systems also referred to as ‘real-time’ systems?
they must guarantee a response almost immediately in order for a system to react to different situations
Why are low level languages used for writing the programs for embedded systems?
- hardware can be directly controlled by the program written
- does not need an interpreter or compiler
What is the role of systems software?
- allows software to run
- provides an interface for users
What is the role of the OS in memory management and multitasking? (describe the process)
- all processes require the use of the CPU and memory
- the OS prioritizes these tasks and allocates time to each process
- it checks that the requests for memory are valid and allocates it accordingly
- also swaps out data to the virtual memory when the main memory is full
Why is file management used?
-the OS creates a folder and file structure for data, which makes it easier for users to organize data
How are file permissions used on shared computer systems or on a network?
file permissions control who can: -see -open -edit -delete a file.
How does the OS provide an interface between the user and the hardware and software?
- interfaces allow to user to communicate with the computer
- the interface translates the users input
What are the two types of interface?
- Graphical User Interface (GUI)
- command line interface
How are peripherals controlled by the the OS?
using programs called ‘drivers’ that carry out the necessary translations to allow the CPU and the devices to communicate correctly
What is scheduling?
the algorithm that the OS uses to allow each running process to use the CPU
What is paging?
the algorithm the OS uses to move programs from RAM to disk and back again when needed once main memory is full
What is application software?
software that preforms a task that would otherwise be done by hand, perhaps with pen and paper.
What is meant by ‘fragmented’?
When part of a file is saved to different parts of a disk
How does defragmentation software make a program run more quickly?
- reorganizes file that have been placed on different parts of the disk by putting related pieces of data together
- fewer disk access are then needed to read the data
- this improves performance + frees up more space on the disk
Why is encryption software used?
- scrambles data into a form that cannot by used by unauthorized users
- protects unauthorized use
What are the 2 ways that an antivirus software identifies malware?
- scans for viruses using a database of known virus definitions that the virus is compared to
- uses a set of rules to detect viruses by looking at their behaviour
What are 2 characteristics of a virus?
- enters the computer hidden as another program
- corrupts or deletes data from a disk
Explain what is meant by a computer model
-attempts to extract the rules and mechanisms that control real life systems and apply them in computer programs so that they can be used to simulate the behaviour of these systems under different conditions
What are two drawbacks of creating and using computer models?
- they may not always be accurate
- processing power needed to run the model may be greater than what is available
Why is assembly language a low level programming language?
assembly code is similar to machine code
Why is machine code a low level programming language?
machine code can be directly processed by the CPU
What are 2 advantages of a programmer writing programs in a high level language?
- it is easier for the programmer to understand which makes it less time consuming
- portable from one machine to another as they are independent from the CPU
What are 2 advantages of a programmer writing programs in a low level language?
- requires less memory and execution time
- can directly control system hardware which makes it optimal for embedded systems
What is an assembler
the software used to translate a program written in assembly language to machine code
What is an advantage of a compiler?
-it can be executed faster since it is already translated to machine code
What is an disadvantage of a compiler?
-the program cannot be changed without editing the source code and recompiling