Você está na página 1de 63

SISTEMAS OPERATIVOS

SOFTWARE

• Conjunto de instruções ou programas


capazes de fazerem funcionar o
HARDWARE

• Software de SISTEMA
• Software de APLICAÇÃO
SOFTWARE de APLICAÇÃO

• Engloba todos os programas que efectuam


tarefas mas que não têm acesso directo aos
recursos da máquina.
• Processadores de Texto, Folhas de Cálculo,
Programas de Desenho, Jogos, entre outros.
Conceito de Sistema Operativo
• Sistema Operativo
– Pode ser definido como um conjunto de programas
que permitem uma interacção simplificada entre o
utilizador e a máquina

Aplicações Utilizador

Sistema Operativo

Dispositivos físicos Hardware


SISTEMA OPERATIVO

• Responsável por gerir os recursos de Hardware


• Tornar os recursos de Hardware acessíveis ao
utilizador e ao Software de aplicação
• Composto por Utilitários de Sistema,
Controladores de Dispositivos, Compiladores de
Linguagem, entre outros
SISTEMA OPERATIVO

• 1ª camada (e indispensável ) de Software


• Gere o processador, memória, comunicação
entre componentes internos e periféricos
• Controla e atribui recursos físicos da máquina
segundo as solicitações das diversas aplicações
• Responsável pela organização e fiabilidade de
armazenamento dos dados de uma forma
hierárquica nos vários suportes de
armazenamento.
SISTEMA OPERATIVO

UTILIZADOR
APLICAÇÕES
INTERFACE
SISTEMA (Shell de comandos)
OPERATIVO NÚCLEO
(Kernel)
Hardware
Funções do Sistema Operativo

Um sistema operativo possui as seguintes funções:


• gestão de processos;
• gestão de memória;
• sistema de arquivos;
• entrada e saída de dados.
Funções do Sistema Operativo
Gestão de processos
• O sistema operativo multitarefa é preparado para dar a
ilusão que o número de processos em execução
simultânea no computador é maior que o número de
processadores instalados. Cada processo recebe uma
fatia do tempo e a alternância entre vários processos é
tão rápida que pensamos que a sua execução é
simultânea.
• São utilizados algoritmos para determinar qual o
processo que será executado em determinado
momento e por quanto tempo.
Funções do Sistema Operativo
Gestão de memória
Os algoritmos de alocação de memória devem ter
como objectivo reduzir a fragmentação da
memória
• First Fit - Aloca o primeiro pedaço de memória livre que
tenha espaço suficiente
• Best Fit - Aloca o pedaço de memória livre mais
pequeno mas com espaço suficiente para conter os
dados
• Worst Fit - Aloca o maior pedaço de memória livre
Funções do Sistema Operativo
Sistema de arquivos
• Funções do Sistema de Gestão de Ficheiros:
– Criar/Apagar ficheiros e directórios
– Operações de leitura e escrita em ficheiros
– Mapeamento dos ficheiros no disco
– Escalonamento do acesso ao disco
– Protecção de acesso aos ficheiros
Funções do Sistema Operativo
Gestão de I/O
A implementação das operações de I/O é complexa, uma
vez que interactuam com o hardware dos dispositivos.
Uma das principais funções do SO é esconder as
especificidades do hardware ao utilizador
– Implementado através de Device Drivers
Componentes de I/O:
– Sistema de buferização, caching e spooling
– Interface genérica para device drivers
– Device Drivers específicos
SISTEMA OPERATIVO
• Parte visível do sistema operativo
com a qual o utilizador interage
• CLI (“Command Line Interface”)
– Ecrã de texto em que os comandos são
digitados manualmente através de uma
linha de comando
• GUI (“Graphics User Interface”)
– Interacção com o utilizador é feita
através de um ambiente gráfico
– Comandos inseridos através de acções
com outros dispositivos (rato,
touchpad...) para além do teclado
Conceitos associados
Conceito de Sistema Operativo
• O Sistema Operativo pode ser visto como
– Máquina virtual
• Dar ao utilizador a ilusão de dispor de uma máquina muito
mais fácil de utilizar e programar do que o hardware.
– Gestor de recursos
• Efectuar a gestão dos diversos componentes da
arquitectura de um computador, impondo ordem na
atribuição de recursos aos programas.
• Tirar máximo partido dos recursos disponíveis
– Tempo de CPU, memória, etc
Conceitos de processador e processo

