1.2.1 Operating systems Flashcards
Operating systems
Define ‘kernel’
The kernel loads and unloads software into main memory
Operating systems
Define ‘driver’
Controls and communicates with hardwaere
Operating systems
Define ‘utilities’
Programs that perform background tasks
Operating systems
Define ‘user interface’
A way to allow users to interact with the computer system
Operating systems
Define ‘operating system’
Software which controls how a computer operates
Operating systems
Define ‘scheduling’
The process of assigning resources to tasks
Memory management
Describe the process of memory management
Ensuring programs cannot access each other’s data
Ensuring the RAM’s free space is being used efficiently
Memory management
What are the two methods of managing the space used in main memory?
Paging
Segmentation
Memory management
What is memory segmentation?
The allocation of segments of memory to a process, to allow it to run
Memory management
What sections are found within each segment during memory segmentation?
Stack segment
Free memory
Data segment
Code segment
Memory management
What is the role of the code segment?
Where the program instructions for the process reside
Memory management
What is the role of the data segment?
Memory space for the variables the program will use
Memory management
What is the role of the stack segment?
Stores the address of the line in the program the processor was on when it got interrupted by a subroutine
Memory management
What is the role of the free memory?
Available memory space put aside for the stack overflow
Memory management
What is virtual memory?
An area on the hard disk that has been marked as additional main memory, to increase the size of RAM temporarily
Memory management
How does the CPU access data held in virtual memory?
The memory manager swaps data between RAM and virtual memory for the CPU to access, as it can only reach data stored in RAM
Memory management
What is meant by ‘disk thrashing’?
When the hard disk is excessively used for virtual memory storage, and data is being transferred repeatedly between RAM and virtual memory
Memory management
What is a ‘page’?
A fixed sized area of memory
Memory management
How does the memory manager keep track of pages?
Each page has an associated number, kept track of in a page table
Memory management
What happens when RAM is getting full, in regards to memory being stored as pages?
The memory manager identifies less used pages and cuts them to virtual memory
Memory management
Describe what pagination is and when it is used
Pagination is the process of separating memory into pages
It is used when managing and using virtual memory
Memory management
What are the similarities between segmentation and pagination?
Both are a way of dividing up memory
Both are assigned and managed by the memory manager
Memory management
What are the differences between segmentation and pagination?
Segmentation is used to load and unload processes, whereas paging is used when swapping data to virtual memory
The size of a segment always varies, whereas a page is a fixed size
Memory management
What is a ‘memory leak’, and what can happen because of one?
A memory leak is when segments contained finished with processes aren’t remarked as free, and therefore prevent more data from being stored in memory
Due to a memory lea, the system can eventually run out of memory
Memory management
What is a ‘stack overflow’?
When the stack section in a segment has run out of free memory to expand into, causing the program to crash with a stack overflow error
Interrupts and scheduling
What is meant by ‘polling’?
The regular checking of devices or software to ensure it doesn’t have problems
Interrupts and scheduling
What is an advantage and disadvantage of polling?
Advantage:
Simple and predictable as it only occurs at specific points
Disadvantage:
Can be inefficient as it uses up CPU processing time
Interrupts and scheduling
What is meant by the term ‘interrupt’?
A signal for the CPU to stop what it is doing and carry out the interrupt task
Afterwards it will go back to what it was originally doing
Interrupts and scheduling
Explain the process for the CPU upon receiving an interrupt
- An interrupt arrives while the CPU is running its current program
- It comes with a priority label telling how important it is
- If it is more important than the current process, the CPU will jump to the task the interrupt is asking the CPU to carry out, an ISR (Interrupt Service Routine)
Interrupts and scheduling
What happens to the values in the registers when a higher priority interrupt comes in
All the values in the registers are copied to the stack segment whilst the CPU executes the ISR
After it is completed the stored values are loaded back into the registers
Interrupts and scheduling
What is context switching?
The moving of instructions from the current CPU operation to the ISR and back
Interrupts and scheduling
What are two problems caused by using interrupts?
Latency
Stack overflow
Interrupts and scheduling
Describe latency, in regards to interrupts
Latency is the delay between an input into the system and the desired output
This can be extended if the CPU keeps receiving interrupts