1.2.1 Systems Software Flashcards
Operating Systems, BIOS, Drivers and Virtual Machines
What does OS stand for?
Operating System
What is an Operating System?
A program or set of programs that manages the operation of a computer for the user. It acts as a bridge between the user and the computers hardware.
Why was the Operating System made?
To make using a computer easier for humans.
Where is the Operating System held?
In permanent (secondary) storage
How is the Operating system loaded?
A program called the ‘Loader’, which is stored in the BIOS, is run which sends instructions to load the OS into RAM so that it can run.
What are some examples of Operating Systems?
Windows, MacOS, IOS, Linux, Android.
What functions does the Operating System have to do?
Resource Management.
File Management.
Security.
Running Software.
Handling Interrupts.
Providing a GUI.
Providing Utilities.
How does the Operating System do Resource Management?
It decides where data is sent in the computer and what each component should do with the data. Includes Memory and CPU management.
How does the Operating System do File Management?
By storing files on the hard drive so they can be accessed later.
What does the Operating system allow you to do with files?
Move, Copy, Rename and Remove files
How does the Operating System Provide Security?
Protects against malware and unauthorised access (passwords).
Ensures that apps don’t interfere with each other.
Different users on the same machine shouldn’t be able to access each other’s data.
Encrypts data where necessary.
How does the Operating System provide a platform to run software?
Provides an easy way to run software on the computer that can add functionality to the computer, allowing you to do more with it than the OS allows as standard.
How does the Operating system do Interrupt Handeling?
It processes interrupts where other software and hardware sends information to the OS to interrupt it if an action requires immediate attention.
What does GUI stand for?
Graphical user Interface?
What is the Operating System’s GUI made up of?
CLI, WIMP
What does CLI stand for?
Command Line Interface
What does WIMP stand for?
Windows, Icons, Menus and Pointers
How does the Operating System provide utilities?
By adding functionality to the computer beyond what it does as standard.
What utilities does an Operating System provide that is beyond standard?
Compression, Defragmentation, Encryption
What is Memory Management?
How memory (RAM) is organised
What controls Memory Management?
The Operating System?
What happens if RAM becomes full?
The computer may crash or start using virtual memory
What are the different types of memory management?
Paging, Segmentation, Virtual Memory
What must the Operating system do in order to successfully manage memory?
Allocate enough memory for each process to run.
Split memory so that it can be allocated to a process (paging and segmentation). This must be done fairly to give each process an equal opportunity to run.
Employ security so that processes can’t access each other’s data.
Have efficient sharing of memory so as little is used for as short of a time as possible.
Be ready to extend to virtual memory if needed.
How is RAM divided?
Into bytes that are numbered, starting from 0. This is the address of that location/byte
What is the RAM address?
The physical location within RAM
Why cant you write code for a specific RAM address?
You cant ensure that the location will be available
What is happening within RAM?
Programs opening and closing at different times with different requirements.
What can malicious programs do?
Demand too much memory.
refuse to close/ reopen once closed.
Try to load to ram locations that are already being used.
Look at other locations in RAM that they don’t have access to.
What is paging?
Where the RAM is divided into ‘Pages’ of a fixed size
How big are pages typically?
4kb
How are processes allocated in paging?
Split between pages non-continuously, the pages are not nessiserely next to each other in RAM.
What can processes do in paging?
View the pages that its code is within but not the pages of the other processes - so it doesn’t know whats running where
How is paging inefficient?
Programs are not split up evenly - so loops can be spread across multiple pages.
Programs may not take up a whole page so there is wasted space where nothing is stored - inefficient use of RAM
What is segmentation?
Similar to paging but each segment is a variable size. So each segment will only be as big as it needs to be, so no memory space is wasted.
How are segments determined?
Based on the process requesting space. The space granted depends on:
If the file size is known in advance.
It contains blocks of code that depend on each other.
It contains whole sections that relate to themselves.
How is segmentation beneficial over paging?
Solves the issues of different program sizes leading to wasted space
Whats the difference between the divisions in paging and segmentation?
Paging uses physical divisions based on the physical locations in memory. Segmentation uses logical divisions based on the best places to divide the segments with the process in question.
What is virtual memory?
Using the hard drive as if it were RAM
When is virtual memory used?
When RAM has become full of data
What does the OS do when using virtual memory?
Offload the temporarily inactive pages in the RAM to the disk.
What would happen if Virtual Memory wasn’t used?
If the RAM becomes full it can cause the computer to crash as there is nowhere to store potentially essential programs.
How does Virtual memory effect performance?
It degrades the performance of the computer as it takes longer to read and write data to secondary storage than to RAM. If there are too many pages being swapped between secondary storage and RAM then the performance could degrade so much that the computer is essentially unusable.
How does Virtual Memory degrade the hardware of the computer?
Causes ‘Disk Thrashing’ where the read/write head of the hard drive does so many cycles in quick succession that it causes physical damage to the drive. This can mean that data cant be read from the drive anymore.
What is an interrupt?
A signal from software, hardware or the internal clock to the CPU to inform it that an action requires immediate attention.
Why are interrupts called by software?
When applications terminate or request certain services.
Why are interrupts called by hardware?
When IO operations are complete, when the hardware fails, or for peripheral management (e.g. printer out of paper)
Why are interrupts called by timers?
Happens at regular intervals to indicate to the CPU that its time for the next process to have processor time. This allows multitasking to take place