Processamento em lote

É um tipo de processamento de dados multiprogramavel em fila ou lote (grandes quantidades), sendo o primeiro de seu gênero, implementados na década de 1960 e não dependendo da interação com o usuário. Os programas, também chamados de jobs, eram executados a partir de cartões perfurados, onde poderiam possuir metadados associados ou alguma indicação de prioridade de recursos.

Vantagens

Benefícios do Processamento em Lote:

  • Acelera o processamento de informações em massa;
  • Busca evitar a ociosidade do computador, não necessitando de supervisão ou interação do usuário;
  • Permite o uso de diferentes prioridades para trabalhos interativos e não interativos;
  • Executa apenas uma vez o programa para processar grandes quantias de dados, reduzindo a sobrecarga de sistema.

Desvantagem

  • Ele possui várias, entre elas o usuário não consegue finalizar um processo durante a sua execução, é necessário aguardar até a finalização do processo.

História

O termo "processamento em lote" se refere a produção de vários itens de uma só vez, fazendo uma produção em massa onde todas as etapas são feitas de uma só vez.Isso vem desde o século XIX, no processamento de dados armazenados pelos cartões perfurados por equipamentos de registro de unidades. Um exemplo é a máquina de tabulação de Herman Hollerith[2].Os cartões armazenavam um registro com diferentes campos, sendo eles processados um por um pela máquina, de forma igual. O modelo de processamento em lote continuou a ser dominante desde o início da computação eletrônica em meados dos anos 50.O processamento em Lotes pode ser idealizado nos dias de hoje como comandos SQL, analisando colunas, linhas etc.Inicialmente as máquinas que as processavam foram construídas como hard-wired realizando apenas uma função, assim era necessário uma máquina para cada estágio.Pelo final da década de 60 a computação interativa domina por meio das interfaces de terminal, como exemplo em shells Unix. As interfaces gráficas de usuário veio a se tornar algo comum após isso. Na computação não interativa o sistema de processamento em lotes continuou sendo bem utilizado, um bom exemplo disso é o MTS (Michigan Terminal System).A computação não interativa está bem difundida dentro das tecnologias atuais, tanto nos processamentos de dados como para manutenções de sistema, ou a utilização de scripts.

Por exemplo, para processar dados usando dois programas, exemplo1 e exemplo2, é possível obter dados iniciais de uma entrada de arquivo e armazenar o resultado final em um arquivo:

step1 < input > intermediatestep2 < intermediate > output

O processamento em lote pode ser substituído por um fluxo: o arquivo intermediário pode ser eliminado com um tubo, alimentando a saída de um passo para o próximo à medida que se torna disponível:

step1 < input | step2 > output

Modernização

O processamento em lote ainda é utilizado para no final do dia gerar um relatório, ou processamentos de provas como por exemplo o ENEM, sendo bastante utilizados quando se precisa de uma conclusão confiável dentro de determinado prazo e em alguns aplicativos onde é necessário apenas uma única entrada com várias informações.

Aplicações em lote modernas fazem uso de estruturas em lote modernas, como Jem The Bee, Spring Batch ou implementações do JSR 352 [3] escritas para Java, e outras estruturas para outras linguagens de programação, para fornecer tolerância a falhas e escalabilidade necessárias para processamento de alto volume . Para garantir o processamento em alta velocidade, os aplicativos em lote geralmente são integrados a soluções de computação em grade para particionar um trabalho em lote em um grande número de processadores, embora haja desafios de programação significativos ao fazer isso. O processamento em lote de alto volume coloca também demandas particularmente pesadas nas arquiteturas de sistemas e aplicativos. Arquiteturas que apresentam forte desempenho de entrada / saída e escalabilidade vertical, incluindo computadores mainframe modernos, tendem a fornecer melhor desempenho de lote do que as alternativas.As linguagens de script se tornaram populares à medida que evoluíram junto com o processamento em lote.

Batch window

