Upload
breno-dsouza
View
218
Download
0
Embed Size (px)
Citation preview
FUNDAMENTOS DE COMPUTAÇÃO19 – Software (Parte II)
2
PrimórdiosPrimórdios
Sistema operacional inexistente Usuário é o programador e o operador da
máquina Evolução foi motivada por:
Melhor utilização de recursosAvanços tecnológicos (novos tipos de hardware)
Adição de novos serviços
Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação
3
Sistemas Mono-usuárioSistemas Mono-usuário Projetados para serem usados por um único
usuário. Exemplo: MS- DOS, Windows 3.x, Windows 9x,
Millenium
Sistemas Multi-usuárioSistemas Multi-usuário Suportam várias sessões de usuário em um
computador. Exemplo: UNIX, Windows-NT, Windows 2000, Windows XP.
Programas e arquivos de dados em um único computador (hosthost), que gerencia também o uso comum de periféricos compartilhados.
Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação
4
Sistemas Mono-tarefa (Mono-programáveis)Sistemas Mono-tarefa (Mono-programáveis) Podem executar apenas uma tarefa de cada vez. Exemplo: MS-DOS
Sistemas Multi-tarefa (Multi-programáveis)Sistemas Multi-tarefa (Multi-programáveis) Permitem executar várias tarefas simultaneamente
Tarefas cooperativas. Exemplo: Windows 9x (aplicativos de 16 bits)
Tarefas preemptivas. Exemplo: Windows NT, UNIX, OS/2, Windows 9x (aplicativos de 32 bits)
Multi-tarefa cooperativa - cada aplicativo ocupa seu próprio endereço de memória e recursos do sistema. Cabe a cada processo liberar voluntariamente a utilização do processador para que outro processo possa rodar.
Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação
5
Sistemas em Lote (Sistemas em Lote (Batch)Batch)
Primeiros sistemas multi-programáveis Caracterizados por terem seus jobs armazenados
em disco ou fita, até o momento de serem executados de forma seqüencialseqüencial.
Os jobs não possuem interação com o usuário (Ex.: primórdios – compiladores, linkedições, backups).
Início:Início: passagem entre jobs - manual Evolução: Evolução: Sequenciamento automático de jobs,
transferindo o controle de um job a outro.
Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação
Sistemas em lote (Batch ) - Histórico
6
1 4 0 1 7 0 9 4 1 4 0 1
L eitora de
cartões
Unidade
de Fita
E ntradada Fita
Sistema
de FitasSaída
de Fita
Impressora
Um sistema “batch” antigo. (a) Programadores levam cartões ao 1401. (b) 1401 lê batch de jobs em fita. (c) A operadora acopla fita de entrada no 7094. (d) O 7094 faz o processamento. (e) A operadora acopla fita de saída no 1401. (f) O 1401 imprime a saída.
Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação
Sistemas em Lote (Batch) - Histórico
Introdução da multi-programação Acesso direto aos jobs - escala de jobs em uma
determinada ordem, de modo a aproveitar os tempos de cpu ociosa.
A idéia é manter vários programas em memória ao mesmo tempo. Enquanto um programa aguarda E/S, outro pode ser executado
7
Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação
Sistemas Multi-programáveis de Tempo Compartilhado (Timesharing)
Fornecem serviços a diversos usuários concorrentemente
Usuários possuem um terminal Interação com o programa em execução
Usuário - Ilusão de possuir a máquina dedicada à execução de seu programa Divisão do tempo de processamento entre usuários Tempo de resposta é importante
8
Sistemas Operacionais - Classificação
Sistemas Multi-programáveis de Tempo Real
Quanto à construção, são bem semelhantes aos sistemas de tempo compartilhado. Porém, os objetivos e exigências são diferentes.
Em geram, atendem (monitoram) processos externos que requerem tempos de resposta dentro de limites rígidos. Ex.: experimentos científicos, tratamento de imagens médicas, controle de processos, etc
O processo realimenta o computador. Em geral não existe o conceito de fatia de tempo alocada
a um processo. Noção de tempo real é dependente da aplicação
(segundos, minuto, horas, etc). 9
Sistemas Operacionais - Classificação
Sistemas com Múltiplos Processadores Caracterizam-se por possuir 2 ou mais CPUs interligadas,
trabalhando conjuntamente. No desenvolvimento desses sistemas o mais importante
é a forma de comunicação entre os processadores e o grau de compartilhamento da memória e dos dispositivos de E/S, o que leva a seguinte classificação: sistemas fortemente acoplados (assimétricos e simétricos) sistemas fracamente acoplados (SO de rede e SO
distribuído).
10
Sistemas Operacionais - Classificação
11
Gerenciadores de Rede Windows NT, XP,
Vista UNIX Ware LINUX Red Hat,
Ubuntu Solaris Novell Netware LANtastic
Sistemas Operacionais MS-DOS Windows (95, 98, NT, XP,
Vista) UNIX LINUX Solaris OS/2 (IBM - micros) Mac OS (Apple -
Machintosh) MCP (Unisys - Mainframe) VSE (IBM - Mainframe) MVS (IBM - Mainframe)
Sistemas Operacionais
Mono-usuário e mono-tarefa. É um sistema operacional de 16 bits Interface de linha de comando Modos de comunicação do usuário com o MS-DOS:
modo interativo e o modo batch. Modo Interativo: executa um comando no instante
em que foi digitado através do prompt. Modo batch: comandos em lote - uma seqüência de
comandos que serão executados na ordem em que aparecem. Os comandos desejados devem ser colocados em ordem seqüencial em um arquivo que pode ser criado por um processador de textos.
Versões - 1.0 , 2.0 , 3.0 ,...., 6.0, 6.22 , 7.0 (unificado ao Windows )
12
Sistemas Operacionais
Exemplos – MS-DOS (Disk Operating System)
O Windows foi a verdadeira revolução dos PC. Permite utilizar o microcomputador com maior
facilidade, através de uma interface visual gráfica. Metáfora básica: a do desktop - ambiente que
lembra uma mesa de trabalho - ferramentas necessárias e outros recursos são sempre visíveis e facilmente acessíveis.
Windows ou Janelas Regiões retangulares que se alternam e se sobrepõem Apresentam na tela todas as operações ou programas
executados no computador Versões: Windows 3.1 e 3.11, Windows 95 /
Windows 98, Windows NT, 2000, XP, Vista13
Sistemas Operacionais
Exemplos – Windows
Sistema multi-usuário e multi-tarefa. Principal objetivo: obtenção de um ambiente
satisfatório de trabalho para programadores. Avaliação: usuários e programadores experientes -
simples, elegante e fácil de aprender; Iniciantes - resumido e não muito amistoso.
Uso predominante: estações de trabalho e servidores de rede, e especialmente, popular em máquinas equipadas com chips RISC de alto desempenho. Vantagens: portabilidade, padronização, sistema de
arquivos hierárquico, e generalidade. Sistemas UNIX modernos - tendem a ser distribuídos e
suportam aplicações em tempo real. 14
Sistemas Operacionais
Exemplos – UNIX
É um “clone” do UNIX de distribuição livre. Foi primeiramente desenvolvido para PCs baseados em
386/486/Pentium, atualmente também roda em computadores Alpha - DEC, Sparc - SUN, PowerPC.
Está disponível na forma de código objeto, bem como em código fonte.
A maioria dos programas rodando em Linux são freeware genéricos para UNIX.
Linux está sendo usado hoje em dia por centenas e centenas de pessoas pelo mundo - desenvolvimento de software, networking, e como plataforma de usuário final.
Tem se tornado uma alternativa efetiva de custo em relação aos caros sistemas UNIX existentes.
15
Sistemas Operacionais
Exemplos – Linux