História dos sistemas operacionais - History of operating systems

Os sistemas operacionais de computador (SOs) fornecem um conjunto de funções necessárias e usadas pela maioria dos programas aplicativos em um computador e os links necessários para controlar e sincronizar o hardware do computador. Nos primeiros computadores, sem sistema operacional, cada programa precisava de todas as especificações de hardware para funcionar corretamente e executar tarefas padrão, e seus próprios drivers para dispositivos periféricos , como impressoras e leitores de cartão de papel perfurado . A crescente complexidade do hardware e dos programas de aplicativos acabou tornando os sistemas operacionais uma necessidade para o uso diário.

Fundo

Os primeiros computadores eram mainframes que careciam de qualquer forma de sistema operacional. Cada usuário tinha uso exclusivo da máquina por um período programado de tempo e chegava ao computador com o programa e os dados, geralmente em cartões de papel perfurados e fita magnética ou de papel. O programa seria carregado na máquina e a máquina seria configurada para funcionar até que o programa fosse concluído ou travado. Os programas geralmente podem ser depurados por meio de um painel de controle usando dials, interruptores e luzes do painel.

Linguagens simbólicas, montadores e compiladores foram desenvolvidos para os programadores traduzirem o código do programa simbólico em código de máquina que anteriormente seria codificado manualmente. Máquinas posteriores vieram com bibliotecas de código de suporte em cartões perfurados ou fita magnética, que seriam vinculadas ao programa do usuário para auxiliar em operações como entrada e saída. Esta foi a gênese do sistema operacional moderno; no entanto, as máquinas ainda executam um único trabalho por vez. Na Universidade de Cambridge, na Inglaterra, a fila de empregos era outrora um varal onde fitas eram penduradas com prendedores de roupas de cores diferentes para indicar a prioridade do trabalho.

À medida que as máquinas se tornavam mais potentes, o tempo para executar programas diminuía e o tempo para entregar o equipamento ao próximo usuário tornava-se grande em comparação. A contabilização e o pagamento do uso da máquina passaram da verificação do relógio da parede para o registro automático pelo computador. As filas de execução evoluíram de uma fila literal de pessoas na porta, para uma pilha de mídia em uma mesa de espera de trabalhos, ou lotes de cartões perfurados empilhados um em cima do outro no leitor, até que a própria máquina fosse capaz de selecionar e sequenciar quais unidades de fita magnética processaram quais fitas. Onde os desenvolvedores de programas tinham originalmente acesso para executar seus próprios trabalhos na máquina, eles foram substituídos por operadores de máquina dedicados que cuidavam da máquina e estavam cada vez menos preocupados com a implementação manual de tarefas. Quando os centros de computação disponíveis comercialmente foram confrontados com as implicações da perda de dados por meio de adulteração ou erros operacionais, os fornecedores de equipamentos foram pressionados a aprimorar as bibliotecas de tempo de execução para evitar o uso indevido dos recursos do sistema. O monitoramento automatizado era necessário não apenas para o uso da CPU , mas para contar páginas impressas, cartões perfurados, cartões lidos, armazenamento em disco usado e para sinalizar quando a intervenção do operador era necessária em trabalhos como troca de fitas magnéticas e formulários de papel. Recursos de segurança foram adicionados aos sistemas operacionais para registrar trilhas de auditoria de quais programas estavam acessando quais arquivos e para impedir o acesso a um arquivo de folha de pagamento de produção por um programa de engenharia, por exemplo.

Todos esses recursos foram construídos em direção ao repertório de um sistema operacional totalmente capaz. Eventualmente, as bibliotecas de tempo de execução se tornaram um programa amalgamado que era iniciado antes do primeiro trabalho do cliente e podia ler no trabalho do cliente, controlar sua execução, registrar seu uso, reatribuir recursos de hardware após o término do trabalho e prosseguir imediatamente para processar o próximo trabalho. Esses programas residentes em segundo plano, capazes de gerenciar processos de várias etapas, eram freqüentemente chamados de monitores ou programas de monitoramento antes do termo "sistema operacional" se estabelecer.