• Processador e Processos
– Um processo é basicamente um programa em execução
– Num sistema multi-programado, vários processos
podem estar a correr simultaneamente
– Contudo, quando existe um só processador, apenas um
processo pode utilizá-lo em cada instante
– Os processos concorrem pelo processador e cooperam
entre si para realizar tarefas mais complexas
Conceitos de processador e processo
• Processador e Processos
– Processador (CPU)
• Elemento activo do sistema que executa processos
– Modo utilizador (User Mode)
• Disponível um subconjunto das instruções do CPU. É
neste modo que correm as aplicações
– Modo núcleo (Kernel Mode)
• Modo privilegiado do processador, para o qual todas as
instruções estão disponíveis.
Só o Sistema Operativo é que tem acesso a este modo

17
Conceitos associados
• Memória e Gestão de memória
– Divisão estruturada da memória de modo a ser possível o
carregamento de diversos programas na memória principal
• Colocação e Protecção
– Existência de mecanismos que permitam o crescimento da
memória de dados de um programa
• Reserva de memória
– Gestão do espaço de endereçamento de modo a que se
possa ter uma capacidade de memória superior à da
memória principal (a RAM)
• Memória Virtual
Conceitos associados
– Hierarquia da memória

Registos
Cache
Maior Maior
Memória principal
rapidez capacidade
Discos
Tapes
Conceitos associados
Sistemas mono-programados e multi-programados
Memória principal Memória principal
Programa Programa 1

Dados 1
Dados

Programa 2

Dados 2

Sistema Sistema
Operativo Operativo

Sistema Sistema
Mono-programado Multi-programado
Conceitos associados

Sistemas de ficheiros
– Gestão da informação não-volátil armazenada
em memória secundária (discos, tapes)
– Providenciar um nível de abstracção para que
o utilizador não se preocupe com os detalhes
da utilização de discos, disquetes, etc.
– Chamadas ao sistema:
• Criação, remoção, cópia, escrita e leitura de
ficheiros
Conceitos associados
– Estrutura hierárquica (em árvore) - directórios
directório raíz
(root)

Trabalhos Jogos

AC SO Quake Half-Life

trab1.txt prog.cpp trabf.doc


Conceitos associados
• Periféricos e I/O
– Gestão das operações de escrita e leitura nos
diversos periféricos
• Teclado, impressora, terminais de texto e gráficos,
discos, etc.
– Tratamento de interrupções e de erros
– Device drivers
• Programas para gestão de periféricos específicos
Sistemas Operativos

Classificação
Classificação de SOs
• Multi-utilizador
– O tempo de processamento do CPU de um
computador pode ser partilhado por mais do que
um utilizador de forma interactiva.
• Unix, Linux

• Mono-utilizador
– O CPU só pode estar dedicado de forma interactiva
a um conjunto de processos do mesmo utilizador
• MS-DOS, todos os Windows
Classificação de SOs
• Multi-programação
– Capacidade de correr vários programas
simultaneamente (em concorrência)
• Unix, Linux, todos os Windows
• Mono-programação / Processamento por lotes
– Cada programa monopoliza o processador até
terminar
• Spectrum
• DOS
Classificação de SOs
• Dedicado
– Sistema Operativo projectado para aplicações específicas
– Exemplos:
• Controlo de uma linha de montagem - SOs em tempo real
• Gestão de transacções numa companhia aérea - SOs para
Mainframes
• Interface para um telemóvel – SO embedded
• Uso geral
– Projectados para uma fácil utilização
– Permitem a execução de uma grande variedade de programas
– Reconhecem uma grande diversidade de periféricos
Classificação de SOs
• Centralizado
– O Sistema Operativo cria uma máquina virtual sobre
um único computador
• Distribuído
– O Sistema Operativo que corre sobre um conjunto de
computadores, dando a ilusão de que este conjunto
é uma entidade única
• Sistemas distribuídos puros
• Sistemas em rede
• Sistemas multi-processador
Arquitectura
• Quando se desenvolve um sistema operativo, são
obrigatoriamente observados pelo menos dois tipos de
requisitos:

