Section 2 - Systems Software Flashcards

(35 cards)

1
Q

Chapter 7 - Functions of an operating system

What is an Operating system?

A
  • An OS is a program/set of programs that manages the operations of the computer for the user.
  • The OS is held in permanent stroage ( HDD ). A small program called the loader is held in ROM.
  • When a computer is switched on, the loader in ROM sends instructions to load the OS by copying it from storage into RAM.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Chapter 7 - Functions of an operating system

What are some functions of an Operating system.

A
  • Providing a user interface
  • Memory management
  • Interrupt service routines
  • Processor scheduling
  • Backing store managment
  • Management of all input and output
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Chapter 7 - Functions of an operating system

Describe what Paging is
( Memory Management )

A
  • Using a paging system, memory is divided into fixed size pages of 4Kb each, and a process currently in memory may be held in several non-contiguous pages.
  • Imagine a program which uses 15K of consecutive memory addresses – these logical memory locations may be physically stored in four separate pages anywhere within the physical memory space.
  • A page table uses mapping to store a link between the physical memory address and logical address space of each process.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Chapter 7 - Functions of an operating system

Describe what Segmentation is
( Memory Management )

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 a program into memory initially.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Chapter 7 - Functions of an operating system

What is an Interrupt?

A
  • An interrupt is a signal from a software program, hardware device or internal clock to the CPU.
  • Interrupts can be triggered regularly by a timer, to indicate that it is the turn of the next process to have processor time. This allows for multi-tasking to occur
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Chapter 7 - Functions of an operating system

Describe the role of the Interrupt service routine

A
  • When the CPU receives an interrpt, it suspends execution of running programs/processes and disables all interrupts of a lower priority.
  • It then puts the values of the PC and of each register onto the system stack, what an ISR is called to deal with the interrupt.
  • A test for the presence of interrupts is carried out at the end of each FDE cycle.

ISR - Interrupt service routine

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

Chapter 7 - Functions of an operating system

What is the scheduler and what are the objectives of one.

A
  • The scheduler is the OS module responsible for making sure that processor time is used as efficiently as possible.

The objectives of the scheduler are to:
- Maximise throughput
- Be fair to all users of 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
8
Q

Chapter 7 - Functions of an operating system

Describe how:
A) Round robin
B) First come first served
C) Shortest remaining time
all work in scheduling processor time

A

A) Processes are despatched on a FIFO basis, with each process in turn being given a limited amount of CPU time called a time slice.
- To do this, the OS sets an interval timer to generate interrupts at specific times.

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

C) The process with the smallest estimated time to complete is run next. The process can be suspended if another shorter process is added.

FIFO - First in First out

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

Chapter 7 - Functions of an operating system

Describe how:
A) Shortest job first
B) Multi-level feedback queues
all work in scheduling processor time

A

A) The process with the smallest estimated running time is run next. Its advantages and constraints are much the same as the shortest remaining time algorithm.

B) This algorithm is designed to:
- give preference to short jobs
- give preferences to I/O bound processes
- separate processes into categories based on their need for the processor

The algorithm implements several job queues and jobs can move between queues, depending on how much processor time it needs.

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

Chapter 8 - Types of operating system

What is a Distributed operating system?

A
  • A distributed os is a form of parallel processing system which spreads the load over multiple computer severs.
  • A single job is split up into several tasks and each of these is run a separate computer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Chapter 8 - Types of operating system

Describe the features of an Embedded operating system

A

First, let’s look at the simple case of a basic household appliance in which the application program is held in ROM.

The main features of the operating system are:

  • It will have a minimal user interface, 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 will not be any RAM, so it will not need a memory management system
  • There will not be any permanent data storage devices to be managed.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Chapter 8 - Types of operating system

Describe the features of a Real-time operating system

A

The operating system on an aircraft or similar safety-critical system must have the following features.

  • It must respond very quickly to any inputs or sensors
  • It must be able to deal witb many inputs simultaneously
  • It must have “failsafe” mechanisms designed to detect and take appropriate action if a hardware component fails
  • It must incorporate redundancy - that is, if one components fails, it must automatically switch to backup hardware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Chapter 8 - Types of operating system

