Beruflich Dokumente
Kultur Dokumente
Apostila 1
Conceitos Básicos
O Sistema Operacional é um conjunto de programas executado pelo processador, cuja principal função é
controlar o funcionamento do computador, como um gerente dos recursos disponíveis. Funciona também
como uma interface entre o usuário e o computador – tudo que é feito no hardware da máquina, é feito através
do Sistema Operacional.
As inúmeras funções do Sistema Operacional serão descritas ao longo do curso, entretanto, podemos resumi-
las em duas:
Um sistema computacional possui diversos componentes como terminais, impressoras, discos, fitas etc. na
utilização desses componentes o usuário não se preocupa com a forma como a comunicação é realizada, nem
com os inúmeros detalhes envolvidos. Em uma operação no disco, por exemplo, é o Sistema Operacional que
irá acionar o cabeçote de leitura e gravação, posicionar a trilha e setor onde estão os dados, transferi-los para a
memória do computador e, finalmente, informar ao programa que solicitou os dados de sua chegada.
O Sistema Operacional é então uma interface entre o usuário e os dispositivos do computador, tornando a
comunicação transparente, permitindo um trabalho mais eficiente e com menos chances de erro. O Sistema
Operacional cria, então um ambiente simulado que é chamado de Máquina Virtual e está presente na maioria
dos sistemas atuais.
Em sistemas de multiprogramação, para que diversos usuário possam compartilhar os mesmos recursos (como
memória e discos), é necessário que todos usuários tenham oportunidade de ter acesso aos recursos, sem que
um interfira no trabalho de outro. È o Sistema Operacional que garante acesso concorrente de forma
organizada e protegida aos recursos do computador, dando a cada usuário a sensação de ser o único a utiliza-
los.
O compartilhamento dos recursos permite a diminuição dos custos do sistema, na medida que mais de um
usuário possa utilizar as mesmas facilidades de forma concorrente, diminuindo o tempo ocioso dos
dispositivos.
Máquina de Níveis
O computador, visto como um conjunto de circuitos eletrônicos, cabos e fontes de alimentação (hardware)
não tem nenhuma utilidade. É através de programas (software) é que podemos fazer com que o computador
venha a realizar uma tarefa útil.
Qualquer operação efetuada pelo software pode ser implementada em hardware, enquanto uma operação
executada em hardware pode ser simulada em software. A decisão do que é implementado em hardware ou
simulado em software fica a cargo do projetista do computador, levando em conta aspectos de custo,
confiabilidade e desempenho. Tanto o hardware como o software são logicamente equivalentes, interagindo
de forma única com o usuário.
Nos primeiros computadores a programação era feita através da interligação de fios em painéis, exigindo
grande conhecimento do hardware e da linguagem de máquina. O programador devia dizer exatamente como
os dispositivos deviam operar.
A solução para esse problema foi o surgimento dos sistemas operacionais que tornou a interação entre o
usuário e o computador mais simples, confiável e eficiente. Deixou de haver a necessidade do programador
se envolver com a complexidade do hardware. A parte física tornou-se transparente para o usuário.
Dentro desse princípio, o computador passou a ser visto como uma máquina de níveis. Inicialmente haviam
dois níveis: nível 0 (hardware) e nível 1 (sistema operacional). O usuário via o computador como sendo
apenas o sistema operacional. Essa visão abstrata é chamada de máquina virtual.
Na realidade existem tantos níveis quanto sejam necessários para adequar o usuário às suas diversas
aplicações. Atualmente os computadores possuem uma estrutura de seis níveis: nível 0 – dispositivos físicos;
nível 1 – microprogramação; nível 2 – linguagem de máquina; nível 3 – sistema operacional; nível 4 –
utilitários; e nível 5 – aplicativos.
Histórico
A evolução dos sistemas operacionais está associada ao desenvolvimento de equipamentos cada vez mais
velozes, compactos e de baixo custo, com a necessidade de aproveitamento e controle desses recursos.
1ª fase (1945-55)
No início da II Guerra, surgiram os primeiros computadores, formados por milhares de válvulas, ocupando
áreas enormes e de funcionamento lento e duvidoso.
ENIAC – Eletronic Numerical Integrator and Computer foi o primeiro computador digital de propósito geral
fabricado, criado para realizar cálculos balísticos. 18.000 válvulas, 10.000 capacitores, 70.000 resistores,
pesava 30 ton. e consumia 140 quilowatts quando em operação. Programação feita em painéis, em linguagem
de máquina. Não havia o conceito de sistema operacional.
Outros computadores; EDVAC (Eletronic Discret Variable Automatic Computer) e IAS (Princeton Institute
for Advanced Studies) usados por universidades e órgãos militares.
UNIVAC – Universal Automatic Computer fabricado com fins comerciais e bem-sucedido. Foi usado no
censo americano de 1950. Usava linguagem Assembly.
2ª fase (1956-65)
Sistema Operacionais passam a ter rotinas para operações de entrada/saída (IOCS – Input/Output Control
System) o que facilita a programação, eliminando a necessidade do programador desenvolver rotinas de
leitura e gravação nos diversos dispositivos ( é a independência de dispositivos).
A IBM lança a linha 7094, com o conceito de Canal que permite a transferencia de dados entre os dispositivos
de E/S e a memória independente da UCP.
Outros computadores: NCR e CDC-6600.
3ª fase (1966-80)
IBM lança a série 360: família de computadores de diferentes portes com o mesmo sistema operacional
OS/360. Evoluiu para a série 370 e sistema operacional OS/370.
DEC lança a linha PDP: computadores de pequeno porte e baixo custo, é criado o mercado de
minicomputadores.
Multiprogramação; enquanto um programa realiza operação de E/S, outro usa a UCP. Memória é dividida em
partições para ser compartilhada por diversos programas. Há o compartilhamento da Memório Principal e do
Processador.
Fitas são substituídas por discos magnéticos o que permite a alteração da ordem da execução das tarefas, até
então seqüêncial. É a tecnica do spoling que também foi aplicada no processo de impressão.
Diminuição do custo dos terminais de vídeo e teclado permite a interação entre vários usuários e o
computador (interação on-line) e processamento time-sharing (tempo compartilhado).
Surge o sistema operacional Unix, concebido inicialmente para o PDP-7 e baseado no sistema MULTICS.
Foi reescrito posteriormente em C e é conhecido por sua portabilidade.
4ª fase (1981-95)
Integração em larga escala (LSI) e integração em muito larga escala (VLSI) contribuem para a miniaturização
e barateamento dos equipamentos. Minis e superminis se firmam no mercado. Microcomputadores ganham
grande impulso.
Surgem os IBM-PC de 16 bits e sistema operacional DOS. Entre os minis e superminis destaque para os
sistemas operacionais compatíveis com o Unix (Unix-like) e o VMS (Virtual Memory System) da DEC.
Surgem estações de trabalho, que apesar de monousuárias, executam diversas tarefas concorrentemente
(multitarefa).
Ao final dos anos 80, o grande volume de cálculo exigidos propicia o surgimento de novos sistemas
computacionais com mais de um processador (multiprocessamento), obrigando os sistemas operacionais a
serem desenvolvidos com novos mecanismos de controle e sincronismo. São introduzidos processadores
vetoriais e técnicas de paralelismo.
As WANs difundem-se no mundo inteiro, permitindo acesso ao aoutro sistemas computacioanis independente
de cidade, estado, país e mesmo de fabricante. São desenvolvidos diversos protocolos (DECnet da DEC e
SNA da IBM; e TCP/IP de domínio público). Surgem as LANs interligando pequenas áreas. Os softwares de
rede passam a ficar intimantente relacionados ao sistema operacional e surgem os sistemas operacionais de
rede.
Aparece a Internet. São desenvolvidos conceitos de sistemas Especialistas e surgem as linguagens Orientadas
a Objetos.
5ª fase (1996-??)
Sistemas Especialistas, Sistemas Multimídia, Banco de Dados Distribuídos, Inteligência Artificial e Redes
Neurais são exemplos de necessidades cada vez maiores e que implicam em aumento de capacidade de
processamento. O desenvolvimento da microeletrônica permite o surgimento de processadores e memórias
mais velozes e baratos. O VLSI evolui para o ULSI (Ultra Large Scale Integration).
O conceito de processamento distribuído é explorado nos sistemas operacionais com suas funções espalhadas
por vários computadores em rede. Isto é possível devido à redução do custo da comunicação e do aumento da
taxa de transmissão de dados.
A arquitetura cliente-servidor aplicada a redes locais passa a ser disponível em redes distribuídas, permitindo
que qualquer pessoa tenha acesso a todo tipo de informação, independente de onde esteja armazenada.
Problemas de segurança, gerência e desempenho tornam-se fatores de suma importância relacionados aos
sistemas operacionais e à rede.
Há a consolidação de sistemas operacionais baseados em interfaces gráficas. Novas interfaces já estão sendo
utilizadas como linguagens naturais, sons e imagens, fazendo a comunicação mais eficiente, simples e
inteligente.
Conceitos só implementados em sistemas de grande porte são introduzidos em desktop, como o Windows,
Unix e OS/2 da IBM.