Vous êtes sur la page 1sur 9

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

Vous aimerez peut-être aussi