An Operating System (OS) manages hardware and runs software. Its main functions are:
- Communicate with internal and external hardware. It does this by using a device Driver
- Provide a user interface - to let the user actual interact with the computer
- Provide a platform for different applications to run on
- Control the allocation of and management of resources (such as Memory and CPU time)
- Manage system security
- Manage users and log ins
- Handle file management (eg what software to use to open a file, moving, editing, organising, deleting files)
- Disk management (eg splitting the physical disk into sectors, decidng which sectors to save data in, tracking free space)
A driver sets "the rules" that allow hardware and software to communicate. For example you have ever added a printer to your computer you will have probably seen the OS install the printer driver - this is a small piece of software that lets software send data to the printer. It tells the computer what data to send, what format to send it in etc.
When it starts up the OS selects and loads the drivers for the hardware it detects. Manufacturers sometimes release updates to drivers. These fix problems or improve how the device works.
A driver sits between the firmware for a device, and software.
Command Line Interface
There are two types of User Interface:
- Graphical User Interface (GUI). These have typically been WIMP based:
- Windows (the things applications open in)
- Icons (Like desktop shortcut icons)
- Menus (eg File, Edit)
- Pointers (the mouse cursor)
Modern GUIs can also include pinching, swiping etc on touch screens
The advantages of a GUIs include they are easy for regular users, they are intutive and require minimal training. disadvantages are they take up a lot of memory to run and can make tasks slower
- Command Line Interface. These are text based. You type in the command and it runs
The advantages of a Command Line Interface are they don't take up much memory, and can be very fast especially for complex tasks. Their disadvantages include you need to know the correct command, making them unfriendly for regular,non expert users.