3.4 Computer Systems Flashcards
What is hardware
Hardware is any physical component that makes up the computer
What is software
Software is any program that runs on the computer
What is system software ?
Programs that are needed to enable the computer to function, including the operating
system, utilities, library routines and programming language translators
What is application software
Programs that enable a user to perform a task: that is, something that user needs to do such as write essays (word docs e,g)
What is OS
A type of system software:
The operating system is a group of programs that manages the computers resources.
What does the OS manage:
Processor(s) Memory I/O devices Applications Security
OS:Processor Management
When multi tasking they applications aren’t running at the same time
The Os helps Running multiple applications at the same time by giving each application a small time-slice of processor time.
This allows more than one program to be held in memory at at time, and data shared between them such as copy and paste.
OS: Memory management
When programs are loaded, the OS decides where they are held in memory.
Overtime the memory becomes fragmented as programs are loaded and closed because they use different amounts of memory.
The OS must keep track of different program fragments.
When the memory is full, the OS uses virtual memory.
I/O &Device driver:OS
Translates operating system instructions into commands that the hardware will understand
Each peripheral (I/O) device needs one
Many are already Built into the operating system
OS:Security management
Operating system security included many methods to ensure safety from threats and attacks. Functions include:
Controlling access to a computer by setting up passwords for different users. Without the
password someone else will not be able to access the software applications and files on
your computer
- Setting different access rights and privileges for different users
- Automatically downloading updates for the OS to ensure security loopholes are patched
- Encrypting files that are stored on the hard disk.
What is utility?
Utility software refers to any software used to maintain or configure a computer. Many utilities are installed with the OS
Utility: defragmentation
Files are stored on a hard disk in available spaces. Ideally whole files would be stored together, but as files are moved and deleted gaps appear on the disk.
The OS has to split new files up to fill the gaps. This makes reading these files slower as the read/write head has to move back and forth across the disk.
Defragmentation puts the files back into one block and collects the free space together
Utility software:encryption
Encryption tools can help to keep sensitive data safe from cyber criminals. Encryption process uses an algorithm and key to transform plaintext into cipherkey. To unlock the plaintext u need key and algorithm.
Utility: compression software
Compress software reduces the size of files so they take up less disk space/memory
It used loads on the internet to make files quicker to download or transport across.
They need to extracted before they can be used
Protocols include:
.zip .rar
What are the differences between low and high level language?
Explain why a developer, who is good at both low-level and high-level programming, would normally use high-level languages when writing programs.
• High-level languages have built-in libraries;
High-level languages have built-in functions;
• High-level languages have more support/help;
• High-level languages have structures (such as selection and iteration); • High-level languages can be less machine dependent/more portable; • It (usually) requires fewer lines of code to be written;
• It is (usually) quicker to develop code in high-level languages;
• It is easier to find mistakes in code;
• The code is easier to maintain//understand;
• It is easier to structure code in high-level languages;
NE. references to efficiency or speed unless correctly qualified;
A. Easier to read in place of easier to understand on this occasion; R. Answers relating to programmer expertise
List examples of low level language
Machine code
Assembly language
What is assembly code used for?
Assembly language is often used to develop software for embedded systems and for controlling specific hardware components
Advantages of assembly language
Assembly language has a 1:1 correspondence with machine code, therefore when programming for a particular processor will be quicker as it will execute directly compare to high level.
Gives the programmer complete control over the system components so it can be used to
control and manipulate specific hardware component
What does processors execute?
Processors execute machine code and each type of processor has its own specific machine code instruction set.