O documento discute a evolução dos sistemas operacionais, desde as primeiras gerações limitadas a auxiliar programas de entrada e saída até sistemas modernos com tradutores simbólicos sofisticados. Também descreve as principais partes dos sistemas operacionais, como gerenciamento de processos, memória e arquivos. Por fim, apresenta as arquiteturas do Windows, Linux e tópicos para pesquisa sobre escalonamento, memória, portabilidade e viabilidade para sistemas embarcados.
1. 4º NA2009.1 (Sistemas Operacionais)
Sistemas Operacionais
A evolução dos Sistemas
Operacionais
Jocemar Calado
Histórico 4º NA2009.1 (Sistemas Operacionais)
• A evolução dos sistemas operacionais foi
uma conseqüência dos avanços ocorridos
no hardware dos computadores. Temos
três níveis de gerações de sistemas
operacionais:
Jocemar Calado
1
2. Níveis do SO 4º NA2009.1 (Sistemas Operacionais)
• O primeiro nível
– Integrado pelos sistemas operacionais básicos, surgidos nos anos
cinqüenta limitava-se a auxiliar os programas nas operações de entrada
e saída e na tradução nos programas fonte, escritos em linguagem
pouco evoluídas.
• O segundo nível
– Esteve disponível na década de 60 e a sua ajuda à programação foi
mais decisiva, proporcionando tradutores simbólicos mais evoluídos,
programas de serviços para transferência de informação entre periféricos
e programas de controle de entrada e saída, ou seja, os famosos IOCS(
Input Output Control System).
• O terceiro nível
– Surgiu na década de 70. A contribuição destes sistemas à programação
foi tão grande que foram rompidas as normas clássicas do processo
informático. Os tradutores de altíssimo rendimento então incorporados
têm permitido hoje em dia a utilização de linguagem de programação
simbólica quase idênticas à linguagem utilizada pelo homem, reduzindo
sensivelmente o tempo gasto na produção bem como o tempo de
aprendizagem de novas linguagens.
Jocemar Calado
Timeline 4º NA2009.1 (Sistemas Operacionais)
Jocemar Calado
2
3. Timeline 4º NA2009.1 (Sistemas Operacionais)
Jocemar Calado
4º NA2009.1 (Sistemas Operacionais)
Estrutura do Sistema
Operacional
Jocemar Calado
3
4. 4º NA2009.1 (Sistemas Operacionais)
• Pode-se criar um sistema tão grande e
complexo como um sistema operacional
somente dividindo-o em pequenas partes. Cada
uma dessas partes deve ser uma porção bem
delineada do sistema, com entradas, saídas e
funções, cuidadosamente definidas.
Logicamente, nem todos os sistemas têm a
mesma estrutura, ou seja, não apresentam a
mesma forma de ligação entre as partes.
Contudo, os sistemas operacionais modernos
geralmente possuem as seguintes partes:
Jocemar Calado
4º NA2009.1 (Sistemas Operacionais)
• I. Gerenciamento de processos
– Criar e eliminar, suspender e retomar, sincronismo e
comunicação entre processos;
• II. Gerenciamento da memória principal
– Manter o controle das partes da memória que estão
sendo usadas e por quem, decidir que processos serão
carregados para memória quando houver espaço
disponível, alocar e desalocar espaço de memória
quando necessário;
• III. Gerenciamento de memória secundária
– O SO é responsável pelas atividades de alocação de
espaço livre.
Jocemar Calado
4
5. 4º NA2009.1 (Sistemas Operacionais)
• IV. Gerenciamento de Entrada/Saída
– Manter os device drivers para comunicação com os
deferentes dispositivos, um buffer-caching para o
sistema;
• V. Gerenciamento de arquivos
– Criar e eliminar arquivos e diretórios, manter
mapeamento dos arquivos em disco;
• VI. Proteção do sistema
– Se um sistema é multiusuário e permite múltiplos
processos concorrentes, estes processos devem ser
protegidos de outras atividades;
Jocemar Calado
4º NA2009.1 (Sistemas Operacionais)
• VII. Networking
– Um sistema distribuído (fracamente acoplado) cada
processador tem sua própria memória e seus processadores
que se comunicam através do SO. A comunicação entre
eles deve considerar roteamento e estratégias de conexão;
• VIII. Interpretador de comandos
– um dos mais importantes programas do SO, que serve de
interface entre o usuário e o SO.
– Alguns SO’s incluem este programa no próprio núcleo
(kernel).
– Já outros sistemas, como o DOS e o UNIX, tratam o
interpretador de comandos como um programa especial que
é executado quando uma sessão é iniciada.
– Um sistema operacional fornece um ambiente para
execução, melhor dizendo, fornece serviços para os
programas e também para os usuários desses programas.
Jocemar Calado
5
6. 4º NA2009.1 (Sistemas Operacionais)
Arquitetura dos Sistemas
Jocemar Calado
Windows 4º NA2009.1 (Sistemas Operacionais)
• É fortemente inspirada no princípio de micronúcleo;
• Cada funcionalidade do sistema é oferecida e gerenciada por um único componente
do sistema operacional. Todavia, módulos fora do micronúcleo executam operações
em modo protegido (modo kernel), por isso, não é puramente micronúcleo.
• O Windows também segue uma organização em camadas, e explora o modelo
orientado a objetos. Foi projetado de modo a permitir a execução de aplicações
escritas para outros sistemas operacionais.
• A estrutura pode ser dividida em duas partes:
– Modo usuário (onde estão localizados os sistemas protegidos)
– Modo kernel (o executivo).
• O executivo constitui o núcleo do Windows, exportando funções para serem
utilizadas no modo usuário e funções que só são acessíveis por componentes
(módulos) pertencentes ao próprio núcleo. Os principais componentes do executivo
são:
– Gerência de objetos;
– Gerência de processos;
– Gerencia de memória virtual;
– Monitor de segurança;
– Módulo de suporte;
– Gerência de E/S.
Jocemar Calado
6
7. Gnu Linux 4º NA2009.1 (Sistemas Operacionais)
• Linux é um sistema operacional Unix independente,
largamente distribuído para máquinas x86, Motorola
68k, Digital Alpha e Motorola PowerPC.
• Ele é uma implementação da especificação do POSIX
com a qual todas as verdadeiras versões de Unix
consentem.
• O núcleo de Linux não usa códigos de AT&T ou
qualquer outra fonte de proprietário, e muitos dos
softwares disponíveis para Linux são desenvolvidos pelo
projeto Free Software Foundation's GNU.
• Como Unix, Linux é um multi-tarefa robusto, multi-
usuário, sistema operacional de rede que ostenta uma
longa lista de padrões aceitáveis.
Jocemar Calado
4º NA2009.1 (Sistemas Operacionais)
• Possui suporte completo para ambas plataformas de 32
e 64-bits, múltiplas CPUs e alta performance para redes
e outros periféricos.
• Ele suporta uma vasta variedade de softwares, incluindo
X Windows, Emacs e redes TCP/IP (incluindo
SLIP/PPP/ISDN).
• A parte central de Linux é coberta pela GNU Public
License (GPL), e é geralmente "empacotada" com vários
binários que consistem em um sistema operacional
trabalhando em Unix.
• Esses pacotes de softwares são chamados
“distribuições” e chegam em muitos tamanhos e
estruturas.
• Linux está sendo usado hoje por milhões de pessoas em
todo o mundo.
• Ele é usado para desenvolvimento de software, rede
(intra-office e Internet), e como plataforma para usuário.
Jocemar Calado
7