- An operating system is the interface between the User and the Hardware
Types of Interface §
- Graphical user interface (GUI)
- Interactions via graphics and using WIMP
- Command line interface (CLI)
- Commands are given via a text based interface (e.g. MSDOS)
- Menu-driven interface (MDI)
- interactions through a series of menus (e.g. ATM, early iPod, etc.)
- Natural language interface (NLI)
- You interact through a spoken language (e.g. an Amazon Echo with Alexa)
Resource Management §
- A process is a program that has begun execution
- The OS must manage resources so that:
- Processes are scheduled (sequenced for execution). In a single core CPU, each only gets a tiny slice of time
- Manage interrupts
- Resolution of resources when a conflict occurs (e.g. two processes require exclusive access to the same hardware)
Memory Management §
- Memory management is split into three important areas:
- Memory protection
- Ensuring that each process does not try and use the same memory as other processes
- Ensuring that a process cannot access the memory of other processes (without escalated privileges)
- Memory organisation scheme
- ensures optimum use of limited memory resources. Schemes such as Virtual Memory (Virtual Memory (VM)) using paging or segmentation (A2)
- Memory usage optimisation
- This determines which processes should be in main memory and where they are stored
- It also deals with garbage collection (freeing up memory from closed application)
Virtual Memory (VM) §
- Virtual memory is a process whereby secondary storage is used to supplement the available RAM
- A process called swapping
- The use of a VM addressing (such as paging or segmentation) means that the kernel can choose what memory each program may use at any given time
- allowing the operating system to use the same memory locations for multiple tasks
- A page fault is generated when a process tries to access memory which is not currently available
Device Management (I/O) §
- All the input and output devices also need to be managed
- Devices cover a wide spectrum, including printers, monitors, keyboard, etc.
- The device management:
- Installs appropriate device software drivers for use
- Controls the usage by processes
- Handles calls being made to devices
- Responds if a device goes off-line or reports a fault
File Management §
- Access to data stored on disks is a central feature of all operating systems
- Computers store data on disks using files, which are structured in specifc ways
- The specific way in which files are stored on a disk is called a file system, and enables files to have names and attributes
- It also allows them to be stored in a hierarchy of directories or folders arranged in a directory tree
- The file management component, therefore, provides:
- File naming conventions
- Directory (folder structure)
- Access control mechanism to storage drives
- Security Management
- Have Provision for recovery when data is lost
- Prevent intrusion (often via a software firewall)
- Ensure data privacy
- Have user level and file level security
- Monitor processes and enforce good behaviour