Você está na página 1de 29

SO

Elisabeth Andrade
Curso EIC 2º Ano – 1º Semestre
Universidade de Cabo Verde

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 1
Sumário
Sistema Operativo
 Introdução aos Sistemas Operativos
 Objectivos
Estrutura de um Sistema de computação
 Visão abstracta dos componentes do sistema
 O que é um sistema operativo
 Evolução dos sistemas operativos
 Conceitos envolvidos num sistema operativo
Classificação dos SO
Principais tarefas de um SO
Componentes de um SO

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 2
Sistemas Operativos - definições
O software de qualquer computador pode
ser dividido basicamente em dois tipos:

Software do sistema - programas que


contribuem para o controlo e desempenho das
operações do computador .
Software de aplicação - programas que
“resolvem os problemas dos utilizadores.”

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 3
Sistemas Operativos - definições
O mais fundamental dos programas do
sistema é o sistema operativo.

O sistema operativo
Controla todos os recursos do computador
 Fornece a base sobre a qual os programas de
aplicação podem ser escritos. (TAN92,p.1)

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 4
Sistemas Operativos - objectivos

Oferecer os recursos do sistema de forma simples e


transparente;

Gerenciar a utilização dos recursos existentes


buscando seu uso eficiente em termos do sistema;

Garantir a integridade e a segurança dos dados


armazenados e processados no sistema;

Proporcionar uma interface adequada para os


utilizadores.

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 5
Sistema operativo como intermediário
 Intermediário entre utilizadores e hardware
 Interpretador de comandos (shell)
 Sistemas de janelas
 Intermediário entre programas e hardware
 Os principais clientes de um SO são os programas
 Apesar de útil, interface gráfica nem sempre é necessária
 Servidores podem nem ter interacção com utilizadores

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 6
Sistema operativo como intermediário
 A parte do S.O. que faz a interligação entre o
hardware e os programas chama-se kernel
(núcleo).
Programas

Sistema Operativo

Hardware

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 7
Estrutura de um sistema de computação

 Hardware: os recursos físicos: CPU, memória, dispositivos


de Entrada e Saída (E/S);
 Sistema Operativo : coordena e controla o uso dos recursos do
sistema entre os vários programas aplicativos e utilizadores;
 Programas de Aplicação : definem as formas de utilização dos
recursos do sistema com o objectivo de resolver problemas dos
utilizadores (compiladores, sistemas de bases de dados, jogos de
vídeo, programas de contabilidade, etc.).
 Utilitários : Conjunto de programas de sistema que têm
funcionalidades úteis.
 Utilizadores : pessoas, máquinas ou até mesmo computadores.

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 8
Estrutura de um sistema de computação
 Visão abstracta

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 9
10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 10
Sistema operativo (abstracção de Hardware)

 Esconde detalhes, complexidade, diferenças do


hardware.
 Ex. placa gráfica, disco, etc
 Oferece uma API (Interface de Programação de
Aplicativos) uniforme e conveniente:
 gestão de processos: fork(), exec(), . . .
 gestão de memória
 sistemas de ficheiros; open(), read(), write(), . . .

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 11
Sistema operativo (Gestor de recursos)

 Isolamento entre processos


 Cada processo executa numa máquina protegida
 Um processo não deverá poder corromper memória dos outros
 Se um processo entrar em ciclo infinito o computador não
deverá bloquear
 Controlo no acesso a recursos
 Vários programas tentarem imprimir ao mesmo tempo???
 Multiplexação no tempo: cada processo usa um recurso de cada
vez.
 Recursos como memória e disco podem ser partilhados; exige
técnicas de alocação de espaço.
10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 12
Sistema operativo (Define personalidade do PC)

 O SO define a “personalidade” de um computador


 O mesmo computador (hardware) comporta-se de
modo diferente em diferentes SO:
 MS-DOS
 Windows 95
 Windows XP
 Linux
 Mac OS

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 13
Sistema operativo ???????

 Não existe uma definição universal!!


 ….“ é tudo o que vem com o computador”;
 Uma visão oposta é dizer que é apenas o kernel: o
programa que corre em modo supervisor, com
funções de controlo e gestão fundamentais
(memória, processos, dispositivos de I/O)
 Um meio termo será dizer que é o kernel
juntamente com os programas de sistema genérico.

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 14
Modo Utilizador e modo supervisor
 Um sistema operativo necessita de pelo menos dois
modos de execução:
 modo utilizador: no qual corre o código das aplicações
 modo kernel/supervisor/protegido: no qual corre o
código do kernel
 O CPU toma conta do modo num mode bit (0 ou 1)
 Quando um processo pede um serviço ao SO por uma
