Sistemas Operacionais - 05 - Sistemas Operacionais Microsoft
Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch:...
Transcript of Introdução aos Sistemas Operacionais€¦ · Sistemas Operacionais ! Alguns tipos são: " Batch:...
Introdução aos Sistemas Operacionais
Prof. Dr. André Carvalho [email protected]
2
Agenda
n Conceitos Básicos n Tipos de Sistemas Operacionais n Histórico
¡ Geração n Breve Evolução n Referências
Conceitos Básicos
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
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
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.
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
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
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
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
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
12
Tipos de Sistemas Operacionais
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.
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
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
Histórico
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
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
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
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
1ª. Geração Sistemas Batch
n Exemplo de cartões de controle
Fonte: [Tanenbaum 2007]
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.
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
2ª. Geração Sistemas Batch Off-Line
n Operação Off-Line
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).
3ª. Geração Sistemas Batch c/ Spooling
Leitor de cartão impressoras CPU
disco
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
3ª. Geração Sistemas Batch c/ Spooling
n Multiprogramação
CPU
I/O
CPU
I/O
Job 1
Job 2
Job 3
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
Outras Gerações
n Sistemas Paralelos n Sistemas de Tempo Real n Sistemas Distribuídos
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.
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.
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
...
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.
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.
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).
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.
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.
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.
Breve Evolução dos Sistemas Operacionais
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.
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.
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.
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.
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.
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.
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