Types of Software and Interrupts (Copy)
- Types of Software
- Series of instructions telling a computer what to do.
- Created using programming languages
- They can be put into different categories
- System software
- Manages the running of a hardware
- Manages other software
- Provides communication between hardware and software
- Type types
- Operating System (OS)
- Utility Programs
- System clean-up software
- Removal of unused data
- Defragmentation-rearrangement of files software
- Application Software
- A task can be performed by the user
- Word processing software
- Spreadsheet software
- Database software
- Web browser software
- Even before an operating system can run, it needs instructions provided by the firmware
- It can be done using bootstrap programs
- Operating System
- It is a type of systems software
- Such as Windows, Linux, macOS
- Android OS or iOS.
- Different roles of an operating system
- Providing an interface
- Method with which the user can interact with the computer
- Graphical User Interface (GUI)
- WIMP (windows, menus, pointers, icons)
- Command line interface
- Useful for those expert in commands
- Linux
- Natural Language Interface
- text commands, speaking commands
- File management
- Application software to manage files
- Directories are creaed
- Naming, renaming, adding and deleting files
- Managing peripherals and drivers
- Peripherals are the input and output devices
- Different programming of each peripheral.
- As a result, a driver is required
- It is a software which translates data from the peripheral to the computer and from the computer to the peripheral
- Each OS will have their drivers
- Memory management
- The movement of data to and from the RAM has to be managed
- Allocating a certain amount of memory to a certain task is also important
- Managing Multitasking
- A single processing can only complete a set number of instructions at at ime
- Therefore, OS needs to determine which action to perform next, and then decide how long should that action be performed
- Interrupts system used
- Managing interrupts
- Signal to the processor telling it that something needs attention
- It can be by a software or a hardware demanding attention
- OS decides which interrupt to manage
- A platform to run application software
- User accounts are managed
- Providing an interface
- Interrupts
- A signal sent to the processor telling that something needs its attention
- Different types of interrupts can occur
- Software
- Trying to divide by zero
- Needs to show an output
- Has to access memory location
- Hardware
- Data input done
- Data output done
- Error generated
- New device connected
- Hardware failure
- Software
- Each interrupt has a priority level
- That means how quickly it needs the attention
- Such priorities are managed by the interrupt handler (IH)
- An interrupt first enters a queue of interruprs
- The process of interrupt handling is as follows
- Once the current fetch-decode-execute cycle is completed, the interrupt queue is checked
- It will check if there is any interrupt that has a higher priority than the current task being performed
- If there is one, the current task is stored
- Interrupt is fetched
- The source of interrupt is checked
- Relevant interrupt service routine (ISR) is called
- Aa sequence of instructions that handle the interrupt
- When finished, the stored process is returned to memory or another higher-priority interrupt is fetched
- Otherwise, the next FDE occurs