chamada ao sistema / system call, o CPU passa ao modo
kernel (supervisor).

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 15
Arranque do Computador
O programa de bootstrap (iniciar o
computador)reside em ROM ou EPROM;
 É carregado no (re)arranque do computador
 Inicializa o hardware do sistema: controladores de
dispositivos, memória, CPU
 Carrega o kernel do sistema operativo e executa-o.

“Durante esse processo o kernel é carregado para dentro da memória para


que fique mais rápido, a partir disso começam a ser executadas tarefas e
o sistema fica disponível ao usuário. “

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 16
Evolução dos sistemas de computação
 Sistemas Operativos acompanham a própria evolução
dos computadores.
 1ª geração (1945/1955) - Válvulas, placas programáveis
 2ª geração (1955/1965) - Transistores, sistemas batch
 3ª geração (1965/1980) - Circuitos integrados, time-
sharing
 4ª geração (1980/ ) - PCs, workstations, servidores
 ?? - PDAs, smartphones, web, p2p.

Acompanha a evolução no ficheiro Evolução dos SO!


10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 17
Classificação de SO
 Monotarefa
 No caso dos sistemas operativos classificados por
monotarefa, estes executam apenas uma tarefa de cada
vez.
 Exemplo:
 Se estamos a utilizar um editor de texto e temos
necessidade de ouvir uma música, é necessário, primeiro
sair do editor de texto, e só depois ouvir a música. O
mesmo tem de ser feito para voltar ao editor de texto.

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 18
Classificação de SO
 Multi tarefa
 Um sistema operativo multitarefa permite que um
utilizador trabalhe com dois ou mais programas em
simultâneo.

 Na prática o microprocessador não executa os diversos


programas de uma só vez, mas reserva uma fracção de
tempo para cada um dos programas.

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 19
Classificação de SO
 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, Windows

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 20
Classificação de SO
 Mono-programação / Processamento por lotes
 Cada programa monopoliza o processador até terminar
 DOS

 Multi-programação
 Capacidade de correr vários programas simultaneamente
(em concorrência)
 Unix, Linux, Windows

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 21
Classificação de SO
 Dedicado
 Sistema Operativo projectado para aplicações específicas
 Exemplos:
 Gestão de transacções numa companhia aérea – SO para
Mainframes, sistemas de voos, robôs, etc
 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

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 22
Classificação de SO
 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

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 23
Principais Tarefas dos SO
 Execução de Programas;
 Acesso a dispositivos de Entrada/Saída;
 Acesso controlado a ficheiros;
 Criação de Programas;
 Acesso ao sistema;
 Detecção de erros e resposta;
 Registo de parâmetros.

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 24
Componentes de um SO
 Gestão de Processos;
 Gestão de Memória;
 Gestão de IO (entrada e saída);
 Gestão de Ficheiros;
 Protecção;
 Interpretador de comandos;
 Chamadas de sistemas.

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 25
Gestão de Processos

 Um sistema operativo é responsével por:


 Criar e apagar processos do sistema de utilizador
 Suspender e recomeçar processos
 Disponibilizar primitivas de sincronização de processos
 Disponibilizar primitivas de comunicação de processos

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 26
Gestão de Memória
O sistema operativo atribui a cada programa que se encontra em execução uma fatia
de memória.

 Os sistemas operativos mais evoluídos implementam a memória virtual, que é


um método de utilizar o disco rígido do computador como uma extensão da
memória RAM.

 Na memória virtual, as instruções e os dados do programa são divididos em


unidades de tamanho fixo, designadas por páginas. Se a memória RAM estiver
cheia, o sistema operativo armazena as páginas num ficheiro do disco rígido
(swap file).

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 27
Gestão de Ficheiros
 SO oferece vista uniforme sobre armazenamento: o conceito
de ficheiro abstrai sobre propriedades físicas
 Os Ficheiros são organizados em directórios
 Sistemas de controlo de acesso determinam quem pode
aceder a que ficheiro
 SO oferece serviços para:
 criar e apagar ficheiros e directórios
 manipular ficheiros e directórios
 armazenar ficheiros em memória não volátil

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 28
Gestão de IO
 Esconde peculiaridades de dispositivos de hardware
 Trata da gestão de memória de I/O:
 buffering: armazenamento temporário
 caching: armazemento para reuso mais rápido
 spooling: sobreposição de I/O de diferentes tarefas
 Oferece interface genérica com device-drivers
 Disponibiliza drivers para diferente hardware

10/29/2009 elisabeth.andrade@docente.unicv.edu.cv 29