Section 2 - Systems Software Flashcards Preview

Computer Science > Section 2 - Systems Software > Flashcards

Flashcards in Section 2 - Systems Software Deck (83):

Operating System

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


Operating Systems location

Held in permanent storage, for example on a hard disk



Held in ROM. When a computer is switched on, the loader in ROM sends instructions to load the operating system by copying it from storage into RAM.


Operating System Functions

-User Interface
-Memory Management
-Interrupt Service Routines
-Processor Scheduling
-Backing Store Management
-Mangement of all Input and Output


Memory Management

Each program must be allocated 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.


Types of Memory Management




Memory is divided into fixed size pages of 4kb each, and a process currently in memory may be held in several non-continuous pages.


Paging Table

Uses mapping to store a link between physical memory address and the logical address space of each process.



Logical divine of address space into varying length segments which depend on the program structure.


What can paging and segmentation both do?

Possible to load only a part of a program into memory initially.


What is virtual memory?

Operating system may swap pages of temporarily inactive jobs out to disk, using secondary storage as an extension of memory to make room for the next job which has 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.


When does a software interrupt occur?

When an application terminates or requests certain services from the operating system.


When does a hardware interrupt occur?

When an I/O operation is complete or an error such as "Printer out of paper" occurs.


Give some examples of interrupts in descending order of priority.

-Power-fail interrupt
-Clock interrupt
-An I/O device sends a signal requesting service or signalling end of I.O operation.


What is the Scheduler?

The operating system module responsible for making sure that processor time is used as efficiently as possible.


Main objectives of the Scheduler?

-Maximise 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.


Types of Scheduling Algorithm

Round Robin
First come first served
Shortest remaining time
Shortest job first
Multi-level feedback queues


What is round robin

Processes are despatched on a first in first out (FIFO) basis, with each process in turn being given a limited amount of CPU time called a time slice or quantum.


What is first come first served?

Jobs are processed in the order in which they arrive, with no system of priorities.


What is shortest remaining time?

The process with the smallest estimated time to completion is run next.


What is shortest job first?

The process with he smallest estimated running time is run next.


What is Multi-Level feedback queues designed to do?

-Give preference to short jobs
-Give preference to I/O bound processes
-Separate processes into categories based on their need for the processor.


How does multi-level feedback queues work?

The algorithm implements several jobs queues and jobs can move between queues, depending on how much processor time they use. Since I/O is so much slower than processor speed, it is efficient to try keep the I/O devices as continuously busy as possible, so that a bottleneck does not occur when several programs simultaneously need to send back to the printer.


What is backing store management?

The OS is required to keep a directory of where files are stored so that they can be quickly accessed. Similarly, it needs to know which areas of storage are fee so that new files or applications can be saved.


What is a buffer?

The data to be printed will than be transferred to an area of memory called a buffer.


What is the purpose of the buffer?

To compensate for the difference in speed between the printer, or other output device, and the CPU.


What is a distributed operating systems?

Form of parallel processing system which spreads the load over multiple computer servers.


How does a distributed operating system work?

A single job is split up into several tasks and each of these is run on a separate computer, coordinated by the operating system.


What is a multi-tasking system?

Can run many jobs simultaneously, switching between them so that each one appears to be the only one running.


Features of an embedded operating system

-It will have a minimal user interface, probably consisting of a few buttons or a dial and maybe a small screen.
-It will accept input from sensors, and send output to control devices.
-There is a limited amount of RAM so a complex memory management system is not required
-There will not be any permanent data storage devices to be managed.


What is BIOS?

Basic Input Output System
Initialise and test the system hardware components and to load the operating system from the hard disk into RAM.


Where is BIOS stored?

Stored in EPROM (Erasable Programmable Read-Only Memory).


What is a Device Driver?

Computer program that provided a software interface to a particular hardware device.


Device Drivers enables what....

Operating systems to access hardware functions without needing to know the details of the hardware being used.


Which bus does the device driver use?

Communicated using the system bus


What is a virtual machine?

Defined as any instance where software is used tot are on the function of the machine, including executing intermediate code or running an operating system within another to emulate different hardware.


What are the types of software?

Systems Software
Applications Software


What are the types of Systems software?

Operating Systems
Utility Programs
Library Programs


What are the types of Application software?

Custom Written
Open Source


What is system software?

Is the software needed to run the computer's hardware and application programs


Operating Systems Functions

1) Resource management - managing all the computer hardware including the CPU, memory, disk, drives, keyboard, monitor, printer and other peripheral devices
2) Provision of a user interface (e.g. Windows) to enable users to perform tasks such as running application software, changing settings on the computer, downloading and installing new software, etc.


What is Utility software?

Designed to optimise the performance of the computer or perform tasks such s backing up files, restoring corrupted files from backup, compressing or decompressing data, encrypting data before transmission, providing a firewall etc.


What is a Disk fragmentation?

Program that will reorganise a magnetic hard disk so that files which have been split up into blocks and stored all over the disk will be recombined in a single series of sequential blocks.


What is the advantage of disk fragmentation?

Makes reading a file quicker.


What is a virus checker?

Utility checks your hard drive and, depending on the level of protection offered, incoming emails and internet downloads, for viruses and removed them


What is the purpose of compression software?