Um programa subjacente que oferece gerenciamento básico de hardware, programação de software e monitoramento de recursos pode parecer um ancestral remoto dos sistemas operacionais orientados ao usuário da era da computação pessoal . Mas houve uma mudança no significado de SO. Assim como os primeiros automóveis não tinham velocímetros, rádios e aparelhos de ar condicionado que mais tarde se tornaram padrão, mais e mais recursos de software opcionais se tornaram recursos padrão em todos os pacotes de sistema operacional, embora alguns aplicativos como sistemas de gerenciamento de banco de dados e planilhas permaneçam opcionais e com preços separados. Isso levou à percepção de um SO como um sistema de usuário completo com uma interface gráfica de usuário integrada , utilitários, alguns aplicativos, como editores de texto e gerenciadores de arquivos , e ferramentas de configuração.

O verdadeiro descendente dos primeiros sistemas operacionais é o que agora é chamado de " kernel ". Nos círculos técnicos e de desenvolvimento, o antigo sentido restrito de um sistema operacional persiste devido ao desenvolvimento ativo contínuo de sistemas operacionais incorporados para todos os tipos de dispositivos com um componente de processamento de dados, de dispositivos portáteis a robôs industriais e controle em tempo real. sistemas, que não executam aplicativos de usuário no front-end. Um sistema operacional embutido em um dispositivo hoje não está tão distante quanto se poderia pensar de seu ancestral dos anos 1950.

As categorias mais amplas de sistemas e software de aplicativo são discutidas no artigo de software de computador .

Mainframes

O primeiro sistema operacional usado para trabalho real foi o GM-NAA I / O , produzido em 1956 pela divisão de Pesquisa da General Motors para seu IBM 704 . A maioria dos outros primeiros sistemas operacionais para mainframes IBM também foram produzidos por clientes.

Os primeiros sistemas operacionais eram muito diversos, com cada fornecedor ou cliente produzindo um ou mais sistemas operacionais específicos para seu computador mainframe em particular . Cada sistema operacional, mesmo do mesmo fornecedor, pode ter modelos radicalmente diferentes de comandos, procedimentos operacionais e recursos como auxiliares de depuração. Normalmente, cada vez que o fabricante trazia uma nova máquina, haveria um novo sistema operacional e a maioria dos aplicativos teria que ser manualmente ajustada, recompilada e testada novamente.

Sistemas em hardware IBM

A situação continuou até a década de 1960, quando a IBM , já um fornecedor líder de hardware, parou de trabalhar nos sistemas existentes e colocou todo o seu esforço no desenvolvimento da série de máquinas System / 360 , todas as quais usavam a mesma instrução e arquitetura de entrada / saída. A IBM pretendia desenvolver um único sistema operacional para o novo hardware, o OS / 360 . Os problemas encontrados no desenvolvimento do OS / 360 são lendários e descritos por Fred Brooks em The Mythical Man-Month - um livro que se tornou um clássico da engenharia de software . Por causa das diferenças de desempenho em toda a gama de hardware e atrasos no desenvolvimento de software, uma família inteira de sistemas operacionais foi introduzida em vez de um único OS / 360.

A IBM acabou lançando uma série de interrupções seguidas por dois sistemas operacionais de vida mais longa:

  • OS / 360 para sistemas de médio e grande porte. Isso estava disponível em três opções de geração de sistema :
    • PCP para usuários iniciais e para aqueles sem recursos para multiprogramação.
    • MFT para sistemas de médio porte, substituído por MFT-II no OS / 360 versão 15/16. Este teve um sucessor, OS / VS1 , que foi descontinuado na década de 1980.
    • MVT para grandes sistemas. Isso era semelhante em muitos aspectos ao PCP e MFT (a maioria dos programas poderia ser transferido entre os três sem ser recompilado ), mas tem um gerenciamento de memória mais sofisticado e um recurso de compartilhamento de tempo, o TSO . O MVT teve vários sucessores, incluindo o z / OS atual .
  • O DOS / 360 para modelos System / 360 pequenos teve vários sucessores, incluindo o atual z / VSE . Era significativamente diferente do OS / 360.

