1.2 Software and Software development Flashcards
Systems Software Applications generation Software development Types of programming language
What is an operating system?
- A collection of programs that work together to provide an interface between the user and computer
Give 3 functions of an operating system
- Memory management
- Resource management
- I/O management
- Interrupt management
- Security
- User interface
- Utility software
Similarities of paging and segmentation
Both used when RAM space is insufficient, can cause disk thrashing
Differences of Paging and Segmentation
- Paging uses equal sized sections called pages
- Segmentation uses variable-sized, logical sections called segments
Describe how virtual memory is used when there is not enough RAM
- A section of the hard drive is used to act as RAM
- Sections of programs not currently being used are temporarily moved into virtual memory through paging.
- This frees up memory for other programs in RAM
What is an interrupt?
- A signal generated by software or hardware to indicate to the processor that a process needs attention.
Explain the stages of the Interrupt Service Routine (ISR)
- Interrupt register checked at the end of each FDE cycle
- If an interrupt with a higher priority exists, the current contents in the CPU are transferred to a stack.
- The relevant ISR is loaded into RAM
- A flag is set to signal the ISR had started
- Flag is reset when finished
- Interrupt register checks if there are any other high priority interrupts, if so it is repeated.
- If there are none, contents of the stack are popped off and the FDE cycle carries on.
What is pre-emptive scheduling?
- Jobs are actively made to start and stop by the operating system.
What is non pre-emptive scheduling?
- Once a job is started, it is left alone until it is completed.
Give an example of pre-emptive scheduling.
- Round Robin
- Shortest remaining time
- Multi-level feedback queues
Give an example of non pre-emptive scheduling
- First come first served
- Shortest job first
Give an advantage and disadvantage of using Multilevel Feedback Queues.
- Takes into consideration different job priority
- Difficult to implement
Define a real-time OS and when it may be used
- Real-time operating systems perform a task within a guaranteed time frame. They are used in systems where a response within a given time frame is critical e.g. life support systems, self-driving cars and power systems.
Describe three functions of the BIOS
- Running tests upon the computer’s start-up:
- POST (Power-on self test) which makes sure that all hardware is correctly connected and functional
- Checking CPU clock, memory and processor
- Testing for external memory devices
What is the role of a device driver?
Enable the operating system to interact with hardware devices
Describe when a virtual machine may be used
- Testing programs
- Protection from malware
- Running software compatible with different versions and types of OS’s
Give one advantage and disadvantage of intermediate code
- Advantage: Platform independent, portable
- Disadvantage: Slower execution
What is the difference between applications and systems software?
- Applications software is utilised directly by the end-user whereas systems software ensures high performance of the computer
Give 2 examples of utilities
- Compression
- Disk de-fragmentation
- Antivirus
- Automatic backup
- Automatic updating
Give one advantage of using closed source code
- Thorough, regular and well-tested updates
- Expert support and user manuals from company
- High levels of security as it is developed in a professional, controlled environment
State two features of open source code
- Doesn’t require a license to be used
- Distributed with the source code
- Can be modified and sold on
Give two advantages of compiled code over interpreted
- Faster execution
- Doesn’t require a compiler to run