O que exatamente é um mainframe e o que exatamente um programador faz com isso?


6

Eu procurei muito (googled) mas nada me responde claramente. Pelo que obtenho, computadores "imensos" com "muitos" CPUs rodando software "legado" escrito em linguagens "legadas" são mainframes e os programadores os "mantêm".

Estou confuso. Primeiramente, uma nuvem poderia ser considerada um mainframe ou se eu construísse um sistema com 23 processadores com grande quantidade de RAM e espaço em disco, seria um mainframe? E o trabalho do programador?

Então, chego a este lugar que tem a reputação de dar respostas rápidas e relevantes. Por favor explique. :)


Uma nuvem nunca será um mainframe. Eles fazem coisas drasticamente diferentes.
Ignacio Vazquez-Abrams

4
uma nuvem é uma matriz redundante de sistemas baratos. Um mainframe é um sistema muito caro, muito caro, com grandes quantidades de, bem, tudo
Journeyman Geek

1
Mainframes pode executar nuvens. Eles podem ter milhares de servidores virtuais em execução simultaneamente.
Anthony Giorgio

Respostas:


8

MAINFRAME: substantivo. Um dispositivo obsoleto ainda usado por milhares de empresas obsoletas que atendem bilhões de clientes obsoletos e obtêm enormes lucros obsoletos para seus acionistas obsoletos. E a corrida deste ano foi duas vezes mais rápida que a do ano passado. (do dicionário do diabo do diabo )

Abaixo estão duas seções. Um no que são mainframes, o outro em programadores de mainframe.


A primeira coisa que você precisa saber sobre mainframes é que eles são projetados para uma finalidade diferente de muitos computadores modernos.

Os computadores de hoje são todos sobre a velocidade e a potência do processador. Ocasionalmente, um PC fica travado em um ciclo de espera e às vezes até falha.

Os mainframes, por outro lado, são sobre confiabilidade, disponibilidade e capacidade de manutenção (RAS).

  • Confiabilidade. Esta palavra é usada tanto no sentido de hardware (eles continuam funcionando) quanto no sentido de dados (corrupção de dados é ultrajante). Veja minhas notas abaixo sobre por que isso é verdade.

  • Disponibilidade. Os mainframes têm algo chamado de "cinco noves", o que significa que o fator "up time" de um mainframe é 0.99999 ou colocado em linguagem simples, um mainframe pode rodar 24x7x365 sem parar suportando milhares de usuários simultâneos por um ano inteiro e pode ser confiavelmente contado para não ficar "para baixo" por mais de 5 minutos no total do ano.

  • Facilidade de Manutenção. Um mainframe é construído com muitos circuitos personalizados, cada um focado em uma tarefa especial. Se alguma parte começar a falhar, o problema será detectado automaticamente e outro circuito assumirá e o operador do sistema será notificado. Se o circuito com problema precisar ser substituído, geralmente isso pode ser feito enquanto o computador continua funcionando.

Os computadores modernos começam com uma Unidade Central de Processamento genérica (como a série x86) e o software do SO é gravado usando os códigos de CPU existentes. Mas a razão pela qual os mainframes são tão sólidos é porque o hardware e o software são co-projetados.

Se o sistema operacional precisa continuamente fazer uma tarefa complexa em um PC, então uma rotina é escrita e chamada pela CPU, que faz todo o trabalho. Mas em um mainframe - se a demanda por ele é alta o suficiente - às vezes um circuito especializado é projetado e instalado dedicado a essa tarefa. Por exemplo, em alguns mainframes modernos existem circuitos especializados apenas para criptografar e descriptografar dados e outros circuitos apenas para executar o código Java. Há também circuitos especiais para falar com drives de disco e impressoras, para que o processador não fique preso em trivialidades. E, claro, há uma tonelada de circuitos especiais projetados para evitar a corrupção de dados. Em um PC moderno, tudo isso é feito pela CPU.