A IBM manteve total compatibilidade com o passado, de modo que os programas desenvolvidos nos anos 60 ainda podem ser executados em z / VSE (se desenvolvido para DOS / 360) ou z / OS (se desenvolvido para MFT ou MVT) sem alterações.

A IBM também desenvolveu o TSS / 360 , um sistema de compartilhamento de tempo para o System / 360 Modelo 67 . Supercompensando a importância percebida de desenvolver um sistema de timeshare, eles colocaram centenas de desenvolvedores para trabalhar no projeto. Os primeiros lançamentos do TSS eram lentos e não confiáveis; quando o TSS teve desempenho e confiabilidade aceitáveis, a IBM queria que seus usuários de TSS migrassem para OS / 360 e OS / VS2; embora a IBM oferecesse um TSS / 370 PRPQ, eles o abandonaram após 3 lançamentos.

Diversos sistemas operacionais para as arquiteturas IBM S / 360 e S / 370 foram desenvolvidos por terceiros, incluindo Michigan Terminal System (MTS) e MUSIC / SP .

Outros sistemas operacionais de mainframe

A Control Data Corporation desenvolveu os sistemas operacionais SCOPE na década de 1960, para processamento em lote e, mais tarde, desenvolveu o sistema operacional MACE para compartilhamento de tempo, que foi a base para o Kronos posterior . Em cooperação com a Universidade de Minnesota , o Kronos e, posteriormente, os sistemas operacionais NOS foram desenvolvidos durante a década de 1970, que suportavam o uso simultâneo em lote e tempo compartilhado. Como muitos sistemas comerciais de compartilhamento de tempo, sua interface era uma extensão do sistema de compartilhamento de tempo DTSS , um dos esforços pioneiros em compartilhamento de tempo e linguagens de programação.

No final dos anos 1970, a Control Data e a University of Illinois desenvolveram o sistema PLATO , que usava telas de plasma e redes de compartilhamento de tempo de longa distância. PLATO foi notavelmente inovador para sua época; o modelo de memória compartilhada da linguagem de programação TUTOR da PLATO permitiu aplicações como chat em tempo real e jogos gráficos multiusuário.

Para o UNIVAC 1107 , a UNIVAC , o primeiro fabricante comercial de computadores, produziu o sistema operacional EXEC I , e a Computer Sciences Corporation desenvolveu o sistema operacional EXEC II e o entregou à UNIVAC. EXEC II foi portado para o UNIVAC 1108 . Posteriormente, a UNIVAC desenvolveu o sistema operacional EXEC 8 para o 1108; foi a base para os sistemas operacionais dos membros posteriores da família. Como todos os primeiros sistemas de mainframe, EXEC I e EXEC II eram um sistema orientado a lote que gerenciava tambores magnéticos, discos, leitores de cartão e impressoras de linha; EXEC 8 suportava processamento em lote e processamento de transações on-line. Na década de 1970, o UNIVAC produziu o sistema Real-Time Basic (RTB) para suportar o compartilhamento de tempo em grande escala, também padronizado após o sistema Dartmouth BASIC .

A Burroughs Corporation apresentou o B5000 em 1961 com o sistema operacional MCP ( Master Control Program ). O B5000 era uma máquina stack projetada para suportar exclusivamente linguagens de alto nível, sem software, nem mesmo no nível mais baixo do sistema operacional, sendo escrita diretamente em linguagem de máquina ou assembly ; o MCP foi o primeiro sistema operacional a ser escrito inteiramente em uma linguagem de alto nível - ESPOL , um dialeto do ALGOL 60 - embora ESPOL tivesse declarações especializadas para cada "sílaba" no conjunto de instruções B5000. O MCP também introduziu muitas outras inovações revolucionárias, como ser uma das primeiras implementações comerciais de memória virtual . A reescrita do MCP para o B6500 ainda está em uso hoje na linha de computadores Unisys ClearPath / MCP.

