Prof. Pedro Luís Antonelli Anhanguera...

37
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional

Transcript of Prof. Pedro Luís Antonelli Anhanguera...

Sistemas Operacionais

Prof. Pedro Luís Antonelli Anhanguera Educacional

SISTEMA OPERACIONAL • Definição (MACHADO/MAIA, 2007)

– Conjunto de rotinas executadas pelo processador

– Controlar o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus recursos: • Processadores

• Memórias

• Dispositivos de Entrada e Saída

• Definição (TANANBAUM, 2003)

– Programa de computador que age como intermediário entre o usuário e o hardware

SISTEMA OPERACIONAL • Definição (MACHADO/MAIA, 2007)

– Conjunto de rotinas executadas pelo processador

– Controlar o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus recursos: • Processadores

• Memórias

• Dispositivos de Entrada e Saída

• Definição (TANANBAUM, 2003)

– Programa de computador que age como intermediário entre o usuário e o hardware

SISTEMA OPERACIONAL • Por quê utilizar um Sistema Operacional

– Aproveitamento de hardware – Executar programas e facilitar a solução de problemas – Usar o hardware de maneira eficiente

• Funções Básicas

– Interface com o usuário (shell, ambiente) – Gerenciamento de processos – Gerenciamento de memória – Tratamento de interrupções – Gerenciamento do sistema de arquivos – Operações de entrada/saída

VISÃO DO SISTEMA COMPUTACIONAL • Sistema Computacional consiste em

– Hardware

– Programas do Sistema

– Programas de Aplicação

TANENABUM, fig.1.1, pag 1 – Um sistema computacional

VISÃO DO SISTEMA OPERACIONAL

MACHADO, fig.1.1, pag 4 – Visão do sistema operacional

MÁQUINA DE NÍVEIS

• Máquina de Camadas

– Ótica do hardware e software

• Máquina Virtual

– Visão modular

MACHADO, fig.1.2, pag 6 – Visão do computador pelo usuário

HISTÓRICO • Antes de 1940

– Computadores eram grandes calculadoras

– 1642 – Pascaline

– 1673 – Máquina de somar e multiplicar

– 1820 – Máquina realiza as 4 operações

– 1833 – Máquina analítica

– 1854 – Lógica booleana

– 1890 – Leitor de Cartões perfurados

– 1930 – Z1 (Computador com reles)

– 1937 – Máquina Universal (Turing) • Executava algoritmos e processamento de

símbolos

• Base de toda a ciência da computação moderna

HISTÓRICO

• Década de 40

– 1943 – ENIGMA (decifrar códigos de guerra)

– 1944 – Colossus (IBM)

– 1946 – ENIAC

– 1949 – EDSAC, EDVAC, IAS, MARK1 ...

HISTÓRICO • Década de 50

– Transistor – + velocidade de processamento

– Memórias magnéticas – acesso + rápido

– 1951 – Whirtwind 1º computador (processamento real)

– 1953 – IBM 701 1º Sistema Operacional

– Processamento em Bath

HISTÓRICO

• Década de 60

– Circuito Integrado – CI

– 1964 – IBM System 360

– OS/360 – Multiprogramação, Time-sharing, On-line

– 1965 – MULTICS – múltiplos processadores

– 1969 – UNIX – Versão do MULTICS (Ken Tompson)

HISTÓRICO

• Década de 70 – Circuitos Integrados de Larga Escala – LSI

– PDP-11, VAX-VMS

– 1971 – ALTAIR – Processador 8008, Pascal e C

– 1976 – APPLE II – Steve Jobs e Steve Wozniak

– Fundação da Apple e da Microsoft

– CM/P – Sistema Operacional da Digital Research

HISTÓRICO • Década de 80

– IBM PC – Processador 8080 de 16 bits

– UNIX Berkeley = BSD

– 1982 – Sun Microsystem (RISC com SunOS e Solaris)

– Microsoft Windows, IBM OS/2, Novell Netware, Microsoft Lan Manager

HISTÓRICO • Década de 90

– Sistemas especialistas, multimídia, BD distribuídos

– IA, Redes Neurais

– Processadores + rápidos, Memórias + baratas

– Unidades de E/S menores

– UNIX (HP VX e IBM AIX), Microsoft Windows, Linux

HISTÓRICO • Momento Atual (2007 ...)

– Evolução mais rápida do hardware

– Novas interfaces

• Linguagens naturais, som, realidade virtual

– Processamento Distribuído

– Sistemas Operacionais Embarcados

