Módulo II - Tipos de Softwares de Computadores

pag. 1/4

Este módulo é composto de 04 páginas onde você terá conceitos básicos de microinformática, desde os fundamentos de um sistema operacional, até metodologias de programação; mas tenha sempre em mente que os assuntos tratados não o são de forma completa.

Dividimos este módulo em:

Introdução;
Sistemas Operacionais
;
Programas Aplicativos ;e
Programas de Sistemas.

ELEMENTOS DE UMA JANELA

Um computador é uma máquina digital capaz de solucionar problemas através da execução de seqüências de instruções que lhe são fornecidas. Denomina-se programa (software) essa seqüência de instruções que descreve como executar uma determinada tarefa.

Entretanto, como veremos no decorrer desse módulo, um computador é feito de componentes eletrônicos (hardware), entre esses o microprocessador é o que mais possui “inteligência”, sendo capaz de executar um conjunto limitado de instruções; essas instruções básicas raramente são mais complicadas do que somar dois números, verificar se um número é zero, ou mover um dado de uma parte da memória para outra. Outro ponto a ser observado é que a linguagem que um microprocessador compreende, é formada de sinais digitais que representam os níveis lógicos 0 e 1 somente; essa linguagem é feita simples porque é executada diretamente pelos circuitos eletrônicos que compõem o computador, se fosse complexa os circuitos teriam que ser ainda mais complexos e caros.

Como um computador pode executar os modernos programas que estamos acostumados a ver atualmente, como os processadores de texto, programas gráficos e programas multimídia, utilizando instruções tão simples? Como os complexos programas de computadores podem ser escritos e executados pelo computador, se o microprocessador não pode reconhecê-los diretamente? A resposta a estas perguntas está na forma como os computadores são organizados quanto execução de softwares.

HISTÓRICO

Um computador é uma máquina de propósito geral. Isso significa que o mesmo equipamento serve para diversas funções, dependendo basicamente dos programas que nele são executados. Os primeiros computadores construídos eram mecânicos e executavam os mesmos tipos de instruções simples tais como somar ou subtrair dois números e testar uma condição de igualdade.

A primeira máquina foi construída no ano de 1834 por um americano chamado Charles Babbage e foi chamada de Máquina Analítica, essa máquina utilizava uma linguagem de programação simples e podia, portanto, ser programada para realizar cálculos matemáticos diferentes, o que não acontecia com as máquinas inventadas até então. A importância dessa máquina mecânica foi mais histórica, pois a tecnologia da época não permitia que a idéia fosse implementada com inteiro sucesso.

12200a - Maq. Analítica
12200b - ENIAC

A primeira geração de computadores eletrônicos surgiu na época da Segunda Guerra Mundial, por volta do ano de 1945. O COLOSSUS, construído em 1943 pelo governo britânico é considerado o primeiro computador eletrônico digital do mundo. Ele foi utilizado para decifrar mensagens criptografadas dos adversários (escritas de forma codificada de modo que somente quem conhecia a chave do código poderia decifrá-las). O seu projeto foi considerado segredo militar na época e por isso não teve outras aplicações. Outro computador construído na mesma época chamou-se ENIAC (Eletronic Numerical Integrator and Computer), e também tinha objetivos de realizar cálculos militares. Ele era constituído de 18.000 válvulas eletrônicas, 1.500 relés, possuía 30 toneladas e consumia 140 kilowatts de energia.

Outra geração de computadores ocorreu com a invenção do transistor no final da década de 50, tornando obsoletos os computadores valvulados. Finalmente, a invenção dos circuitos integrados e o posterior desenvolvimento desses dispositivos com larga escala de integração (VLSI – very large scale integration), possibilitou a popularização dos microcomputadores, a partir da década de 80.

LINGUAGEM DE BAIXO NÍVEL

Além da grande diferença tecnológica de hardware existente entre as gerações de computadores, também existem diferenças no modo como os programas eram escritos. Os primeiros computadores eram difíceis de serem programados, porque as linguagens disponíveis eram linguagens numéricas, mais apropriadas para os circuitos processadores (usando a base binária 0 e 1). Essas linguagens, chamadas de linguagens de baixo nível, são tediosas e de difícil utilização. Logo se percebeu que havia a necessidade de desenvolver um meio de criar linguagens de programação que fossem mais fáceis de serem utilizadas pelos seres humanos.

A técnica utilizada para criar linguagens mais fáceis foi a de organizar o computador em camadas de software, sendo que cada camada define um novo “computador virtual”, com seu conjunto de instruções característico, como mostrado na figura ao lado (Organização de um computador em camadas de software).

fig12200c

SISTEMA OPERACIONAL

No próximo nível (de software) encontramos o sistema operacional. O sistema operacional é quem confere aos computadores modernos as características que serão vistas pelos usuários. Ele é o programa que efetivamente coloca o computador em funcionamento útil. É ele quem gerencia todas as funções do computador, tais como leitura e escrita de arquivos em discos, reconhecimento das teclas pressionadas no teclado, etc. Outra característica presente nos sistemas operacionais modernos é a capacidade de permitir que vários programas aplicativos sejam executados “simultaneamente”, e, a essa característica denominamos multitarefa.

Os próximos níveis na estrutura de software fornecem linguagens para programação de computadores. O nível da linguagem de montagem (assembly language) proporciona uma linguagem simbólica para a programação do microprocessador. Ao invés de escrever as instruções para o microprocessador em forma numérica, que é o que ele entende, são utilizados símbolos ou mnemônicos (palavras abreviadas) que representam as instruções de máquina do microprocessador, essas instruções são passadas para uma representação matemática na base hexadecimal (opcode – código de operação) e só então são decodificadas para a base binária, que é a que o microprocessador realmente processa. Cada instrução na linguagem de montagem corresponde a uma única instrução em linguagem de máquina do microprocessador. Ela é considerada uma linguagem de baixo nível de entendimento.

As linguagens orientadas a problemas são linguagens de programação que se aproximam mais da linguagem escrita pelo ser humano. As instruções presentes nessas linguagens determinam ações que geralmente são executadas por várias instruções de máquina do microprocessador, diferentemente, portanto, da linguagem assembly que, como já foi visto, tem em cada instrução um único correspondente em linguagem de máquina.

Essa forma de ver o computador como uma estrutura de camadas de softwares auxilia a visualizar como o microprocessador e seu conjunto de instruções simples pode ser a base para os modernos computadores com suas aplicações complexas.

Os microprocessadores são usados em inúmeras outras aplicações que não sejam em microcomputadores, como será visto no decorrer do curso, essas aplicações possuem características próprias diferentes das apresentadas até aqui.

ICEA/EAD © 2005
Sistemas Operacionais