introdução aos sistemas operacionais -...

40
1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas ao sistema

Upload: trinhdiep

Post on 18-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

1

Introdução aos Sistemas

Operacionais

1.1 O que é um sistema operacional1.2 História dos sistemas operacionais1.3 O zoológico de sistemas operacionais1.4 Conceitos sobre sistemas operacionais1.5 Chamadas ao sistema

2

Introdução

• Um sistema computacional consiste em– hardware– programas do sistema– programas de aplicação

3

O que é um Sistema Operacional

• É uma máquina estendida– Oculta os detalhes complicados que têm quer

ser executados

– Apresenta ao usuário uma máquina virtual, mais fácil de usar

• É um gerenciador de recurso– Cada programa tem um tempo com o recurso

– Cada programa tem um espaço no recurso

4

Componentes de um Sistema de Computação

• Hardware - fornece os recursos básicos para se realizar a computação propriamente dita (CPU, Memória, Dispositivos de I/O).

• Kernel - controla e coordena o uso do hardware através dos programas dos usuários.

• Aplicativos e Utilitários - define a maneira como os recursos do sistema são usados para resolver a computação dos problemas dos usuários.

• Usuários - podem ser os usuários regulares, programadores, analistas, programas e computadores.

5

Visão Abstrata dos Componentes de um Sistema de Computação

6

História dos Sistemas Operacionais (1)

Antigo sistema em lote– traz os cartões para o 1401– lê os cartões para a fita– coloca a fita no 7094 que executa o processamento– coloca a fita no 1401 que imprime a saída

7

História dos Sistemas Operacionais (2)

• Primeira geração 1945 - 1955– Válvulas, painéis de programação

• Segunda geração 1955 - 1965– transistores, sistemas em lote

• Terceira geração 1965 – 1980– CIs e multiprogramação

• Quarta geração 1980 – presente– Computadores pessoais

8

Estrutura de um job FMS típico – 2a. geração

História dos Sistemas Operacionais (3)

9

• Sistema de Tempo compartilhado• Sistema de multiprogramação

– Três jobs na memória – 3a. Geração

História dos Sistemas Operacionais (4)

10

• Funcionalidades necessárias para a multiprogramação

– Rotinas de I/O fornecidas pelo sistema.

– Gerenciamento de memória• O sistema deve alocar e liberar a memória

para vários jobs/programas.

– Escalonamento da CPU• O sistema deve escolher entre os vários

jobs/programas qual está pronto para ser executado.

– Alocação dos dispositivos.

História dos Sistemas Operacionais (5)

11

• Sistemas de tempo Compartilhado– A CPU alterna o atendimento dos vários jobs que

estão na memória • a CPU será alocada apenas se o job estiver

na memória.

– Um job alterna entre a memória e o disco • área de swap.

– Comunicação on-line entre o usuário e o sistema é fornecida.

• Computação Interativa.

História dos Sistemas Operacionais (6)

12

O Zoológico de Sistemas Operacionais(1)

• Sistemas operacionais de computadores pessoais (desktops)

• Sistemas operacionais de multiprocessa-dores (paralelos)

• Sistemas operacionais distribuídos• Sistemas operacionais de tempo-real• Sistemas operacionais embarcados

13

O Zoológico de Sistemas Operacionais(2)

• Sistemas operacionais de computadores pessoais (desktops)

– Sistema computacional dedicado para um único usuário.

– Dispositivos de I/O• Teclados, mouse, monitores de vídeo e

impressoras.– Conveniência e responsabilidade para o usuário.– Podem adotar tecnologia desenvolvida para

sistemas operacionais maiores.– Podem executar diferentes sistemas operacionais.

14

O Zoológico de Sistemas Operacionais(3)

• Sistemas operacionais de multiprocessadores (paralelos)– Sistemas multiprocessados com mais do que uma

CPU em comunicação direta.– Sistemas Fisicamente e Logicamente Paralelos.– Sistemas Fortemente Acoplados

