Introdução aos Sistemas Operacionais - Prof. Volnys

Propaganda
Introdução
Introdução aos Sistemas Operacionais
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
1
2
Agenda
‰
‰
Introdução aos
Sistemas Operacionais
‰
‰
‰
Volnys Borges Bernal
[email protected]
http://www.lsi.usp.br/~volnys
‰
Objetivos do Sistema Operacional
Componentes de um Sistema Operacional
Máquina de Níveis
Variedades de sistema operacional
Chamadas ao sistema
Exemplo de arquiteturas
™ Aquitetura UNIX
™ Arquitetura WindowsNT
Laboratório de Sistemas Integráveis
http://www.lsi.usp.br/
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
3
4
Sobre estes slides
‰
Importante:
™ Este slide não apresenta todos os detalhes deste tópico.
™ É um resumo utilizado para auxiliar a apresentação do
tópico em sala de aula.
™ Para estudo, deve ser utilizada uma das seguintes
referências:
ƒ Capítulos 1 e 2 do livro:
•
ƒ
Objetivos do
Sistema Operacional
ANDREW S. TANENBAUM; Sistemas Operacionais
Modernos. Prentice-Hall
Capítulos 1 e 2 do livro:
•
ANDREW S. TANENBAUM; Sistemas Operacionais.
Prentice-Hall.
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
5
Objetivos do Sistema Operacional
Objetivos do Sistema Operacional
‰ Objetivos de um Sistema Operacional
1)
1. Fornecer uma interface de alto nível
ƒ
Para usuários
ƒ
Para desenvolvimento de software
Fornecer uma interface de alto nível
™ Facilitar de acesso aos recursos do sistema
™ Facilidade de uso sem preocupação com detalhes de
baixo nível
ƒ
Exemplo:
•
2. Gerenciar os recursos do sistema
ƒ
Gerenciar o compartilhamento dos recursos
ƒ
Gerenciamento de conflitos de acesso aos recursos
ƒ
Segurança no acesso aos recurso
© 2005 - Volnys Bernal
6
™
™
leitura de disco: acionar a cabeça da leitura, posicionar na
trilha e setor, transferir os dados para memória
Máquina Virtual
Interface entre:
ƒ
Recursos do sistema
ƒ
Usuário / programas
1
Introdução
Introdução aos Sistemas Operacionais
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
7
Objetivos do Sistema Operacional
Objetivos do Sistema Operacional
2) Gerenciar os recursos do sistema
™ Problema
ƒ Compartilhamento
ƒ Otimização de uso
ƒ Resolução de conflitos
ƒ Proteção / segurança
™ Recursos
ƒ Processador (tempo de CPU)
ƒ Memória Primária
ƒ Memória Secundária (Disco)
ƒ Memória Terceária (Fita)
ƒ Impressoras
ƒ etc
™ Objetivo
ƒ Maior taxa de utilização dos recursos
ƒ Diminuição de custos
‰
8
Interface entre processos/usuários e recursos do sistema
bbb
P1
P2
P4
P3
Núcleo do
Sistema Operacional
Processador
Contr.
Memória
Hardware
Contr.
¡ ¡ r
Terminais
© Volnys Bernal 1998-2005
Discos
Unidades de Fita
Impressora
© Volnys Bernal 1998-2005
9
10
Componentes de um Sistema Operacional
‰
Estrutura geral de um sistema de computação
Componentes de um
Sistema Operacional
Aplicativos
Sistema
Operacional
Componentes
Físicos
© Volnys Bernal 1998-2005
Componentes de um Sistema Operacional
‰
© Volnys Bernal 1998-2005
11
12
Componentes de um Sistema Operacional
É composto por:
™
Núcleo (kernel) do sistema operacional
ƒ Permanece carregado em memória
™
Processos de gerência
™
Arquivos de configuração
™
Utilitários do sistema
ƒ Programas básicos necessários para operação do sistema
•
•
Ex: DOS: format, dir, edit, copy, type, ....
Ex: UNIX: mkfs, ls, ps, vi, ...
© 2005 - Volnys Bernal
Processo
Processo
Processos de
gerência
Processo
Aplicativos
Utilitários do
Sistema
Interface de
chamadas ao sistema
Núcleo
Sistema
Operacional
Device Drivers
Interface de
hardware
Hardware
Dispositivos
Componentes
Físicos
2
Introdução
Introdução aos Sistemas Operacionais
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
13
14
Máquina de níveis
Aplicativos
Máquina de Níveis
Software
Utilitários e
Processos de gerência
Núcleo do Sistema
Operacional
Monitor
Linguagem de Máquina
Hardware
Microprogramação
Dispositivos Físicos
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
15
16
Variedades de Sistemas Computacionais
Variedades de
Sistemas Computacionais
© Volnys Bernal 1998-2005
‰
Atualmente existe uma grande variedade de sistemas
computacionais, cada qual necessitando de
características específicas do sistema operacional.
‰
Exemplo de sistemas computacionais:
™ Computadores de grande porte
™ Servidores
™ Sistemas multiprocessadores
™ Computadores pessoais
™ Sistemas de tempo real
™ Sistemas embarcados
™ Cartões inteligentes
© Volnys Bernal 1998-2005
17
18
Chamadas ao Sistema
‰
O que é?
™ Conjunto de funções que o sistema operacional
disponibiliza aos processos
™ “System Calls”
‰
Cada sistema operacional possui uma interface de
chamadas ao sistema específica
Chamadas ao Sistema
© 2005 - Volnys Bernal
3
Introdução
Introdução aos Sistemas Operacionais
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
19
Chamadas ao Sistema
Chamadas ao Sistema
‰
Processo
20
Processo
Principais Chamadas UNIX
™
Processo
Interface de
chamadas ao sistema
Núcleo do Sistema Operacional
Device Drivers
Interface de
hardware
Hardware
Manipulação de processos
Chamada
Descrição
Fork
Duplica um processo
Waitpid
Aguarda um processo terminar
Execve
Troca a imagem de memória do processo
Exit
Termina a execução do processo
Dispositivos
© Volnys Bernal 1998-2005
Chamadas ao Sistema
‰
‰
Gerenciamento de arquivos
Chamada
Descrição
Open
Abre um arquivo
Close
Fecha um arquivo aberto
Read
Lê dados de um arquivo
Write
Escreve dados em um arquivo
Lseek
Posiciona o ponteiro de deslocamento do arquivo
Stat
Obém informações de controle do arquivo (dono, proteção, …)
Chamadas ao Sistema
Principais Chamadas UNIX
™
Outras chamadas
Chamada
Descrição
Chdir
Muda o diretório de trabalho
Chmod
Altera o modo de permissão do arquivo
Kill
Envia um sinal para um processo
Time
Obtém o data/hora corrente
© 2005 - Volnys Bernal
Principais Chamadas UNIX
™
© Volnys Bernal 1998-2005
‰
22
Chamadas ao Sistema
Principais Chamadas UNIX
™
© Volnys Bernal 1998-2005
21
Manipulação de arquivos e diretório
Chamada
Descrição
Mkdir
Cria um novo diretório
Rmdir
Remove um diretório vazio
Link
Cria um hard link
Unlink
Remove uma entrada do diretório
Mount
Monta um sistema de arquivos
Umount
Desmonta um sistema de arquivos
© Volnys Bernal 1998-2005
23
24
Chamadas ao Sistema
‰
Principais Chamadas Win32
™
Manipulação de processos
Chamada
Descrição
CreateProcess
Cria um processo
WaitForSingleObject
Aguarda um processo terminar
ExitProcess
Termina a execução do processo
4
Introdução
Introdução aos Sistemas Operacionais
© Volnys Bernal 1998-2005
Chamadas ao Sistema
‰
26
Chamadas ao Sistema
Principais Chamadas Win32
™
© Volnys Bernal 1998-2005
25
‰
Gerenciamento de arquivos
Principais Chamadas Win32
™
Manipulação de arquivos e diretório
Chamada
Descrição
Chamada
Descrição
CreateFile
Cria um arquivo ou abre um arquivo existente
CreateDirectory
Cria um novo diretório
CloseHandle
Fecha um arquivo aberto
RemoveDirectory
Remove um diretório vazio
ReadFile
Lê dados de um arquivo
DeleteFile
Remove uma entrada do diretório
WriteFile
Escreve dados em um arquivo
SetFilePointer
Posiciona o ponteiro de deslocamento do arquivo
GetFileAttributeEx
Obém informações de controle do arquivo
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
27
28
Chamadas ao Sistema
‰
Principais Chamadas Win32
™
Outras chamadas
Arquitetura UNIX
Chamada
Descrição
SetCurrentDirectory
Muda o diretório de trabalho
GetLocalTime
Obtém o data/hora corrente
© Volnys Bernal 1998-2005
Arquitetura UNIX
shell
ls
Utilitários do Sistema
Interface de
chamadas ao sistema
inetd
nfsd
...
Processos de gerência
processos
Aplicativos
init
Sistema
Operacional
Núcleo
‰
Núcleo do Sistema Operacional
™
Existem diferentes implementações de UNIX
™
A maior partes dos sistemas UNIX possui um núcleo do
tipo Monolitico
ƒ
Device Drivers
Interface de
hardware
30
Arquitetura UNIX
Usuário
Interface de usuário
via shell
© Volnys Bernal 1998-2005
29
Software Monolítico
•
Hardware
Dispositivos
© 2005 - Volnys Bernal
Encapsulado em um único programa
Componentes
Físicos
5
Introdução
Introdução aos Sistemas Operacionais
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
31
32
Modo Usuário
Arquitetura WindowsNT
Aplicativo
POSIX
Aplicativo
Win32
Subsistema
POSIX
Interface de
chamadas ao
sistema
Modo Supervisor
Arquitetura WindowsNT
Subsistema
Win32
Subsistema
OS/2
Subsistema
Segurança
Microkernel
Driver de
Dispositivo
Gerenc.
Janelas
Driver de
Dispositivo
Gráfico
Hardware
© Volnys Bernal 1998-2005
33
Arquitetura WindowsNT
‰
Processo
de logon
Executivo
Local
Virtual
Security Process
I/O
Object
Proc.Call Memory
Manager Manager Reference Manager
Facility
Manager
Monitor
Camada abstração hardware
Interface de
hardware
© Volnys Bernal 1998-2005
Aplicativo
OS/2
34
Arquitetura WindowsNT
Interface de chamadas ao sistema
‰
Chamada também de Interface NT nativa
Define o conjunto de serviços que o sistema operacional
fornece aos processos: ~250 funções
™ Chamada ao sistema é implementada através de TRAP
ƒ TRAP = interrupção de software
ƒ Permite garantir que somente o “kernel do NT” será
executado em modo supervisor
™
Executivo
™
Características
™
•
•
Arquitetura WindowsNT
Microkernel (também chamado de NT kernel)
™ Responsável por
ƒ Escalonamento de threads (dispatcher)
ƒ Sincronização
ƒ Manipulação dos vetores de interrupção
™ Implementa 32 níveis de priodidade
™ Implementa escalonamento preemptivo
™ Implementa sincronização baseada em
ƒ mutex
ƒ semáforos
ƒ eventos
ƒ spinlocks
© 2005 - Volnys Bernal
Monolítico
•
As interruções são atendidas em modo supervisor
O vetor de interruções é controlado pelo microkernel
© Volnys Bernal 1998-2005
‰
ƒ
Imagem ntoskrnl.exe contém todo código dos serviços
executivos (exceto o Microkernel)
ƒ
Multi-threaded
ƒ
Reentrante
© Volnys Bernal 1998-2005
35
36
Arquitetura WindowsNT
‰
HAL
Hardware Abstraction Layer
Camada para esconder dependências de arquitetura
™ Exemplo:
ƒ Sisteamas monoprocessadores x multiprocessadores
ƒ Para cada versão NT são fornecidas 3 versões
™
™
•
•
•
monprocessador
multiprocessador
para depuração (p/ desenvolvimentod e device drivers)
6
Introdução
Introdução aos Sistemas Operacionais
© Volnys Bernal 1998-2005
© Volnys Bernal 1998-2005
37
Arquitetura WindowsNT
Arquitetura WindowsNT
‰
‰
Interação entre aplicação e kernel WindowsNT
Aplicação Client-side
DLL
Modo
Usuário
Interface de
chamadas ao
sistema
LPC x TRAP
™ LPC possui maior sobrecarga:
ƒ Cada interação envolve geralmente 2 mensages (pedido e
resposta)
ƒ Para cada mensagem ocorre
Operating System
ntdll
•
Environment
mensagem
Server
(LPC - Local Procedure Call)
ntdll
TRAP
TRAP
•
TRAP
™
Modo
Supervisor
Serviços NT
Hardware
© Volnys Bernal 1998-2005
Modo
Usuário
© Volnys Bernal 1998-2005
‰
Kernel32.dll
Subsistema
Win32
(CSRSS.exe)
mensagem
(LPC)
™
ntdll.dll
Interface de
chamadas ao
sistema
™
TRAP
TRAP
TRAP
™
Modo
Supervisor
Serviços NT
™
Hardware
© Volnys Bernal 1998-2005
Arquitetura WindowsNT
‰
Interface de
chamadas ao
sistema
Aplicação
Win32
Subsistema
Win32
(CSRSS.exe)
User32.dll
GDI32.dll
Kernel32.dll
Rerência:
ƒ http://www.windowsitlibrary.com/Content/356/03/1.html
© Volnys Bernal 1998-2005
41
‰
42
Aplicação Windows32 em versão Windows NT 4.0 ou superior (incluindo
Windows 2000, Windows 2003)
™
Utiliza serviços do sistema através das bibliotecas:
ƒ KERNEL32
ƒ USER32
ƒ GDI32
™
Win32k.sys
ƒ Devido à problemas de desempenho, as bibliotecas USER32 e GDI32
ativam os serviços através de uma chamada a um driver chamado
Win32k.sys que é executado em modo supervidor (kernel mode). Tais
bibliotecas contém stubs que ativam estes serviços utilizando a
interrupção 0x2E. A maior parte das funcionalidades foi retirada do
Subsistema Windows32 (CSRSS.EXE) e implementada neste driver.
™
CSRSS.EXE
ƒ Este processo (Subsistema Windows32) ainda é mantido. Entretanto
seu papel é limitado a manter suporte a E/S de console.
ntdll.dll
ntdll.dll
TRAP
TRAP
TRAP
TRAP
Win32K.sys
Modo
Supervisor
Utiliza serviços do sistema através das bibliotecas:
ƒ KERNEL32
ƒ USER32
ƒ GDI32
KERNEL32.dll
ƒ A maior parte das funções fornecidas ativam diretamente uma
ou mais chamadas nativas WindowsNT.
USER32 e GDI32
ƒ Ativam os serviços do Subsistema Windows32
CSRSS.EXE
ƒ Este processo é o Subsistema Windows32
Arquitetura WindowsNT
Exemplo: Aplicação Windows32 (WindowsNT4 e W2k)
Modo
Usuário
40
Aplicação Windows32 em versão Windows NT 3.51 ou anterior
™
User32.dll
GDI32.dll
ntdll.dll
TRAP é menos custosa
ƒ envolve somente uma interrupção de software
ƒ necessário salvar somente parte dos registradores
ƒ ao final é necessário restaurar os registradores salvos
Arquitetura WindowsNT
Exemplo: aplicação Windows32
Aplicação
Win32
1 TRAP
1 troca de contexto
– troca da tabela de páginas
– atualização de informações de escalonamento
– troca de todos os registradores
– ....
39
Arquitetura WindowsNT
‰
38
Serviços NT
Hardware
© 2005 - Volnys Bernal
7
Introdução
Introdução aos Sistemas Operacionais
© Volnys Bernal 1998-2005
43
© Volnys Bernal 1998-2005
44
Arquitetura WindowsNT
‰
Exemplo: Aplicação POSIX
Aplicação
POSIX
psxdll.dll
Referências Bibliográficas
Subsistema
POSIX
(psxss.exe)
ntdll
mensagem
(LPC)
Interface de
chamadas ao
sistema
TRAP
ntdll
TRAP
TRAP
Serviços NT
Hardware
© Volnys Bernal 1998-2005
45
Referências Bibliográficas
‰
ANDREW S. TANENBAUM; Sistemas Operacionais
Modernos. Prentice-Hall.
‰
ANDREW S. TANENBAUM; Sistemas Operacionais.
Prentice-Hall.
‰
Windows 2000 Magazine Online
ƒ http://www.winntmag.com/Articles
‰
http://www.windowsitlibrary.com/Content/356/03/1.html
© 2005 - Volnys Bernal
8
Download