Operating system

An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.

Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources.

For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, [1] [2] although the application code is usually executed directly by the hardware and frequently makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers.

The dominant desktop operating system is Microsoft Windows with a market share of around 83.3%. macOS by Apple Inc. is in second place (11.2%), and the varieties of Linux are collectively in third place (1.55%). [3] In the mobile ( smartphone and tablet combined) sector, according to third quarter 2016 data, Android by Google is dominant with 87.5 percent and a growth rate 10.3 percent per year, followed by iOS by Apple with 12.1 percent and a per year decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent. [4] Linux distributions are dominant in the server and supercomputing sectors. Other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications.

Types of operating systems

Single- and multi-tasking

A single-tasking system can only run one program at a time, while a multi-tasking operating system allows more than one program to be running in concurrency. This is achieved by time-sharing, dividing the available processor time between multiple processes that are each interrupted repeatedly in time slices by a task-scheduling subsystem of the operating system. Multi-tasking may be characterized in preemptive and co-operative types. In preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, e.g., Solaris, Linux, as well as AmigaOS support preemptive multitasking. Cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking. 32-bit versions of both Windows NT and Win9x, used preemptive multi-tasking.

Single- and multi-user

Single-user operating systems have no facilities to distinguish users, but may allow multiple programs to run in tandem. [5] A multi-user operating system extends the basic concept of multi-tasking with facilities that identify processes and resources, such as disk space, belonging to multiple users, and the system permits multiple users to interact with the system at the same time. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources to multiple users.

Distributed

A distributed operating system manages a group of distinct computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they form a distributed system. [6]

Templated

In an OS, distributed and cloud computing context, templating refers to creating a single virtual machine image as a guest operating system, then saving it as a tool for multiple running virtual machines. The technique is used both in virtualization and cloud computing management, and is common in large server warehouses. [7]

Embedded

Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems.

Real-time

A real-time operating system is an operating system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, it uses specialized scheduling algorithms so that a deterministic nature of behavior is achieved. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts

Library

A library operating system is one in which the services that a typical operating system provides, such as networking, are provided in the form of libraries and composed with the application and configuration code to construct a unikernel: a specialized, single address space, machine image that can be deployed to cloud or embedded environments.

Other Languages
Acèh: OS
Alemannisch: Betriebssystem
العربية: نظام تشغيل
azərbaycanca: Əməliyyat sistemi
Bân-lâm-gú: Chok-gia̍p hē-thóng
беларуская (тарашкевіца)‎: Апэрацыйная сыстэма
davvisámegiella: Operatiivavuogádat
Esperanto: Operaciumo
客家語/Hak-kâ-ngî: Chok-ngia̍p hì-thúng
한국어: 운영 체제
hornjoserbsce: Dźěłowy system
Bahasa Indonesia: Sistem operasi
Interlingue: Operativ systema
íslenska: Stýrikerfi
Lëtzebuergesch: Betribssystem
македонски: Оперативен систем
Bahasa Melayu: Sistem pengendalian
Mìng-dĕ̤ng-ngṳ̄: Chŏ̤-cáuk hiê-tūng
Nederlands: Besturingssysteem
नेपाल भाषा: अपरेटिङ सिस्टम
norsk nynorsk: Operativsystem
oʻzbekcha/ўзбекча: Ishlatuv tizimi
Pälzisch: Betriebssyschdem
Plattdüütsch: Bedriefssystem
português: Sistema operativo
Qaraqalpaqsha: Operatsion sistema
Ripoarisch: Bedriefsystem
русиньскый: Операчна сістема
Simple English: Operating system
slovenčina: Operačný systém
slovenščina: Operacijski sistem
Soomaaliga: Operating system
српски / srpski: Оперативни систем
srpskohrvatski / српскохрватски: Operativni sistem
Basa Sunda: Sistim Operasi
Taqbaylit: Anagraw n wammud
татарча/tatarça: Операцион система
Tiếng Việt: Hệ điều hành
粵語: 作業系統
žemaitėška: Uoperacėnė sėstema
中文: 操作系统