– REQUISITOS DE UTILIZADOR
Procura-se um sistema fácil de utilizar, com uma aprendizagem fácil,
rápido e suficientemente dinâmico para se adaptar às tarefas a que se
destina.
– REQUISITOS DE SOFTWARE
Procura-se facilidade de manutenção, forma de funcionamento,
restrições de utilização, eficiência, tolerância ou intolerância a erros e
flexibilidade.
Arquitectura
• Para além dos requisitos a observar, também a sua estrutura
varia, sendo as estruturas mais comuns:

– Estrutura MONOLÍTICA
– Estrutura MODULAR
Arquitectura
• Estrutura MONOLÍTICA
É o tipo de estrutura que caracterizava os primeiros
sistemas operativos, composto por um único programa
e sub-rotinas. As suas características são:
– Programa Final resultado da Linkagem de módulos
compilados separadamente
– Boa definição de parâmetros de ligação entre rotinas o que
permite índices maiores de acoplamento.
– Precisam de protecções e previlégios de execução das rotinas
de manipulação de recursos de sistema
– Geralmente são sistemas desenvolvidos à medida, o que
resulta numa elevada eficiência mas baixa flexibilidade.
Arquitectura
• Estrutura MONOLÍTICA Nível de Procedimento
Principal
Nível de Procedimento de
Serviços

Nível de Procedimento de
Utilidades e Utilitários
Modelos de Sistemas Operativos
• Monolítico
– O exemplo mais comum de sistema operativo, no qual
aparentemente não existe estrutura...
– Qualquer função do sistema operativo pode comunicar
com qualquer uma das outras.

Procedimento
principal

Procedimentos
de serviço

Procedimentos
auxiliares
Modelos de Sistemas Operativos
• Camadas (Layers)
– O SO encontra-se estruturado segundo um
conjunto de camadas funcionais
– Cada camada utiliza serviços de camadas que lhe
são interiores
– Em suma, cada camada é uma máquina virtual com
uma interface bem definida
– À camada mais baixa (gestão de processos)
corresponde o núcleo do sistema operativo
Modelos de Sistemas Operativos
• Camadas (Layers)
Aplicações e utilizadores

Chamadas ao sistema

Sistema de ficheiros
Comunicação e I/O

Gestão de memória

Gestão de processos

Hardware
Modelos de Sistemas Operativos
• Modular
– O SO encontra-se organizado segundo módulos à volta de um
núcleo (kernel)
– O núcleo é geralmente pequeno (Micro-kernel), comunicando
com o hardware e estabelecendo a comunicação entre os
diversos módulos
– Pode introduzir-se o conceito de processo cliente e de
processo servidor que correm em modo utilizador
– Facilmente adaptável a sistemas distribuídos
– Estrutura mais estável
Modelos de Sistemas Operativos
• Modular
Aplicações e utilizadores

Chamadas ao sistema

Gestão Gestão Sistema


de de I/O de
Processos Memória Ficheiros

Micro-Kernel

Hardware
Modelo de um SO
• Modular (Cliente-Servidor)

Servidor Servidor Servidor


Processo Processo Servidor
de de de Modo Utilizador
Cliente Cliente de I/O
Processos Memória Ficheiros

Modo Núcleo
Micro-Kernel

Mensagens

38
Sistemas Operativos
• Como vimos, o Hardware de um computador comporta a
possibilidade de executar diferentes funções mediante as
instruções que lhe são fornecidas
• Quando o Computador é ligado, a CPU vai à primeira posição
de memória procurar as primeiras instruções que deve
executar.
• A primeira posição de memória está alojada em ROM e o
código chama-se Firmware
• O Firmware contém as instruções necessárias ao arranque da
máquina e serve de base para o funcionamento do Sistema
Operativo
Sistemas Operativos

Por definição, o BIOS (Basic Input Output System)


