Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Sistemas Operativos 2009/ 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
2009
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
2009
2009
Page 2
2
2009
Page 3
3
Aplicaes
Mquina Virtual
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
2009 Jos Alves Marques
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
2009
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
2009
Page 5
5
2009
2009
Page 6
6
Evoluo histrica
Sem sistema operativo (UNIVAC, IBM 701, IBM 650) Tratam ento por lotes rudimentar Tratamento por lotes (IBM 7090) Multiprogram ao (Multics) Tem po partilhado Mem ria virtual (UNIX) Sistemas distribudos 1946 1950 1 gerao: interruptores e vlvulas 1960 2 gerao: transstores 1970 3 gerao: circuitos integrados 1980 4 gerao: computadores pessoais
2009
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?
2009 Jos Alves Marques
Monitor de Controlo
Memria
Programa
Leitor de cartes
Impressora
2009
Page 8
8
Dados
Programa Monitor
Memria
Impressora
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
2009 Jos Alves Marques
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.
2009
Multiprogramao
Utiliza o CPU t Utilizao do processador num sistema monoprogramado Espera fim de Entrada/Sada Utiliza o CPU Entrada /Sada
Programa J S.O
Programa J+1
S.O
Programa J+2
S.O
2009
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)
2009 Jos Alves Marques
2009
Page 11
11
Memria Virtual
Elimina a restrio fsica imposta pelo tamanho da memria fsica permitindo um grau de multiprogramao muito superior Posssvel pela propriedade da localidade
2009 Jos Alves Marques
Memria Primria
Interface Grfica
2009
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
2009 Jos Alves Marques
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.)
2009
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
2009
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
Linux software livre (free softeware) open source, segue a licena GPL
2009 Jos Alves Marques
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
2009 Jos Alves Marques
Page 17
17
Ncleo
Open ()
2009
excepo
Ncleo
Open ()
Tabela de Interrupes
Modo Utilizador Modo Ncleo
2009
Page 18
18
2009
Funo sistema A
Funo sistema Z
2009
Page 19
19
Chamada Sistema
Chamada sistema Chamada sistema
Guarda par metrosna pilhae em registos Excep o Modo utilizador Modo ncleo
RTI
2009
Page 20
20
Estrutura Monoltica
Aplicaes Aplicaes
Bibliotecas de chamadas sistema Barreira de proteco Ncleo do sistema operativo Gestores de perifricos
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?
2009
Sistemas em Camadas
Aplicaes Chamadas sistem a
Sistem a de ficheiros
Comunicao e E/S
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
2009
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
Aplicaes
Sistema de ficheiros
Sistema de
Gestores de perifricos
Gestores de
Protocolos
2009
Page 22
22
OS SISTEMAS DE REFERNCIA
2009 Jos Alves Marques
Evoluo Unix
5th Edition 6th Edition Mini Unix PWB 1.0 PWB 1.2 USG 2.0 USG 3.0 Unix/TS 3.0 Unix/ TS++ TS 4.0 2.8ESD Unix-11 2.9ESD 4.2ESD Unix-32 8th Edition 4.3ESD 9th Edition System V.0 System V.2 System V.3 USG 1.0 CE Unit 1 CE Unit 2 CE Unit 3 PDP 11 Sys V
LSX
IBSD
Wollongong
Xonix
32V 3ES D
V7M
2009
Page 23
23
Unix
System calls Terminal handing Cooked tty Raw tty Line disciplines Sockets Network protocols Routing Netwok device drivers Interrups and traps File Map- Page Process naming ping faults Signal handling Creation and File Virtual Termination systems memory Buffer cache Page cache Process scheduling Process dispatching
Character devices
Gesto de Processos
Gesto de Memria
Gesto de Perifricos
Sistemas de Ficheiros
Comunicao
2009
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
2009
Page 24
24
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 Power manager Plug and Play manager Virtual memory Configuration manager (registry) Local procedure call Win32 USER GDI
Graphics drivers
2009
Page 25
25