Systems Software Flashcards

1
Q

What is an operating system?

A

It is a program or set of programs that manages the operations of the computer for the user. It provides an interface for the user, application software and hardware since the user cannot directly communicate with hardware.

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

How does an operating system work?

A
  1. OS is held in permanent storage eg. hard disk
  2. Loader (small program) is held in ROM
  3. Computer switched on - loader in ROM sends instructions to load OS by copying it from storage into RAM.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
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
4
Q

what is memory management?

A

it is when the OS must manage allocation of RAM to different programs fairly since there may not be sufficient RAM for everything to be in it at once.

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

what are 3 methods of memory management?

A
  • paging
  • segmentation
  • virtual memory
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is paging?

A
  • memory (RAM mainly) is divided into fixed sections called pages (4Kb)
  • process in memory will be allocated enough pages to run - but these may not be contiguous physically
  • page table uses mapping to store a link between physical memory address + logical address space of each process
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does contiguous mean?

A

next to each other/adjacent physically

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

What is segmentation?

A
  • similar to paging except memory is divided into segments which can be different sizes.
  • Things stored in the segment may relate to parts of a program - eg. a particular function/subroutine may occupy a segment.
  • segment size relates to the program structure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

what is the difference between paging and segmentation?

A

Paging uses chunks of memory that are the same size while segmentation uses chunks of memory which are different sizes.

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

What is virtual memory?

A
  • an area of secondary storage that can be used as an extension of memory when RAM is filled up and another instruction needs processor time
  • pages of the current process will be stored in virtual memory until they are needed - then they will be swapped with an unused page into RAM
  • advantage: it’s extra strage and can optimise computer performance when used correctly
  • disadvantage: slower than using RAM
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is disk thrashing?

A

It is when the OS is excessively swapping pages into and out of RAM which slows down performance significantly because so much time is spent swapping pages.

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

What is an interrupt?

A
  • its a signal from a software program, hardware component or internal clock to the CPU
  • software interrupt = when an application program terminates or requests certain services from the OS
  • hardware interrupt = when in I/O operation is complete or an error occurs eg. printer paper out
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

why are interrupts needed?

A
  • I/O process is completed/sends an interrupt signal
  • an error occurs eg. printer paper out
  • power failure
  • scheduled interrupt from the internal clock - to enable multitasking to take place
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

when are interrupts detected and serviced?

A

The CPU checks for interrupts at the end of a clock cycle for any interrupts that need to be processed

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

how are interrupts dealt with?

A
  • if the CPU detects an interrupt signal, the running program is suspended + lower priority interrupts are disabled
  • all values in program counter and registers are stored in the stack
  • Interrupt Service Routine (ISR) is called to deal with the interrupt
  • Descending order of interrupt priorities: power fail interrupt, clock interrupt, I/O interrupt
  • once interrupt has been serviced, original register values are popped off the stack and process resumes from the point it left off.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is processor scheduling?

A
  • 1 CPU can perform 1 instruction at a time
  • processor scheduling is done by the OS scheduler where each application that needs to be run is allocated processor time in a way that makes most efficient use of the CPU
  • determines the manner and order that processes and applications can use the CPU
  • basically doing small parts of multiple large tasks in turn.
  • Gives the illusion that the CPU is doing multiple tasks simultaneously - multitasking
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What are the aims of processor scheduling?

A
  • ensure fairness to all users of a multi-user system (eg. in a school)
  • provide acceptable response time to all users
  • maximise time CPU is usefully engaged
  • ensure hardware resources are kept as busy as possible
  • maximise throughput
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the round robin scheduling algorithm?

A
  • operates on a First In First Out (FIFO) basis
  • every process is given an equal amount of CPU time (time slice)
  • CPU cycles through every process to be completed - if a process isn’t completed in time, CPU moves onto the next process and it’s given a new time slice to be completed in after all the other processes in the cycle
  • Timings are maintained by an interval timer - it generates interrupts at specific times
  • this method is good because it guarantees a reasonable response time to all users
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is the first come first served scheduling algorithm?

A
  • the first job to arrive is the first to be processed - no system of priorities
  • The current process must be completed before the CPU moves onto the next one (non-preemptive)
  • the completed process is removed from the queue
  • not very efficient
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