ou Sistema Básico de Entrada e Saída é um circuito
ROM no qual residem as instruções básicas
necessárias para o arranque do sistema.
É possível alterar alguns parâmetros de
configuração de baixo nível acedendo ao setup da
BIOS, durante o arranque.
Sistemas Operativos
Quando inicializamos o sistema, a BIOS conta a
memória disponível, identifica dispositivos plug-
and-play e realiza uma verificação geral dos
componentes instalados. Este procedimento é
chamado POST e destina-se a verificar se existe
algo de errado com algum componente, além de
verificar se foi instalado algum dispositivo novo.
Somente após o POST, a BIOS entrega o controle
do computador ao Sistema Operativo.
Sistemas Operativos
Surge então a mensagem: “Iniciando o
Windows .....”, dependendo do sistema operativo
instalado. Após o término do POST, a BIOS emite
um relatório com várias informações sobre o
hardware instalado. Este relatório é uma maneira
fácil e rápida de verificar a configuração de um
computador. Para parar a imagem tempo
suficiente para conseguir ler as
informações, basta pressionar
a tecla “pause/break”.
Sistemas Operativos
Sistemas Operativos
As configurações da BIOS encontram-se guardadas na
CMOS, Complementary Metal Oxide Semicondutor, que é
uma memória volátil (perde os dados quando deixa de ser
alimentada electricamente), é composta por cerca de 128
ou 256 bytes de RAM. Sempre que o computador é ligado
a BIOS lê a CMOS recebendo então os valores guardados.
Na BIOS reside a primeira camada de software de sistema
(o Firmware) que é responsável pelas configurações
iniciais da máquina e o reconhecimento dos vários
subsistemas (CPU, FD e HDs, Memória,
sistema de vídeo…)
Sistemas Operativos

Entre outras funções o papel mais importante do BIOS é o


carregamento do sistema operativo. Quando o computador é
ligado e o microprocessador tenta executar a primeira
instrução, ele tem que obtê-la de algum lado. Não é possível
obter essa instrução do sistema operativo, porque este está
localizado no disco rígido, e o microprocessador não pode
comunicar com ele sem que algumas instruções o digam
como fazê-lo. É o BIOS o responsável por fornecer essas
instruções.
Sistemas Operativos

Quando o computador é ligado, o BIOS segue a seguinte sequência:

1. Verifica as informações armazenadas numa pequenissima


memória RAM, que se localiza num chip fabricado com
tecnologia CMOS. A memória CMOS armazena informações
relativas à configuração de hardware, que podem ser alteradas
de acordo as mudanças do sistema. Essas informações são usadas
pelo BIOS para modificar ou complementar a
sua programação padrão, conforme
necessário.
Sistemas Operativos

2. POST (Power-On Self-Test ou Autoteste de Arranque),


que são os diagnósticos e testes realizados aos
componentes físicos (disco rígido, processador, etc). Os
problemas são comunicados por uma combinação de
sons (bipes) numa determinada sequência e se possível,
exibidos no ecrã. O manual do fabricante permite a
identificação do problema descrevendo a mensagem
que cada sequência de sons representa.
Sistemas Operativos
3. Activação de outros BIOS presentes em dispositivos
instalados no computador (ex. discos SCSI e placas de
vídeo).
4. Descompactação para a memória principal. Os dados,
armazenados numa forma compactada, são
transferidos para a memória, e só aí descompactados.
Isso serve para evitar a perda de tempo na
transferência dos dados.
Sistemas Operativos

5. Leitura dos dispositivos de armazenamento, cujos


detalhes e ordem de inicialização são armazenados na
CMOS. Se há um sistema operativo instalado no
dispositivo, no seu primeiro sector (o Master Boot
Record) estão as informações necessárias para o BIOS a
encontrar (este sector não deve exceder 512 bytes).
Sistemas Operativos
• Códigos de erro da BIOS
Sistemas Operativos
• Códigos de erro da BIOS
Sistemas Operativos

• Uma vez carregado em memória, o Sistema Operativo


assume o controlo da máquina funcionando como uma
interface entre os programas/utilizadores e a camada
de hardware.

Utilizadores

Aplicações

Sistema Operativo
FirmWare
Hardware
Sistemas Operativos

• Ao assumir o controlo de hardware, o Sistema


