Porque os consoles atuais passaram a ter um sistema operacional?

Porque não tinhamos sistemas operacionais em consoles antigos?
Porque os consoles passaram a contar com um sistema operacional?

Este tópico é bastante interessante. Nunca parei pra pensar nisso.

A princípio, imaginei que todos os consoles teriam um sistema operacional, nem que fosse algo ridiculamente simples, mas não. Os cartuchos/CDs dos jogos já viam com o software para interagir diretamente com o hardware do console, não havia um sistema operacional para ser o “intermediário”, como é informado por muitas respostas na pergunta do quora do link logo abaixo:

https://www.quora.com/Did-early-game-consoles-have-underlying-operating-systems

Nossa, até o Game Cube e Playstation One não tinham sistem aoperacional! Mas do Playstation 2 em diante, os consoles passaram a contar com um SO.

Imagino que a manutenção de um SO além de facilitar o desenvolvimento de jogos para o console, permitia o console a fazer outras coisas, como rodar um filme em DVD como creio ter sido o caso do Playstation 2.

Mas ainda acho que consoles como Nintendo 64, Playstation One e Game Cube ainda vinham com uma BIOS/firmware que por si só é um mini-sistema operacional se não estou terrivelmente errado. A prova é que o Playstation One podia rodar CDs de música se minha memória não me trai.

Hmm, este link também é interessante.

5 Curtidas

Complexidade do projeto. Quando tudo era simples e focado nas mídias físicas em si, o projeto não precisava de nada muito sofisticado, era sentar, ligar o videogame e plugar o jogo, não tinha que instalar nada internamente, não funcionava como mídia center (só com acessórios), a experiência era mais local (exceto com o uso de periféricos) e nem existiam add-ons (fora os vindo com outras mídias físicas).

2 Curtidas

Porque no início o hardware era extremamente fraco e os programas (jogos) precisavam ser o mais otimizados possíveis, levando ao extremo a programação em assembler. Embora trabalhoso, era o único jeito de conseguir bons jogos.

Atualmente é mais valorizado a facilidade de programação, a velocidade de desenvolvimento, além de haver hardware extremamente mais potente. Isso leva a melhor jogos no sentido que que reutiliza partes já programadas como engines e modelos 3D. Criar hoje um jogo à moda antiga seria praticamente construir um sistema operacional inteiro para um propósito específico (o jogo).

2 Curtidas

Com a limitação técnica de hardware de antes inclusive, era necessário que a criatividade dos desenvolvedores se sobressaísse sobre a liberdade técnica, lembre-se que nas primeiras gerações as máquinas usadas para desenvolvimento tinham pouco mais poder que uma calculadora eletrônica moderna de camelô. Eram forçados a explorar o máximo. Hoje diante dos avanços, praticamente não existem empecilhos técnicos, de forma que é quase impossível explorar a exaustão todos os recursos de hardware e software de um jogo moderno.

2 Curtidas

Acho que o primeiro console com sistema operacional foi o Dreamcast, já que o mesmo em algum jogos utilizava a compatibilidade com o WindowsCE

1 Curtida

Nem todos os jogos utilizavam essa compatibilidade, somente alguns titulos distintos que geralmente eram ports oriundos do PC

Não necessariamente. O Nintendo 64 e o PlayStation mesmo tinham SDKs bem completos, vindos direto das empresas, que simplificavam um bocado de coisas para o programador, quase no nível de um sistema operacional (inclusive sistema de arquivos, API gráfica, etc.). Tem uma entrevista do programador do Crash Bandicoot para a Wired que ele explica que teve que fazer umas otimizações manuais na libc do PlayStation para liberar um pouco de RAM para o jogo. Esse é o tipo de problema que se tem quando o programador é obrigado a usar coisas simplificadas.


Acho que o principal motivo para se ter um SO em consoles modernos é a mídia digital e a internet (o primeiro comentário do @TiagoCardoso). Ainda que esse SDK estilo N64/PS fosse integrados no console e virassem sistemas operacionais “de verdade”, não seria nada prático baixar jogos para eles (você provavelmente teria que instalar o PlayStation Game Manager somente para Windows que viria com um rootkit antipirataria), nem baixar esse monte de app duplicando a função de smart TV.

2 Curtidas

Pois eu tinha em mente os fliperamas e o famoso Atari dos anos 80! kkkk Foi uma mudança incremental de geração a geração.

2 Curtidas

Na verdade tinha, era bem básico, tava mais pra gestor de boot (geralmente com 512 bytes), ele simplesmente carregava o sistema operacional no cartucho, isso era vantajoso porque fazendo assim você carregava na memória apenas o que o jogo precisava pra carregar, vale lembrar que nós estamos falando de kilobytes de memória

Primeiro porque os consoles passaram a ter funções multimédia e isso requer um sistema operacional ainda que extremamente básico pra decodificar, um exemplo são aparelhos de DVD e aquels players MP3, e o outro motivo é que os consoles ficaram mais poderosos… aí entra uma questão de lógica, qual o melhor jeito de aproveitar isso? Com um sistema operacional ou com recursos do próprio jogo (como texturas e sons melhorados)?

6 Curtidas

Os consoles antigos usavam firmwares para o básico, normalmente para controlar o hardware e seus acessórios. Muitas funções via software (como salvar jogo no próprio cartucho por exemplo) eram feitas usando uma função própria do jogo, enquanto proteções contra pirataria eram feitas através de chips especiais.