EVOLUÇÃO DOS SISTEMAS OPERACIONAIS

• 1ª FASE (1945-1955) – ENIAC – Programação painéis - linguagem de máquina – Não existia o conceito de SO e LP

• 2ª FASE (1956-1965)

– Primeiras LP, cartões perfurados, SO processamento Bath, Input/Output

• 3ª FASE (1966-1980)

– IBM OS/360 – Multiprogramação, Sistemas de Tempo Compartilhado – Surgimento do UNIX (1969) – Primeiros Microcomputadores de 8 bits da Apple – SO CP/M

EVOLUÇÃO DOS SISTEMAS OPERACIONAIS

• 4ª FASE (1981-1990) – Miniaturização de equipamentos – Personal Computer (PC) 16 bits da IBM – Microsoft MS-DOS – Sistemas Multitarefas: 1-Preemptivos e 2-Cooperativos – Sistemas Operacionais de Rede (SOR)

• 5ª FASE (1990-...)

– Sistemas para arquiteturas paralelas – Sistemas de processamento distribuído – Arquitetura Cliente/Servidor – Interfaces Gráficas Amigáveis – Software Livre

TIPOS DE SISTEMAS OPERACIONAIS

• Evolução do hardware e de aplicações suportados pelo Sistema Operacional

– Job Processo Thread Tipos de

Sistemas Operacionais

SistemasMonoprogramáveis/

Monotarefa

Sistemascom MúltiplosProcessadores

SistemasMultiprogramáveis/

Multitarefa

MACHADO, fig.1.5, pag 15 – Tipos de sistemas operacionais

• Primeiros SOs

• Processador, memória e periféricos dedicados à execução de um único programa

• Surgimento dos primeiros computadores (1960)

• Computadores pessoais (PC - 1970)

• Simples implementação

SO MONOPROGRAMÁVEIS/MONOTAREFA

MACHADO, fig.1.6, pag 16 – Sistemas monoprogramáveis / monotarefa

SO MULTIPROGRAMÁVEIS/MULTITAREFA • Evolução dos SOs mono-programáveis • Recurso computacionais compartilhados entre os usuários • Outros programas são executados durante período de

espera por aplicações

• Vantagens – Redução do tempo de resposta de aplicações – Compartilhamento de Recursos

• Multiprogramáveis

– Monousuários – computadores pessoais, estações de trabalho, interação no SO

– Multiusuários – ambiente interativo, usuários simultâneos

SO MULTIPROGRAMÁVEIS/MULTITAREFA

MACHADO, fig.1.7, pag 17 – Sistemas multiprogramáveis / multitarefa

SO MULTIPROGRAMÁVEIS/MULTITAREFA

• Classificam-se conforme as aplicações são gerenciadas

MACHADO, fig.1.8, pag 18 – Tipos de sistemas multiprogramáveis / multitarefa

SO MULTIPROGRAMÁVEIS/MULTITAREFA

• Sistemas Bath (Lote) – 2ª Fase SO – Grupo de programas é submetido ao processamento – Diminui o tempo entre a execução dos programas – Permitindo melhor desempenho de processamento – Exemplo

• 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

TANENBAUM, fig.1.2, pag 5 – Um sistema em lote

SO MULTIPROGRAMÁVEIS/MULTITAREFA

• Sistemas Time Sharing (Tempo Compartilhado) – Arquitetura complexa e de propósito geral – Interação de vários usuários com o sistema por meio de

terminais de vídeo – Computador pode ser usado por vários usuários ao mesmo

tempo – Divide o poder computacional do computador entre os

usuários – Time-Slice ou Quanta = Tempo do processador – Exemplo

• UNIX • OS2 IBM • Windows NT (200X)

SO MULTIPROGRAMÁVEIS/MULTITAREFA

• Sistemas Operacionais Real Time (Tempo Real)

– Dedicados à sistemas de controle e medição, com monitoramento contínuo de instrumentos

• Controle industrial, robóticos, realidade virtual

• Sistemas Operacionais de propósito geral

• Multimídia, realidade virtual, robótica

SISTEMAS COM MÚLTIPLOS PROCESSADORES

• Duas ou mais CPUs trabalham em conjunto • Vários programas são executados ao mesmo tempo ou o

programa é dividido em tarefas

• Escalabilidade – Capacidade de ampliar o poder computacional adicionando novos processadores

• Disponibilidade – Capacidade de manter o sistema em operação em caso de falhas