• Processadores compartilham memória e um clock; a comunicação normamalmente é feita utilizando-se a memória compartilhada ou barramento de dados.

– Vantagens• Aumento do Throughput e economia.• Aumento da confiabilidade

15

O Zoológico de Sistemas Operacionais(4)

• Sistemas operacionais distribuídos– Distribui a computação, ou programas, entre os vários

processadores existentes.– Sistemas Fracamente Acoplado

• Cada processador possui sua própria memória local; processadores comunicam-se uns com os outros através de um sub-sistema de comunicação (rede de comunicação local ou de longa distância).

– Vantagens• Compartilhamento de Recursos.• Balanceamento de carga.• Confiabilidade.• Comunicação.

16

O Zoológico de Sistemas Operacionais(5)

• Sistemas operacionais de tempo-real– Utilizados para controlar um dispositivo em

uma aplicação ou ambiente dedicado, como controle de experimentos científicos, sistemas de imagens médicas, sistemas de controle industrial entre outros.

– A resposta à uma requisição é extremamente rígida em relação ao tempo.

– Sistemas de tempo real podem ser do tipo hard ou soft real time.

17

O Zoológico de Sistemas Operacionais(6)

• Sistemas operacionais de tempo-real– Hard Real Time

• Dispositivos de armazenamento secundário limitados ou ausentes, dados são armazenados normalmente em material semicondutor.

• Conflita com os sistemas de tempo compartilhado, são SOs de uso específico.

– Soft Real Time• Utilização limitada a simulações e realidade

virtual.

18

O Zoológico de Sistemas Operacionais(7)

• Sistemas operacionais embarcados– Personal Digital Assistants (PDAs).– Telefones celulares.– Considerações

• Memória Limitada• Processadores lentos• Pequenas Telas de Exibição.

19

Evolução do Conceitos dos SO's

Conceitos sobre Sistemas Operacionais (1)

• Gerência de Processos• Gerência de Memória Principal• Gerência de Arquivos• Gerência do Sistema de I/O• Gerência de Armazenamento Secundário• Rede• Sistema de Proteção• Serviços do Sistema Operacional• Interpretador de Comandos do Sistema

Conceitos sobre Sistemas Operacionais (2)

• Gerência de Processos– Processo é um programa em execução e necessita

de certos recursos, como tempo de CPU, memória, arquivos e dispositivos de I/O, para completar sua tarefa.

– Responsabilidades do Sistema Operacional:• criar e destruir processos do usuário e do sistema;• suspender e reativar processos;• fornecer mecanismos para

– comunicação entre processos;– sincronização entre processos;– tratamento de deadlocks (impasses).

22

• Uma árvore de processos– A criou dois processos filhos: B e C

– B criou três processos filhos: D, E, e F

Conceitos sobre Sistemas Operacionais (3)

Conceitos sobre Sistemas Operacionais (4)

• Gerência de Memória Principal– A memória principal é um armazenador de acesso

rápido e compartilhável entre a CPU e os dispositivos de I/O, além de ser volátil, ou seja, perderá seu conteúdo em caso de falhas no sistema.

– Responsabilidades do Sistema Operacional:• conhecer quais partes da memória estão sendo

usadas e por quem;• decidir quais processos serão carregados quando

o espaço da memória torna-se disponível;• Alocar e liberar espaço da memória quando for

necessário.

Conceitos sobre Sistemas Operacionais (5)

• Divisão da Memória

Conceitos sobre Sistemas Operacionais (6)

• Gerência de Arquivos– Um arquivo é uma coleção de informações definidas

pelo seu criador. Normalmente representa programas (fonte, objeto e executável) ou dados.

– Responsabilidades do Sistema Operacional:• criar e remover arquivos;• criar e remover diretórios;• disponibilizar primitivas para manipulação de

arquivos e diretórios;• mapear os arquivos no dispositivo de

