Section Two: System Software Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Chapter 7 – Functions of an operating system
What is a operating system?

A

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 hardware directly.

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 the function of an operating system?

A

Apart from providing a user interface, the operating system has to perform the following functions:
- 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

Chapter 7 – Functions of an operating system
What is memory management?

A

The process of controlling and coordinating a computer’s main memory. It ensures that blocks of memory space are properly managed and allocated so the operating system (OS), applications and other running processes have the memory they need to carry out their operations

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

Chapter 7 – Functions of an operating system
What is paging?

A

Paging is when​ memory is split up into equal-sized sections known as pages​. These can then be swapped between main memory and the hard disk​ as needed. Segmentation is the ​splitting up of memory into logical sized divisions​, known as segments, which vary in size.

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 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 a program into memory initially.

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

Chapter 7 – Functions of an operating system
What is Virtual Memory?

A

Virtual memory is a section of volatile memory created temporarily on the storage drive. It is created when a computer is running many processes at once and RAM is running low

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 are Interrupts?

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 operating system. 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

Chapter 7 – Functions of an operating system
What are Interrupt service routines?

A

A set of instructions that have to be carried out when the event occurs. For example, a typical algorithm for handling the mouse might be: Mouse moves. A hardware chip on the Motherboard, called the ‘interrupt controller’, detects the mouse signal.

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

Chapter 7 – Functions of an operating system
What is processor scheduling?

A

The process of removing an active task from the processor and replacing it with a new one. It divides a procedure into states such as ready, waiting, or running.

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

Chapter 7 – Functions of an operating system
The objectives of the scheduler

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Chapter 7 – Functions of an operating system
What is round robin?

A

the Round Robin scheduling algorithm, a queue is made holding all processes that are ready to run. When the first process is loaded into main memory, it is given a set amount of CPU time to use. If the process is completed during the allocated time then the next process in the queue is loaded immediately. However, if the process is not finished when its time expires, it is put at the back of the queue to wait for another turn

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

Chapter 7 – Functions of an operating system
What is Backing store management?

A

When files and applications are loaded, they are transferred from backing storage into memory. The operating system is required to keep a directory of where files are stored so that they can be quickly accessed. The file management system that comes with your desktop operating system enables a 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
13
Q

Chapter 7 – Functions of an operating system
What is peripheral management

A

Operating systems are responsible for ‘ peripheral management ‘ this means. They communicate and control devices such as mice, keyboards, monitors and printers. This can include sending print jobs to the printer

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

Chapter 8 – Types of operating system
What is a Distributed operating systems?

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
15
Q

Chapter 8 – Types of operating system
What is a multi-tasking system?

A

A multi-tasking operating system may run on a standalone computer such as a PC or laptop. The Windows operating system, for example, can run many jobs simultaneously, switching between them so that each one appears to be the only one running.

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

Chapter 8 – Types of operating system
What is a multi-user, multi-tasking system

A

Time-sharing systems are multi-user, multi-tasking systems. A single powerful mainframe or supercomputer is connected to dozens 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
17
Q

Chapter 8 – Types of operating system
What is a operating systems used by mobile phones?

A

A mobile phone is a multi-tasking computer that has its own operating system. Operating systems used on smartphones, tablets, 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
18
Q

Chapter 8 – Types of operating system
What is an embedded operating systems?

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.

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

Chapter 8 – Types of operating system
The main features of embedded operating systems

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Chapter 8 – Types of operating system
What is a BIOS(Basic Input Output System)?

A

BIOS is the program stored in EPROM (Erasable Programmable Read-Only Memory) that gets your
computer started after you turn it on. The fundamental purpose of BIOS in modern PCs is to initialise and test the system hardware components and to load the operating system (or the key parts of it) from the hard disk into RAM.

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

Chapter 8 – Types of operating system
What is a device drivers?

A

A device driver is a computer program that provides a software interface to a particular hardware device.
This enables 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.

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

Chapter 8 – Types of operating system
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 operating system within another to emulate different hardware.

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

Chapter 9 – The nature of applications
Classification of software

A

Software can be broadly classified into systems software and applications software.

24
Q

Chapter 9 – The nature of applications
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. Libraries and programming language translators will be considered in the next chapter.

25
Q

Chapter 9 – The nature of applications
What is a Operating system?

A

The OS is a set of programs that lies between applications software and the computer hardware, and has many different functions

26
Q

Chapter 9 – The nature of applications
Function of a OS

A
  • resource management – managing all the computer hardware including the CPU, memory, disk drives, keyboard, monitor, printer and other peripheral devices
  • 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.
27
Q

Chapter 9 – The nature of applications
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, providing a firewall, etc.

28
Q

Chapter 9 – The nature of applications
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 into blocks and stored all over the disk will be recombined in a single series of sequential blocks. This makes reading a file quicker.

29
Q

Chapter 9 – The nature of applications
What are Automatic backups?

A

Several free automatic backup utilities are available for personal and commercial use. An automatic backup utility will allow the user to specify
- Where you want to store the backup (the destination)
- What you want to backup (the sources)
- How you want to run the backup (using full backup that zips the files, or mirror backup that doesn’t zip them)
- When you want to run the backup (you can schedule it to run automatically or run it manually)

30
Q

Chapter 9 – The nature of applications
What are automatic updating?

