O que é Sistema Operacional?
1
Introdução

2
Um sistema operacional, por mais complexo
que possa parecer, é apenas um conjunto de
rotinas executadas pelo processador, de
forma semelhante aos programas dos
usuários. Sua principal função é controlar o
funcionamento de um computador,
gerenciando a utilização e o
compartilhamento dos seus diversos
recursos, como processadores, memórias, e
dispositivos de entrada e saída.
Introdução

3
Sem o sistema operacional, um usuário para
interagir com o computador deveria conhecer
profundamente diversos detalhes sobre
hardware do equipamento, o que tornaria seu
trabalho lento e com grandes possibilidades de
erros. O sistema operacional tem por objetivo
funcionar como uma interface entre o usuário e
o computador, tornando sai utilização mais
simples, rápida e segura.
Introdução
Definição de SO: é um programa cuja tarefa
principal é controlar o funcionamento do
computador, facilitando seu uso e gerenciando
seus recursos
 Funções:

Facilitar o acesso aos recursos do sistema
 Gerenciar o compartilhamento dos recursos do
sistema

 Exemplos:
4
Windows, UNIX, OS/2
Onde está o SO?
5
Sistema computacional multicamada
Linguagens de
Programas de
aplicação
Programas do
sistema
Aplicações
Programação
Compiladores, editores, shell
Sistema Operacional
Estamos Aqui
Linguagem de Máquina
Hardware
Microarquitetura
Dispositivos Físicos
6
Organização e
Arquitetura de
Computadores I
e II
SO

Parte do software que executa no modo
supervisor
–

Funciona como uma máquina estendida ou
máquina virtual mais fácil de programar que o
hardware
–
7
Demais programas executam no modo usuário
Fornece serviços que os programas podem usar
SO

Funciona como um gerente de recursos
–
–
8
Manter o controle sobre quem está usando qual
recurso
Gerenciamento no tempo X espaço
Histórico dos S. Operacionais

Primeira Geração (1945-1955): Válvulas e Painéis







9
Surgimento dos primeiros computadores digitais
Surgimento do modelo de von Neumann
Máquinas enormes, com milhares de válvulas
Não havia Linguagens de Programação
Não havia Sistema Operacional
Utilizado para cálculos matemáticos
Uma mesma equipe projetava, construía, programava, operava
e realizava manutenção de cada máquina
Histórico dos S. Operacionais

Arquitetura de von Neumann:
UCP
Unidade de
Controle
Unidade
Aritmética e
Lógica
Dispositivo de
Entrada
10
Armazenamento
Dispositivo de
Saída
Histórico dos S. Operacionais
–
Segunda Geração (1955-1965): Transistores e Sistemas
Batch






11
Aumento de velocidade de processamento, graças à troca de
válvulas por transistores (semicondutores)
Início do domínio IBM (mainframes)
Aparecimento de Linguagens de Programação como Assembly e
FORTRAN
Uso de cartões perfurados
Processamento de Jobs era feito em Lote (batch)
Surgimento de Sistemas Operacionais, como o FMS (Fortran
Monitor System)
Histórico dos S. Operacionais
–
Terceira Geração (1965-1980):CIs e Multiprogramação
IBM lança a idéia de uma família de computadores
compatíveis (série 360)
 Surgimento de SOs mais voltados ao usuário (como o OS/360
da IBM)
 Criação da técnica de multiprogramação
 Criação da técnica de spooling (Simultaneous Peripheral
Operation On Line)
 Através da criação do terminal de vídeo e teclado foi possível
a interação on-line
 Surgimento dos sistemas de Compartilhamento de tempo
(Timesharing)

12
Histórico dos S. Operacionais
–
13
Terceira Geração (1965-1980): CIs e
Multiprogramação
 Minicomputadores com 4K de memória
 Criação do UNIX por Ken Thompson, do Bell Labs:
um sistema multiusuário, multiprogramado e
extremamente sofisticado para sua época
Histórico dos S. Operacionais
–
Quarta Geração (A partir de 1980): Computadores
Pessoais

