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).
Nessa aula iremos ver uma breve discussão sobre alguns dos comandos mais comuns do FTP. Os comandos, do cliente para o servidor, e as respostas, do servidor para o cliente, são enviados por meio da conexão de controle no formato ASCII de 7 bits. Assim, tal como comandos HTTP, comandos FTP também podem ser lidos pelas pessoas. Para separar comandos sucessivos, um ‘carriage return’ e um ‘line feed’ encerram cada um deles. Cada comando é constituído de quatro caracteres ASCII maiúsculos, alguns com argumentos opcionais. Alguns dos comandos mais comuns são descritos a seguir: USER username: usado para enviar identificação do usuário ao servidor. PASS password: usado para enviar a senha do usuário ao servidor. LIST: usado para pedir ao servidor que envie uma lista com todos os arquivos existentes no atual diretório remoto. A lista de arquivos é enviada por meio de uma conexão de dados (nova e não persistente), e não pela conexão TCP de controle. RETR filename: usado para extrair (isto é, ob...
Existem inúmeros tipos de SOs, mas eles podem ser categorizados de acordo com os tipos de aplicativos e usuários que eles suportam. Os principais são: a) Sistema operacional de tempo real: sistemas operacionais de tempo real são usados para controlar máquinas, instrumentos científicos e sistemas industriais. Um sistema desse tipo normalmente possui muito pouca capacidade de interface do usuário e nenhum utilitário de usuário final, uma vez que o sistema atenderá uma única aplicação e não pode ser interrompido. O detalhe mais importante é que esse sistema precisa gerenciar os recursos do computador para que uma determinada operação seja executada precisamente na mesma quantidade de tempo, sempre que ocorrer; b) Monousuário, monotarefa: este tipo de SO foi projetado para gerenciar o computador para que um único usuário possa, efetivamente, fazer uma coisa por vez. O DOS nos primeiros computadores pessoais e o Palm OS para PDAs é um bom exemplo de um SO de uma única tarefa; c) Monousuár...
Um servidor web é uma tecnologia que permite armazenar, processar e entregar páginas web para os usuários via protocolo HTTP (Hypertext Transfer Protocol) ou HTTPS (HTTP Secure). Ele é essencial para disponibilizar conteúdo na internet, como websites, aplicativos e serviços online. A instalação de um servidor web envolve configurar o ambiente onde ele será executado, definir os diretórios onde os arquivos serão armazenados e implementar as configurações de segurança para proteger o servidor e os dados nele contidos. O que é um Servidor Web? Definição: Um servidor web é um software e hardware responsável por aceitar solicitações HTTP ou HTTPS e retornar o conteúdo solicitado ao usuário. Este conteúdo pode ser uma página HTML, um arquivo ou até uma resposta dinâmica gerada por linguagens como PHP ou Python. Principais Protocolos: HTTP e HTTPS. Funcionalidade: Responde a solicitações de clientes (navegadores), enviando conteúdos como páginas HTML e arquivos multimídia. Aplicações: Hospeda...
Comentários
Postar um comentário