A coisa mais próxima que temos dos PCs são (1) co-processadores de matemática e (2) coprocessadores gráficos, ambos invenções relativamente modernas para PCs, mas os mainframes estavam fazendo esse tipo de coisa há mais de 50 anos.

Uma última coisa: a maior força dos mainframes em como eles são usados ​​é algo chamado de processamento maciço de transações paralelas . Essa é a capacidade de um único mainframe se comunicar com dezenas de milhares de usuários e / ou outros sistemas ao mesmo tempo. Pense em todos os sistemas de ponto de venda do cartão de débito em praticamente todas as lojas / postos de gasolina / restaurantes em que você faz compras. Todos eles conversam com um mainframe toda vez que alguém rouba um cartão e uma resposta é retornada normalmente em menos de um segundo depois de pesquisar por bilhões de registros.

A conclusão: a menos que algo saia muito errado (e, mesmo assim, geralmente é causado por erro humano), os mainframes não param e não travam. Os dados que eles manipulam são acessados ​​com rapidez e precisão. Eles são chamados de "ferro grande" por um bom motivo.

Consulte http://www.mainframes360.com/2009/06/what-is-frame-computer.html e também http://www.wired.com/2015/01/z13-mainframe/ para mais informações.


Você também perguntou sobre programadores "manter" o computador ...

Mainframes tem dois tipos diferentes de programadores. O primeiro tipo é o que você está acostumado, programadores de aplicativos . Estas são as pessoas que escrevem usando COBOL e C ++ e JAVA para trabalhar com bancos de dados e relatórios e coisas assim. O outro tipo é chamado de programador de sistema e seu trabalho é manter o sistema operacional e monitorar o hardware.

O código legado é simplesmente um código "herdado" de gerações anteriores de programadores. É um bom código sólido que funciona e, porque funciona, as empresas que o usam preferem não substituí-lo por um código "novo" que possa ter bugs. Como acontece com todas as coisas de software que exigem que o código seja ocasionalmente modificado e é aí que os programadores especializados em código legado são necessários. Eles conhecem essas linguagens e sistemas antigos e esse conhecimento é valioso para empresas que usam mainframes e outros tipos de computadores antigos.

Cada usuário de PC tem uma combinação única de aplicativos e hardware. No entanto, a Microsoft envia periodicamente "atualizações" de tamanho único para o Windows e você as aceita ou rejeita. Mesma coisa com algumas das várias distribuições Linux. E, às vezes, essas atualizações causam problemas porque não funcionam corretamente com seu hardware e software.

Um mainframe é como um avião, ganha dinheiro quando funciona e perde dinheiro quando não funciona. Um mainframe é incrivelmente caro para ficar inativo ou travado devido a uma atualização incorreta e as empresas que operam com eles não podem arcar com "problemas". Então eles têm programadores de sistema para evitar esses problemas.

O trabalho de um programador de sistemas é analisar as atualizações do sistema operacional (patches) da IBM e testá-las ANTES de instalá-las para garantir que elas não causem problemas nessa máquina específica. Eles realmente examinam partes do código-fonte das atualizações e as comparam com a configuração de hardware e software da empresa. Se necessário, eles trabalharão com a IBM para personalizar a atualização para que ela funcione com segurança com seu sistema exclusivo.

O programador do sistema precisa conhecer cada aplicativo que está instalado e cada peça de hardware que está conectada. Ele ou ela é responsável por qualquer coisa e tudo que muda no sistema.

Esta é uma pequena parte do que um programador de sistemas faz, e o período típico de treinamento para um programador de sistemas especialistas é de 10 a 20 anos.

Consulte https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_sysprogrole.htm para obter mais informações.


Então, parece que é impossível para um dos 30 + idade para entrar no papel de programador do sistema como um novato ...
Nicholas Humphrey

4

Os mainframes que eu costumava trabalhar nos níveis de prioridade de CPU alocados e RAM para terminais burros que, na verdade, agiam como computadores por si mesmos. Dessa forma, muitos usuários podem executar programas no mesmo computador sem interferir uns com os outros. O hardware de mainframe consistia em vários PCBs, cada um com sua própria função. O processador central pode consistir em mais de uma placa, por exemplo, registradores, unidade lógica aritmética, processador de ponto flutuante, etc.