armazenamento secundário;• copiar arquivos entre dispositivos de

armazenamento não voláteis.

26

Conceitos sobre Sistemas Operacionais (7)

Sistema de arquivos de um departamento universitário

Conceitos sobre Sistemas Operacionais (8)

• Gerência do Sistema de I/O– Ocultar as peculiaridades de dispositivos de

hardware específicos do usuário.– O subsistema de I/O consiste em:

• buffering, caching e spooling;• interface geral de driver de dispositivo

(device-driver);• drivers para dispositivos de hardware

específicos.– Apenas o driver de dispositivo conhece as

peculiaridades do dispositivo específico ao qual foi atribuído.

Conceitos sobre Sistemas Operacionais (9)

• Gerência de Armazenamento Secundário– A memória principal (armazenamento primário) é

volátil e muito pequena para armazenar todos os dados e programas permanentemente, portanto, o sistema computacional deve fornecer armazenamento secundário para auxiliar a memória principal.

– Responsabilidades do Sistema Operacional:• gerenciamento de espaço livre;• alocação de armazenamento;• escalonamento de disco (ordenação e

seleção das operações p/ o uso de discos).

Conceitos sobre Sistemas Operacionais (10)

• Rede– Coleção de computadores compartilhando recursos.– Cada computador tem seu próprio processador,

memória e clock, além do sistema operacional.– Os computadores são interligados através de um

sub-sistema de comunicação e utilizam protocolos para viabilizar a comunicação.

– Acesso aos recursos compartilhados permitem:• speed-up computacional (aumento na

velodidade de processamento);• aumento na disponibilidade dos dados;• aumento da confiabilidade.

Conceitos sobre Sistemas Operacionais (11)

• Sistema de Proteção– Proteção refere-se a qualquer mecanismo para

controlar o acesso de programas, processos ou usuários aos recursos do sistema ou de outros usuários.

– O mecanismo de proteção deve:• distinguir entre uso autorizado e não

autorizado;• especificar o tipo de controle a ser utilizado;• fornecer os meios para viabilizar estes

controles.

Conceitos sobre Sistemas Operacionais (12)

• Resumindo:–Serviços do Sistema Operacional

• Execução de programas• Operações de I/O• Manipulação do Sistema de Arquivos• Comunicações• Detecção de Erros• Alocação de Recursos• Contabilização• Proteção

Conceitos sobre Sistemas Operacionais (13)

• Interpretador de Comandos do Sistema–Os comandos são enviados ao sistema operacional

através de uma interface caracter ou orientada a mouse (“gráfica”).

• “ORIENTADOS A TECLADO” x “ORIENTADOS A MOUSE”

–Outros nomes: SHELL (casca do sistema), “prompt do sistema”, “console”, interpretador de linha de comando, “terminal”.

–Os comandos interagem com:• gerenciamento de processos;• gerenciamento de memória principal;• gerenciamento de arquivos (do usuário e do sistema);• manipulação de I/O;• gerenciamento de armazenamento secundário;• Proteção/rede.

Modelo simples de estruturação de um sistema monolítico

Conceitos sobre Sistemas Operacionais (14)

Chamada ao Sistema

• As Chamadas ao sistema (system calls) fornecem uma interface entre um programa que está em execução e o sistema operacional.

• Usadas para– Controle de Processos– Gerência de Arquivos– Gerência de Dispositivos– Manutenção de Informações– Comunicações

35

Os Passos de uma Chamada ao Sistema

Os 11 passos para fazer uma chamada ao sistema read (fd, buffer, nbytes)

36

Algumas Chamadas ao Sistema para Gerenciamento de Processos

37

Algumas Chamadas ao Sistema para Gerenciamento de Arquivos

38

Algumas Chamadas ao Sistemapara Gerenciamento de Diretório

39

Algumas Chamadas ao Sistemapara Tarefas Diversas

40

Chamadas ao Sistema

Algumas chamadas da interface API Win32