Section 2 - Systems Software Flashcards
What is an operating system?
An operating system is a program or set of programs that manages the operations of the computer for the user. It acts as a bridge between the user and the computer’s hardware, since a user cannot communicate with the hardware directly. The operating system is held in permanent storage e.g. a hard disk.
What are the functions of an operating system?
Memory Management
Interrupt Service Routines
Processor Scheduling
Backing Store Management
Management Of All Input And Output
What is memory management?
Memory management is allocating a specific area of memory whilst the computer is running. Should a user wish to switch from one application to another in a separate window, each application must be stored in memory simultaneously. The allocation and management of space is controlled by the operating system
What is paging?
In paging, memory is divided into fixed sized pages of 4kb each, and a process currently in memory may be held in several non-contiguous pages. A program using 15K of consecutive memory addresses would have it’s logical memory locations physically stored in four separate pages anywhere in the physical memory space. A page table uses mapping to store a link between the physical memory address and the logical address space of each process.
What is segmentation?
Segmentation is the logical division of address space into varying length segments which depend on the program structure. As with paging, it is possible to load only a part of the program into memory intially
What is virtual memory?
As more and more jobs are loaded into the memory, the operating system may swap pages of temporarily inactive jobs out to disk, using secondary storage as an extension of memory to make more room for the next job which would have a share of processor time.
What is an interrupt?
An interrupt is a signal from a software program, hardware device or internal clock to the CPU. A software interrupt occurs when an application program terminates or requests certain services from the OS. A hardware interrupt may occur for example when an I/O operation is complete or an error such as ‘Printer out of paper’ occurs.
What is an Interrupt Service Routine?
When the CPU receives an interrupt signal, it suspends execution of the running program or process and disables all interrupts of a lower priority. It then puts the values of the program counter and of each register onto the system stack, while and Interrupt Service Routine is called to deal with the interring, a particular routine will be run in order to service it. Examples of interrupts are, Power-fail interrupt, Clock interrupt, An I/O device sends a signal requesting service or signalling end of I/O operation.
What is processor scheduling?
Scheduling is responsible for making sure the processor time is used as efficiently as possible. While one application is busy using the CPU for processing, the OS can queue up the next process required by another application to make the most efficient use of the processor.
What are the objectives of the scheduler?
Maximize throughput
Be fair to all users on a multi-user system
Provide acceptable response time to all users
Ensure hardware resources are kept as busy as possible
What is round robin scheduling?
In round robin scheduling, processors are despatched on a First-In-First-Out basis, each process in turn being given a limited amount of CPU time called a time slice or quantum. If the process does not complete before its time expires, or before a higher priority interrupt occurs, the despatchers gives the CPU to the next process. This method of scheduling helps to guarantee a reasonable response time to all users of the system
What is First-Come-First-Served scheduling?
Jobs are processed in the other in which they arrive, with no system of priorities.
What is Shortest-Time-Remaining scheduling?
The process with the smallest estimated time to completion is run next. This tends to reduce the number of waiting jobs and the number of small jobs waiting behind big jobs. The disadvantage is that it requires knowledge of how long a job will take, so the user has to estimate the job time.
What is Shortest-Job-First scheduling?
The process with the smallest estimated running time is run next. Its advantages and constraints are must the same as the Shortest-Time-Remaining algorithm. For example, students will get their short programs run quickly, while larger programs which are not time critical will take longer to complete during busier periods of activity.
What is Multi-Level-Feedback-Queues scheduling?
This algorithm implements several job queues and jobs can move between queues, depending on how much processor time they use. Since I/O is much slower than process speed, it is efficient to try and keep the I/O devices continuously busy as possible. So that a bottleneck does not occur when several programs simultaneously. The aim of this is to maximise processor use.
What is backing store management?
When files and applications are loaded, they are transferred from backing storage to memory. The operating system is required to keep a directory of where files are stored so that they can be quickly accessed. Similarly, it also needs to know which areas of storage are free so that new files or applications can be saved.
What is the file management system?
The file management system allows the user to move files and folders, delete files and protect others from unauthorised access
What is peripheral management?
Different applications will require different input/output devices throughout their operation. If you send a file to print, the operating system will check that it is a printer and not, say, the keyboard and begin communication to send it the correct data to print. The data to be printed is transferred to an area of memory called the buffer, so that the CPU can continue with another task. The buffer helps compensate for the difference in speed between the printer or other output devices and the CPU.
What is a distributed operating system?
A distributed operating system is a form of parallel processing system which spreads the load over multiple computer servers. A single job is split up into several tasks and each of these is run on a separate computer, coordinated by the operating system in such a way that it appears to a user to be a single system.
What is a multi-tasking operating system?
A multi tasking OS may run on a standalone computer such as a PC or laptop. The windows OS for example can run multiple jobs simultaneously, switched between them so that it appears only one is running. You could be playing musing, entering a python or VB program and checking your emails occasionally.
What is a multi-user, multi-tasking operating system?
Time-sharing systems are multi-user, multi-tasking systems. A single powerful mainframe or supercomputer is connected to dozers or hundreds of terminals all using the mainframe CPU. Each user gets a slice of processor time according to a scheduling algorithm.
What is a mobile operating system?
A mobile phone is a multi-tasking OS with it’s own operating system. OS’ on smartphones, tablets and PDAs and other mobile devices are termed mobile operating systems. They combine the features of a personal computer operating system with their own special features useful for mobile use such as managing cellular and wireless connectivity as well as phone access