Definition of an Operating System
Management layer between user and the hardware.
Objectives of OS:
- Run user programs
- Facilitate access to all computer components
- Handle resources and tasks efficiently
System Components
- Process management
- I/O handling
- Buffer
- Interface for device drivers
- Drivers for specific hard ware devices
- Main memory management
- Secondary storage management
- Tracking of free space
- Space allocation
- Scheduling of disk I/O queries
- File management
- File/directory creation, deletion and manipulation
- Backup of files on a non-volatile storage media (secondary storage)
- Networking
- Management of port and network addresses for applications
- Management of communication protocols
- Management of machine addresses
- Security management
- Identify authorized and unauthorized accesses
- Specify the policies to enforce
- Provide the means to enforce them
- Command interpretation
- System calls: interface between process and OS
- Parameter passing via a table
OS Evolutions
- Mainframes
- Resident monitor
- Grouping tasks with similar needs
- Automate sequencing of executions
- Automatic transfer of control from one task to another
- Batch systems
- Batch multi-program systems
- Timesharing systems
- Personal systems
- Multi-processor systems
- Distributes systems