Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Sistemas Operativos 2010/ 2011
2010
Primeiras Perguntas
! Onde est o valor de um sistema informtico? ! O valor est na automatizao dos processos de negcio efectuado pelas Aplicaes Informticas ! Nos dados de negcio
2010
Page 1
1
Primeiras Perguntas
! Para que serve o Sistema Operativo? ! Para suportar eficientemente as aplicaes ! Para garantir segurana e fiabilidade das operaes ! Garantir que no so afectadas pela mudana de hardware e configurao
2010
2010
Page 2
2
2010
Page 3
3
Aplicaes
Aplicaes
Sistema Operativo
Mquina Fsica
Hardware ! Criar uma mquina virtual sobre a mquina fsica que oferea os recursos lgicos bsicos necessrios ao desenvolvimento das aplicaes ! Independente do hardware onde se executa
2010 Jos Alves Marques / Carlos Ribeiro 7
Recursos Lgicos Processos Espaos de endereamento virtuais Ficheiros Perifricos virtuais Canais de Comunicao Utilizadores
Recursos Fsicos virtualizados CPU Memria RAM, Unidade de Gesto de Memria Discos e dispositivo de memria de massa Perifricos fsicos Partilha de memria, redes de dados Utilizadores humanos
2010
Page 4
4
Critrios de Qualidade do SO
! Desempenho
! Gesto eficiente dos recursos fsicos que suportam os recursos lgicos
! Segurana.
! Isolamento dos Utilizadores ! Permitir partilha segura de recursos lgicos
! Fiabilidade e Disponibilidade
! Detectar um conjunto de faltas ! Tolerar um conjunto de erros
2010
10
Page 5
5
2010
11
2010
12
Page 6
6
Evoluo histrica
2010
14
Page 7
7
Monitor de Controlo
! Permite ao utilizador:
! Carregar programas em memria, edit-los, etc. ! Resultados dos programas: listagens, fitas perfuradas
! Cada utilizador tem um determinado tempo atribudo durante o qual tem o computador apenas para si ! O monitor formado por um conjunto de utilitrios:
! ! ! ! ! Interpretador de linguagem de comando Compilador, Assemblador (Assembler) Editor de ligaes (linker) Carregador de programas em memria (loader) Biblioteca de rotinas para controlo de perifricos (consola, leitor de cartes, etc.)
! Limitao Principal?
2010 Jos Alves Marques / Carlos Ribeiro 15
Monitor de Controlo
2010
16
Page 8
8
2010
17
! Sada
! Em vez de imprimir directamente os programas escrevem a sada em ficheiros que so enviados para a impressora quando a aplicao termina - spooling
! Evoluo:
! Os perifricos executam tarefas autnomas e avisam o processador do fim da sua execuo atravs de interrupes. ! Execuo em paralelo dos programas e das E/S
2010 Jos Alves Marques / Carlos Ribeiro 18
Page 9
9
Multiprogramao
! O mecanismo de interrupes permite multiplexar o processador entre vrias actividades concorrentes.
! No exemplo anterior entre um programa e as entradas/saidas, ! Mas esta capacidade de alternar a execuo pode ser estendida multiplexagem de vrios programas residentes na memria.
2010
19
Multiprogramao
Utiliza o CPU t Utilizao do processador num sistema monoprogramado Espera m de Entrada/Sada Utiliza o CPU Entrada /Sada
Programa J S.O
Programa J+1
S.O
Programa J+2
S.O
2010
20
Page 10
10
Tempo Partilhado
Utilizador N S.O Utilizador N+1 S.O Utilizador N +2 S.O
! Cria a iluso que o computador est permanentemente disponvel para o utilizador ! Impulsionado por:
! Aplicaes em que vrios utilizadores interactuavam directamente com o sistema (sistemas de reservas) ! Descida dos preos dos terminais
! Possvel porque a maioria das aplicaes interactivas usa pouco o processador ! Ex.: CTSS (incio dos anos 60)
2010 Jos Alves Marques / Carlos Ribeiro 21
2010
22
Page 11
11
Memria Virtual
! Elimina a restrio fsica imposta pelo tamanho da memria fsica permitindo um grau de multiprogramao muito superior ! Possvel pela propriedade da localidade
2010 Jos Alves Marques / Carlos Ribeiro 23
Interface Grfica
2010
24
Page 12
12
Sistemas Distribudos
! Consequncia da evoluo de:
! Redes de dados ! Computadores pessoais PC ! Sistemas abertos (normalizao oficial e de facto) ! Custo e desempenho da electrnica digital
! Aplicaes iniciais: Mail, FTP ! SO tem vindo a englobar funcionalidade dos sistemas distribudos
! Exemplos: protocolos de rede, sistema de ficheiros distribudo
2010 Jos Alves Marques / Carlos Ribeiro 25
Page 13
13
! Tempo real:
! Tentam garantir que o computador produz uma resposta a um acontecimento externo num intervalo de tempo determinado. (Caso contrrio o sistema no cumpre a sua especificao falha.)
2010
27
Page 14
14
Sistemas Embebidos
! Oferta extensa de SO usada em sistemas embebidos:
! Software integrado com o hardware ! O sistema no oferece interface para desenvolver aplicaes
Page 15
15
2010
31
Sistemas Abertos
! Sistema portvel e interopervel ! Oferece uma interface normalizada ! Gnese no sistema Unix
! Divulgao do cdigo fonte ! Interfaces de programao standard ! Encorajava o desenvolvimento de SW e HW por terceiros ! No possvel responsabilizar o criador do software ! Linux software livre (free software) open source, segue a licena GPL (General Public License)
2010 Jos Alves Marques / Carlos Ribeiro 32
Page 16
16
Organizao Tpica
Biblioteca de Funes do Sistema Gesto de Gesto de Gestores de Sistema de Comunicao Processos Memoria Perifricos Ficheiros entre Processos Hardware
! SO divide-se em: ! Ncleo (kernel) dividido em mdulos ! Biblioteca das funes sistema (system calls) usadas pelas aplicaes ! Processos sistema
2010 Jos Alves Marques / Carlos Ribeiro 34
Page 17
17
Ncleo
Open ()
2010
35
excepo
Ncleo
Open ()
Tabela de Interrupes
Modo Modo Utilizador Ncleo
2010
36
Page 18
18
2010
37
Funo sistema Z
38
Page 19
19
Chamada Sistema
Chamada Chamada sistema sistema
RTI
2010
39
2010
40
Page 20
20
Estrutura Monoltica
! ! ! ! ! !
Um nico sistema Internamente organizado em mdulos Estruturas de dados globais Problema: como dar suporte evoluo
! Em particular, novos perifricos
Soluo para este caso particular: gestores de dispositivos (device drivers) Problemas?
2010
41
Sistemas em Camadas
! ! ! ! !
Cada camada usa os servios da camada precedente Fcil modificar cdigo de uma camada Mecanismos de proteco ! maior segurana e robustez Influenciou arquitecturas como Intel Desvantagem principal?
Jos Alves Marques / Carlos Ribeiro 42
2010
Page 21
21
Micro-ncleo
! Propostas de investigao ! separao entre: ! Um micro-ncleo de reduzidas dimenses e que s continha o essencial do sistema operativo:
! ! ! ! Gesto de fluxos de execuo - threads Gesto dos espaos de endereamento Comunicao entre processos Gesto das interrupes
Micro-Ncleo
Servidores
Sistema de ficheiros
Sistema de
Gestores de perifricos
Gestores de
Protocolos
Aplicaes
2010
44
Page 22
22
Micro-Ncleo vs Monoltico
2010
45
OS SISTEMAS DE REFERNCIA
2010 Jos Alves Marques / Carlos Ribeiro 46
Page 23
23
Evoluo Unix
2010
47
2010
48/51
Page 24
24
Unix
System calls Terminal handing Raw tty Cooked tty Line disciplines Character devices Sockets Network protocols Routing Netwok device drivers File Map- Page naming ping faults File Virtual systems memory Buffer cache Page cache Interrups and traps Process Signal handling Creation and Termination Process scheduling Process dispatching
Gesto de Processos
Gesto de Memria
Gesto de Perifricos
Sistemas de Ficheiros
Comunicao
2010
49
2010
50
Page 25
25
Windows NT
System Support processes Service processes User applications Environment subsystems
Subsystem DLLs User mode Kernel mode Executive Kernel Device drivers Hardware abstraction layer (HAL) Windowing and graphics
2010
51
Windows NT
Sistem threads Ntdll.dll User mode Kernel mode System service dispatcher (Kernel-mode callable interfaces) I/O manager Process and threads File system cache Security reference monitor Object manager Plug and Play manager Power manager Virtual memory Configuration manager (registry) Local procedure call Win32 USER GDI
Graphics drivers
2010
52
Page 26
26