A GE apresentou a série GE-600 com o sistema operacional General Electric Comprehensive Operating Supervisor (GECOS) em 1962. Depois que a Honeywell adquiriu o negócio de computadores da GE, ele foi renomeado para General Comprehensive Operating System (GCOS). A Honeywell expandiu o uso do nome GCOS para cobrir todos os seus sistemas operacionais na década de 1970, embora muitos de seus computadores não tivessem nada em comum com a série GE 600 anterior e seus sistemas operacionais não fossem derivados do GECOS original.

O projeto MAC no MIT, trabalhando com a GE e a Bell Labs , desenvolveu o Multics , que introduziu o conceito de níveis de privilégio de segurança em anel.

A Digital Equipment Corporation desenvolveu o TOPS-10 para sua linha PDP-10 de computadores de 36 bits em 1967. Antes do uso generalizado do Unix, o TOPS-10 era um sistema particularmente popular nas universidades e na comunidade ARPANET inicial . Bolt, Beranek e Newman desenvolveram TENEX para um PDP-10 modificado que suportava paging sob demanda ; este era outro sistema popular nas comunidades de pesquisa e ARPANET, e mais tarde foi desenvolvido pelo DEC em TOPS-20 .

A Scientific Data Systems / Xerox Data Systems desenvolveu diversos sistemas operacionais para a série de computadores Sigma , como o Basic Control Monitor (BCM), o Batch Processing Monitor (BPM) e o Basic Time-Sharing Monitor (BTM). Mais tarde, BPM e BTM foram sucedidos pelo Universal Time-Sharing System (UTS); foi projetado para fornecer serviços de multiprogramação para programas de usuário online (interativos), além de trabalhos de produção em modo lote. Foi sucedido pelo sistema operacional CP-V , que combinou UTS com o Sistema Operacional Xerox fortemente orientado para lotes .

Minicomputadores

A Digital Equipment Corporation criou vários sistemas operacionais para suas máquinas PDP-11 de 16 bits , incluindo o sistema RT-11 simples , os sistemas operacionais RSTS de compartilhamento de tempo e a família RSX-11 de sistemas operacionais em tempo real , bem como o Sistema VMS para as máquinas VAX de 32 bits .

Vários concorrentes da Digital Equipment Corporation, como Data General , Hewlett-Packard e Computer Automation, criaram seus próprios sistemas operacionais. Um deles, "MAX III", foi desenvolvido para computadores Modular Computer Systems Modcomp II e Modcomp III. Caracterizou-se por ter como mercado alvo o mercado de controle industrial. As bibliotecas Fortran incluíam uma que permitia o acesso a dispositivos de medição e controle.

A principal inovação da IBM em sistemas operacionais nesta classe (que eles chamam de "mid-range"), foi seu "CPF" para o System / 38 . Ele tinha endereçamento baseado em capacidade , usava uma arquitetura de interface de máquina para isolar o software aplicativo e a maior parte do sistema operacional das dependências de hardware (incluindo até detalhes como tamanho do endereço e tamanho do registro) e incluía um RDBMS integrado . O OS / 400 seguinte para o AS / 400 não possui arquivos, apenas objetos de diferentes tipos e esses objetos persistem em uma memória virtual plana muito grande, chamada de armazenamento de nível único. i5 / OS e posterior IBM i para iSeries continuam esta linha de sistema operacional.

O sistema operacional Unix foi desenvolvido na AT&T Bell Laboratories no final dos anos 1960, originalmente para o PDP-7 e, posteriormente, para o PDP-11. Por ser essencialmente gratuito nas primeiras edições, facilmente obtido e facilmente modificado, obteve ampla aceitação. Também se tornou um requisito nas empresas operacionais de sistemas Bell. Como foi escrito na linguagem C , quando essa linguagem foi portada para uma nova arquitetura de máquina, o Unix também foi capaz de ser portado. Essa portabilidade permitiu que ele se tornasse a escolha para uma segunda geração de minicomputadores e a primeira geração de estações de trabalho . Com uso generalizado, exemplificou a ideia de um sistema operacional que era conceitualmente o mesmo em várias plataformas de hardware e, mais tarde, se tornou uma das raízes dos projetos de software livre e de sistema operacional de software livre , incluindo GNU , Linux e Berkeley Software Distribution . O macOS da Apple também é baseado em Unix via NeXTSTEP e FreeBSD .

