Section 2 - Systems Software Flashcards

1
Q

What is an operating system?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the functions of an operating system?

A

Memory Management
Interrupt Service Routines
Processor Scheduling
Backing Store Management
Management Of All Input And Output

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is memory management?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is paging?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is segmentation?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is virtual memory?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is an interrupt?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is an Interrupt Service Routine?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is processor scheduling?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the objectives of the scheduler?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is round robin scheduling?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is First-Come-First-Served scheduling?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Shortest-Time-Remaining scheduling?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Shortest-Job-First scheduling?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Multi-Level-Feedback-Queues scheduling?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is backing store management?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the file management system?

A

The file management system allows the user to move files and folders, delete files and protect others from unauthorised access

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is peripheral management?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is a distributed operating system?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is a multi-tasking operating system?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is a multi-user, multi-tasking operating system?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is a mobile operating system?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is an embedded operating system?

A

Embedded systems are found in all kinds of hardware from a washing machine or microwave oven, to the control system of a passenger aircraft or a space shuttle.
The main features of an embedded OS are:
A minimal user interface, consisting of a few buttons or dials or a small screen
It will accept input from sensors and send output to control devices
There is a limited amount of RAM so no complex management system required
There will not be any permanent data storage devices to be managed

24
Q

What is a real-time operating system?

A

A real-time OS is used in important things or safety critical features, it must have:
Very quick response to any inputs or sensors
Be able to deal with many inputs simultaneously
Must have “failsafe” mechanisms designed to detect and take appropriate action if a hardware component fails
Must incorporate redundancy - that is, if one components fails, it must switch to backup hardware

25
Q

What is BIOS?

A

BIOS (Basic-Input-Output-System)
The fundamental purpose of BIOS in modern PCs is to initialize and test the system hardware components and to load the OS from the hard disk into RAM.

26
Q

What are device drivers?

A

A device driver is a computer program that provides a software interface to a particular hardware device. This enables the operating systems to access hardware functions without needing to know the details of the hardware being used. When you attach a new printer to your computer for example, you will have to install the device driver program that comes with it before it will work.

27
Q

What is a virtual machine?

A

A virtual machine can be defined as any instance where software is used to take on the function of the machine, including executing intermediate code or running an OS within another to emulate different hardware

28
Q

What are the classifications of software?

A

Systems software and applications software

29
Q

What is systems software?

A

System software is the software needed to run the computer’s hardware and application programs. This includes the operating system, utility programs, libraries and programming language translators.

30
Q

What are utility programs?

A

Utility software is system software designed to optimise the performance of the computer or perform tasks such as backing up files, restoring corrupted files from backup, compressing or decompressing data, encrypting data before transmission or providing a firewall

31
Q

What is disk defragmentation?

A

A disk defragmenter is a program that will reorganise a magnetic hard disk so that files which have been split up and stored all over the disk will be recombined in a series of sequential blocks. This makes reading a file quicker

32
Q

What is automatic updating?

A

An automatic updating utility makes sure that any software installed on the computer is up-to-date. For any software already installed on the computer, the automatic update utility will regularly check the internet for updates.

33
Q

What is a virus checker?

A

A virus checker utility checks your hard drive and depending on the level of protection offered, incoming emails and internet downloads for viruses and removes them.

34
Q

What is compression software?

A

Compression software is designed to make your files smaller by using lossy and lossless compression

35
Q

What is lossy compression?

A

Lossy compression is where the file is reduced to it’s smallest possible size for some loss in quality. Lossy compression using a Transform Coding algorithm. Best used in multimedia files.

36
Q

What is lossless compression?

A

Lossless compression is where the file size is reduced slightly however there is no drop in quality. Lossless compression uses a Run-Length-Encoding algorithm and is best used in text files

37
Q

What is general-purpose software?

A

General purpose is software like word-processors, spreadsheets or a graphics package. It can be used for many different purposes.

38
Q

What is special-purpose software?

A

Special purpose software performs a single specific task or set of tasks, examples include payroll and accounting packages or hotel booking systems. Software can be bought “off-the-shelf” where it’s ready to use or it may be written by a team of programmers for a particular organisation. Or it could be “bespoke” software if they wanted a custom software package that will satisfy their particular requirements

39
Q

Off-The-Shelf vs Bespoke software

A

Off-The-Shelf:
Less expensive since the cost is shared among all the other people buying the package
May contain alot of unwanted features, and some desirable but non-essential features may be missing
Ready to be installed immediately
Well documented and well-tested and error-free

Bespoke software:
More costly and requires expertise to analyse document requirements
Features customised to user requirements and other features can be added as needs arise
May take a long time to develop
May contain errors which do not surface immediately

40
Q