A

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. These will be downloaded and installed if they are newer than the version already on the computer.

31
Q

Chapter 9 – The nature of applications
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.

32
Q

Chapter 9 – The nature of applications
What is a Compression software?

A

Several utility programs are supplied as part of the operating system. These include utilities to copy, move and delete files, create, move and delete folders, provide screensavers. Other utility programs such as WinZip for compressing and sharing files have to be purchased from independent suppliers.

Zipped or 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

33
Q

Chapter 9 – The nature of applications
What is application software?

A

Applications software can be categorised as general-purpose, special-purpose or custom-written(bespoke) software.

34
Q

Chapter 9 – The nature of applications
What is General-purpose software?

A

General-purpose software such as a 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, manipulate photographs, draw vector or bitmapped images.

35
Q

Chapter 9 – The nature of applications
What is Special-purpose software?

A

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. Software may be bought “off-the-shelf”, ready to use, or it may be specially written by a team of programmers for a particular organisation.

36
Q

Chapter 9 – The nature of applications
“Off–the-shelf” vs bespoke software

A

Off the self
- 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 immediately
- 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

37
Q

Chapter 9 – The nature of applications
What is open source?

A

Open Source software is governed by the Open Source initiative that says:
- 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.

38
Q

Chapter 9 – The nature of applications
What is close source?

A

Closed source or proprietary software is sold in the form of a licence to use it.
- There will be restrictions 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 users on one site (site licence).
- The company or person who wrote the software will hold the copyright. The users will not have access to the source code and will not be allowed to modify the package and sell it to other people. This would infringe the copyright (Copyright, Designs and Patents Act).

39
Q

Chapter 10 – Programming language translators
What is an Assembly code?

A

Assembly code is a low level language, with each instruction in assembly code almost always being equivalent to one machine code instruction. The machine code instructions that a particular computer can execute (the instruction set) are completely dependent on its hardware, and therefore each different type of processor will have a different instruction set and a different assembly code.

40
Q

Chapter 10 – Programming language translators
What is an Assembler?

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.

41
Q

Chapter 10 – Programming language translators
What is a Compiler?

A

A compiler is a program that translates a high-level language such as Visual Basic, Python etc. into machine code. The code written by the programmer, the source code, is input as data to the compiler, which scans through it several times, each time performing different checks and building up tables of information needed to produce the final object code.

42
Q

Chapter 10 – Programming language translators
What is an Interpreter?

A

An interpreter is a different 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.

43
Q

Chapter 10 – Programming language translators
What is Bytecode?

A

Bytecode is source code that has been compiled into low-level code (bytecode) designed to be run on a virtual machine (the interpreter). An interpreter must be present on the user’s computer for the bytecode to be translated and executed

44
Q

Chapter 10 – Programming language translators
Advantages and uses of compilers

A

A compiler has many advantages 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’

45
Q

Chapter 10 – Programming language translators
Advantages and uses of interpreters

A

An interpreter has some advantages over a compiler:
- platform independence - the source code can be run on any machine which has the appropriate interpreter available (e.g. java’s byte code)
- it is useful for program development as there is no need for lengthy recompilation each time an error is discovered

46
Q

Chapter 10 – Programming language translators
Disadvantages of an interpreter

A

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.

47
Q

Chapter 10 – Programming language translators
Stages of compilation

A

There are three stages of compilation: lexical analysis/syntax analysis, and code generation and optimisation.

48
Q

Chapter 10 – Programming language translators
What is the Lexical analysis?

A
  1. Removal of any non-program elements(Comments should be used to help explain complex parts of the code. While white space and comments are helpful for the human reader, they are not necessary for the executable code, so the compiler removes them during lexical analysis.)
  2. Tokenisation(Once the non-program elements have been removed, the characters are read and each string is analysed)
49
Q

Chapter 10 – Programming language translators
What is a symbol table?

A

As part of the lexical analysis stage, a symbol table is produced. A symbol table is used by the compiler to keep track of all of the identifiers that have been declared in the program

50
Q

Chapter 10 – Programming language translators
What will the symbol table show?

A
  • 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 it is 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).
51
Q

Chapter 10 – Programming language translators
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

Chapter 10 – Programming language translators
Semantic analysis

A

The semantics of the 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. An example of a semantic error is the use of an undeclared variable in Pascal, or trying to assign a real value to an integer variable, or using a real number instead of an integer as the counter in a for … next loop.

53
Q

Chapter 10 – Programming language translators
Code generation and optimisation

A

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.

54
Q

Chapter 10 – Programming language translators
Linkers and loaders

A

Once a program has been compiled, any separately compiled subroutines must be linked into the object code. These may be input or output routines, routines such as a random number generator or timer routine which are supplied with the language, or routines written by the programmer and held on disk in a library of subroutines. 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 the object code is in relocatable format.

55
Q

Chapter 10 – Programming language translators
Use of libraries

A

Library programs are ready-compiled programs which can be run when needed, and which are grouped together in software libraries. In Windows these 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.

56
Q

Chapter 10 – Programming language translators
Advantages of library routines
Most programming languages have extensive libraries of built in functions such as chr(), ascii(), sqrt() etc. They also have libraries of modules that provide solutions to common problems in everyday programming, such as mathematical functions, generating random numbers in a specified range,
providing a graphical user interface. These libraries can be imported into a user’s program and have
many advantages 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

A