Desenvolvimento da tecnologia LSI (Large Scale Integration)
–




14
milhares de transistores encapsulados em um chip de 1cm2
Surgimento dos computadores pessoais (PC)
Sistemas Operacionais e aplicativos voltados ao usuário final
(user-friendly)  GUI
Domínio de PCs baseados em processadores INTEL (8088,
80286, 80386, 80486, Pentium, ...)
Surgimento dos sistemas operacionais de rede e sistemas
distribuídos
Tipos de Sistemas Operacionais
Sistemas
Operacionais
Sistemas
Monoprogramáveis
15
Sistemas com
Múltiplos
Processadores
Sistemas
Multiprogramáveis
Tipos de Sistemas Operacionais

16
Sistemas Monoprogramáveis/Monotarefas

Esse sistema foi projetado para gerenciar a execução
de um único programa (job) por vez

Qualquer outro programa para ser executado, deve
aguardar o término do programa corrente

Nesse sistema o processador, a memória e os
periféricos permanecem exclusivamente dedicados à
execução de um único programa
Tipos de Sistemas Operacionais

Sistemas Multiprogramáveis/Multitarefas

Os sistemas multiprogramáveis permitem que vários
programas possam usar os diversos recursos
existentes

De acordo com o número de usuários que interagem
com o sistema, podem ser:
 Monousuário
 Multiusuário
17
Tipos de Sistemas Operacionais

Sistemas Multiprogramáveis/Multitarefas

Os sistemas multiprogramáveis também podem ser
classificados pela forma com que suas aplicações são
gerenciadas
Sistemas
Multiprogramáveis
18
Sistemas em
Batch
Sistemas de Tempo
Compartilhado
Sistemas de Tempo
Real
Tipos de Sistemas Operacionais

19
Sistemas Batch
 Caracterizam-se por terem seus programas
armazenados em disco ou fita, onde esperam
para ser executados seqüencialmente
 Geralmente, esses programas não exigem
interação com os usuários, lendo e gravando
dados em discos ou fitas
Tipos de Sistemas Operacionais

Sistemas de Tempo Compartilhado
 Permitem a interação dos usuários com o
sistema, através de terminais que incluem
vídeo, teclado e mouse
 Para cada usuário, o SO aloca uma fatia de
tempo do processador
 Uso
 Provê
20
cíclico do processador
maior interatividade
Tipos de Sistemas Operacionais

Sistemas de Tempo Real
 O tempo é um parâmetro fundamental
 Os
tempos de resposta estão dentro de limites
rígidos, que devem ser obedecidos
 Alocação
do processador leva em conta
restrições de tempo
 Sistemas TR críticos X não-críticos
21
Tipos de Sistemas Operacionais
Sistemas
Operacionais
Sistemas
Monoprogramáveis
22
Sistemas com
Múltiplos
Processadores
Sistemas
Multiprogramáveis
Tipos de Sistemas Operacionais

23
Sistemas com Múltiplos Processadores
 Caracterizam-se por possuir duas ou mais
CPU´s interligadas, trabalhando em conjunto
 Um fator importante nesses sistemas é a forma
de comunicação entre as UCP´s e o grau de
compartilhamento da memória
Tipos de Sistemas Operacionais
Sistemas com
Múltiplos
Processadores
Multiprocessadores
(memória compartilhada)
Sistemas
Simétricos
24
Sistemas
Assimétricos
Multicomputadores
(memória local privada)
S. O. de
Rede
S. O.
Distribuído
Conceitos Básicos de SO
O SO é formado por um conjunto de rotinas
(procedimentos) que oferecem serviços aos usuários
do sistema e suas aplicações, bem como a outras
rotinas do próprio sistema
Esse conjunto de rotinas é
chamado de núcleo do
sistema ou kernel
25
Conceitos Básicos de S.O.

