Introduo
Introduo aos Sistemas Operacionais
Volnys Bernal 1998-2010
Volnys Bernal 1998-2010
Agenda
Introduo aos
Sistemas Operacionais
Volnys Borges Bernal
volnys@lsi.usp.br
http://www.lsi.usp.br/~volnys
Laboratrio de Sistemas Integrveis
http://www.lsi.usp.br/
Volnys Bernal 1998-2010
Objetivos de um Sistema Operacional
Componentes de um Sistema Operacional
Mquina de Nveis
Classificao dos sistemas operacionais
Variedades de sistema operacional
Chamadas ao sistema
Exemplo de arquiteturas
Arquitetura UNIX
Arquiteturas Windows
Arquitetura WindowsNT
Volnys Bernal 1998-2010
Sobre esta apresentao
Esta apresentao ...
No apresenta todos os detalhes sobre este tpico.
um resumo para auxiliar a apresentao do tpico em
sala de aula.
Objetivos de um
Sistema Operacional
Para estudo, deve ser utilizada uma das seguintes
referncias:
Captulos 1 e 2 do livro:
ANDREW S. TANENBAUM; Sistemas Operacionais
Modernos. Prentice-Hall
Captulos 1 e 2 do livro:
ANDREW S. TANENBAUM; Sistemas Operacionais.
Prentice-Hall.
Volnys Bernal 1998-2010
Volnys Bernal 1998-2010
Objetivos de um Sistema Operacional
Objetivos do Sistema Operacional
Principais objetivos de um Sistema Operacional:
1)
1. Fornecer uma interface de alto nvel
Para usurios
Para desenvolvimento de software
Fornecer uma interface de alto nvel
Facilitar de acesso aos recursos do sistema
Facilidade de uso sem preocupao com detalhes de
baixo nvel
Exemplo:
2. Gerenciar os recursos do sistema
Gerenciar o compartilhamento dos recursos
Gerenciamento de conflitos de acesso aos recursos
Segurana no acesso aos recurso
1998-2010 - Volnys Bernal
leitura de disco: acionar a cabea da leitura, posicionar na
trilha e setor, transferir os dados para memria
Mquina Virtual
Interface entre:
Recursos do sistema
Usurio / programas
Introduo
Introduo aos Sistemas Operacionais
Volnys Bernal 1998-2010
Volnys Bernal 1998-2010
Objetivos do Sistema Operacional
Objetivos do Sistema Operacional
2) Gerenciar os recursos do sistema
Problema
Gerenciar o compartilhamento
Otimizao de uso
Resoluo de conflitos
Proteo / segurana
Recursos
Processador (tempo de CPU)
Memria Primria
Memria Secundria (Disco)
Memria Terciria (Fita)
Impressoras
etc
Objetivo
Maior taxa de utilizao dos recursos
Diminuio de custos
Interface entre processos/usurios e recursos do sistema
P1
P2
P4
P3
Ncleo do
Sistema Operacional
Processador
Contr.
Memria
Hardware
Contr.
Terminais
Volnys Bernal 1998-2010
Discos
Unidades de Fita
Impressora
Volnys Bernal 1998-2010
10
Componentes de um Sistema Operacional
Estrutura geral de um sistema de computao
Componentes de um
Sistema Operacional
Aplicativos
Sistema
Operacional
Componentes
Fsicos
Volnys Bernal 1998-2010
Componentes de um Sistema Operacional
Volnys Bernal 1998-2010
11
12
Componentes de um Sistema Operacional
composto por:
Processo
Ncleo (kernel) do sistema operacional
Permanece carregado em memria
Processos de gerncia
Arquivos de configurao
Utilitrios do sistema
Programas bsicos necessrios para operao do sistema
Ex: DOS: format, dir, edit, copy, type, ....
Ex: UNIX: mkfs, ls, ps, vi, ...
1998-2010 - Volnys Bernal
Interface de
chamadas ao sistema
Processo
Processos de
gerncia
Processo
Aplicativos
Utilitrios do
Sistema
Ncleo
Sistema
Operacional
Device Drivers
Interface de
hardware
Hardware
Dispositivos
Componentes
Fsicos
Introduo
Introduo aos Sistemas Operacionais
Volnys Bernal 1998-2010
Volnys Bernal 1998-2010
13
14
Mquina de nveis
Aplicativos
Mquina de Nveis
Software
Utilitrios e
Processos de gerncia
Ncleo do Sistema
Operacional
Monitor
Linguagem de Mquina
Hardware
Microprogramao
Dispositivos Fsicos
Volnys Bernal 1998-2010
Volnys Bernal 1998-2010
15
16
Classificao dos sistemas operacionais
Classificao dos sistemas
operacionais
Classificao quanto quantidade de aplicaes
simultneas:
Volnys Bernal 1998-2010
17
Monoprogramado
Suporta somente uma aplicao (processo) por vez
Multiprogramado
Suporta vrias aplicaes (processos) simultneos
Volnys Bernal 1998-2010
18
Classificao dos sistemas operacionais
Classificao quando ao suporte a ambiente
multiprocessadores
Variedades de
Sistemas Computacionais
Monoprocessador
Pode ser executado somente em hardwares
monoprocessadores (1 nico processador)
Multiprocessador
Pode ser executado em hardwares
multiprocessadores (vrios processadores)
1998-2010 - Volnys Bernal
Introduo
Introduo aos Sistemas Operacionais
Volnys Bernal 1998-2010
Volnys Bernal 1998-2010
19
20
Variedades de Sistemas Computacionais
Atualmente existe uma grande variedade de sistemas
computacionais, cada qual necessitando de caractersticas
especficas do sistema operacional.
Exemplo de sistemas computacionais:
Computadores de grande porte
Servidores
Sistemas multiprocessadores
Computador para uso corporativo
Computadores pessoais
Sistemas de tempo real
Sistemas embarcados
Cartes inteligentes
Volnys Bernal 1998-2010
Chamadas ao Sistema
Chamadas ao Sistema
Volnys Bernal 1998-2010
21
22
Chamadas ao Sistema
O que ?
Conjunto de funes que o ncleo do sistema
operacional disponibiliza aos processos
Em ingls: System Calls
Processo
Processo
Processo
Interface de
chamadas ao sistema
Ncleo do Sistema Operacional
Cada sistema operacional possui uma interface de
chamadas ao sistema especfica
Device Drivers
Interface de
hardware
Hardware
Dispositivos
Volnys Bernal 1998-2010
Chamadas ao Sistema
Principais Chamadas UNIX
Manipulao de processos
Volnys Bernal 1998-2010
23
24
Chamadas ao Sistema
Principais Chamadas UNIX
Aes sobre arquivos
Chamada
Descrio
Chamada
Descrio
fork
Duplica um processo
open
Abre um arquivo
waitpid
Aguarda um processo terminar
close
Fecha um arquivo aberto
execve
Troca a imagem de memria do processo
read
L dados de um arquivo
exit
Termina a execuo do processo
write
Escreve dados em um arquivo
ioctl
Funes de controle para arquivos especiais (dispositivos)
lseek
Posiciona o ponteiro de deslocamento do arquivo
stat
Obtm informaes de controle do arquivo (dono, proteo, )
1998-2010 - Volnys Bernal
Introduo
Introduo aos Sistemas Operacionais
Volnys Bernal 1998-2010
Chamadas ao Sistema
Manipulao de arquivos e diretrios
Chamada
Descrio
mkdir
Cria um novo diretrio
rmdir
Remove um diretrio vazio
link
Cria um hard link
unlink
Remove uma entrada do diretrio
mount
Monta um sistema de arquivos
umount
Desmonta um sistema de arquivos
Volnys Bernal 1998-2010
Descrio
chdir
Muda o diretrio de trabalho
chmod
Altera o modo de permisso do arquivo
kill
Envia um sinal para um processo
time
Obtm o data/hora corrente
Volnys Bernal 1998-2010
Manipulao de processos
28
Principais Chamadas Win32
Aes sobre arquivos
Chamada
Descrio
Chamada
Descrio
CreateProcess
Cria um processo
CreateFile
Cria um arquivo ou abre um arquivo existente
WaitForSingleObject
Aguarda um processo terminar
CloseHandle
Fecha um arquivo aberto
ExitProcess
Termina a execuo do processo
ReadFile
L dados de um arquivo
WriteFile
Escreve dados em um arquivo
SetFilePointer
Posiciona o ponteiro de deslocamento do arquivo
GetFileAttributeEx
Obtm informaes de controle do arquivo
Chamadas ao Sistema
Principais Chamadas Win32
Chamada
Chamadas ao Sistema
Volnys Bernal 1998-2010
Outras chamadas
27
Principais Chamadas Win32
Principais Chamadas UNIX
Chamadas ao Sistema
26
Chamadas ao Sistema
Principais Chamadas UNIX
Volnys Bernal 1998-2010
25
Manipulao de arquivos e diretrios
Chamada
Descrio
CreateDirectory
Cria um novo diretrio
RemoveDirectory
Remove um diretrio vazio
DeleteFile
Remove uma entrada do diretrio
1998-2010 - Volnys Bernal
Volnys Bernal 1998-2010
29
30
Chamadas ao Sistema
Principais Chamadas Win32
Outras chamadas
Chamada
Descrio
SetCurrentDirectory
Muda o diretrio de trabalho
GetLocalTime
Obtm o data/hora corrente
Introduo
Introduo aos Sistemas Operacionais
Volnys Bernal 1998-2010
Volnys Bernal 1998-2010
31
32
Arquitetura UNIX
Usurio
Interface de usurio
via shell
Aplicativos
shell
ls
Utilitrios do Sistema
init
Interface de
chamadas ao sistema
processos
Arquitetura UNIX
inetd
nfsd
...
Processos de gerncia
Ncleo
Device Drivers
Interface de
hardware
Hardware
Componentes
Fsicos
Dispositivos
Volnys Bernal 1998-2010
Sistema
Operacional
Volnys Bernal 1998-2010
33
34
Arquitetura UNIX
Ncleo do Sistema Operacional
Arquiteturas Windows
Existem diferentes implementaes de UNIX
A maior partes dos sistemas UNIX possui um ncleo do
tipo Monoltico
Observao: Software monoltico:
Software que estruturado como um nico programa
com coero de chamadas s funes.
Volnys Bernal 1998-2010
Arquiteturas Windows
Famlia Windows 3.x
Voltado a processadores de 16 bits
Suporte a multiprograo cooperativa
Memria virtual primitiva
Windows 95
Voltado a processadores de 32 bits
Suporte a multiprogramao preemptiva
Memria virtual
Famlia Windows NT (Windows NT, Windows 2000, Windows 2003)
Voltado a processadores de 32 bits
Multiprogramado
Multiprogramao preemptiva
Memria virtual
Ncleo multi-threaded
1998-2010 - Volnys Bernal
Volnys Bernal 1998-2010
35
36
Arquiteturas Windows
Windows 95
Introduo
Introduo aos Sistemas Operacionais
Volnys Bernal 1998-2010
Volnys Bernal 1998-2010
37
38
Modo Usurio
Arquitetura WindowsNT
Aplicativo
POSIX
Aplicativo
Win32
Subsistema
POSIX
Interface de
chamadas ao
sistema
Modo Supervisor
Arquitetura WindowsNT
Subsistema
Win32
Subsistema
OS/2
Subsistema
Segurana
Microkernel
Driver de
Dispositivo
Gerenc.
Janelas
Driver de
Dispositivo
Grfico
Hardware
Volnys Bernal 1998-2010
39
Arquitetura WindowsNT
Processo
de logon
Executivo
Local
Virtual
Security Process
I/O
Object
Proc.Call Memory
Manager Manager Reference Manager
Facility
Manager
Monitor
Camada abstrao hardware
Interface de
hardware
Volnys Bernal 1998-2010
Aplicativo
OS/2
40
Arquitetura WindowsNT
Interface de chamadas ao sistema
Chamada tambm de Interface NT nativa
Define o conjunto de servios que o sistema operacional
fornece aos processos: ~250 funes
Chamada ao sistema implementada atravs de TRAP
TRAP = interrupo de software
Permite garantir que somente o kernel do NT ser
executado em modo supervisor
Executivo
Caractersticas
Arquitetura WindowsNT
Microkernel (tambm chamado de NT kernel)
Responsvel por
Escalonamento de threads (dispatcher)
Sincronizao
Manipulao dos vetores de interrupo
Implementa 32 nveis de prioridade
Implementa escalonamento preemptivo
Implementa sincronizao baseada em:
mutex
semforos
eventos
spinlocks
1998-2010 - Volnys Bernal
Monoltico
As interrupes so atendidas em modo supervisor
O vetor de interrupes controlado pelo microkernel
Volnys Bernal 1998-2010
Imagem ntoskrnl.exe contm todo cdigo dos servios
executivos (exceto o Microkernel)
Multi-threaded
Reentrante
Volnys Bernal 1998-2010
41
42
Arquitetura WindowsNT
HAL
Hardware Abstraction Layer
(camada de abstrao de hardware)
Camada utilizada para esconder dependncias de
arquitetura
Exemplo:
Sistemas monoprocessadores x multiprocessadores
Para cada verso NT so fornecidas 3 verses
monoprocessador
multiprocessador
para depurao (p/ desenvolvimentod e device drivers)
Introduo
Introduo aos Sistemas Operacionais
Volnys Bernal 1998-2010
Arquitetura WindowsNT
Volnys Bernal 1998-2010
43
44
Arquitetura WindowsNT
Interao entre aplicao e kernel WindowsNT
Aplicao
Modo
Usurio
Interface de
chamadas ao
sistema
Biblioteca NTdll.dll
ntdll.dll
Biblioteca que fornece funes que encapsulam as
chamadas ao sistema WindowsNT
TRAP
Modo
Supervisor
Servios NT
Hardware
Volnys Bernal 1998-2010
Arquitetura WindowsNT
Volnys Bernal 1998-2010
45
Arquitetura WindowsNT
Interao entre aplicaes
Aplicao Client-side
DLL
Modo
Usurio
Interface de
chamadas ao
sistema
mensagem
(LPC - Local Procedure Call)
Modo
Supervisor
LPC x TRAP
LPC possui maior sobrecarga:
Cada interao envolve geralmente 2 mensagens (pedido e
resposta)
Para cada mensagem ocorre:
Operating System
Environment
Server
ntdll.dll
TRAP
TRAP
ntdll.dll
TRAP
Servios NT
Hardware
Volnys Bernal 1998-2010
Arquitetura WindowsNT
Modo
Usurio
ntdll.dll
mensagem
(LPC)
Volnys Bernal 1998-2010
Modo
Supervisor
TRAP
TRAP
Subsistema
Win32
(CSRSS.exe)
TRAP
Servios NT
Hardware
1998-2010 - Volnys Bernal
48
Aplicao Windows32 em verso Windows NT 3.51 ou anterior
ntdll.dll
Interface de
chamadas ao
sistema
TRAP menos custosa
envolve somente uma interrupo de software
necessrio salvar somente parte dos registradores
ao final necessrio restaurar os registradores salvos
47
User32.dll
GDI32.dll
Kernel32.dll
1 TRAP
1 troca de contexto
troca da tabela de pginas
atualizao de informaes de escalonamento
troca de todos os registradores
....
Arquitetura WindowsNT
Exemplo: aplicao Windows32
Aplicao
Win32
46
Utiliza servios do sistema atravs das bibliotecas:
KERNEL32.dll
USER32.dll
GDI32.dll
KERNEL32.dll
A maior parte das funes fornecidas ativam diretamente uma
ou mais chamadas nativas WindowsNT.
USER32 e GDI32
Ativam os servios do Subsistema Windows32
CSRSS.EXE
Este processo o Subsistema Windows32
Referncia:
http://www.windowsitlibrary.com/Content/356/03/1.html
Introduo
Introduo aos Sistemas Operacionais
Volnys Bernal 1998-2010
Arquitetura WindowsNT
Interface de
chamadas ao
sistema
Aplicao
Win32
Subsistema
Win32
(CSRSS.exe)
User32.dll
GDI32.dll
Kernel32.dll
Aplicao Windows32 em verso Windows NT 4.0 ou superior (incluindo
Windows 2000, Windows 2003)
Utiliza servios do sistema atravs das bibliotecas:
KERNEL32
USER32
GDI32
Win32k.sys
Devido problemas de desempenho, as bibliotecas USER32 e GDI32
ativam os servios atravs de uma chamada a um driver chamado
Win32k.sys que executado em modo supervidor (kernel mode). Tais
bibliotecas contm stubs que ativam estes servios utilizando a
interrupo 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
50
Arquitetura WindowsNT
Exemplo: Aplicao Windows32 (WindowsNT4 e W2k)
Modo
Usurio
Volnys Bernal 1998-2010
49
Servios NT
Hardware
Volnys Bernal 1998-2010
51
Volnys Bernal 1998-2010
52
Arquitetura WindowsNT
Exemplo: Aplicao POSIX
Aplicao
POSIX
psxdll.dll
Referncias Bibliogrficas
Subsistema
POSIX
(psxss.exe)
ntdll
mensagem
(LPC)
Interface de
chamadas ao
sistema
TRAP
ntdll
TRAP
TRAP
Servios NT
Hardware
Volnys Bernal 1998-2010
53
Referncias Bibliogrficas
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
1998-2010 - Volnys Bernal
Mucho más que documentos.
Descubra todo lo que Scribd tiene para ofrecer, incluyendo libros y audiolibros de importantes editoriales.
Cancele en cualquier momento.