An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system. At the foundation of all system software, an operating system performs basic tasks such as controlling and allocating memory, prioritizing system requests, controlling input and output devices, facilitating networking and managing file systems. Most operating systems come with an application that provides a user interface for managing the operating system, such as a command line interpreter or graphical user interface. The operating system forms a platform for other system software and for application software.
The most commonly-used contemporary desktop OS is Microsoft Windows, with Mac OS X also being well-known. Linux and the BSD are popular Unix-like systems. For mainframe computers. IBM dominant the operating system technologies. The core functions of an operating system have been evolving over the past few decades. The following is a list of the operating system core functions as we understand today:
Kernel
Process management
Passes information between OS Components
Input-Output
Plug and Play
Buffering
Virtual Drives
Device Drives
Direct Memory Access (DMA)
Peripherals
Block Devices
Character Devices
Memory Management
Multitasking
Security
Allocating Resources
User Interfaces
Natural Language Interface
Graphical User Interface
Command Line Interface
Menu Driven
Form filling
File Management
Hierarchical Filing Systems – NTFS, FAT32, FAT, Ext2
Metadata – Permissions, Size, Location, Attributes
Security
Personal Firewall
User Account Management
Utility Programs
Task Scheduler
Search
Backup
Virus checking
Disk defragmentation
File Compression
Disk Formatting tools
Disk partitioning tools
Networking functions
Ethernet
TCP/IP
Microsoft protocols
IBM SNA protocols
Network File Sharing (NFS)