• Balanceamento de Carga – Capacidade de atribuir processamento entre os diversos processadores

• Classificação – Sistemas Fortemente Acoplados – Sistemas Fracamente Acoplados

• Sistemas Fortemente Acoplados

– Vários processadores e uma única memória física e dispositivos de E/S são gerenciados por um único SO

– Multiprocessadores

– SMP – Simetric Multiprocessors

– NUMA – Nom Univorm Memory Access

SISTEMAS COM MÚLTIPLOS PROCESSADORES

MACHADO, fig.1.10, pag 21 – Sistemas fortemente acoplados

• Sistemas Fracamente Acoplados

– Dois ou mais sistemas computacionais conectados através de linhas de comunicação independentes

– Gerenciam seus próprios recursos

– Multicomputadores

– SOR – Sistemas Operacionais de Rede

– SD – Sistemas Distribuídos

SISTEMAS COM MÚLTIPLOS PROCESSADORES

MACHADO, fig.1.11, pag 21 – Sistemas fracamente acoplados

SISTEMAS DISTRIBUÍDOS

• Sistema formado por um conjunto de módulos, compostos pelo menos por processador-memória, interligados através de um subsistema de comunicação

• O hardware deve oferecer facilidades de comunicação entre processadores cooperando sob um controle descentralizado, possibilitando a execução de programas de aplicação

• Exemplo – UNIX

– Amoeba

EXEMPLO DE SISTEMAS DISTRIBUÍDOS

Sistema MOSIX – Sistema distribuído fracamente acoplado

SISTEMAS PARALELOS • Sistemas atuando em mais de uma CPU de modo colaborativo

• Paralelismo de hardware de sistemas multiprocessados

• Compartilham a mesma memória física, barramento, relógio

• Sistemas Distribuídos Fortemente Acoplados

• É uma classificação dos sistemas multiprocessados

• Dependendo como estão conectados e compartilhados pode ser: – Paralelo – Multicomputador – Multiprocessador

SISTEMAS OPERACIONAIS DE SERVIDORES

• Executados em servidores, estações de trabalho, computadores de grande porte

• Controlam múltiplos usuários

• Compartilham recursos e dados

• Exemplo – UNIX

– Windows 200X Server

– Linux

– IBM AIX

– Sun Solaris

SISTEMAS OPERACIONAIS DE COMPUTADORES PESSOAIS

• Surgiram na 4ª Fase dos SO em 1981 para computadores de 16 bits (IBM e MS-DOS)

• Oferece interface para único usuário

• Dispositivos: mouse, teclado, impressora, monitor

• Microprocessador – Conceito de multitarefa (time sharing) – Multitarefa – múltiplas tarefas são executadas aparentemente de

forma simultânea em uma única CPU

• Exemplo – Windows NT – Linux – Windows 9x – MacOS

SISTEMAS OPERACIONAIS EMBARCADOS

• Sistemas adaptados para dispositivos móveis

• Equipamentos como PDAs, celulares, MP3 Player, Câmeras

• Memória limitada, processador mais lento

• Exemplo – PalmOS

– Windows Mobile

Sistemas Operacionais Adaptada do material original do Prof. Marcio A. Artero

BIBLIOGRAFIA BÁSICA

DEITEL, Harvery M.; DEITEL, Paul J.; CHOFFNES, David R.. Sistemas Operacionais. 3ª ed. São Paulo: Pearson Education,2005. TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2ª ed. São Paulo: Pearson Prentice Hall, 2008.

Sistemas Operacionais

BIBLIOGRAFIA COMPLEMETAR

SILBERSCHATZ, Abraham; GALVIN, Peter Baer; GAGNE, Greg. Fundamentos de Sistemas Operacionais. 6ª ed. Rio de Janeiro: LTC, 2004. SILBERSCHATZ, A.. Sistemas Operacionais. 6ª ed. Rio de Janeiro: LTC, 2004. OLIVEIRA, Rômulo Silva de; CARISSIMI, Alexandre da Silva; TOSCANI, Simão Sirineo. Sistemas Operacionais. 3ª ed. Porto Alegre: Sagra Luzzatto, 2004.

Sistemas Operacionais

BIBLIOGRAFIA COMPLEMETAR- continuação

TANEMBAUM, A. S.. Organizacao estruturada de computadores. 4ª ed. Rio de Janeiro: LTC, 2001. KORFF, Yanek. Mastering FreeBSD and OpenBSD Security. 5ª ed. Sebastepol - CA: Beiging O'Reily, 2005.