introdução aos sistemas operacionais€¦ · sistemas operacionais ! alguns tipos são: "...

47
Introdução aos Sistemas Operacionais Prof. Dr. André Carvalho [email protected]

Upload: others

Post on 21-Sep-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Introdução aos Sistemas Operacionais

Prof. Dr. André Carvalho [email protected]

Page 2: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

2

Agenda

n  Conceitos Básicos n  Tipos de Sistemas Operacionais n  Histórico

¡  Geração n  Breve Evolução n  Referências

Page 3: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Conceitos Básicos

Page 4: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Sistema de Computação

n  Um sistema de computação é constituído basicamente por: ¡  Hardware (processador, memória, I/O,

periféricos, entre outros). ¡  Software (programas como editores de

texto, navegadores, jogos, etc.). ¡  Entre esses componentes reside uma

camada de software multi-facetada, chamada Sistema Operacional.

4

Page 5: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Sistema de Computação

n  Arquitetura genérica de um sistema de computação

5 Fonte: [Maziero 2011]

discos memória portas USB

rede

hardware

Sistema Operacional

Estudar os as fucionamento dos sistemas operacionais fdf modernos, dando dfddd sdsdsdsdsdsd

aplicativos

editor de textos

reprodutor de mídia

editor gráfico

Page 6: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

6

O que é um Sistema Operacional?

n  Um p rog rama que age como intermediário entre um usuário de um sistema de computação e o hardware

n  Ou seja, um S.O. controla e coordena o uso dos recursos de hardware (CPU, memória, dispositivos de E/S, ...) pelos programas de aplicação destinados aos usuários.

Page 7: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

7

Objetivos de um Sistema Operacional

n  Quais os objetivos de um S.O.? ¡  Executar programas de aplicação e

facilitar; Tornar o sistema de computação conveniente ao uso; Tornar eficiente o uso dos recursos de hardware.

¡  Resumindo, os objetivos básicos de um S.O. são a “abstração e gerência” de recursos

Page 8: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Objetivos de um Sistema Operacional

n  Abstração de Recursos ¡  Uma vez que manipular recursos de

hardware em um sistema de computação pode ser difícil e complexo devido a fatores com, por exemplo, o padrão de comunicação das interfaces.

¡  O S.O. tem a função (tarefa) de definir interfaces abstratas para os recursos do hardware.

8

Page 9: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Objetivos de um Sistema Operacional

n  Com a abstração, o S.O. consegue: ¡  Prover interfaces de acesso aos

dispositivos, mais simples que as de baixo nível, para simplificar a construção de programas aplicativos.

¡  Tornar os aplicativos independentes do hardware.

¡  Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas. 9

Page 10: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Objetivos de um Sistema Operacional

n  Gerência de Recursos ¡  Os programas aplicativos usam o hardware para

atingir seus objetivos. ¡  Em um sistema com várias atividades

simultâneas, podem surgir conflitos no uso do hardware (dois ou mais aplicativos precisam dos mesmos recursos).

¡  Cabe ao S.O. definir políticas para gerenciar o uso dos recursos de hardware pelos aplicativos, e resolver eventuais disputas e conflitos.

10

Page 11: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Objetivos de um Sistema Operacional

n  Gerência de Recursos ¡  O uso do processador e da memória

RAM do computador, a fila de impressão e até a detecção e mitigação de ataques de negação de serviço (DoS) são exemplos de atividades de gerência de recursos do S.O.

11

Page 12: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

12

Tipos de Sistemas Operacionais

Page 13: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Tipos de Sistemas Operacionais

n  Os sistemas operacionais podem ser classif icados segundo diversos parâmetros e perspectivas, como tamanho, velocidade, suporte a recursos específicos, acesso à rede, etc.

Page 14: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Tipos de Sistemas Operacionais

n  Alguns tipos são: ¡  Batch: antigos sistemas operacionais. ¡  Rede: deve possuir suporte a rede ¡  Distribuído: os recursos de cada máquina

estão disponíveis globalmente, de forma transparente aos usuários.

¡  M u l t i - u s u á r i o : d e v e s u p o r t a r a identificação do “dono” de cada recurso e impor regras de controle de acesso.

14

Page 15: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Tipos de Sistemas Operacionais

15

¡  Desktop: voltado ao atendimento do usuário doméstico e corporativo.

¡  Servidor ¡  Embarcado: opera em hardware com

recursos escassos. ¡  Tempo real: deve ter comportamento

temporal previsível

Page 16: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Histórico

Page 17: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

17

Gerações

n  1ª. Geração (1945/1955) Sistemas Batch simples

n  2ª. Geração (1955/1965) Sistemas Batch Off-Line

n  3ª. Geração (1965/1980) Sistemas Batch com Spooling