Até o P2SC aparecer, que moveu todos eles para um chip.
Ignacio Vazquez-Abrams

2
O perigo aqui é que eu poderia começar a falar sobre fita de papel, mag core e máquinas de lavar de 57Mb. Tudo poderia acabar em um debate no estilo Monty Python ... :)
Tog

@Tog ... falou como um verdadeiro dinossauro. :)
OMY

4

A definição oficial da Wikipedia pode ser encontrada no computador Mainframe .

Algumas décadas atrás, um mainframe era simplesmente um computador não portátil, instalado em seu próprio armário, com todos os seus periféricos ao redor, bem como o ar-condicionado. Mas esses computadores fisicamente grandes não tinham nem mesmo o poder de computação dos notebooks de hoje.

Desde então, essas grandes CPUs mainframe foram substituídas por multi-CPU frames, sentados (novamente) em seu armário com ar-condicionado.

Finalmente (não ria), minha própria definição para mainframe seria: "Um computador não portátil que requer ar condicionado". Na minha opinião, o ar-condicionado é deixado como o único identificador confiável para um mainframe.

Quanto às línguas "legadas", muitas delas ainda são muito mais usadas hoje do que as linguagens "modernas". O COBOL ainda faz o mundo girar, não o C ++. Você deve defini-las simplesmente como "idiomas que foram inventados há algumas décadas". Muitos deles conseguiram fazer alguns levantamentos no rosto, por isso hoje não são tão antiquados.

imagem


"(não ria)" Desculpe, não pude evitar.
Ignacio Vazquez-Abrams

Então, meu smartphone Android mantido sob AC também seria um mainframe :) Falando sério, e sobre o trabalho dos programadores? Eu simplesmente não consigo imaginar o que "maintanence" significa.
Rama

Seu smartphone Android não precisa de AC para funcionar. A manutenção é a mesma que em qualquer outro computador, exceto que é mais complicado por ter mais hardware e programas maiores (mais linhas de código) e cujos programadores originais têm uma boa chance de não estar por perto.
harrymc

Qualquer grupo de racks com kit de montagem em rack em uma sala de servidores precisará de HVAC.
paradroid

@paradroid: Um grupo de racks não é definido como "um computador". No momento, minha definição engraçada ainda é válida :)
harrymc

2

Eu sempre me referi, assim como os programadores ao meu redor que trabalham nele, um mainframe sendo nosso IBM iSeries. Um servidor principal (temos 2) com estações remotas conectando-se a ele como terminais. Em nosso ambiente, os terminais remotos são thin clients Windows XP Embedded que executam o IBM iSeries Access e a linguagem de programação usada no iSeries é RPG.

De muito pouco eu entendo, ele vem com mais processadores do que usamos (CPU sob demanda) - os trabalhos podem ser em lotes e atribuídos uma prioridade. Esse é um dos típicos bancos de telas verdes, embora usemos todas as 16 cores para facilitar a leitura e temos algumas funcionalidades de clique do mouse na tela.

Estamos no processo de migrar para um novo, que veio em seu próprio rack da marca IBM (o antigo era apenas um modelo de andar em pé).

O iSeries Access é apenas um programa telnet glorificado (eu me conectei a ele via telnet via meu Mac) e meu site se conecta a ele via ODBC. Além do iSeries Access (sendo um programa do Windows), não há GUI. É tudo o que parece um prompt de comando. O iSeries Navigator existe, mas nós não o usamos (isso seria o mais próximo de uma GUI que temos)

Eu trabalhei para 2 bancos no passado e todos eles usaram alguma forma de máquina como esta da IBM. Antes de comprarmos esse novo rack, consideramos mudar para um sistema blade, mas isso exigiria muito mais tempo de migração do que gostaríamos. Nossos administradores do iSeries trabalharam em um cassino e tinham uma sala inteira dedicada a vários sistemas de rack. Em nossa indústria, há 1 outro concorrente e sua base Intel. Nosso aplicativo é escrito em casa e foi escrito para IBM e RPG.