Describe what the BIOS is
( Basic Input Output System )

A
  • Bios is the program stored in EPROM that gets your computer started after you turn it on.
  • The fundamental purpose of BIOS in modern PCs is to intialise and test the system hardware components and to load the OS from the hard disk into RAM.
  • BIOS was historically used to provide an abstraction layer which allowed a consisten way for application programs and the OS to interact with I/O devices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Chapter 8 - Types of operating system

Describe what device drivers are

A
  • A device driver is a computer program that provides a software interface to a particular hardware device. This enables OS to access hardware functions without needing to know the details of the hardware being used.
  • Drivers are hardware dependant and OS specific. A driver typically communicates with the device via the system bus of communications subsystem to which the hardware connects.
  • When a calling program invokes the routine in the driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Chapter 8 - Types of operating system

Describe what Virtual machines are

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 operating system within another to emulate difference hardware.

Benefits:
- Reduced hardware is needed on computers ( thin client ) / reduced hardware cost
- Easier/cheaper to manage as only one physical device runs the program

Drawbacks:
- Can cause network overload if the network does not have sufficiently good bandwith.

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

Chapter 9 - System Software

Describe what a Utility program is

A
  • Utility is system software designed to optimise the performance of the computer or peform tasks such as backing up files, restoring corrupted files from backup, compressing/decompressing data, encryipting data before transmission etc
17
Q

Chapter 9 - System Software

Describe the following Utilities;
A) Disk Defragmentation
B) Automatic backup

A

A) A disk defragmenter is a program that will reorganise a magnetic hard disk so that files which have been split up into blocks will be recombined in a single series of sequential blocks

B) An automatic backup utility will allow the user to specify:
- Where you want to store the backup
- What you want to backup (the sources)
- How you want to run the backup
- When you want to run the backup

18
Q

Chapter 9 - System Software

Describe the following Utilities;
A) Virus checker
B) Compression software
C) Automatic updating

A

A) A virus checker utility checks your hard rive and, depending on the levle of protection offered, incoming emails and internet downloads, for viruses and removes them

B) Compression programs like WinZip are used as compressed or zipped files can be transmitted much more quickly over the Internet.

C) An automatic update 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.

19
Q

Chapter 9 - System Software

Describe the 2 categories of Applications software

A

1. General-purpose software such as word-processor, spreadsheet or graphics package, can be used for many different purposes. For example, a graphics package may be used to produce advertisements or animations.

2. Special-purpose software performs a single specific task or set of tasks. Examples include payroll and accounts packages, hotel booking systems, fingerprint scanning systems, browser software and hundreds of other applications.

20
Q

Chapter 9 - System Software

Describe the differences between “Off-the-shelf” and bespoke software

A

Off the shelf:
- Less expensive 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 immediatley
- Well documented, 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

21
Q

Chapter 9 - System Software

Describe the differences between open source vs closed source software

A

Open Source Software:
- 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 OSS must also be “open”. This means that it must be distributed or sold in a form that other people can read and also edit.

Closed source Software:
- There will be restricitions on how the software can be used, for example the licence may specify only one concurrent user, or it may permit up to say, 50 hours on one site
- The company or person who wrote the software will hold the copyright. The users won’t have access to source code and will not be allowed to modify the pacjage and sell it to other people.

22
Q

Chapter 10 - Programming language translators

Describe what an Assembler is

A
  • Before an assembly code program can be executed, it must be translated into the equivalent machine code. This is done by a program called an assembler.
  • The assembler program takes each assembly code instruction and converts it to the 0s and 1s of the corresponding machine code instruction.
  • The input to the assembler is called the source code and the output (machine code) the object code
23
Q

Chapter 10 - Programming language translators

Describe what a Compiler is

A
  • A compiler is a program that translated a high0level language into machine code. The code written by the programmer, source code, is input as data to the compiler, which scans through it several times, building up information needed to produce final object code.
  • Difference hardware platforms will require different compilers, since the resulting object code will be hardware-specific.
24
Q

Chapter 10 - Programming language translators

Describe what an Intepreter is