O sistema operacional Pick era outro sistema operacional disponível em uma ampla variedade de marcas de hardware. Lançado comercialmente em 1973, seu núcleo era uma linguagem semelhante ao BASIC chamada Data / BASIC e uma linguagem de manipulação de banco de dados no estilo SQL chamada INGLÊS. Licenciado para uma grande variedade de fabricantes e fornecedores, no início da década de 1980, os observadores viram o sistema operacional Pick como um forte concorrente do Unix.

Microcomputadores

A partir de meados da década de 1970, uma nova classe de pequenos computadores entrou no mercado. Apresentando processadores de 8 bits, normalmente o MOS Technology 6502 , Intel 8080 , Motorola 6800 ou o Zilog Z80 , junto com interfaces rudimentares de entrada e saída e tanta RAM quanto possível, esses sistemas começaram como computadores amadores baseados em kit, mas logo evoluíram para uma ferramenta de negócios essencial.

Computadores domésticos

Embora muitos computadores domésticos de oito bits da década de 1980, como BBC Micro , Commodore 64 , série Apple II , Atari 8 bits , Amstrad CPC , série ZX Spectrum e outros pudessem carregar um sistema operacional de carregamento de disco de terceiros , como CP / M ou GEOS , geralmente eram usados ​​sem um. Seus sistemas operacionais integrados foram projetados em uma época em que as unidades de disquete eram muito caras e não se esperava que fossem usadas pela maioria dos usuários, então o dispositivo de armazenamento padrão na maioria era uma unidade de fita usando cassetes compactas padrão . A maioria, senão todos, desses computadores são fornecidos com um interpretador BASIC embutido na ROM, que também serve como uma interface de linha de comando simples , permitindo ao usuário carregar um sistema operacional de disco separado para executar comandos de gerenciamento de arquivos e carregar e salvar em disco. O computador doméstico mais popular, o Commodore 64, era uma exceção notável, pois seu DOS estava na ROM do hardware da unidade de disco e a unidade era endereçada de forma idêntica a impressoras, modems e outros dispositivos externos.

Além disso, esses sistemas eram enviados com quantidades mínimas de memória de computador - 4 a 8 kilobytes era o padrão nos primeiros computadores domésticos - bem como processadores de 8 bits sem circuitos de suporte especializados, como um MMU ou até mesmo um relógio de tempo real dedicado . Nesse hardware, a sobrecarga de um sistema operacional complexo suportando várias tarefas e usuários provavelmente comprometeria o desempenho da máquina sem realmente ser necessário. Como esses sistemas foram vendidos em grande parte completos, com uma configuração de hardware fixa, também não havia necessidade de um sistema operacional para fornecer drivers para uma ampla gama de hardware para eliminar as diferenças.

Os videogames e até mesmo as planilhas , bancos de dados e processadores de texto disponíveis para computadores domésticos eram, em sua maioria, programas independentes que assumiam o controle total da máquina. Embora existisse software integrado para esses computadores, eles geralmente careciam de recursos em comparação com seus equivalentes independentes, em grande parte devido às limitações de memória. A troca de dados foi realizada principalmente por meio de formatos padrão como texto ASCII ou CSV , ou por meio de programas especializados de conversão de arquivos.

Sistemas operacionais em videogames e consoles

Como praticamente todos os consoles de videogame e gabinetes de fliperama projetados e construídos após 1980 eram verdadeiras máquinas digitais baseadas em microprocessadores (ao contrário dos clones anteriores de Pong e derivados), alguns deles carregavam uma forma mínima de BIOS ou jogo embutido, como o ColecoVision , o Sega Master System e o SNK Neo Geo .

Os consoles de jogos e videogames modernos, começando com o PC-Engine , todos têm um BIOS mínimo que também fornece alguns utilitários interativos como gerenciamento de cartão de memória , reprodução de CD de áudio ou vídeo , proteção contra cópia e às vezes carregam bibliotecas para desenvolvedores usarem, etc. Poucos desses casos, no entanto, seriam qualificados como um sistema operacional verdadeiro.

