2.6 The Operating System Flashcards
What is scheduling?
The method by which the processor allocates its time into slices for specific jobs. The scheduler decides which job will be processed next.
Where is scheduling used?
Used in multi-programming, multi-tasking and multi-access operating systems.
Why are job priorities relevant to scheduling?
They are used to enable important data to be pushed forward in the line and less important data to fall back and processed after.
Why is it important to take care when allocating job priorities?
Care must be taken when allocating job priorities because if a job is constantly moved back, it may never get processed.
What concept can be utilised to stop possible starvation or indefinite blocking of data when it is moved back in the schedule?
Aging can be used where the priority of a low-priority task is incremented as the waiting time increases.
What three states can jobs have in a scheduled system?
Ready - The process is waiting to be executed
Running - The process is being executed by the processor
Blocked - The process is waiting for some event (such as input or output)
What is Deadlock in terms of scheduling?
Deadlock occurs when processes are blocked by another process which is also blocked. This can mean all the processes are waiting for data from each other.
What is a Single-User (Standalone) operating system?
Only allows one user to access the programs/data at a time.
If the system is also Single-Tasking then only one program can be executed at a time.
What is a Multi-User (Multi-Access) operating system?
Allows different users to use the processing capabilities of the computer at the same time. It is similar to Multi-Tasking however the emphasis is on different users, not different programs.
What is a Multi-Programming operating system?
A system where multiple jobs are processed simultaneously therefore they are typically used in large commercial systems which need to cope with multiple processes daily.
How does Multi-Programming benefit the CPU?
It is used to ensure the most efficient use of the CPU whilst also preventing it from becoming idle whilst waiting for an input/output.
How is scheduling utilised in Multi-Programming operating systems?
The operating system implements scheduling by moving jobs in and out of memory and allowing each job a pre-determined time-slice to access the CPU.
What is a Time-Slice?
The amount of time allocated to each job by the operating system
What is Partitioning?
The division of computer memory for different jobs. This allows more than one job to be resident in the memory at the same time.
What is Real-Time Processing?
A mode of operation where data received is immediately processed and stored data is instantly updated. A computer used for real-time processing is dedicated and does nothing else.
Name 3 examples of Real-Time Processing.
Flight Simulators
Computer Guided Missiles
Air Traffic Control
What is Real-Time Transaction?
An online system where individual discrete transactions are processed as they occur. When a transaction is received, the data stored is updated immediately.
How could Real-Time Transactions be utilised in a booking system?
It would ensure that no two people make the same booking as the system is always up-to-date.
What is important to do after a process has finished? (After partitioning)
It is important to release the partition so that the area of memory can be reused by another process.
What could happen to the memory after a large number of jobs have been processed?
The memory may become fragmented, suggesting it is made up of lots of little ‘free’ areas rather than one large area. This can slow down the operation of the computer system.
What is the main advantage of partitioning?
It allows for separate processes to be allocated to partitioned areas of main memory instead of loading it into memory one at a time and significantly slowing down processing speeds.
What are the two memory management techniques for partitioning?
Contiguous - Each executing process must be loaded entirely into one partition of main memory.
Non-contiguous - Processes can be divided into different parts and fill the space in main memory (Without having to be stored in the same place)
What is an advantage and disadvantage of non-contiguous as a memory management technique?
It reduces memory wastage as it fills the gaps in the memory but it slows down the execution time as address translation is longer.