Operativo passa a ter de garantir alguns serviços às
camadas superiores, tendo por isso que desempenhar
algumas tarefas, tais como:
– Gerir tempo de processador atribuído
– Gerir o espaço de memória a alocar
– Estabelecer um modelo de organização de informação que
seja eficiente no que respeita à utilização dos dispositivos de
armazenamento.
– Gerir as permissões de acesso e garantir a segurança de
dados bem como a sua integridade
Sistemas Operativos
• Como todos sabemos a arquitectura dos sistemas
informáticos é digital e binária, pelo que no seu estado
original, a informação está presente na forma de 0 e 1.
• Como esta representação não é facilmente
compreendida pelo utilizador, é também tarefa do S.O.
Organizar a informação de acordo com os códigos
humanos.
• Desta forma, a informação é geralmente organizada
em contentores (ou pastas) e arquivos organizados e
identificados segundo o seu conteúdo.
Sistemas Operativos – MS-DOS

• No que respeita ao mercado doméstico, foram várias


as gerações e tipos de Sistemas Operativos, no
entanto, alguns destacaram-se pela sua utilização
massificada…
• Um desses casos é o velhinho MS-DOS
Sistemas Operativos – MS-DOS
• O MS-DOS (Microsoft Disk Operating System) foi o primeiro SO
da Microsoft e cabia numa disquete
• Era um sistema mono-utilizador e mono-tarefa
Sistemas Operativos
• O UNIX é um sistema desenvolvido na década de 70 que tem a
particularidade de, à semelhança do MS-DOS, ter uma CLI mas
era já um sistema multi-utilizador e multi-tarefa.
• Para ter um GUI, o sistema permite a utilização de um
componente (aplicação) denominado de servidor X que nada
mais é do que a representação gráfica do interface de
comandos.

• Mas existem outros, como por exemplo:


Sistemas Operativos

AmigaOS

PLATAFORMA Computadores AMIGA

CARACTERÍSTICAS SMP – Symetric Multiprocessing

COMPOSIÇÂO Kernell + Bibliotecas de 32 bits

É considerado, devido ao seu tempo de resposta, como um


Sistema Operativo “em Tempo Real”
Sistemas Operativos

BeOS
PC com processador INTEL ou compativel
PLATAFORMA
(x86)
CARACTERÍSTICAS Sistema Modular (pagam-se os módulos)

COMPOSIÇÂO Um único ficheiro na pasta windows

É distribuído gratuitamente na sua versão não comercial


Sistemas Operativos

FreeBSD

PLATAFORMA x86, DEC Alpha, IA-64, UltraSpark

CARACTERÍSTICAS Deriva do BSD Unix (Univ. da Califórnia)

COMPOSIÇÂO Kernell + Bibliotecas de 32 bits

Sistema gratuito mesmo para uso comercial - funciona tanto em


estações de trabalho como em servidores - é um sistema open source
Sistemas Operativos

Linux
PLATAFORMA x86, DEC Alpha, UltraSpark, MIPS e Power PC

CARACTERÍSTICAS Apenas o Kernell é Linux, o S.O. Chama-se GNU/Linux

COMPOSIÇÂO Kernell + Aplicativos GNU

DISTRIBUIÇÕES Red Hat, Suse, Caldera, Corel, Slackware, Mandrake, Debian…

INTERFACES
Gnome, KDE, Window Maker, Enlightment, Blackbox, Afterstep …
GRAFICOS

Sistema opensource (código aberto) e muito robusto.


Tem vindo a ganhar terreno no que respeita ao utilizador doméstico
As aplicações estão directamente relacionadas com a distribuição / interface gráfico usado
Sistemas Operativos

MacOS (X)

PLATAFORMA Computadores Apple (MACs) – worstation e server

CARACTERÍSTICAS Desenvolvido a partir de UNIX

COMPOSIÇÂO Kernell + Bibliotecas de 32 bits

Graficamente é um sistema muito apelativo - O próprio sistema é


acompanhado de aproximadamente 5.000 aplicações - O sistema consegue
emular o Windows e correr aplicações para PC – Sistema de rede
multiplataforma
Segue uma linha “Click and Go”
Sistemas Operativos

E claro os mais conhecidos…

Você também pode gostar