n  4ª. Geração (1975/*) Computadores pessoais

n  Outras Gerações

Page 18: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

1ª. Geração Sistemas Batch

n  Necessidade de um operador ¡  Programas e dados eram lidos via cartão ¡  Programas similares eram lidos em

sequência n  Primeiro S.O. rudimentar n  Uso de um programa (Monitor

Residente) em memória para controlar a transferência de controle entre Jobs

Page 19: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

1ª. Geração Sistemas Batch

n  Problemas ¡  Como o monitor sabe a natureza de um

job ou qual programa executar? ¡  Como o monitor distingue um job de outro

job ou entre dados e um programa? n  Solução

¡  Cartões de controle

Page 20: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

1ª. Geração Sistemas Batch

n  Cartões especiais que diziam o que o monitor devia executar

n  Caracteres especiais distinguem cartões de controle dos cartões de dados e de programas

Page 21: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

1ª. Geração Sistemas Batch

n  Exemplo de cartões de controle

Fonte: [Tanenbaum 2007]

Page 22: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

1ª. Geração Sistemas Batch

n  Monitor Residente é composto por: ¡  Interpretador de cartão de controle,

responsável por ler executar as instruções dos cartões.

¡  Loader, responsável pela carga de programas na memória.

¡  Device drivers, controlam dispositivos de entrada e saída.

Page 23: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

1ª. Geração Sistemas Batch

n  Problema do Monitor Residente ¡  Baixa performance:

n  atividades de CPU e E/S não simultâneas; leitora de cartões lenta

n  Solução ¡  Operação Off-line

n  Carregar os jobs na memória através de fita n  Saída da memória para a fita

Page 24: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

2ª. Geração Sistemas Batch Off-Line

n  Operação Off-Line

Page 25: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

3ª. Geração Sistemas Batch c/ Spooling

n  Spooling ¡  Torna simultânea a execução de jobs. ¡  Próximo Job é lido e armazenado em

disco (job queue). ¡  Saída do Job anterior é feita do disco

para a impressora. ¡  Job pool (estrutura de dados).

Page 26: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

3ª. Geração Sistemas Batch c/ Spooling

Leitor de cartão impressoras CPU

disco

Page 27: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

3ª. Geração Sistemas Batch c/ Spooling

n  Batch Multiprogramado ¡  Vários jobs são mantidos na memória

simultaneamente ¡  A CPU é multiplexada entre eles.

Sistema Operacional

Job 1 Job 2 Job 3 Job 4

512k

0

Page 28: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

3ª. Geração Sistemas Batch c/ Spooling

n  Multiprogramação

CPU

I/O

CPU

I/O

Job 1

Job 2

Job 3

Page 29: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

4ª. Geração Computadores Pessoais

n  Computadores Pessoais ¡  Originalmente dedicados a um único

usuário. ¡  Introduziram novos dispositivos de E/S

c o m o t e c l a d o , m o u s e , d i s p l a y , impressoras, etc.

¡  Características marcantes: conveniência do usuário e interatividade.

29

Page 30: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  Sistemas Paralelos n  Sistemas de Tempo Real n  Sistemas Distribuídos

Page 31: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  Sistemas Paralelos ¡  Sistemas multiprocessadores com mais

de uma CPU em comunicação próxima e constante.

¡  Sistemas Fortemente Acoplados (Tightly coupled system) n  Processadores compartilham a memória e o

clock. n  A comunicação geralmente se dá via

memória compartilhada.

Page 32: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  Como vantagens, os s istemas paralelos apresentam: ¡  Aumento de vazão ou throughput

(volume de saída por unidade de tempo). ¡  Economia no uso de dispositivos

compartilhados. ¡  Aumento de confiabilidade

n  Tolerância a falhas.

Page 33: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  O s s i s t e m a s p a r a l e l o s s ã o classificados em: ¡  Multiprocessamento Simétrico (SMP)

n  Cada processador roda uma cópia do S.O. n  Muitos processo podem executar ao mesmo

tempo sem degradação de performance.

CPU CPU CPU

Memória

...

Page 34: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  O s s i s t e m a s p a r a l e l o s s ã o classificados em: ¡  Multiprocessamento Assimétrico

n  Cada processador tem uma tarefa específica. n  Processador “mestre” escalona e aloca o

trabalho entre os processadores “escravos”. n  Mais comum em sistemas de grande porte.

Page 35: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  Sistemas de Tempo Real ¡  G e r a l m e n t e u t i l i z a d o s c o m o

controladores em aplicações dedicadas. n  Controle de experimentos científicos. n  Sistemas de imagens médicas. n  Sistema de controle industrial. n  Aeronaves.

¡  Restrições de tempo estritas e bem definidas.

Page 36: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  Os sistemas de tempo real podem ser classificados em: ¡  Soft real-time system

n  Atrasos podem ocasionar falhas. n  Gravação de CD, reprodução de música n  Útil para aplicações que necessitam de

r e c u r s o s a v a n ç a d o s d e s i s t e m a s operacionais (multimídia, realidade virtual e aumentada).

Page 37: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  Os sistemas de tempo real podem ser classificados em: ¡  Hard real-time system.

n  Atrasos são inaceitáveis. ¡  Muito dinheiro e até vidas humanas podem ser

perdidas n  Memória secundária limitada ou ausente. n  Dados armazenados em memória principal.

Page 38: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  Sistemas Distribuídos ¡  Distribuem a computação por vários

processadores físicos. ¡  Sistemas Fracamente Acoplados

(Loosely coupled system): n  Cada processador tem sua própria memória

local. n  Se comunicam via troca de mensagem

através de uma rede.

Page 39: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Outras Gerações

n  Os sistemas distribuídos podem ser classificados em: ¡  Sistemas Operacionais de Rede

n  Compartilhamento de Arquivos; Esquemas de comunicação; Execução independente para cada computador.

¡  Sistemas Operacionais Distribuídos n  Menos autonomia entre os computadores. n  Dão a impressão de que um único S.O.

controla a rede.

Page 40: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Breve Evolução dos Sistemas Operacionais

Page 41: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Breve Evolução dos Sistemas Operacionais

n  Anos 40: cada programa executava sozinho e tinha total controle do computador.

n  Anos 50: os sistemas de computação fornecem “bibliotecas de sistema” (system libraries) que encapsulam o acesso aos periféricos, para facilitar a programação de aplicações.

n  1961: o grupo do pesquisador Fernando Corbató, do MIT, anuncia o desenvolvimento do CTSS – Compatible Time-Sharing System [Corbató et al., 1962], o primeiro sistema operacional com compartilhamento de tempo.

Page 42: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Breve Evolução dos Sistemas Operacionais

n  1965: a IBM lança o OS/360, um sistema operacional avançado, com compartilhamento de tempo e excelente suporte a discos.

n  1965: um projeto conjunto entre MIT, GE e Bell Labs define o sistema operacional Multics, cujas ideias inovadoras irão influenciar novos sistemas durante décadas.

n  1969: Ken Thompson e Dennis Ri tchie, pesquisadores dos Bell Labs, criam a primeira versão do UNIX.

Page 43: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Breve Evolução dos Sistemas Operacionais

n  1981: a Microsoft lança o MS-DOS, um sistema operacional comprado da empresa Seattle Computer Products em 1980.

n  1984: a Apple lança o sistema operacional Macintosh OS 1.0, o primeiro a ter uma interface gráfica totalmente incorporada ao sistema.

n  1985: primeira tentativa da Microsoft no campo dos sistemas operacionais com interface gráfica, através do MS-Windows 1.0.

Page 44: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Breve Evolução dos Sistemas Operacionais

n  1987: Andrew Tanenbaum, um professor de computação holandês, desenvolve um sistema operacional didático simplificado, mas respeitando a API do UNIX, que foi batizado como Minix.

n  1987: IBM e Microsoft apresentam a primeira versão do OS/2, um sistema multitarefa destinado a substituir o MS-DOS e o Windows. Mais tarde, as duas empresas rompem a parceria; a IBM continua no OS/2 e a Microsoft investe no ambiente Windows.

Page 45: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Breve Evolução dos Sistemas Operacionais

n  1991: Linus Torvalds, um estudante de graduação finlandês, inicia o desenvolvimento do Linux, lançando na rede Usenet o núcleo 0.01, logo abraçado por centenas de programadores ao redor do mundo.

n  1993: a Microsoft lança o Windows NT, o primeiro sistema 32 bits da empresa.

n  1993: lançamento dos UNIX de código aberto FreeBSD e NetBSD.

n  1995: Windows 95, primeiro S.O. De fato para desktops da Microsoft.

Page 46: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Breve Evolução dos Sistemas Operacionais

n  2001: a Apple lança o MacOS X, um sistema operacional derivado da família UNIX BSD.

n  2001: lançamento do Windows XP. n  2004: lançamento do núcleo Linux 2.6. n  2006: lançamento do Windows Vista.

Page 47: Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch: antigos sistemas operacionais. " Rede: deve possuir suporte a rede " Distribuído:

Referências

n  Operating System Concepts. A. Silberschatz, P. Galvin e G. Gagne. 8th edition. John Wiley & Sons, Inc. ISBN-13: 9780470128725 (2008).

n  Modern Operating Systems. A.S. Tanenbaum. 3rd edition. Prentice-Hall, ISBN-13 978-0136006633 (2007).

n  Livro de Sistemas Operacionais. Carlos A. Maziero. Disponível em http://www.ppgia.pucpr.br/~maziero/doku.php/so:livro_de_sistemas_operacionais. 2011

47