O processamento em lote ou Batch Window consiste no tempo em que o sistema de computador é capaz de executar trabalhos em lote sem a interferência de sistemas on-line. Muitos dos primeiros sistemas de computador ofereciam apenas processamento em lote, de modo que os trabalhos pudessem ser executados a qualquer momento dentro de um dia de 24 horas. Com o advento do processamento de transações, as solicitações on-line podem ser solicitadas apenas das 9h às 17h, deixando dois turnos disponíveis para o trabalho em lote, neste caso, a processamento do lote seria dezesseis horas. O problema geralmente não é que o sistema de computador é incapaz de suportar trabalho on-line e em lote simultâneo, mas que os sistemas em lote geralmente exigem acesso a dados em um estado consistente, livre de atualizações on-line até que o processamento em lote seja concluído.Um exemplo é o processamento de final de dia de um banco, onde os dados até determinado horário estão na processamento do dia atual e os dados após este horário são jogados para a processamento do próximo dia. Por isso existem os depósitos até as 15h para ter um processamento no mesmo dia. A processamento do lote é ainda mais complicada pelo tempo de execução real de uma atividade em lote específica. Alguns lotes no banco podem levar entre 5 e 9 horas de tempo de execução, juntamente com restrições globais. Algumas atividades do lote são interrompidas ou paralisadas para permitir o uso periódico de bancos de dados no meio do lote (geralmente em somente leitura) para suportar scripts de teste automatizados. executar durante a noite ou terceirizado\testando contratos e recursos de desenvolvimento no exterior. Problemas mais complexos surgem quando as instituições têm atividades em lote que podem ser dependentes, o que significa que ambos os lotes precisam ser concluídos na mesma processamento de lote.Conforme os requisitos de tempo de atividade dos sistemas on-line foram expandidos para suportar a globalização, a Internet e outros requisitos de negócios, a processamento de lote diminuiu e a ênfase foi colocada em técnicas que exigiriam que os dados on-line estivessem disponíveis por um período máximo.

Uso de processamento em lote comum

Bancos de Dados

O processamento em lote também é usado para atualizações eficientes do banco de dados em massa e para o processamento automatizado de transações, em comparação com os aplicativos de processamento interativo de transações online (OLTP). A etapa de extração, transformação, carregamento (ETL) no preenchimento de data warehouses é inerentemente um processo em lote na maioria das implementações.

Imagens

O processamento em lote geralmente é usado para executar várias operações com imagens digitais, como redimensionar, converter, marca d'água ou editar arquivos de imagem.

Conversões

O processamento em lote também pode ser usado para converter arquivos de computador de um formato para outro. Por exemplo, um trabalho em lotes pode converter arquivos proprietários e legados em formatos padrão comuns para consultas e exibição de usuários finais.

Ambientes de programação e execução em lote notáveis

Os programas cron, at e batch do Unix (o lote atual é uma variante de at) permitem o agendamento complexo de tarefas. O Windows possui um agendador de tarefas. A maioria dos clusters de computação de alto desempenho usa o processamento em lote para maximizar o uso do cluster.O sistema operacional ou plataforma de mainframe z / OS da IBM tem indiscutivelmente o conjunto de instalações de processamento em lote mais altamente refinado e evoluído devido às suas origens, longa história e evolução contínua. Atualmente, esses sistemas geralmente suportam centenas ou mesmo milhares de tarefas on-line e em lote simultâneas em uma única imagem do sistema operacional. As tecnologias que auxiliam o processamento em lote e on-line simultâneo incluem linguagem Job Control (JCL), linguagens de script como REXX, Job Entry Subsystem (JES2 e JES3), Workload Manager (WLM), Automatic Restart Manager (ARM), Resource Recovery Services (RRS) , Compartilhamento de dados DB2, Parallel Sysplex, otimizações de desempenho exclusivas, como HiperDispatch, arquitetura de canais de E/S e vários outros.

Referencias

Jump up ^ Austrian, Geoffrey D. (1982). Herman Hollerith: Forgotten Giant of Information Processing. Columbia University Press. pp. 41, 178–179.

MACHADO, F. B.; MAIA, L. P. Arquitetura de sistemas operacionais. 5ª ed. Rio de Janeiro: LTC – Livros Técnicos Científicos, 2013.

[2] FERNANDES, L. M. Sistemas Operacionais. 3ª ed. Fortaleza - CE: EdUECE - Universidade Estadual do Ceará, 2015.

[3] "Batch Applications for the Java Platform". Java Community Process. Retrieved 2015-08-03.

TANEMBAUM, A. S. Sistemas operacionais modernos. 2 ª ed. São Paulo: Prentice Hall, 2003.

DEITEL, H. M.; DEITEL P. J.; CHOFFNES, D. R. Sistemas operacionais. 3ª ed. São Paulo: Pearson Prentice Hall, 2008.

NUNES, J. R. S. Introdução aos sistemas operacionais. Rio de Janeiro: LTC, 1990.

OLIVEIRA, R. S.; CARISSIMI, A. S.; TOSCANI, S. S. Sistemas operacionais. 3ª ed. Porto Alegre: Instituto de Informática da UFRGS,2004.

STATO F. A. Domínio Linux: do básico aos servidores. 2ª ed. Florianópolis: Visual Books, 2004.

SILBERSCHATZ, A; GALVIN, P. B; GAGNE, G. Fundamentos de sistemas operacionais. 6ª ed. Rio de Janeiro: LTC – Livros Técnicos Científicos, 2002.

TANEMBAUM, A. S. Operating systems: design and implementation. Englewood Cliffs: Prentice Hall, 1997.


Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.