miniatura|Estrutura en capas mostrando a posición dun Sistema Operativo típico nos sistemas de software empregados nos escritorios. Por orde, usuario, aplicacións, sistema operativo, hardware. Un sistema operativo (SO), (en inglés operating system OS) é o software de sistema que manexa os recursos de hardware e software e fornece servizos comúns para os programas informáticos. O sistema operativo é un compoñente esencial para un sistema informático.
Os sistemas operativos de tempo compartido programan as tarefas para un uso eficiente do sistema e tamén poden incluír software de contabilidade para a asignación de custos do tempo do procesador, almacenamento masivo, periféricos e outros recursos.
Para funcións de hardware como entrada/saída e xestión de memoria, o sistema operativo actúa como intermediario entre os programas e o hardware do computador, aínda que o código da aplicación adoita ser executado directamente polo hardware e con frecuencia fai chamadas ao sistemas a unha función do SO ou é interrompido por el. Os sistemas operativos atópanse en moitos dispositivos que conteñen un computador, desde teléfonos móbiles e consolas de videoxogos ata servidores webs e supercomputadoras.
En setembro de 2023, no mercado de computadores persoais Microsoft Windows tiña unha cota de mercado dominante de ao redor do 68%. macOS de Apple Inc. ocupa o segundo lugar (20%), e as variedades de Linux, incluído ChromeOS, ocupan colectivamente o terceiro lugar (7%). Así mesmo nesa mesma data no sector dos móbiles (incluídos teléfonos intelixentes e tabletas) a cota era: Android do 68,92%, seguido de iOS e iPadOS de Apple, cun 30,42%, e outros sistemas operativos, cun 0,6%. As distribucións Linuxs dominan nos sectores de servidores e supercomputación. Outras clases especializadas de sistemas operativos (sistemas operativos para fins especiais), como sistemas embebidos e sistemas en tempo real, existen para moitas aplicacións. Tamén existen sistemas operativos centrados na seguridade. Algúns sistemas operativos teñen requisitos de sistema baixos (por exemplo as minidistribucións de Linux). Outros poden ter requisitos de sistema máis elevados.
Algúns sistemas operativos requiren instalación ou poden vir preinstalados cos ordenadores comprados (instalación OEM), mentres que outros poden executarse directamente desde dispositivos (por exemplo, un CD autónomo) ou memoria flash (por exemplo, unha memoria USB). Historia Os primeiros computadores construíanse para realizar unha serie de tarefas individuais (exemplo unha calculadora). Na década de 1950 desenvolvéronse as características básicas dos sistemas operativos, como as funcións de monitor residente que podían executar automaticamente diferentes programas en sucesión para acelerar o procesamento. Os sistemas operativos non existiron nas súas formas modernas e máis complexas ata principios da década de 1960. Engadíronse características de hardware que permitían o uso de bibliotecas de tempo de execución, interrupcións e procesamento paralelo. Cando os ordenadores persoais popularizáronse na década de 1980, creáronse para eles sistemas operativos similares en concepto aos utilizados en computadores máis grandes.
Na década de 1940, os primeiros sistemas electrónicos dixitais non tiñan sistemas operativos. Naquela época, os sistemas electrónicos programábanse en filas de interruptores mecánicos ou mediante pontes en placas de conexión. Tratábase de sistemas especiais que, por exemplo, xeraban táboas de balística para o exército ou controlaban a impresión de cheques de nómina a partir de datos en tarxetas de papel perforadas. Despois de que se inventasen os computadores programables de propósito xeral, introducíronse os linguaxes de máquina (consistentes en cadeas de díxitos binarios 0 e 1 en cintas de papel perforado) que aceleraban o proceso de programación (Stern, 1981). miniatura|upright|OS/360 utilizouse na maioría dos computadores centrais IBM a partir de 1966, incluídos os computadores utilizados polo programa Apolo.A principios dos anos 50, un computador só podía executar un programa á vez. Cada usuario tiña o uso exclusivo do computador durante un período limitado e chegaba a unha hora programada co seu programa e os datos en tarxetas de papel perforado ou cinta perforada. O programa cargábase na máquina e esta poñíase a traballar ata que o programa completábase ou colgábase. Polo xeral, os programas podíanse depurar a través dun panel frontal mediante interruptores de panca e luces do panel. Dise que Alan Turing era un mestre disto na primitiva máquina Manchester Mark 1, e que xa estaba a derivar a concepción primitiva dun sistema operativo a partir dos principios da máquina universal de Turing.
As máquinas posteriores viñan con bibliotecas de programas, que se enlazaban ao programa do usuario para axudar en operacións como a entrada e saída e compilación (xeración de código máquina a partir de código simbólico lexible por humanos). Esta foi a xénese do sistema operativo actual. Con todo, as máquinas seguían executando un único traballo á vez. Na Universidade de Cambridge (Inglaterra), a cola de traballos era un tendedeiro do que colgaban cintas con pinzas de diferentes cores para indicar a prioridade dos traballos.
A finais da década de 1950, empezaron a aparecer programas que un recoñecería como un sistema operativo. O primeiro exemplo recoñecible é GM-NAA I/O, lanzado en 1956 no IBM 704. O primeiro exemplo coñecido que realmente se refería a si mesmo foi o SHARE Operating System, un desenvolvemento de GM-NAA I/O, publicado en 1959. Nun artigo de maio de 1960 no que se describía o sistema, George Ryckman sinalaba:
Un dos exemplos máis famosos que se atopa a miúdo nas discusións sobre os primeiros sistemas é o Atlas Supervisor, que funcionaba no Atlas en 1962. Facíase referencia a el como tal nun artigo de decembro de 1961 no que se describía o sistema, pero o contexto de "o sistema operativo" vai máis na liña de "o sistema funciona á moda". O propio equipo de Atlas utilizou o termo "supervisor", que era moi utilizado xunto con "monitor". Brinch Hansen describiuno como "o avance máis significativo na historia dos sistemas operativos". Unidade central (mainframe) Ao longo da década de 1950, moitas características importantes foron pioneiras no campo dos sistemas operativos en unidades centrais (mainframe), incluíndo procesamento por lotes, interrupción de entrada/saída, buffering, multitarea, spooling, bibliotecas en tempo de execución, enlazador, e programas para clasificación de rexistros en arquivos. Estas características incluíanse ou non no software de aplicación a elección dos programadores de aplicacións, no canto de nun sistema operativo independente utilizado por todas as aplicacións. En 1959, o SHARE Operating System foi lanzado como unha utilidade integrada para o IBM 704, e máis tarde nos mainframes 709 e 7090, aínda que foi rapidamente suplantado por IBSYS/IBJOB nos 709, 7090 e 7094, que á súa vez influíron nos posteriores sistemas operativos 7040-PR-150 (7040/7044) e 1410-PR-155 (1410/7010).
Durante a década de 1960, o OS/360 de IBM introduciu o concepto dun único sistema operativo que abarcaba toda unha liña de produtos, o que foi crucial para o éxito das máquinas System/360. Os actuais sistemas operativos para mainframes de IBM son descendentes afastados deste sistema orixinal e as máquinas modernas son retrocompatibles coas aplicacións escritas para OS/360.
OS/360 tamén foi pioneiro no concepto de que o sistema operativo realiza un seguimento de todos os recursos do sistema que se utilizan, incluída a asignación de espazo para programas e datos na memoria principal e o espazo para arquivos no almacenamento secundario, e bloqueo de arquivos durante as actualizacións. Cando un proceso termina por calquera razón, todos estes recursos son recuperados polo sistema operativo.
O sistema alternativo CP-67 para o S/360-67 iniciou toda unha liña de sistemas operativos IBM centrados no concepto de máquina virtual. Outros sistemas operativos utilizados nos mainframes IBM da serie S/360 incluían sistemas desenvolvidos por IBM: DOUS/360 (Sistema Operativo de Disco), TSS/360 (Sistema de Tempo Compartido), TOSE/360 (Sistema Operativo de Cinta), BOS/360 (Sistema Operativo Básico), e ACP (Programa de Control de Aeroliñas), así como algúns sistemas non IBM: MTS (Michigan Terminal System), MUSIC (Multi-User System for Interactive Computing), e ORVYL (Stanford Timesharing System).
Control Data Corporation desenvolveu o sistema operativo SCOPE na década de 1960, para o procesamento por lotes. En cooperación coa Universidade de Minnesota, nos anos 70 desenvolvéronse os sistemas operativos Kronos e máis tarde NOS, que soportaban simultaneamente o uso por lotes e o tempo compartido. Como moitos sistemas comerciais de tempo compartido, a súa interface era unha extensión dos sistemas operativos BASIC de Dartmouth, un dos esforzos pioneiros en tempo compartido e linguaxes de programación. A finais dos 70, Control Data e a Universidade de Illinois desenvolveron o sistema operativo PLATO, que utilizaba pantallas de plasma e redes de tempo compartido a longa distancia. Plato foi notablemente innovador para a súa época, xa que incluía chat en tempo real e xogos gráficos multiusuario.
En 1961, Burroughs Corporation presentou a B5000 co sistema operativo MCP (Master Control Program). O B5000 era unha máquina de pila deseñada para soportar exclusivamente linguaxes de alto nivel sen ensamblador; De feito, o MCP foi o primeiro sistema operativo escrito exclusivamente nunha linguaxe de alto nivel (ESPOL, un dialecto de ALGOL). MCP tamén introduciu moitas outras innovacións pioneiras, como ser a primeira implementación comercial de memoria virtual. MCP séguese utilizando hoxe en día na liña de computadores MCP/ClearPath da compañía Unisys.
UNIVAC, o primeiro fabricante de computadores comerciais, produciu unha serie de sistemas operativos EXEC. Como todos os primeiros sistemas de Unidade central, este sistema por lotes xestionaba tambores magnéticos, discos, lectores de tarxetas e impresoras de liña. Na década de 1970, UNIVAC produciu o sistema Real-Time Basic (RTB) para soportar a compartición de tempo a gran escala, tamén baseado no sistema Dartmouth BC.
General Electric desenvolveu o General Electric Comprehensive Operating Supervisor (GECOS), que soportaba principalmente o procesamento por lotes. Tras a súa adquisición por Honeywell, pasou a chamarse General Comprehensive Operating System (GCOS).
Bell Labs, General Electric e o MIT desenvolveron Multiplexed Information and Computing Service (Multics), que introduciu o concepto de niveis de privilexio de seguridade anillados.
Dixital Equipment Corporation desenvolveu moitos sistemas operativos para as súas diversas liñas de computadores, incluídos os sistemas de tempo compartido TOPS-10 e TOPS-20 para os sistemas da clase PDP-10 de 36 bits. Antes de que se xeneralizase o uso de UNIX, TOPS-10 era un sistema especialmente popular nas universidades e na primeira comunidade ARPANET. RT-11 era un sistema operativo en tempo real monousuario para o miniordenador de clase PDP-11, e RSX-11 era o sistema operativo multiusuario correspondente.
Desde finais da década de 1960 ata finais da década de 1970, desenvolvéronse varias capacidades de hardware que permitiron que software similar ou portado executásese en máis dun sistema. Os primeiros sistemas utilizaran microprogramación para implementar características nos seus sistemas co fin de permitir que diferentes arquitecturas de computadors subxacentes parecesen ser as mesmas que outras dunha serie. De feito, a maioría dos 360 posteriores, os 360/40 (excepto o 360/44, 360/75, 360/91, 360/95 e 360/195), eran implementacións microprogramadas.