As principais funções do núcleo são:
–
–
–
–
–
–
26
tratamento de interrupções
criação e eliminação de processos
sincronização e comunicação entre processos
gerência de memória
gerência do sistema de arquivos
gerência de E/S
Conceitos Básicos de S.O.

Solicitação de serviços ao SO
–

Chamadas ao sistema
Chamadas ao sistema são a porta de entrada
para ter acesso ao núcleo do sistema operacional
Aplicação
27
Chamadas
ao Sistema
Núcleo
Hardware
Conceitos Básicos de S.O.

Chamadas  procedimentos de biblioteca que o
programa pode chamar
–
–
–
–
–
28
Transferência de controle para o SO através de um trap
Alternância para o modo supervisor
SO checa parâmetros para identificar o serviço
requisitado
SO executa procedimento para atender a solicitação
SO informa resultado da operação realizada,
devolvendo o controle ao programa do usuário
Exemplo de uma Chamada ao Sistema
cont=read(arq,buffer, nbytes)
read da biblioteca
Memória
principal
TRAP
Despache
29
Espaço do
usuário
Tratador da
chamada ao
sistema
Espaço do núcleo
(Sistema Operacional)
Conceitos Básicos de S.O.

As chamadas ao sistema podem ser divididas
em grupos de função:
 Gerência
–
fork, kill, CreateProcess
 Gerência
–
30
de processos
de arquivos
open, read, write, close, mkdir, chmod, CreateFile
Estrutura de Sistema Operacionais


31
Estrutura do SO: É a maneira como o código do
sistema é organizado e como seus diversos
componentes estão inter-relacionados
Existem basicamente quatro abordagens:
– Sistemas Monolíticos
– Sistemas em Camada
– Máquinas Virtuais
– Sistemas Cliente-Servidor
Estrutura de Sistema Operacionais

Sistemas Monolíticos
–
–
–
32
Não há estruturação visível
SO é escrito como um conjunto de procedimentos, cada
um dos quais podendo chamar qualquer dos demais
sempre que necessário
Cada procedimento é visível a todos os outros
Estrutura de Sistema Operacionais

Sistemas em Camadas
–
–
–
33
Hierarquia de camadas
A camada superior usa serviços da camada inferior
A maioria dos SO modernos é baseada nesta estrutura:
UNIX, OS/2, MS-Windows, entre outros
SO em Camadas
34
Camada 4
Programas de Usuário
Camada 3
Gerência dos Dispositivos
de Entrada/Saída
Camada 2
Comunicação operadorprocesso
Camada 1
Gerência de memória
Camada 0
Alocação do processador e
implementação da
multiprogramação
Administrar os
dispositivos de
E/S
Administra a
comunicação
entre cada
processo
Responsável
pela alocação
de espaço
Estrutura de Sistema Operacionais

Máquinas Virtuais
–
–
Várias cópias de um único hardware
Requisições feitas à máquina virtual são mapeadas
para o hardware real
Cópias Virtuais
SO1
SO1
SO2
Monitor de máquina virtual
Hardware
35
Estrutura de Sistema Operacionais

Sistemas Cliente-Servidor
–
–
–
–
36
A tendência é tornar o núcleo do sistema operacional o
menor e mais simples possível
Serviços do SO são implementados como processos de
usuário
Sempre que uma aplicação deseja algum serviço ela
solicita ao processo responsável
A aplicação que solicita o serviço é chamada de
cliente, enquanto o processo que responde à aplicação
é chamado de servidor
Estrutura de Sistemas Operacionais

Sistemas Cliente-Servidor
–
Função do núcleo: tratar da comunicação entre
clientes e servidores

–
37
Apenas o núcleo executa no modo supervisor
Adaptabilidade ao uso em sistemas distribuídos
SO Cliente Servidor
Servidor
de
memória
cliente
Servidor
de arquivo
Servidor
de
processo
Servidor
de rede
Modo usuário
Núcleo
Hardware
38
Modo Kernel
Download

Introdução à Sitemas Operacionais