What is open source software?

A

Open source software:
Software is licensed for use but there is no charge for it. 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 must also be open, meaning it must be sold in a way it can also be read and edited

41
Q

What is closed source software?

A

Closed Source (Proprietary) Software:
There will be restrictions on how the software can be used e.g. the license may specify one concurrent user or it may permit up to 50
The company or person who wrote the software will hold the copyright
Users won’t have access to the source code and can’t modify the package and resell it

42
Q

What is an assembler?

A

Assembly code is a low-level language with each instruction allowing for direct control over the hardware. Before an assembly code program can be executed, it must be translated into the equivalent machine code, or intermediate form called bytecode. This is done by an assembler. The assembler takes each assembly code instruction and converts it to 1s and 0s of the corresponding machine instruction. This input to the assembler is called the source code and the output is called the object code

43
Q

What is a compiler?

A

A compiler translates high-level language like visual basic or python into machine code. The source code is input as data to the compiler which scans through it several times, each performing different checks and building up tables of information needed to produce the final object code.

44
Q

What is an interpreter?

A

An interpreter is a different type of translator, once the programmer has written and saved a program and instructs the computer to run it, the interpreter looks at each line of the source program and analyses it and if it contains no syntax errors, translates it into machine code and runs it

45
Q

What is Bytecode?

A

Bytecode is the intermediate code which combines compiling and interpreting, the resulting bytecode is executed by a bytecode interpreter. A big advantage of bytecode is that you can achieve platform independence; any computer that can run Java programs have a Java Virtual machine, a piece of software which masks inherent differences between different computer architectures and operating systems. The JVM understands bytecode and converts it into machine code for that particular computer

46
Q

Advantages of a compiler:

A

The object code can be saved on disk and run whenever required without needing to recompile. If an error is discovered the whole program must be recompiled
Object code executes faster than interpreted code
Object code produced by a compiler can be distributed or executed without needing to have a compiler present
Object code is more secure as it cannot be read without a great deal of ‘reverse engineering’

47
Q

Advantages of an interpreter:

A

Platform independence - The source code can be run on any machine which has the appropriate interpreter available
Useful for program development as there is no need for lengthy recompilation each time an error is discovered

48
Q

What are the stages of compilation?

A

Lexical analysis, Syntax analysis and code generation & optimization

49
Q

What is lexical analysis?

A

Lexical analysis performs the following functions:
1. Superfluous spaces are removed
2. All comments, identified for example by # or // are removed from the program
3. Some simple error checking is performed
4. All keywords, constants and identifiers (variables) used in the source code are replaced by ‘tokens’. E.g. Numbers are converted to their run-time representation and identifiers are replaced by a pointer to an address in the symbol table

50
Q

What is a symbol table?

A

A symbol table contains every keyword and identifier in the program. Typical symbol tables contain:
Identifier or keyword
The kind of item (array, variable, procedure, etc)
The type of item (integer, real, char, etc)
The run-time address of the item or it’s value if it’s a constant

51
Q

What is syntax analysis?

A

Syntax analysis is the process of determining whether the sequence of input characters, symbols, items or tokens form 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

52
Q

What is parsing?

A

Parsing is the task of systematically applying the set of rules to each statement to determine whether it is valid. Stacks will be used to check for example, that brackets are paired correctly. The priorities of arithmetic operations will be determined, and expressions converted into a form (such as reverse polish notation) from which machine code can be more easily generated.

53
Q

What are the semantics?

A

The semantics of a program will also be checked in this phase. Semantics define the meaning rather than the grammar of the language. It is possible to write a series of syntactically correct statements which nevertheless do not obey the rules for writing a correct program.

54
Q

What is code generation and optimisation?

A

This is the final phase of compilation, when the machine code is generated. Most high level language statements will be translated into a number of machine code statements.

Disadvantages of code optimization:
It will increase compilation time, sometimes quite considerably
It may sometimes produce unexpected results

55
Q

What are linkers and loaders?

A

Once a program has been compiled, any separately compiled subroutines must be linked into object code. These may be input or output routines such as RNG or timer routine which are supplied with the language. It is the job of the linker to put the appropriate machine addresses in all the external call and return instructions so that the modules are linked together correctly.

A relocating loader can load the object code anywhere in memory, provided the programmer has used no absolute addresses and object code is in a relocatable format

56
Q

What are uses of libraries?

A

Library programs are ready-compiled programs, grouped in software libraries which can be loaded and run when required. They often have a .dll extension. Most compiled languages have their own libraries of pre-written functions which can be invoked in a defined manner from within the user’s program

57
Q

What are advantages of library routines?

A

They are tested and error free
They save the programmer time from writing the code themselves to perform common tasks