sistemas operativos - web.fe.up.ptrma/sope/at/t02_03.pdf · agenda • objectivos de um computador...
TRANSCRIPT
![Page 2: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/2.jpg)
Agenda
• objectivos de um computador
• objectivos de um sistema operativo
• evolução dos sistemas operativos
• tipos de sistemas operativos
![Page 3: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/3.jpg)
Computador
• é formado por hardware, ...
• e também programas, aplicações
•
![Page 4: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/4.jpg)
Objectivos de um computador
• manipular dados (semi-) automaticamente
• facilitar a vida aos utilizadores
• prático, simples de usar
• executar programas (i.e., aplicações)
![Page 5: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/5.jpg)
Sistema Operativo
• programa que actua como intermediário entre os utilizadores e o hardware
• gestor de recursos
• tempo, espaço
![Page 6: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/6.jpg)
Objectivos- Conveniência -
• SO esconde os detalhes do hardware
• simula máquina virtual (utilização fácil)
• fornece API mais fácil de usar do que o hardware
![Page 7: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/7.jpg)
Objectivos - Eficiência -
• SO controla a alocação dos recursos
• multiplexação
• tempo: cada processo usa o recurso à vez
• espaço: recurso é partilhado
![Page 8: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/8.jpg)
Evolução
• 1a geração (1945-1955) - Válvulas e placas programáveis
• 2a geração (1955-1965) - Transístores e sistemas batch
• 3a geração (1965-1980) - Circuitos integrados
• 4a geração (1980- ) - PCs, workstations, servidores
• uma nova geração?? PDAs, smartphones, sistema de navegação (ndrive), TVs, ...
![Page 9: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/9.jpg)
1a geração
• acesso livre ao computador
• utilizador podia mas também tinha de fazer tudo
• ‘inventar a roda’
• baixa eficiência
• elevado tempo de preparação
• difícil encontrar erros
![Page 10: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/10.jpg)
2a geração
• transístores e sistemas batch (mainframes)
• mais eficiente que a 1a geração, mas
• máquinas bastante caras
• como executar um programa ?
• programa era escrito em papel
• codificado em fitas perfuradas
• fornecido ao operador especializado
![Page 11: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/11.jpg)
2a geração
• para aumentar eficiência
• operador especializado
• operador carrega programas, executa-os e devolve resultados
• 1 programa de cada vez
• programa auxiliar para executar tarefa tinha de ser carregado (FORTRAN)
• ganhou-se eficiência, perdeu-se conveniência
![Page 12: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/12.jpg)
2a geração
• gestores queriam reduzir tempo off-line
• maximizar uso da máquina (€)!!
• solução: sistemas batch
• coleccionar série de programas semelhantes numa fita
![Page 13: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/13.jpg)
Sistemas batch
![Page 14: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/14.jpg)
Sistemas batch
![Page 15: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/15.jpg)
Como melhorar?
• programa (resident monitor) que
• controla a operação de um computador
• encadeia ‘jobs’
• embrião de um sistema operativo?!
![Page 16: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/16.jpg)
3a geração
• multi-programação
• executar programas ao mesmo tempo
• e.g., enquanto um programa espera por IO, outro pode usar o CPU
![Page 17: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/17.jpg)
Multiprogramação
• vários jobs são carregados para a memória central, e o tempo de CPU repartido
• mecanismos de interrupções permite multiplexar o processador entre várias actividades
• execução concorrente de vários programas
• optimizar utilização do processador
![Page 18: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/18.jpg)
Multiprogramação
![Page 19: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/19.jpg)
Contudo...
• Eficiência em risco devido erros de programação
• deadlocks
• race conditions
• destruir o programa de controle
• Pouca interacção com programa em execução
• difícil identificar erros!
![Page 20: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/20.jpg)
Time-sharing
• time-sharing aumenta a conveniência
• SO reparte o tempo de CPU pelos vários programas prontos a executar
• cria a ilusão que o computador está permanentemente disponível
• Impulsionado por descida dos preços dos terminais
•
![Page 21: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/21.jpg)
Consequências
• revisão dos algoritmos de escalonamento
• definição dos mecanismos de segurança
• aparecimento do sistema de ficheiros
• tempo partilhado -> vários progs em memória simultaneamente
• Hierarquia de memória
![Page 22: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/22.jpg)
4a geração
• apareceram por volta dos anos 80
• incentivado pelo baixo custo do hardware
• exequível um computador voltar a ser dedicado a um só utilizador
• também conhecido como computadores pessoais (ou micro-computadores)
![Page 23: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/23.jpg)
Multiprocessamento
• vantagens
• throughput
• economia
• graceful degradation
• ideia: aumentar throughput, e não executar o programa mais depressa
![Page 24: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/24.jpg)
Multiprocessamento
• Arquitectura
• simétrico
• qualquer CPU pode executar código do SO
• assimétrico
• periféricos associados a um CPU
• não há race conditions, CPU idles
• baixo throughput
![Page 25: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/25.jpg)
Sistemas Distribuídos
• SD apareceram para partilhar
• recursos caros
• inconvenientes de replicar
• redireccionamento de IO
• Consequência da evolução de
• redes, PCs, custo dos computadores, ...
![Page 26: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/26.jpg)
Sistemas Distribuídos
• de network aware OSs (sistemas iniciais: Mail, FTP) passou-se a sistemas vocacionados para trabalhar em rede (e.g., sistemas de ficheiros distribuídos)
• aplicações acedem aos recursos remotos de forma transparente
![Page 27: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/27.jpg)
Sistemas de tempo real
• inicialmente usado para controlo de processos industriais
• tb usado para jogos, sistemas, controlo de automóveis/aviões
• típico de sistemas embebidos
• SW integrado com o HW
• difícil de estender as aplicações
![Page 28: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/28.jpg)
Tempo virtual vs. real
• tempo virtual
• tempo de execução não tem relação com o tempo cronológico
• sistema utilizado na maioria dos computadores (windows, linux, mac os)
• tempo real
• tentam garantir que o computador produz uma resposta num intervalo de tempo determinado
![Page 29: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/29.jpg)
Tempo real
• diferentes requisitos por aplicações
• soft real time - sistema robusto a certos atrasos
• hard real time - não cumprimento de um prazo corresponde a uma falha
![Page 30: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/30.jpg)
Evolução dos conceitos (SO)
No
software Compilers
![Page 31: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/31.jpg)
Organização de um SO
• OS divide-se em
• kernel - dividido em módulos
• biblioteca de system calls
• processos do sistema
![Page 32: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/32.jpg)
Arquitectura de SO
• sistemas monolíticos
• modelo cliente-servidor
• microkernel
• máquinas virtuais
• exokernel
![Page 33: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/33.jpg)
Monolítico
• um único sistema
• internamente organizado em módulos
• estrutura de dados globais
• e.g., DOS, Windows, Linux
![Page 34: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/34.jpg)
Microkernel• um núcleo de reduzidas dimensões e que
só continha o essencial do SO
• gestão de threads, endereçamento
• servidores de sistema que executam em processos independentes a restante funcionalidade
• device drives, memória virtual, ...
• e.g., Minix, Symbian
![Page 35: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/35.jpg)
Modelo cliente-servidor
• variação da ideia de micro-kernel
• distingue cliente e servidor
• comunicação feita à base de mensagens
• cliente e servidor podem estar em computadores distintos
![Page 36: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/36.jpg)
Máquinas Virtuais
• desenvolvido pela IBM devido ao interesse dos seus trabalhadores de usarem os computadores de forma interactiva
• cria um colone da máquina na qual esta a ser executado
• ex., Java Virtual Machine
• independente da plataforma, sandbox
![Page 37: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/37.jpg)
Exokernel
• em vez de colonar a máquina actual, dá ao utilizador um subconjunto de recursos
• exokernel e um programa que faz a alocação dos recursos
• utilizadores pedem recursos ao exokernel
• mais simples de manter do que virtual machines. Porquê?
![Page 38: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/38.jpg)
Processo de booting
• executa instrução FFFFFFFF0h do BIOS
• contém um jump para o programa inicial
• executa auto-test (POST) de hardware
• se encontra dispositivo executa o master boot register (MBR)
• MBR carrega e executa o sector de iniciação da partição (e.g., executar o kernel)
![Page 39: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/39.jpg)
Modo kernel vs. Modo utilizador
![Page 40: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/40.jpg)
Modo kernel vs. utilizador
• processos dos utilizadores não podem interferir com dados/execução do SO
• devem tb estar vedadas as aplicações dos utilizadores
• Ajuda o processador: espaços de endereçamento diferentes
• Barreira de protecção: interrupção de SW
![Page 41: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/41.jpg)
Sistemas operativos- exemplos -
• MS-DOS
• Mac OS (primeiro com GUI)
• Windows (3.11, NT, Me, XP, Vista)
• Unix-based: FreeBSD, X11, Gnome, KDE
![Page 42: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/42.jpg)
MS-DOS
![Page 43: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/43.jpg)
UNIX
![Page 44: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/44.jpg)
OS/2
![Page 45: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/45.jpg)
Windows NT
![Page 46: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/46.jpg)
Symbian OS
![Page 47: Sistemas Operativos - web.fe.up.ptrma/SOPE/at/T02_03.pdf · Agenda • objectivos de um computador • objectivos de um sistema operativo • evolução dos sistemas operativos •](https://reader035.vdocuments.site/reader035/viewer/2022070614/5be217aa09d3f2382f8bb4ca/html5/thumbnails/47.jpg)
Sumário
• objectivos de um sistema operativo
• conveniência e eficiência
• evolução de sistemas operativos
• porque são necessários?
• tipos de sistemas operativos