4.1 Types of software and interrupts
System Software
- provides the services that the computer requires, including operating system and utility software
- It provides a platform on which software can run.
- It is required to allow hardware and software to run without problems
- It provides a human computer interface (HCI)
Application Software
- It is used to perform various applications.
- It allows a user to perform specific tasks.
- It may be a single program or a suite of integrated programs
Utility Software
Virus Checker
- Scans files stored on a computer system for malicious code
- Scans files when they enter the system / memory stick inserted / download etc.
- Sets up a schedule for virus-checking - Isolates / quarantines / deletes viruses
- Regularly updates the virus definitions
Defragmenter
- Re-organises the disk contents
- Moves split files so they are contiguous
- Creates a larger area of (contiguous) free space
- Reorganises files on a disk to improve efficiency
Automatic Backup
- Can be set up to automatically backup // schedules backups
- Allows the user to decide what is backed up, e.g. all data // all files that have changed since the last backup
- Allows the user to set up an off-site backup
- May encrypt the backup files
- Restores the data if necessaryApplication Software
Device Drivers
- Software that communicates with the operating system, translates data into a format understood by hardware
- without drivers, devices won't work with a computer
- Modern Operating systems automatically detect the device and install appropriate drivers
Security Software
- Manages access control and user accounts
- uses encryption and decryption to ensure any intercepted data is meaningless
- oversees software updates(makes sure updates come from legitimate sources)
What is an Operating System
- Operating systems allow users to communicate with their computer system.
- Operating system provides an environment where applications can be run
Functions of an Operating System
File Management
- Maintains directory structures
- Specifies tasks that can be performed on a file (e.g. open, close, delete, copy, create, move etc.)
- Space allocated to particular files
Provision of a user interface
- Allows a user to communicate with the hardware // vice-versa by making navigation around the system easier
- Provides facility for user inputting data
- Provides facility for outputting to the user
- Reorganises files on a disk to improve efficiency
Memory management
- Keep track of the status of each memory location
- Managing the movement of data to and from RAM
- Checks that processes have enough memory allocated to them
- Makes sure that two processes don’t try to access the same memory location
- Allows multitasking
Hardware management
- Installation of appropriate driver software
- Controls access to data being sent to/from hardware
- Controls access to Hardware / Peripherals Sends commands to device
- Receives and handles error messages
Human Computer Interface
- Provides a method of communicating with the computer
- Can be command line driven
- Can be with the use of a GUI
Security management
- Ensures that anti virus software is kept up to date
- Maintains access rights to users
- Offers data recovery when files are corrupt
Interrupt handling
- Handles the signals sent when the attention of the processor is required elsewhere
Provision of a software platform
- environment on which programs can be run
Management of user accounts
- allows more than one user to log onto the system
- allocates users a part of memory protected by passwords and user IDs
- allows a user to customise
Managing Multi-Tasking
- It allows computers to carry out many tasks/processes at a time.
- resources are allocated to a process for a specific time limit
- interruption of process while running
- prioritizes processes
CLI vs GUI
CLI
- CLI: command line interface
- CLI: user uses a keyboard to type in commands/instructions …
- CLI: … to choose from a menu, open software, and so on
- CLI: requires a number of exact commands to do a single task
GUI
- GUI: graphical user interface
- GUI: user interacts with the computer using onscreen icons rather than typing commands
- GUI: chooses from menus, open software, and so on, by clicking on an icon
- GUI: often uses WIMP environment
How hardware, firmware and an operating system are required to run applications software
- Applications are run on the operating system
- The operating system is run on the firmware
- The bootloader (firmware) is run on the hardware
How an interrupt is handled (Interrupt service routine ISR)
- At the end of the fetch execute cycle for the current instruction…
- Check for interrupt
- If an interrupt flag is set/ bit set in interrupt register
- Processor identifies source of interrupt
- All current contents of registers are saved
- PC loaded with address of interrupt service routine (ISR)
- When the ISR completes, the processor restores the register contents
- Processor continues with next F – E -Cycle
What are interrupts
- Signal from a device that requires attention from the processor
- Causes the processor to temporarily stop until the request is handled
Examples of what can cause an interrupt
- an input/output process (for example, a disk drive or printer requiring more data)
- a hardware fault (for example, a paper jam in the printer)
- user interaction (for example, the user presses CTRL+ALT+BREAK)
- software errors that cause a problem (for example,division by 0)