Systems Software (unit 2) (Finished) Flashcards
(2.1) What is an operating system?
An operating system is the low-level software that supports a computer’s basic functions, such as scheduling tasks and controlling peripherals.
(2.1)What functions does the OS provide
User interface Memory management Interrupt handling Processor scheduling Security tools like login procedures Networking tools
(2.1)What is a user interface?
The Operating System hides the complexity of the hardware from the user by providing a user interface
(2.1)How does the operating system manage memory?
Programs and their data need to be loaded into RAM (main memory) to be used
The Operating System must manage the allocation of RAM to the different programs
(2.1)What is virtual memory?
Virtual memory is a very slow, overflow memory used when the RAM is full
(2.1)What is repeatedly swapping pages in and out of virtual memory called?
Disk thrashing
(2.1)What is paging?
Dividing primary memory into sections of equal size called pages (4kb each)
(2.1)What is a page table used for?
a page table is used to track logical memory locations
(2.1)What is segmentation?
memory that is divided into uneven memory segments in order to accommodate particular functions or subroutines
(2.1)What is an interrupt?
an interrupt is a signal sent by software, hardware devices or the internal clock to the CPU so that it can stop the process it is doing
The CPU checks at the end of each clock cycle whether there are any interrupts
(2.1)What is an interrupt priority?
Interrupts have different priorities, and will be processed in order of priority
Interrupts can themselves be interrupted if the new interrupt is of a higher priority
(FILO stack)
(2.1)How does processor scheduling work?
A single CPU can only process instructions for one application at a time
The Operating System must schedule when each application can use the CPU
This gives the illusion of multi-tasking – multiple applications appear to be running simultaneously
(2.1)What is the purpose of scheduling?
To provide an acceptable response time to all users
To maximise the time the CPU is usefully engaged
To ensure fairness on a multi-user system
(2.1)What are some different scheduling methods?
Round Robin First come first served Shortest remaining time Shortest job first Multi level feedback queues
(2.1)What is the Round robin scheduling method?
Each job is allocated (by FIFO) a time slice during which it can use the CPU’s resources
If the job has not completed by the end of its time slice, the next job is allocated a time slice
(2.1)What is the first come first serve scheduling method?
The first job to arrive is execute until it completes
(2.1)What is the shortest remaining time scheduling method?
The time to completion is estimated as each new
job arrives
The job with the shortest remaining time to completion is executed, meaning that a shorter new job can take over from the current process
This has the problem of needing to know the length of a task
If there are too many short jobs the long job might be stranded and never get done
(2.1)What is the shortest job first scheduling method?
Also known as “shortest process next”
As with shortest remaining time, the total execution time of each job is estimated by the user
The waiting job with the smallest total execution time is executed when the current job completes
(2.1)What is the multi level feedback queues scheduling method?
This is designed to give priority to short jobs.
Give preference to I/O processes.
Separate processes/jobs into categories.
This method is used to separate incoming jobs into different categories and then create queues for each of those categories. The CPU can then complete all jobs in one queue or scan the fronts of each queues looking for the shortest job
(2.2) What is a distributed OS?
An OS that can coordinate the processing of a single job across multiple computers
(2.2) What are some examples of a distributed OS?
Intranets, Internet, WWW, email.
Telecommunication networks: Telephone networks and Cellular networks.
Network of branch office computers - Information system to handle automatic processing of orders.
Real-time process control such as Aircraft control systems.
Electronic banking,
Airline reservation systems,
Bitcoin mining using multiple GPUs.
(2.2) What is a multi tasking system
A single processor can appear to do more than one task simultaneously by scheduling processor time
(through the power of scheduling)
(2.2)What is a Multi-user, multi-tasking system?
a system that uses a very powerful computer called a mainframe
(2.2)What is an embedded operating system?
An embedded operating system is one that is installed on a specific device and it only to be used on that device.
Has one specific function
Some examples include microwaves, washing machines, heart rate monitors