Compressed files can be transmitted much more quickly over the internet. Sometimes there is a limit to the size of a file which can be transmitted. Even if they can receive the file, it may take several minutes to download it.


What is general purpose software?

Such as word processor, spreadsheet, which can be used for many different purposes.


What is special purpose software?

Performs single specific tasks or set of tasks. Examples include payroll and accounts packages, hotel booking systems.


What are the advantages of off the shelf software?

-Less expensive then bespoke software, since the cost is shared among all the other people buying the package
-May contain a lot of unwanted features, and some desirable but non-essential features may be missing.
-Ready to be installed immediately
-Well documented, well-tested and error-free


What is the disadvantages of Bespoke software?

-More costly and requires expertise to analyse document requirements.
-May take a long time to develop
-May contain errors which do not surface immediately.


What is the advantages of Bespoke software?

Features customised to user requirements and other features can be added as needs arise


What is off the shelf software?

Software that is bought ready to use


What is bespoke software?

Specially written by a team of programmers for a particular organisation.


What is the open source initiative?

-Software is licensed for use but there is no charge for the licence. Anyone can use it.
-Open source software must be distributed with the source code so anyone can modify it.
-Developers can sell the software they have created.
-Any new software created from Open Source software must also be "open". This means that it must be distributed or sold in a form that other people can read and also edit.


What is open source governed by?

The open source initiative.


What is the difference between freeware and open source.

Freeware may be free to use but the user does not get access to the source code, Which you would in open source


What is the benefit of Proprietary software?

Support available from the company.
Regular updates available and technical support lines
Training courses
Larger user base.


What is assembly code?

Low level language for microprocessors and other programmable devices. It is not just a single language, but rather a group of languages. It implements a symbolic representation of the machine code needed to program a given CPU architecture.


Before an assembly code program can be executed, it must...

be translated into the equivalent machine code or an intermediate form called bytecode.


What does the assembler do?

Takes each assembly code instruction and converts it to the 0s and 1s of the corresponding machine ode instruction.


What is the input to an assembler called?

Source Code


What is the output of an assembler called?

Object Code


What is a compiler?

Program that translates a high-level language such as visual basic, python etc, into machine code.


What is an interpreter?

Type of language translator. Once the programmer has written and saved a program, and instructs the computer to run its the interpreter looks at each line of the source program, analyses it and if it contains no syntax errors, translates it into machine code and runs it.


What is an advantage of bytecode?

Can achieve platform independence.


What is platform independence?

Any computer that can run Java programs has a Java Virtual Machine (JVM), a piece of software which masks inherent differences between different computer architectures and operating systems. The JVM understands bytecode and converts it into the machine code for that particular computer.


What are the advantages of a compiler over an interpreter?

-The object code can be saved on disk and run whenever required without the need to recompile. However, if an error is discovered in the program, the whole program has to be recompiled.
-The object code executes faster than interpreted code
-The object code produced by a compiler can be distributed or executed without having to have the compiler present.
-The object code is more secure, as it cannot be read without a great deal of "reverse engineering"


What are the advantages of an interpreter over a compiler?

-Platform independence
-It is useful for program development as there is no need for lengthy recompilation each time an error is discovered.


What is the disadvantages of an interpreter?

The program may run slower than a compiled program, because each statement has to be translated to machine code each time it is encountered. So if a loop of 10 statements is performed 20 times, all 10 statements are interpreted 20 times.


What are the stages of compilation?

Lexical Analysis
Syntax Analysis
Code Generation and Optimisation


What functions does the Lexical analysis perform?

1. Superfluous Spaces are removed.
2. All comments will be removed from the program
3. Some Simple error-checking is performed
4. All keywords, constants and identifiers (e.g. variable names) used in the source code are replaced by "tokens" (unique symbols).


What does entries in the symbol table show?

-The identifier or keyword
-The kind of item (variable, array, procedure, keyword etc.)
-The type of item (integer, real, char etc.)
-The run-time address of the item, or its value if its a constant
-A pointer to accessing information (e.g. for an array, the bounds of the array, or for a procedure, information about each of the parameters.)


What is the most common way of organising the symbol table

A hash Table


What is a hash table

Keyword or identifier is 'hashed' to produce an array subscript.


What is Syntax analysis?

The process of determine whether the sequence of input characters, symbols, items or tokens from a valid sentence in the language. In order to do this, the language has to be expressed as a set of rules, using for example syntax diagrams or Backus-Naur form.


What is Parsing?

The task of systematically applying the set of rules of each statement to determine whether it is valid.


What is stacks.

Stacks will be used to check, for example, that brackets are correct paired.


What is semantics?

Define the meaning rather then the grammar of the language; its possible to write a series of syntactically correct statements which nevertheless do not obey the rules for writing a correct program.


What is Code Optimisation Techniques

Attempt to reduce the execution time of the object program by, for example, spotting redundant instructions and producing object code which achieves the same net effect as that specified by the source program but not by the same means.


What are the disadvantages of code optimisation?

-It will increase compilation time, sometimes quite considerably.
-It may sometimes produce unexpected results.


What is the linkers job?

Put the appropriate machine addresses in all the external call and return instructions, so that the modules are linked together correctly.


What are Library Programs?

Ready-compiled programs, grouped in software libraries, which can be loaded and run when required.