Não sei nada sobre os consoles antigos dos anos 70 - 80, como o Atari 2600 (e seus clones), Colecovision, consoles da Magnavox ou os clones do Pong.

Conforme os consoles ou seus add-ons começaram a ter mais funções, os firmwares ganharam um apelo visual melhor. Um exemplo é esta tela do Famicom Disk System:

Consoles mais modernos - como o Sega CD - já tinham uma interface gráfica mais intuitiva para acomodar as funções multimídia dos CDs, bem como alguns acessórios com software próprio - como o curioso “internet banking” Telebradesco para Mega Drive.

Porém, os consoles antes da era Playstation 2 e Dreamcast ainda eram bastante limitados como reprodutores multimídia, não por causa dos softwares, mas por causa dos hardwares da época. O Sega Saturn contornava as limitações de hardware através de add-ons como o Video CD Card, com softwares específicos como o Photo CD Operation System.

3 Curtidas

Desculpem-me por ressuscitar o tópico, mas este vídeo é bastante interessante:

1 Curtida

Isso depende do que você considera um sistema operacional, em termos de sistemas operacionais modernos, o motivo é simples, consoles não são apenas consoles mais e isso significa que definitivamente, um console não é mais uma máquina feita para apenas executar um jogo.

Hoje em dia consoles possuem HDs, com seu respectivo sistema de arquivos, compartilhado por inúmeros jogos, que com a ajuda de um gerenciador se atualizam sozinhos. Possui serviços de descoberta de dispositivos de rede, firewall, gestão de usuários, entrada para hardware genérico que dependem de drivers que devem ser instalados e estar acessíveis através de interfaces padronizadas, etc…

Se os consoles tivessem permanecido sem um OS, o desenvolvimento para console seria um caos de erros, insegurança, muitas gambiarras e menos popularização de algumas features modernas como integração online.

1 Curtida

Eu sou desenvolvedor de jogos, e até onde eu sei, é por causa do nível de complexidade.

Jogos nos anos 80 eram literalmente placas (você pode ver no GDLK se quiser), e mods desses jogos eram literalmente placas extras soldadas no jogo original.

Quando passaram pro cartucho, as vezes o pŕoprio console não aguentava e você tinha cartuchos maiores (que a nintendo não gostava muito) pra ajudar a processar os gráficos.

Com CDs isso tudio mudou, a Sony chutou a bunda da nintendo e desenvolvedores de repente tinham cetenas de MBs pra guardar informação, e a única preocupação era o Play Station rodar as instruções.

Agora o PS3 é um monstro completamente diferente. Jogos pesam demais, você quer acesso com a internet, você quer patches em jogos instalados, você quer patches para o play station, e você quer checar jogos originais, DLC… bla bla bla… isso tudo é algo que esperar que desenvolvedores dos dois lados (da própria sony, e dos jogos) tenham um conhecimento low level bem perto do Kernel seja um pouco absurdo.

A sony por exemplo, fez o play staton 3 mais caro e um pouco mais potente que o Xbox, mas isso era se você explorasse as cavernas com bruxaria antiga de coisas específicas da máquina que muitos desenvolvedores que não viam razão de fazer jogos exclusivos nunca exploraram. Isso só em programação, imagina se fosse ainda com a mentalidade de contar capacitores e esperar que um erro no dia 1 de lançamento arriscasse retornar todos os CDs ou até o próprio console.

Conforme o tempo foi passando se tornou mais barato fazer consoles mini computadores. É bem legal de ver essa evolução.

2 Curtidas

Na verdade a pergunta está equivocada.
Considerando que um relógio digital de cristal líquido do camelô vendido a R$ 10,00 tem sistema operacional, mas sabendo da complexidade e variedade da informática no mundo, ouso dizer que quase nenhum eletrônico no mundo não detem sistema operacional, dito isto, antes que alguém cite um exemplo de algo que realmente não tem, é apenas um proclame.

Então a pergunta tem que ser readaptada, no sentido de quando e por que videogames passaram a ter um sistema operacional perceptível e interativo ao usuário. Na verdade, é perceptível a partir do momento em que o usuário é obrigado a fazer mais do que antigamente, que era inserir a mídia e apertar um botão de ligar.

A resposta aí é bastante simples: as máquinas evoluíram e passaram a ser mais que um simples videogame. É exatamente o mesmo que ocorre com as modernas tv’s (smartTV), que ainda são um aparelho televisor convencional, mas que foi agregada uma camada de funcionalidades de serviços de streaming, aplicativos etc.

O “sistema operacional” sempre existiu, mas não estava “visível”. Aliás, uma boa característica é exatamente ele ser o menos perceptível possível. Dentro do SO estão incontáveis rotinas e procedimentos cuja interface de desenvolvimento é facilitada. Como tudo na informática, há o desenvolvimento em camadas. Sempre gosto de citar o exemplo do automóvel: você sabe, em qualquer lugar do mundo, que o pedal da direita acelera, o do meio/esquerda freia e o terceiro, se houver, é o da embreagem, e fica à esquerda. Independente do fabricante, do lugar do mundo e da tecnologia empregada ali, para você ser “motorista” e conduzir o veículo precisa saber que este é seu “protocolo” com sistema de motor, transmissão e freio. Você não precisa saber se o acelerador é por cabo ou eletrônico, se o pedal é fixado por cima ou por baixo.