Nos primeiros computadores criados nas décadas de 1940 e 1950, os programas eram desenvolvidos diretamente em linguagem de máquina e exigiam, dos programadores, um altíssimo conhecimento do hardware do computador para seu desenvolvimento. Com isso, os programas eram extremamente complexos, pois a maior parte das instruções eram para fazer o hardware funcionar. Além disso, somente um programa poderia ser executado por vez.
Termo do glossário: Hardware: é a parte física de um computador, formado pelos componentes elétricos, eletrônicos, chips, e circuitos, sendo a máquina física propriamente dita.
No início da computação centenas de fios eram interconectados e centenas ou milhares de chaves eram posicionadas para fazer a programação de um computador. Ao final do processamento algumas luzes no painel eram acesas e os programadores (na época, geralmente engenheiros) faziam as leituras dessas luzes e realizavam alguns cálculos para interpretar os resultados. A Figura 2 apresenta o ENIAC, que foi o primeiro computador eletrônico de propósito geral, com seus painéis com fios e chaves de programação.
Uma das peculiaridades que distinguiram o ENIAC de todos os computadores posteriores foi a forma como as instruções eram configuradas na máquina. Os engenheiros exerciam o papel de programadores, determinando quais módulos deveriam ser interligados e em que ordem. Um grupo de técnicos treinados de posse de esquemas de ligação realizava a conexão dos módulos, de forma que a máquina pudesse ser energizada e os cálculos realizados. Nesta época o computador não era programável, pois seu hardware era modificado para cada tipo de problema diferente, o que representava uma tarefa complexa e delicada. Para realizar a programação eram usados gráficos de programação, mostrados na Figura 3, com a representação da fiação e conexões necessárias para configurar um programa. (STALLINGS,2002).
Interatividade: Você pode visualizar o ENIAC em operação no vídeo ENIAC thefirst general purposeelectroniccomputer,disponível em:
Após os cálculos, o resultado era apresentado em um painel de luzes, mostrado na Figura 4, cujos resultados deviam ser interpretados por um especialista.
Os primeiros computadores eram enormes e de difícil operação, pois eram grandes máquinas de calcular, fabricados com circuitos baseados em relés, dispositivos eletromecânicos e válvulas eletrônicas. Apresentavam constantes problemas de funcionamento devido à queima desses componentes, exigindo que todo trabalho fosse recomeçado. Devido ao custo altíssimo de produção e operação, seu uso era restrito a órgãos militares e governamentais e grandes universidades (JANDL, 2004).
Os computadores passaram a ser desenvolvidos baseados no modelo de máquina genérica proposto pelo matemático Von Neumann, formado por um bloco de memória, um bloco de processamento e um bloco de dispositivos de entrada e saída. Neste modelo, a sequência de passos necessária para a execução de um programa é armazenada na própria memória do computador e pode resolver diferentes tipos de problemas sem necessidade de alterar o hardware. Este conceito de programa armazenado na memória e computador programável é utilizado até hoje.
Na década de 1950, a fabricação do transistor permitiu o desenvolvimento de computadores menores e mais confiáveis, iniciando a comercialização para grandes empresas e órgãos governamentais. Em 1951 foi criado o oUnivac-I (Universal Automatic Computer), que foi o primeiro computador comercial, e em 1953 a IBM lançou o IBM 701, seu primeiro computador digital. A programação desses computadores ainda exigia um alto grau de conhecimento sobre o funcionamento dos mesmos, e dos seus circuitos e dispositivos, de modo que o uso dos mesmos era restrito a especialistas (JANDL, 2004).
Como a possibilidade de programar o computador ao invés de conectar fios e cabos, foi desenvolvido um mecanismo no qual os programas eram codificados em cartões perfurados, mostrados na Figura 5. A Figura 6 apresenta uma máquina para codificar os cartões, que posteriormente eram lidos e interpretados pelo computador para a execução do programa.
Os programas e os dados para serem processados eram organizados em tarefas, que eram lidas por uma máquina leitora de cartões perfurados e os dados eram gravados numa fita magnética. A fita magnética era levada para o computador, que interpretava a tarefa e realizava o processamento, gravando em outra fita magnética os resultados de cada tarefa. Esta fita de saída era lida por outra máquina que fazia a impressão das listagens e relatórios (JANDL, 2004).
Esses primeiros computadores utilizavam cartões perfurados como entrada e muitas páginas de impressão de dados como saída. Desta forma, era necessário um enorme conhecimento dos programadores e técnicos da época para compreender o que os incontáveis caracteres significavam.
Assim, a programação que inicialmente era realizada totalmente baseada em ligar e desligar chaves e conectar e desconectar cabos, passou a ser realizada por meio da codificação de programas, que continuam fazendo com que chaves e circuitos sejam ligados ou desligados, porém de forma eletrônica, pois um programa de computador é um conjunto de instruções para o processador sob a forma de código binário (uma sequência de zeros e uns), que fazem com que milhares de chaves e circuitos sejam ligados e desligados para realizar os cálculos e computar os resultados.
Ainda assim, a programação era uma tarefa complexa, pois cada programador precisava conhecer todos os detalhes do hardware do computador. Com o passar do tempo, os fabricantes de computadores passaram a desenvolver um programa que controlasse o hardware do computador e esse programa passou a fornecer as funcionalidades do hardware para os demais programas. Assim, ao desenvolver um programa de computador, o programador simplesmente fazia, de forma bem mais simples, uma requisição a esse programa para acessar as funcionalidades do hardware. Com isso, o programador passou a não se preocupar mais com o funcionamento do hardware e pôde focar na programação específica do seu aplicativo.
Esse software que gerencia o hardware ficou encarregado de todo o serviço complexo. Esse software, responsável por gerenciar o hardware, é chamado de Sistema Operacional (SO). Um SO é, portanto, um software que habilita as aplicações a interagir com o hardware de um computador (DEITEL, 2005).
Termo do glossário:
Software: é uma sequência de instruções escritas para serem executadas por um computador com o objetivo de executar tarefas específicas. São os programas de computador.
Sistema operacional: é um programa ou um conjunto de programas que habilita as aplicações a interagir com o hardware de um computador, gerenciando os recursos e oferecendo uma interface amigável para o usuário.
A utilização de um sistema operacional permitiu o uso e programação do computador de forma mais segura, confiável e coerente, pois a gerência dos recursos do hardware deixou de ser preocupação do programador. Isso também permitiu que vários programas fossem executados simultaneamente, como um lote de tarefas, dando origem ao termo processamento em lote (batch processing). Os sistemas em lote impulsionaram o uso comercial dos computadores na década de 1950, quando foi desenvolvida a primeira linguagem de programação de alto nível: o IBM FORTRAN (Formula Translator), em 1957 (JANDL, 2004).
Em uma sessão FTP típica, o usuário, sentado à frente de um hospedeiro (o local), quer transferir arquivos de ou para um hospedeiro remoto. Para acessar a conta remota, o usuário deve fornecer uma identificação e uma senha. Após fornecer essas informações de autorização, pode transferir arquivos do sistema local de arquivos para o sistema remoto e vice-versa. Como mostra a Figura 2.14, o usuário interage com o FTP por meio de um agente de usuário FTP. Em primeiro lugar, ele fornece o nome do hospedeiro remoto, o que faz com que o processo cliente FTP do hospedeiro local estabeleça uma conexão TCP com o processo servidor FTP do hospedeiro remoto. O usuário então fornece sua identificação e senha, que são enviadas pela conexão TCP como parte dos comandos FTP. Assim que autorizado pelo servidor, o usuário copia um ou mais arquivos armazenados no sistema de arquivo local para o sistema de arquivo remoto (ou vice-versa). O HTTP e o FTP são protocolos de transferência de arquivos e têm m...
Os processos podem ser classificados de acordo com a forma como utilizam o processador. Seguindo esta taxonomia, temos dois tipos principais, os processos CPU-bound e I/O-bound. Nos processos CPU-bound, a principal característica consiste em fazer poucas operações de leitura e escrita. Estes processos são comumente encontrados em aplicações científicas e estão estreitamente associados com a execução de cálculos complexos. Saiba mais: Os processos CPU-bound têm a maior parte das instruções exigem processamento da CPU e passam a maior parte do tempo nos estados em execução ou pronto (na fila de espera para usar a CPU). Em contrapartida, os processos I/O-bound realizam um elevado número de operações de entrada/saída, por exemplo, lendo e escrevendo dados em discos e imprimindo resultados para os usuários. Os processos I/O-bound são normalmente encontrados em aplicações comerciais, por exemplo, os sistemas de controle de estoque ou sistemas de pagamentos. Saiba mais: Os processos I/...
Um sistema operacional de rede é simplesmente um sistema operacional com serviços de rede, que chamamos de um modo geral de “servidor”. Dependendo do caso em que a rede se encontra, podemos usar vários tipos de estruturas de servidores, algumas delas estão citadas abaixo: 1.Cliente-Servidor 2.Ponto-a-ponto 3.Terminal burro 4.Cloud Mas para que servem os servidores? Simples, servem para suprir as necessidades dos usuários, que neste contexto chamamos de “clientes”. Alguns exemplos de necessidades e soluções baseadas em sistemas operacionais de rede estão descritos abaixo. Para integrar um banco de arquivos de uma empresa, instalamos um servidor de arquivos ftp . Se a empresa possui um software que necessite de vários bancos de dados, instalamos um servidor de banco de dados. Se os alunos de uma escola entram em material impróprio no contexto escolar, instalamos um servidor proxy. Se um projeto necessita de grande poder de processamento, usamos um sistema ponto-a-ponto ou um servidor clo...
Comentários
Postar um comentário