A
  • An interpreter is a difference type of programming language 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, analyses it and, if it contains no syntax errors, translates it into machine code and runs it.
25
# ***Chapter 10 - Programming language translators*** Describe what Bytecode is
- Languages such as Python and Java will both combine compiling and interpreting. The resulting **bytecode** is then executed by a **bytecode interpreter.** **1.** An advantage of it is that you can achieve platform indepdence; any computer that can run Java programs has a **JVM**, a piece of software which masks inherent differences between different computer architectures and OS. - The **JVM** understands bytecode and converts it into the machine code for that particular computer. **2.** A second advantage is that it acts as an extra security layer between your computer and the program. You can download an untrused program and you then execute the Java bytecode inerpreter rather than the program itself, which guards againt any **malicious programs**. | **JVM - Java Virtual Machine**
26
# ***Chapter 10 - Programming language translators*** What are some benefits of a **compiler** over an interpreter
- The object code can be saved on disk and run whenever required without the need to recompile. - 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'
27
# ***Chapter 10 - Programming language translators*** What are some benefits of an Interpreter.
- platforms independece - the source code can be run on any machine which has the appropriate interpreter available - It is useful for program development as there is no need for length recompilation each time an error is discovered.
28
# ***Chapter 10 - Programming language translators*** What are the 3 stages of compilations
**1.** Lexical analysis **2.** Syntax analysis **3.** Code generation and optimisation
29
# ***Chapter 10 - Programming language translators*** Describe the first stage of compilation
***Lexical analysis*** **Stages:** **1.** Superfluous spaces are removed **2.** All comments, identified for examples by # or // will be removed from the program **3.** Some simple error-checking is performed - an illegal identifier would be flagged as an error - the lexical analyser will detect an attempt to assign an illegal value to a constant. **4.** All keywords, constants and identifiers used in source code are replaced by tokens ( unique symbols )
30
# ***Chapter 10 - Programming language translators*** Describe Symbol Tables **( Part of Lexical Analysis )**
***The Symbol table*** **1.** The **symbol table** plays a central role in the compilation process. It will contain an entry for every keyword and identifier in the program. Typically, entries in the table will show: - The **identifier** or keyword - The **kind** of item ( variable, array, procedure ) - the **type** of item ( integer, real, char ) - the **run-time address** of the item, or its **value** if it is a constant - A **pointer** to accessing information
31
# ***Chapter 10 - Programming language translators*** Describe Syntax analysis and semantic analysis **( 2nd Stage of Compilation )**
- **Syntax analysis** is the process of determining whether the sequaence of inputs form a valid sentance in the languages. In order to do thism the language has to be expressed as a set of rules. - **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 examples, that brackes are correclty paired. - The **semantics** of the program will also be checked. Semantices define the meaning rather than the grammer of the language. - An example of a **semantic error** is the use of an undeclared variable or trying to assign a **real** value to an **integer** variable.
32
# ***Chapter 10 - Programming language translators*** Describe the final stage of the compilation
- **Code optimisation techniques** attempt to reduce the execution time of the object program for example, spotting redundant instructions and producing object code which achieves the same net effect. **Drawbacks:** - It will increase compilation time, sometimes quite considerably - It may sometimes produce expected results by changing the source code
33
# ***Chapter 10 - Programming language translators*** Describe what linkers and loaders are
- Once a program has been compiled, any separatly compiled subroutines must be linked into the object code. - These may be input or output routines, routines such as a random number generator. It is the the job of the **linker** to put appropriate machine addresses in all external call and return instructions, so that modules are linked together correctly. ***Creates a single executable file*** - **Loaders** are part of the os and have the role to load an executable file into memory from secondary storage. It will also load the equired software Libraries.
34
# ***Chapter 10 - Programming language translators*** Describe the uses of libraries
- Library programs are read-compiled programs which can be run when needed, and which are grouped together in software libraries. - 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.
35
# ***Chapter 10 - Programming language translators*** State some benefits of using library routines
Liberaries can be imported into a user's program and have many benefits, including; - They are tested and error-free - They save the programmer time in **"re-inventing the wheel"** to write code themselves to perform common tasks.