System Software vs Application Software
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 necessary
Device Drivers
- Software that communicates with the operating system, translates data into a format understood by hardware
- Without drivers, devices will not 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)
Operating System
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
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 do not 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 (Command Line Interface)
- User uses a keyboard to type in commands/instructions…
- …to choose from a menu, open software, and so on
- Requires a number of exact commands to do a single task
GUI (Graphical User Interface)
- User interacts with the computer using onscreen icons rather than typing commands
- Chooses from menus, opens software, and so on, by clicking on an icon
- 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
Interrupts
What are interrupts?
- Signal from a device that requires attention from the processor
- Causes the processor to temporarily stop until the request is handled
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
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)