As exceções mais notáveis ​​são provavelmente o console de jogos Dreamcast , que inclui um BIOS mínimo, como o PlayStation , mas pode carregar o sistema operacional Windows CE a partir do disco do jogo, permitindo a fácil portabilidade de jogos do mundo do PC , e o console de jogos Xbox , que é pouco mais do que um PC baseado em Intel disfarçado rodando em segundo plano uma versão modificada e secreta do Microsoft Windows . Além disso, existem versões do Linux que rodam em um Dreamcast e em consoles de jogos posteriores.

Muito antes disso, a Sony havia lançado um tipo de kit de desenvolvimento chamado Net Yaroze para sua primeira plataforma PlayStation, que fornecia uma série de ferramentas de programação e desenvolvimento para serem usadas com um PC normal e um "Black PlayStation" especialmente modificado com interface com um PC e baixe programas dele. Essas operações requerem, em geral, um sistema operacional funcional em ambas as plataformas envolvidas.

Em geral, pode-se dizer que os consoles de videogame e máquinas operadas por moedas usavam no máximo um BIOS integrado durante as décadas de 1970, 1980 e a maior parte da década de 1990, enquanto a partir da era PlayStation e além começaram a ficar cada vez mais sofisticados, a ponto de exigir um sistema operacional genérico ou personalizado para auxiliar no desenvolvimento e na capacidade de expansão.

Era do computador pessoal

O desenvolvimento de microprocessadores tornou a computação barata disponível para pequenas empresas e amadores, o que por sua vez levou ao uso generalizado de componentes de hardware intercambiáveis ​​usando uma interconexão comum (como o S-100 , SS-50, Apple II , ISA e PCI ônibus ), e uma necessidade crescente de sistemas operacionais "padrão" para controlá-los. O mais importante dos primeiros sistemas operacionais nessas máquinas foi o CP / M -80 da Digital Research para as CPUs 8080/8085 / Z-80. Ele foi baseado em vários sistemas operacionais da Digital Equipment Corporation, principalmente para a arquitetura PDP-11. O primeiro sistema operacional da Microsoft, MDOS / MIDAS , foi projetado junto com muitos dos recursos do PDP-11, mas para sistemas baseados em microprocessador. O MS-DOS , ou PC DOS quando fornecido pela IBM, foi projetado para ser semelhante ao CP / M-80. Cada uma dessas máquinas tinha um pequeno programa de inicialização na ROM que carregava o próprio sistema operacional do disco. O BIOS nas máquinas da classe IBM-PC foi uma extensão dessa ideia e agregou mais recursos e funções nos 20 anos desde que o primeiro IBM-PC foi lançado em 1981.

O custo decrescente de equipamentos de exibição e processadores tornou prático fornecer interfaces gráficas de usuário para muitos sistemas operacionais, como o X Window System genérico que é fornecido com muitos sistemas Unix, ou outros sistemas gráficos, como o clássico Mac OS e macOS da Apple , a Radio Shack do Color Computer oS-9 Nível II / MultiVue , comodoro do AmigaOS , Atari TOS , IBM 's oS / 2 e Microsoft Windows . A GUI original foi desenvolvida no sistema de computador Xerox Alto no Xerox Palo Alto Research Center no início da década de 1970 e comercializada por muitos fornecedores nas décadas de 1980 e 1990.

Desde o final da década de 1990, houve três sistemas operacionais amplamente usados ​​em computadores pessoais: o macOS da Apple Inc. , o Linux de código aberto e o Microsoft Windows . Desde 2005 e a transição do Mac para os processadores Intel , todos foram desenvolvidos principalmente na plataforma x86 , embora o macOS tenha mantido o suporte para PowerPC até 2009 e o Linux continue sendo portado para uma infinidade de arquiteturas, incluindo 68k , PA-RISC e DEC Alpha , que foram substituídos e fora de produção, e SPARC e MIPS , que são usados ​​em servidores ou sistemas embarcados, mas não mais para computadores desktop. Outros sistemas operacionais, como AmigaOS e OS / 2, permanecem em uso, se em todo o caso, principalmente por entusiastas de retrocomputação ou para aplicativos embarcados especializados.

