Software and software development Flashcards
Intensive Care Units in hospitals are for patients in need of round the clock monitoring and support. Computerised systems can be used to monitor patients’ vital signs (temperature, heart rate, blood pressure and breathing). They can then alert medical professionals to any significant changes.
These systems usually run on an embedded, real-time, operating system.
(i) State what is meant by the term real-time.
The system gives a response within a guaranteed time frame (1).
Intensive Care Units in hospitals are for patients in need of round the clock monitoring and support. Computerised systems can be used to monitor patients’ vital signs (temperature, heart rate, blood pressure and breathing). They can then alert medical professionals to any significant changes.
These systems usually run on an embedded, real-time, operating system.
(ii) Explain why a real-time operating system would be suitable for Intensive Care Units
If something happens to a patient, a response must be immediate (1). Other types of system may have delays in response (1).
This could result in a patient not receiving treatment in time (1).
An operating system uses scheduling. One method of scheduling is first come, first served.
Explain why the first come, first served scheduling method may not be efficient.
Once a job starts it prevents other jobs from being processed
A job using a slow resource (eg printer) wastes processor time
An operating system uses scheduling. One method of scheduling is first come, first served.
Describe one other scheduling method.
Round robin
Time slice to each user in turn Or
Length of job
Shortest job first
An operating system uses scheduling. One method of scheduling is first come, first served.
(iii) Explain why scheduling is necessary
Process as many jobs as possible…
…in least possible time / quicker
Ensure all jobs are processed (fairly)
Maximise number of interactive users…
..with fast response times / real time
Efficient use of resources / processor time
Explain why memory management is necessary.
Organise the use of (main) memory…
…by converting logical addresses to physical addresses
Allows programs to share memory / allocate memory…
…& protect programs / data from each other
Allows programs larger than main memory to run
Paging may be used in memory management. Describe paging.
Partitioning memory
Pages are fixed size
Pages are physical divisions
Used for virtual memory
Memory management in a computer for main memory can use either paging or segmentation.
(i) Explain what is meant by ‘paging’.
Parts of a program divided into or PARTITIONED into equal size pieces
Uses physical divisions
Memory management in a computer for main memory can use either paging or segmentation.
(ii) Explain what is meant by ‘segmentation’
Parts of a program divided into unequal sizes
Uses logical divisions
Memory management in a computer for main memory can use either paging or segmentation.
State four similarities between paging and segmentation.
Both ways of partitioning / splitting up memory
Use virtual memory / backing store to swap parts of programs
Allow programs larger than memory to run / insufficient memory
Allows programs to be stored in memory noncontiguously
A software development company is building an operating system for a mobile phone that is in the process of being designed.
One of the developers is responsible for writing the code for what happens when the CPU receives an interrupt. Outline what the code must do.
– Complete the current FDE Cycle
– Check the priority of the incoming interrupt.
– If its of a higher priority than the current task.
– Contents of registers stored in memory..
– … in a stack.
– The relevant interrupt service routine is loaded …
– ..by loading the relevant value into the program counter.
– When the ISR is complete the previous state is popped from the stack
– And are loaded back into the registers.
A software company decides to release a duplicate file finder which it has named “De-Duplicator”. Duplicate files are files that are exactly the same (bit for bit identical). Space is often wasted on computers by having multiple versions of the same file. Duplicate file finders are programs that find and identify duplicate files on a hard drive so that they can be removed.
A duplicate file finder is an example of a utility. Describe what is meant by a utility.
A utility performs a specific task (1) and is usually related to the upkeep of the system (1).
Examples of a utility include a virus checker (1) / disk defragmenter (1)
State what type of translator program would be needed to convert the assembly code above into machine code.
assembler
A gaming company decides to release a new video games console. The console will use a modified version of an operating system called Linux.
Linux is open-source.
Explain how Linux being open-source would benefit the games company.
This means that a lot of the core functionality they need is already available (1) so the company just has to make amendments / additions specific to their system (1) saving time and money (1).
The owner of a small shop has bought some new stock-handling software and is setting up a computer system in order to run it.
The owner will use a number of pieces of utility software.
State the purpose of each of the following types of utility software and describe how the owner would use them.
a) File handlers
Purpose
–Manages data storage / organises data storage
Uses
– Used for the deletion / sorting / moving / copying / creation of files / folders
– Manage the storage of software
– Manage the storage of stock files
– To access files