introduÇÃo · arquitetura básica 5 programas sistema operacional hardware ... –sistemas...

43
INTRODUÇÃO Sistemas Operacionais Vinícius Pádua

Upload: truongdan

Post on 09-Nov-2018

227 views

Category:

Documents


1 download

TRANSCRIPT

INTRODUÇÃO

Sistemas Operacionais

Vinícius Pádua

Vinícius PáduaVinícius Pádua

Por quê é necessário?

• Sistema computacional moderno composto por diversos dispositivos

• Responsável pelo controle?

– Programador de aplicativos?

– Necessidade de ter um software dedicado a este controle

2

Vinícius PáduaVinícius Pádua

O que é um SO?

• Software responsável por gerenciar dispositivos e realizar as solicitações do usuário com os dispositivos

• Para que serve o SO?

– Executar programas do usuário

– Resolução geral de problemas

3

Vinícius PáduaVinícius Pádua

• SO é um software colocado entre o hardware e os programas

Arquitetura Básica

4

Programas

Sistema Operacional

Hardware

Vinícius PáduaVinícius Pádua

O que facilita aos programadores?

Arquitetura Básica

5

Programas

Sistema Operacional

HardwareFacilitar a criação de novos hardware

•Padronização de comunicação

Facilitar os desenvolvedores e usuários finais•Funções, procedimentos•Controle de janelas

O que facilita aos hardware?

Vinícius PáduaVinícius Pádua

Introdução

• Sistema Operacional• Age como um intermediário entre o usuário e o hardware

• Controla a execução de programas aplicativos

• Interface entre aplicativos e o hardware

• Objetivos• Tornar conveniente a utilização de um sistema computacional

– “Esconder” detalhes de funcionamento interno

• Tornar mais eficiente e “justo” a utilização dos recursos

• Execução de programas

– Carrega-lo a memória

– Permitir utilização de dispositivos

– Preparar recursos a antes de serem utilizados

6

Vinícius PáduaVinícius Pádua

Introdução

• Objetivos cont.

• Acesso a dispositivos de E/S

– Facilitar a utilização dos recursos pelos software e usuários

– Operações básicas: leitura e escrita

• Acesso controlado a arquivos

– Software não se preocupa com a natureza do dispositivo

– Proteção a acesso multiusuário

• Acesso ao sistema

– Proteção contra acesso não autorizado

– Resolução de conflito em caso de disputa

• Detecção de erros

– Erros de hardware e programação

7

Vinícius PáduaVinícius Pádua

Histórico dos SO

• 1º Geração (1945 - 1955)

• 2º Geração (1955 – 1965)

• 3º Geração (1965 – 1980)

• 4º Geração (1980 - ?)

8

Vinícius PáduaVinícius Pádua

Histórico dos SO

• 1º Geração (1945 – 1955)

– Válvula• Dissipava muito calor, consumo

alto de energia e danificava com frequência

– Não existe SO

9

• ENIAC - 1946– 17.000 válvulas– 170 m2– 150.000 watts– 27 toneladas– 5.000 adições e subtrações por

segundo

Vinícius PáduaVinícius Pádua

Histórico dos SO

• 2º Geração (1955 – 1965)

– Transistores• 100x menor, mais durável e confiável,

consumia menos energia, não esquentava quanto a válvula

10

– Sistema em lote (batch), job, cartão perfurado

Vinícius PáduaVinícius Pádua

Histórico dos SO

• 3º Geração (1965 – 1980)

– Circuitos integrados

– Técnicas• Multiprogramação

• Timesharing,

• Spooling

– Início de alguns SO: Unix (System V, BSD, Minix), linux

11

Vinícius PáduaVinícius Pádua

Histórico dos SO

• 4º Geração (1980 - ?)

– Computadores pessoais

– Início da interface gráfica

– SO: DOS (MS-DOS), Apple, Windows

– Sistemas operacionais de rede e distribuídos

12

Vinícius PáduaVinícius Pádua

Histórico dos SO

• Resumindo

– O que motivou a evolução do SO?• Avanços tecnológicos

• Desenvolvimento e melhoria do hardware

• Aperfeiçoamento de técnicas

13

Vinícius PáduaVinícius Pádua

Zoo de SO’s

• Computadores de grande porte– Já foram muito utilizados – Grande capacidade de E/S– Atualmente

• Servidores web, e-commerce, servidores de nuvem, ...

• Tempo compartilhado– Utilizam terminais– Ilusão de máquina dedicada ao usuário

• Distribuídos– Divisão de tarefas em vários computadores– Podem estar fisicamente separados– Vantagens

• Transparência• Compartilhamento de recursos• Balanceamento de carga• Aumento da confiabilidade

14

Vinícius PáduaVinícius Pádua

Zoo de SO’s

• Tempo real

– Tempo como parâmetro fundamental na execução das tarefas

– Tempo real crítico

• Processos industriais, aviação, exército

– Tempo real não crítico

• Sistema de áudio, multimídia

• Nós de sensores

• Smart Cards

• Multiprocessadores

• Computadores pessoais, portáteis e embarcados

15

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Processos

• Arquivos

• Deadlock

• Espaços de endereçamento

• Memória

• Entrada e Saída

• Segurança

• Interpretador de comandos

16

Vinícius PáduaVinícius Pádua

Processo

• Imagine que esteja fazendo um bolo– Receita

– Ingredientes

– Início do processo

• Seu celular toca e você atende– Conversa

– Finaliza ligação

• Volta para receita

17

Programa

Processo

Contador de Programa

Vinícius PáduaVinícius Pádua

Processo

Programa

• Entidade passiva

• Sequência de instruções

• Executável no disco

Processo

• Entidade ativa

• Constitui uma atividade

