38
1 O que é Sistema Operacional?

1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

Embed Size (px)

Citation preview

Page 1: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

1

O que é Sistema Operacional?

Page 2: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

2

Introdução

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.

Page 3: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

3

Introdução

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.

Page 4: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

4

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: Windows, UNIX, OS/2

Page 5: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

5

Onde está o SO?

Page 6: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

6

Sistema computacional multicamada

Dispositivos Físicos

Sistema Operacional

Linguagem de Máquina

MicroarquiteturaHardware

Aplicações

Organização e Arquitetura de

Computadores I e II

Estamos Aqui

Linguagens de

Programação

Programas do sistema

Programas de aplicação

Compiladores, editores, shell

Page 7: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

7

SO

Parte do software que executa no modo supervisor– Demais programas executam no modo usuário

Funciona como uma máquina estendida ou máquina virtual mais fácil de programar que o hardware– Fornece serviços que os programas podem usar

Page 8: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

8

SO

Funciona como um gerente de recursos– Manter o controle sobre quem está usando qual

recurso– Gerenciamento no tempo X espaço

Page 9: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

9

Histórico dos S. Operacionais

Primeira Geração (1945-1955): Válvulas e Painéis 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

Page 10: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

10

Histórico dos S. Operacionais

Arquitetura de von Neumann:

Unidade de Controle

Unidade Aritmética e

Lógica

Armazenamento

UCP

Dispositivo de Entrada

Dispositivo de Saída

Page 11: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

11

Histórico dos S. Operacionais

– Segunda Geração (1955-1965): Transistores e Sistemas Batch

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)

Page 12: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

12

Histórico dos S. Operacionais

– Terceira Geração (1965-1980):CIs e MultiprogramaçãoIBM 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çãoCriaçã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-lineSurgimento dos sistemas de Compartilhamento de tempo

(Timesharing)

Page 13: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

13

Histórico dos S. Operacionais

– Terceira Geração (1965-1980): CIs e Multiprogramação

Minicomputadores com 4K de memóriaCriação do UNIX por Ken Thompson, do Bell Labs:

um sistema multiusuário, multiprogramado e extremamente sofisticado para sua época

Page 14: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

14

Histórico dos S. Operacionais

– Quarta Geração (A partir de 1980): Computadores Pessoais

Desenvolvimento da tecnologia LSI (Large Scale Integration)– 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

Page 15: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

15

Tipos de Sistemas Operacionais

Sistemas Operacionais

Sistemas Multiprogramáveis

Sistemas Monoprogramáveis

Sistemas com Múltiplos

Processadores

Page 16: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

16

Tipos de Sistemas Operacionais

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

Page 17: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

17

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

Page 18: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

18

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

Sistemas de Tempo Compartilhado

Sistemas de Tempo Real

Sistemas em Batch

Page 19: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

19

Tipos de Sistemas Operacionais

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

Page 20: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

20

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 cíclico do processador

Provê maior interatividade

Page 21: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

21

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

Page 22: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

22

Tipos de Sistemas Operacionais

Sistemas Operacionais

Sistemas Multiprogramáveis

Sistemas Monoprogramáveis

Sistemas com Múltiplos

Processadores

Page 23: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

23

Tipos de Sistemas Operacionais

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

Page 24: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

24

Tipos de Sistemas Operacionais

Multicomputadores (memória local privada)

Multiprocessadores (memória compartilhada)

Sistemas com Múltiplos

Processadores

Sistemas Simétricos

Sistemas Assimétricos

S. O. de Rede

S. O. Distribuído

Page 25: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

25

Conceitos Básicos de SO

Esse conjunto de rotinas é chamado de núcleo do sistema ou kernel

Esse conjunto de rotinas é chamado de núcleo do sistema ou kernel

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

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

Page 26: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

26

Conceitos Básicos de S.O.

As principais funções do núcleo são:– 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

Page 27: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

27

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 Chamadas ao Sistema

Núcleo Hardware

Page 28: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

28

Conceitos Básicos de S.O.

Chamadas procedimentos de biblioteca que o programa pode chamar– 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

Page 29: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

29

Exemplo de uma Chamada ao Sistema

cont=read(arq,buffer, nbytes)

Despache Espaço do núcleo (Sistema Operacional)

Espaço do usuário

Memória principal TRAP

Tratador da chamada ao

sistema

read da biblioteca

Page 30: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

30

Conceitos Básicos de S.O.

As chamadas ao sistema podem ser divididas em grupos de função:

Gerência de processos– fork, kill, CreateProcess

Gerência de arquivos– open, read, write, close, mkdir, chmod, CreateFile

Page 31: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

31

Estrutura de Sistema Operacionais

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

Page 32: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

32

Sistemas Monolíticos– 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

Page 33: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

33

Sistemas em Camadas– 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

Estrutura de Sistema Operacionais

Page 34: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

34

SO em Camadas

Programas de UsuárioProgramas de Usuário

Comunicação operador-processo

Comunicação operador-processo

Gerência de memóriaGerência de memória

Alocação do processador e implementação da multiprogramação

Alocação do processador e implementação da multiprogramação

Gerência dos Dispositivos de Entrada/Saída

Gerência dos Dispositivos de Entrada/Saída

Camada 4

Camada 3

Camada 2

Camada 1

Camada 0

Responsável pela alocação

de espaço

Administra a comunicação

entre cada processo

Administrar os dispositivos de

E/S

Page 35: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

35

Máquinas Virtuais– Várias cópias de um único hardware– Requisições feitas à máquina virtual são mapeadas

para o hardware real

Estrutura de Sistema Operacionais

Hardware

SO1

Monitor de máquina virtual

SO1 SO2

Cópias Virtuais

Page 36: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

36

Sistemas Cliente-Servidor– 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 Sistema Operacionais

Page 37: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

37

Estrutura de Sistemas Operacionais

Sistemas Cliente-Servidor– Função do núcleo: tratar da comunicação entre

clientes e servidoresApenas o núcleo executa no modo supervisor

– Adaptabilidade ao uso em sistemas distribuídos

Page 38: 1 O que é Sistema Operacional?. 2 Introdução Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executadas pelo

38

SO Cliente Servidor

Servidor de arquivo

Núcleo

Hardware

Servidor de

processo

Servidor de

memória Servidor de rede

cliente

Modo usuário

Modo Kernel