Sistemas operacionais móveis

No início da década de 1990, a Psion lançou o Psion Series 3 PDA , um pequeno dispositivo de computação móvel. Suportava aplicativos escritos pelo usuário em execução em um sistema operacional chamado EPOC . Versões posteriores do EPOC tornaram-se Symbian , um sistema operacional usado para telefones celulares da Nokia , Ericsson , Sony Ericsson , Motorola , Samsung e telefones desenvolvidos para NTT Docomo pela Sharp , Fujitsu & Mitsubishi . Symbian era o sistema operacional para smartphones mais usado no mundo até 2010, com um pico de participação de mercado de 74% em 2006. Em 1996, a Palm Computing lançou o Pilot 1000 e o Pilot 5000, executando o Palm OS . O Microsoft Windows CE foi a base para o Pocket PC 2000, renomeado para Windows Mobile em 2003, que em seu auge em 2007 foi o sistema operacional mais comum para smartphones nos Estados Unidos

Em 2007, a Apple lançou o iPhone e seu sistema operacional, conhecido simplesmente como iPhone OS (até o lançamento do iOS 4 ), que, como o Mac OS X , é baseado no Darwin, do tipo Unix . Além desses fundamentos, também introduziu uma interface gráfica de usuário poderosa e inovadora que mais tarde também foi usada no computador tablet iPad . Um ano depois, o Android , com sua própria interface gráfica do usuário, foi introduzido, com base em um kernel Linux modificado , e a Microsoft voltou a entrar no mercado de sistema operacional móvel com o Windows Phone em 2010, que foi substituído pelo Windows 10 Mobile em 2015.

Além desses, uma ampla gama de outros sistemas operacionais móveis estão competindo nesta área.

Ascensão da virtualização

Os sistemas operacionais originalmente rodavam diretamente no próprio hardware e forneciam serviços aos aplicativos, mas com a virtualização, o próprio sistema operacional é executado sob o controle de um hipervisor , em vez de estar no controle direto do hardware.

Em mainframes, a IBM introduziu a noção de uma máquina virtual em 1968 com CP / CMS no IBM System / 360 Model 67 , e estendeu isso mais tarde em 1972 com Virtual Machine Facility / 370 (VM / 370) em System / 370 .

Em computadores pessoais baseados em x86 , a VMware popularizou essa tecnologia com seu produto de 1999, VMware Workstation , e seus produtos 2001 VMware GSX Server e VMware ESX Server. Mais tarde, uma ampla gama de produtos de outros, incluindo Xen , KVM e Hyper-V significou que em 2010 foi relatado que mais de 80 por cento das empresas tinham um programa ou projeto de virtualização em vigor, e que 25 por cento de todas as cargas de trabalho de servidor teriam estar em uma máquina virtual.

Com o tempo, a linha entre máquinas virtuais, monitores e sistemas operacionais foi borrada:

  • Os hipervisores ficaram mais complexos, ganhando sua própria interface de programação de aplicativos, gerenciamento de memória ou sistema de arquivos.
  • A virtualização se torna um recurso chave dos sistemas operacionais, conforme exemplificado por KVM e LXC no Linux, Hyper-V no Windows Server 2008 ou HP Integrity Virtual Machines no HP-UX .
  • Em alguns sistemas, como servidores baseados em POWER5 e POWER6 da IBM, o hipervisor não é mais opcional.
  • Sistemas operacionais radicalmente simplificados, como CoreOS , foram projetados para funcionar apenas em sistemas virtuais.
  • Os aplicativos foram reprojetados para serem executados diretamente em um monitor de máquina virtual.

De muitas maneiras, o software de máquina virtual hoje desempenha a função anteriormente desempenhada pelo sistema operacional, incluindo gerenciamento de recursos de hardware (processador, memória, dispositivos de E / S), aplicação de políticas de agendamento ou permitindo que administradores de sistema gerenciem o sistema.

Veja também

Notas

Referências

Leitura adicional