• Componentes

– Programa

– Dados de entrada e saída

– Estado

18

• Executar o mesmo programa duas ou mais vezes não significa existência de um único processo

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Processos

– Como um processo é executado?• Monoprogramação

• Multiprogramação

19

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Monoprogramação

– Execução de um único programa

– Características• Baixa complexidade de implementação

• Sem preocupação com proteção

• Subutilização dos recursos

• Ociosidade da CPU por longos períodos

20

Espera normalmente por algum evento de E/S não finalizado

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Monoprogramação

• Como melhorar o desempenho geral?

• Em que momento poderia outro programa executar?

21

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Multiprogramação

22

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Multiprogramação– Execução “simultânea” de vários programas

– Características• Alta complexidade de implementação

• Preocupação com a proteção

• Inexistência de ociosidade da CPU

• Grande utilização do recursos

– Inovações que permitiram • Interrupções

– Sinalização de eventos

• Discos magnéticos

– Acesso randômico e veloz no disco

– Leitura e escritas velozes em qualquer parte do disco

23

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Arquivos

– Diretório

– Caminho• \ - Windows / - Unix

– Diretório-raiz

– Diretória de trabalho

– Sistemas de arquivos

– Arquivos especiais• UNIX

24

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Entrada e Saída

• Segurança

– Unix• Bits rwx – Proprietário, Grupo e Outros usuários

• Interpretador de comandos

– Shell

– Não faz parte do SO, mas o utiliza intensamente

25

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Deadlock (Impasses)

26

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Espaço de endereçamento

– Região onde o processo executa

– Ao iniciar o SO cede um espeço de endereçamento• Iniciando em 0

• Qual o tamanho máximo?

– SO antigos: Limite da memória RAM

– SO modernos: Memória virtual

27

Vinícius PáduaVinícius Pádua

Conceitos sobre SO

• Memória

– Monoprogramação• Dedicação a único processo

• Sem proteção

– Multiprogramação• Proteção entre vários processos

• Tamanho insuficiente de memória existente

• Swapping

• Memória Virtual

28

Vinícius PáduaVinícius Pádua

• SO responsável pela carga do processo

• Programador não interage nessa atividade

• Paginação– Divisão da memória em páginas

– Tamanho fixo

– A carga na memória em páginas

– Aumenta o grau de programação

– Redução das operações de E/S

– Capacidade de executar processos maiores que a memória

Memória Virtual

Vinícius PáduaVinícius Pádua

• Desassociação dos endereços

– Endereço virtual• Processo “enxerga” e manipula

• Chamados apenas de páginas

– Endereço físico• Correspondem a posição real na memória

• Chamado de molduras de páginas

• Ambos são divididos em páginas de tamanho fixo

Memória Virtual – Paginação

Vinícius PáduaVinícius Pádua

Memória Virtual – Paginação

• Existem mais páginas virtuais que físicas

• Total de páginas – Físicas: Limitada pela quantidade de memória existente

– Virtuais: Limitada pelo limite que o SO consegue endereçar

• Páginas virtuais são mapeadas em molduras de páginas

Vinícius PáduaVinícius Pádua

Estrutura dos SO

• Sistemas monolíticos

• Sistemas de camadas

• Micronúcleo

• Modelo Cliente-Servidor

• Máquinas virtuais

32

Vinícius PáduaVinícius Pádua

Estrutura dos SO

• Sistemas monolíticos– Não existe ocultação de funções

• Todas funções podem chamar todas

– Falha em um função pode derrubar o sistema

33

Chamada ao sistema

Hardware

aplicaçãoaplicaçãoModo Usuário

Modo Núcleo

Vinícius PáduaVinícius Pádua

Estrutura dos SO

• Sistemas de camadas

– Nível maior que organização

– Hierarquizado em camadas• Superior utilizava a inferior

• Proteção

34

THE (TechnishcheHogeschool Eindhoven) foi o primeiro sistema desenvolvido em camadas.

Vinícius PáduaVinícius Pádua

Estrutura dos SO

• Micronúcleo

– Diminuir o excesso de código do modo núcleo

– Divisão do SO em módulos pequenos

– Modulo micronúcleo é o principal módulo• Único executado no modo núcleo

– Exemplos: Minix 3, Symbiam

35

Vinícius PáduaVinícius Pádua

Estrutura dos SO

• Cliente-Servidor

– Semelhante ao micronúcleo

– Processos: Servidores e Clientes

– Comunicação é feita por troca de mensagens

36

Vinícius PáduaVinícius Pádua

Estrutura dos SO

• Máquina Virtual

– Computador Fictício

– Implementada a nível de software

– Hipervisor de Tipo 1 e Tipo 2

37

Vinícius PáduaVinícius Pádua

Principais SO

• MS/DOS

• Windows

• MacOS

• Linux

38

Vinícius PáduaVinícius Pádua

MS/DOS

• Microsoft Disk Operating System• Inicialmente

– QDOS – Quick and Dirty Operation System– Seattle Computer

• Características– Monousuário– Monoprogramável– Estrutura hierárquica de dados

• Versões– 1.0 – 1981 - 256kb de RAM– 7.0 – Windows 95

• Programação em arquivo batch (bat)

39

Vinícius PáduaVinícius Pádua

Windows

40

• Inicialmente necessitava do MS/DOS

• Multitarefa

Vinícius PáduaVinícius Pádua

MACOS

• Inicialmente chamado de System

• System 7.6 -> MacOS

• MACOS 10.7 -> OS X

41

Vinícius PáduaVinícius Pádua

Linux

• Utilizam o kernel linux

• Código aberto

• Distribuições

– Debian

– Red hat

– Fedora

– Unbuntu

42

Vinícius PáduaVinícius Pádua 43