what is the shortest remaining time scheduling algorithm?

A
  • the process with the shortest estimated time to complete is run next
  • aims to reduce waiting time for shorter jobs - therefore have fewer waiting jobs
  • only works well if there is knowledge of how long a job will take and it should be a good estimate
  • not great for longer jobs that get stuck behind many smaller jobs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

what is the shortest job first scheduling algorithm?

A
  • similar to shortest remaining time except the job with the shortest estimated running time is done first
  • similar pros and cons as shortest remaining time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

what are multi-level feedback queues?

A
  • a scheduling algorithm designed to giver preference to short jobs and I/O bound processes and separate processes into categories based on their processor needs
  • there are multiple dynamic job queues and jobs can move between queues based on how much processor time they use
  • it aims to maximise processor use
  • I/O devices are much slower than processor speed so it aims to keep them as busy as possible to prevent a bottleneck (eg. lots of jobs are sent to the printer)
  • eg. while one job is printing another can use the CPU.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

what is backing store management?

A
  • when files/applications are loaded, they transfer from backing storage to memory
  • OS must keep a directory of where files are stores so they can be quickly accessed
  • also needs to know which parts of storage are free to save new files/applications.
  • file management system allows user to move files/folders, delete files + protect them from unauthorised access
24
Q

what is peripheral management?

A
  • different applications need different input/output devices throughout operation
  • eg. to print something: OS communicates with printer to check if it’s online, if it is a printer, and send the data to print
  • data to be printed will be sent to an area of memory called the buffer so CPU can carry on with another task