O "i" é uma classe - há outros; zSeries vem à mente.

-Mario


1
  • Mainframe é um computador de grande escala fabricado pela IBM desde 1952. Ele é conhecido como Big Iron . O termo refere-se aos gabinetes grandes chamados de quadros principais de grande número de CPUs e dispositivos de E / S.
  • A maioria dos computadores mainframe é vendida pela IBM com z / OS . O z / OS é um sistema operacional de 64 bits para mainframes IBM, produzido pela IBM em 2001.
  • O computador de mainframe que suporta milhares de aplicativos atende milhares de usuários simultaneamente.
  • As empresas usam o Mainframe para hospedar bancos de dados comerciais, servidores de transações e aplicativos.
  • O z / OS em execução na plataforma System z da IBM vem executando silenciosamente sistemas críticos há décadas, fornecendo excelente desempenho, confiabilidade e segurança. No entanto, muitas organizações estão sendo cortejadas pelo UNIX, com sua promessa de custos mais baixos, facilidade de uso e maior aceitação.

1

O termo mainframe geralmente se refere a grandes sistemas projetados pela IBM no início da fabricação de computadores comerciais. Foi o primeiro de um tipo de sistema construído para que as empresas hospedassem seus aplicativos e apresentassem uma proposta de valor que os programas escritos hoje rodariam inalterados no futuro. Preservando ostensivamente o valor do investimento em programação.

Existem opiniões diferentes, mas quando a maioria das pessoas se refere ao mainframe, elas estão pensando no hardware IBM Z (conhecido como zSeries) e no sistema operacional z / OS.

O zSeries sofreu algumas mudanças radicais desde que foi concebido e distribuído nos anos 60. Então foi conhecida como a arquitetura 360 que evoluiu para 370 e agora 390 arquiteturas de hardware. Ele também hospedou vários sistemas operacionais, incluindo VSE, TPF, z / VM (o hipervisor original para hospedar vários sistemas operacionais no mesmo hardware simultaneamente). O big dog é z / OS que evoluiu do MVT -> MVS -> MVS / SP -> MVS / XA -> z / OS. Este sistema operacional foi construído para ser altamente resiliente e, em algumas lojas, o sistema operacional pode permanecer em operação por anos antes de ser desativado ou desativado (IPL).

Ao longo dos anos, o z / OS adotou linguagens e tempos de execução diferentes do CICS ou IMS executando programas COBOL. Atualmente, o z / OS executa o Java, o Node, bem como um conjunto de ferramentas e serviços comuns vistos em outras plataformas, como Python, Perl, entre outros.

Em suma, o mainframe é uma tecnologia que está nas mãos dos usuários há mais de 50 anos, inovou continuamente e incorpora as tecnologias que são importantes para os negócios. Pode ser desajeitado se você usar os emuladores de terminal antigos, mas também canta quando faz interface com o uso de APIs REST.

O que você pode fazer? Melhor dito, o que você não pode fazer?


0

Mainframe é composto de vários multiprocessadores, processadores vetoriais e Processadores Massivelly (MPP) conectados através de barramento interconectado de grande escala, tem a capacidade de processar funções de processamento multimídia e de ter RAM e ROM tendo muita capacidade de enviar e receber dados em muito oi Rapidez. Programas no Mainframe são principalmente Register oriented tem programas multi-nível


-1

Eu considero um mainframe qualquer sistema grande que se baseia no modelo cliente / servidor / terminal. Isto é, existe um grande computador que faz todos os cálculos e terminais para cada usuário que serve apenas para se conectar ao mainframe.


1
Isso não é realmente tão perto de corrigir.
Ignacio Vazquez-Abrams

Talvez em 1973 isso fosse verdade, mas não mais.
Anthony Giorgio
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.