25
what is the buffer?
an area of memory whose purpose is to compensate for the difference in speed between input/output devices and the CPU
26
how do you determine what type of OS to use in a particular situation?
- what functions need to be prioritised - what will enable operations to be completed as efficiently as possible.
27
what is the distributed OS?
- an OS that runs across multiple computers to coordinate processing of a single job across multiple computers - a form of parallel processing system - one job is split up into several tasks and each is run on a seperate computer to make use of more computational power - task distribution is managed by OS so user gets the illusion they are working on a single computer - eg. the intranet - system is configured as a cluster of servers that share memory and tasks (better performance + power than a single large server) - no need to write different code for it/training since OS manages task distribution - but also means programmer has no control
28
what is a multi-tasking OS?
- can run on a standalone computer (eg. PC/laptop) - gives the impression that one processor can do more than one task at a time simultaneously - achieved by scheduling processor time using scheduling algorithms or using multiple cores to run tasks simultaneously - eg. the Windows OS
29
What is a multi-user OS?
- aka time-sharing system - lots of terminals with a user are connected to a single powerful mainframe/supercomputer - each user gets a time-slice of CPU time according to a scheduling algorithm
30
what is a mobile OS?
- the operating system used by smartphones, tablets, PDAs and other mobile devices - these devices are multi-tasking computers - they combine features of a PC OS with their own special features for mobile use - eg. managing cellular + wifi connectivity + phone access - other special features - touch sensitivity, GPS mobile navigation, camera, speech recognition, music player etc. - most tied to specific hardware - eg. Android and iOS
31
What are the parts of a mobile OS?
- main OS - controls user interface + running application software - low-level proprietary real-time operating system - operates radio + other hardware - low-level systems have lots of security vulnerabilities that allow others to gain control of a mobile device.
32
What is an embedded system?
- a specialised OS designed to perform a specific task for a device that isn't a computer - eg. on a washing machine or microwave - runs the code for the specific task it's designed for to allow the device to do its job - allows device hardware to be accessible to software running on top
33
what are the features of an embedded system?
- minimal user interface - maybe a few buttons or a dial and maybe a small screen - accept input from sensors, send output to control devices - limited amount of RAM - complex memory management system not required - no permanent data storage devices to manage
34
what is an open source operating system?
- eg. Android - based on Linux, owned by Google - used by major device manufacturers - allows major customisation - device manufacturer can fine tune OS to suit their devices + add features/UIs to improve user experience - interface + available apps are a major selling point
35
what is a real time operating system + features?
- an OS designed to handle tasks that need to be completed quickly + on time - they have critically defined time constraints - must respond very quickly to inputs or sensors - must be able to deal with many inputs simultaneously - must have failsafe mechanisms - detect + take action if a hardware component fails - must incorporate redundancy - if one component fails, it must automatically switch to backup hardware - OS in the flight control system of a fly by wire airliner (eg. Airbus 320)
36
what is BIOS?
- Basic input output system - stored in ROM - boots up computer on start when it turns on - modern use - initialise + test system hardware components + load OS from hard disk into RAM (not used after OS is loaded) - historically - provided an abstraction layer - consistent way for applications software + OS to interact with input/output devices
37
what is a device driver?
- a program that gives the OS a software interface to interact with other particular hardware devices - OS can access hardware functions without knowing details of hardware being used - hardware dependent + OS specific - eg. a printer driver - how it works: program requests to control a device to OS -> OS invokes driver routine -> driver sends instructions to hardware device
38
what is a virtual machine?
software used to emulate different hardware - 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 eg. MAME VM - play arcade games on PC, Java VM - execute Java bytecode
39
what are the 2 main categories of software?
- systems software - applications software
40
what is systems software?
The software required to run the computer's hardware + application programs Includes: operating system, utility programs, library programs, translators
41
what is applications software?
software that performs tasks that benefit the user - classified as general-purpose, special purpose and bespoke Includes: off-the-shelf, custom written, proprietary, open source
42
what is a utility program?
software used to optimise performance of the computer 6 perform useful background tasks eg. disk defragmenter, automatic backups, automatic updating,, virus checker, compression software
43
what is a disk defragmenter?
- program that reorganises the moving parts in a magnetic hard disk so that parts of a file that have been split up all over the hard disk are recombined into a series of contiguous blocks - this allows a file to be read quicker
44
what is an automatic backup?
- done by an automatic backup utility - available for personal + commercial use - data is backed up to permanent storage - automatic = useful because users often forget to run the backup themselves - user can specify: where to store back up; what to back up; how to run back up (compressed data?); when to run back up
45
what is automatic updating?
- done by an automatic updating utility - for software already installed: regularly checks internet for updates - newer version downloaded + installed onto computer - important because they fix security risks with current software + add new software features
46
what is a virus checker?
- checks permanent storage (+ incoming emails + internet downloads) for viruses + removes them - Windows built in = Windows Defender - works using heuristics - best guess based on typical virus behaviour
47
what is compression software?
- software used to reduce the size of files - makes it quicker to send + download files + you can send files that would otherwise be too big - eg. WinZip - bought from an independent supplier
48
what is general purpose software?
- software that can be used for many different purposes - eg. word processor, spreadsheet, graphics package - eg. graphics package - make ads/animations, manipulate photos, draw vector/bitmapped images
49
what is special purpose software?
- software that performs a single specific task/set of tasks - can be off-the-shelf or bespoke - eg. payroll + accounts packages, hotel booking systems, fingerprint scanning systems, browser software, etc.
50
what is off-the-shelf software?
- ready to be installed immediately - cheaper - cost is shared among all other people buying the software package - may contain lots of unwanted features - desirable non-essential features may be missing - well documented, well tested + error-free
51
what is bespoke software?
- software specially written by a team of programmers for a specific organisation - may take a while to develop - expensive + needs expertise to analyse document requirements - customised features to user needs + new features added whenever required - may contain errors that don't surface immediately
52
what is open source software?
- software is licensed for use but it is free for anyone to use - must be distributed with source code - anyone can edit it - developers can sell software they created - new software made from open source software must also be open - must be distributed so that people can read + edit it
53
what is freeware?
software that is free to use but user doesn't get access to the source code. usually has usage restrictions
54
what is proprietary software?
- no pubic access to source code of the software - creator of the software owns the copyright - no one else can modify the package + sell it to other people - most often they are paid - there may be software usage restrictions - eg. only one concurrent user to a license, up to 50 users on one site (site license)
55
compare proprietary and open source software
- proprietary - lots of support available from the company - regular updates, technical support lines, training courses, large user base - open source - more organic, changes over time as developers modify source code + distribute new versions - no commercial organisation behind open source software so no helpline or regular updates - just enthusiastic developers