1/9
Sistemas
Operacionais
2/9
Roteiro
• Conceitos
• Visão de um sistema operacional
• Abstração de recursos
3/9
Definição de SO
• É uma camada de software que opera
entre o hardware e os programas
aplicativos voltados ao usuário f...
4/9
Visão do Sistema Operacional
p r o g r a m a d o r e s
e a n a l i s t a s
m e m ó r i a d i s c o s
U C P
U s u á r i...
5/9
Abstração de Recursos
• Cada hardware tem sua particularidade
• Cabe ao sistema operacional gerenciar as
particularida...
6/9
Cabe ao Sistema Operacional
• Prover interfaces de acesso aos
dispositivos, mais simples de usar que as
interface de b...
7/9
Gerência de Recursos
• Cabe ao sistema operacional definir
políticas para gerenciar o uso dos
recursos de hardware pel...
8/12
Tipos de S.O.
9/12
Roteiro
• Batch (lote)
• De Rede
• Distribuído
• Multi-usuário
• Desktop
• Servidor
• Embutido
• Tempo real
10/12
Batch (lote)
• Todos os programas a executar eram
colocados em uma fila.
• O processador recebia um programa após
o ...
11/12
Bach (lote)
P r o c e s s a m e n t o
P r o c e s s a m e n t o
P r o c e s s a m e n t o
( a )
( b )
( c )
f i t a ...
12/12
Rede
• Suporte a operação em rede
– Maioria dos sistemas operacionais atuais
• Compartilhamento de recursos de vário...
13/12
Distribuído
• Os recursos de cada máquina estão disponíveis
globalmente, de forma transparente aos
usuários.
• Para ...
14/12
Multi-usuário
• Múltiplos usuários simultâneos
– Maioria dos sistemas operacionais atuais
• Deve suportar a identifi...
15/12
Desktop
• Sistema operacional “de mesa”.
• Usuários domésticos e corporativos
– Atividades corriqueiras
• Ambiente g...
16/12
Servidor
• Gestão de grandes quantidades de
recursos
– Discos, memórias e processadores
• Multi-usuários
• Suporte a...
17/12
Embutido
• Embedded
• Hardwares com pouca capacidade de
processamento
– Celulares, calculadores, tocadores de MP3
• ...
18/12
Tempo real
• Comportamento temporal previsível
– Tempo de resposta conhecido no melhor caso e pior
caso de operação
...
19/11
Funcionalidades
20/11
Roteiro
• Funcionalidades de um sistema
operacional
• Gerência
– Processador
– Memória
– Dispositivos
– Arquivos
– P...
21/11
Sistema Operacional
• Para cumprir sua função, deve atuar em
várias frentes.
• São vários os recursos a serem
gerenc...
22/11
Gerência de Processador
• Conhecida como gerência de processos
ou de atividades,
• Visa distribuir a capacidade de
p...
23/11
Gerência de Memória
• Fornecer a cada aplicação um espaço
próprio de memória
– Independente e isolado das demais
apl...
24/11
Gerência de Dispositivos
• Gerência de Entrada/Saída
• Vários dispositivos diferentes
– Pen drive, disquetes, discos...
25/11
Gerência de Arquivos
• Construída sobre a gerência de
dispositivos
– Criando abstrações de arquivos e diretórios
• O...
26/11
Gerência de Proteção
• Políticas de acesso para sistemas
– Em rede
– Multi-usuários
• Definição de usuários, grupos ...
27/11
Sistemas Operacionais Modernos
• Gerência de energia
• Gerência de rede
• Gerência de recursos multimidía
28/11
Visão Geral
• Os módulos de
gerência são inter-
dependentes
29/13
Estrutura
30/13
Roteiro
• Estrutura de um sistema operacional
• Componentes
• Uso e importância
• Programas Utilitários
31/13
Núcleo
• Kernel
• Coração do sistema
operacional
• Responsável pela
gerência dos recursos
de hardwares
utilizados
32/13
Drivers
• Códigos específicos
– Acesso dispositivos físicos
• Normalmente fornecido pelo fabricante do
hardware
– Fo...
33/13
Código de Inicialização do Sistema
• Carregar o núcleo do sistema operacional
em memória e iniciar sua execução.
D i...
34/13
Programas Utilitários
• Facilitam o uso do sistema operacional
– Tradutor
• Montador e Compilador
– Interpretador
– ...
35/13
Tradutor
• Montador e Compilador
programa fonte programa objetoTradutor
Compilador
36/13
Interpretador
• Tradutor que não gera módulo-objeto
• Traduz cada comando e executa
• Desvantagem: tempo na tradução...
37/13
Linker
38/13
Loader
• Carregar na memória principal um
programa para ser executado
• Loader absoluto
• Loader relocável
39/13
Depurador
• Permite acompanhar a execução de um
programa e detectar erros
• Visualização e alteração de variáveis
• ...
40/13
Interpretador de Comandos
• Interpretador de comandos ou shell
permite ao usuário interagir com o
sistema
• Linguage...
41/25
Estrutura - Hardware
42/25
Roteiro
• Hardware
• Estrutura de um sistema operacional
• Interrupções
• Proteção do núcleo
• Níveis de privilégio
...
43/25
Hardware
• Mono-processadores atuais seguem um
padrão definido na década de 40 por
János (John) Von Neumann
– Arquit...
44/25
Estrutura de um Sistema
Operacional
Controladora de Dispositivos
Dispositivos físicos
Hardware
Software
Aplicativos
...
45/25
Hardware
M e m ó r i a
P r i n c i p a l
D i s p o s i t i v o s
d e E / S
P r o c e s s a d o r / U C P
U n i d a d...
46/25
Processador
• É o núcleo do sistema de computação.
• Responsável por continuamente ler as
instruções e dados da memó...
47/25
Processador
• Unidade Central de Processamento (UCP
ou CPU)
• Unidade de Controle (UC)
• Unidade Lógica e Aritmética...
48/25
Barramento
• Ocorre todas as transferências de dados.
• Barramento de endereços
– Indica a posição de memória (ou di...
49/25
Barramento
B a r r a m e n t o p r o c e s s a d o r - m e m ó r i a
BarramentodeE/S
BarramentodeE/S
A d a p t a d o...
50/25
MMU
• Memory Management Unit (Unidade de
Gerência de Memória)
• Responsável por analisar cada endereço
solicitado pe...
51/25
Memória
m a i o r
c a p a c i d a d e d e
a r m a z e n a m e n t o
m a i o r c u s t o e
v e l o c i d a d e
d e a ...
52/25
Dispositivos
• Memória secundária
– Discos
– Fitas magnéticas
• Interface usuário-máquina
– Teclados
– Impressoras
•...
53/25
Arquitetura de um Computador
controle
endereços
dados
Processador MMU
Memória
Controladora
USB
Mouse Teclado
Control...
54/25
Interrupções
• Quando um controlador de periférico
possui uma informação importante para
fornecer ao processador
– A...
55/25
Interrupção
1. O processador está executando um programa qualquer (em outras
palavras, um fluxo de execução);
2. Um ...
56/25
Interrupção
controle
endereços
dados
Processador MMU
Controladora
de rede
Programa em
execução
memória
1 Rotina de
t...
57/25
Proteção ao Núcleo
• Certas instruções não podem estar
disponíveis para as aplicações, pois isso
poderia ocasionar u...
58/25
Níveis de privilégio
• Então, existe 2 tipos de
instruções: instruções
privilegiadas e instruções
não-privilegiadas....
59/25
Separação entre núcleo e as
aplicações
Hardware
Núcleo
Nível
núcleo
Nível
usuário
Aplicação Aplicação Aplicação Apli...
60/25
Chamadas de Sistema
• São portas de entrada para se ter acesso
ao núcleo do sistema operacional.
• Exemplo: quando o...
61/25
System Calls
Aplicação System Call
NúcleoNúcleo
Hardware
62/25
Syscalls - Grupos de Função
• Gerência de Processos
– Criação e eliminação de processos, alteração das
característic...
63/25
Chamada a uma rotina de acesso
64/25
Application Programming Interface
• Conjunto de chamadas de sistema
oferecidas por um núcleo é chamada de
API
– API ...
Próximos SlideShares
Carregando em…5
×

Introdução a Sistemas Operacionais

515 visualizações

Publicada em

Publicada em: Diversão e humor
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
515
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução a Sistemas Operacionais

  1. 1. 1/9 Sistemas Operacionais
  2. 2. 2/9 Roteiro • Conceitos • Visão de um sistema operacional • Abstração de recursos
  3. 3. 3/9 Definição de SO • É uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final. • É uma estrutura de software ampla,muitas vezes complexa, que incorpora aspectos de baixo nível (como drivers de dispositivos e gerência de memória física) e de alto nível (como programas utilitários e a própria interface gráfica).
  4. 4. 4/9 Visão do Sistema Operacional p r o g r a m a d o r e s e a n a l i s t a s m e m ó r i a d i s c o s U C P U s u á r i o s H a r d w a r e S i s t e m a O p e r a c i o n a lS i s t e m a O p e r a c i o n a l f i t a s i m p r e s s o r a s m o n i t o r e s p r o g r a m a s , s i s t e m a s e a p l i c a t i v o s u s u á r i o s
  5. 5. 5/9 Abstração de Recursos • Cada hardware tem sua particularidade • Cabe ao sistema operacional gerenciar as particularidades do hardware – Um processador de texto não deve deter o conhecimento de como gravar um arquivo (disquetes, pen drive, hd´s).
  6. 6. 6/9 Cabe ao Sistema Operacional • Prover interfaces de acesso aos dispositivos, mais simples de usar que as interface de baixo nível. • Tornar os aplicativos independentes do hardware. • Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas.
  7. 7. 7/9 Gerência de Recursos • Cabe ao sistema operacional definir políticas para gerenciar o uso dos recursos de hardware pelos aplicativos, e resolver eventuais disputas e conflitos. – Uso de processador – Acesso a disco – Memória
  8. 8. 8/12 Tipos de S.O.
  9. 9. 9/12 Roteiro • Batch (lote) • De Rede • Distribuído • Multi-usuário • Desktop • Servidor • Embutido • Tempo real
  10. 10. 10/12 Batch (lote) • Todos os programas a executar eram colocados em uma fila. • O processador recebia um programa após o outro, processando-os em seqüência, o que permitia um alto grau de utilização do sistema. • O termo lote ainda é usado para definir um conjunto de comandos que rodam sem interferência do usuário
  11. 11. 11/12 Bach (lote) P r o c e s s a m e n t o P r o c e s s a m e n t o P r o c e s s a m e n t o ( a ) ( b ) ( c ) f i t a d e e n t r a d a f i t a d e e n t r a d a c a r t õ e s p e r f u r a d o s f i t a d e s a íd a r e l a t ó r i o s f i t a d e s a íd a j o b 2 j o b n r e l a t ó r i o 1 r e l a t ó r i o 2 r e l a t ó r i o n j o b 1
  12. 12. 12/12 Rede • Suporte a operação em rede – Maioria dos sistemas operacionais atuais • Compartilhamento de recursos de vários computadores. • Disponibilizar os próprios recursos. • São independentes e caso a conexão entre um dos nós sofra qualquer problema, os demais continuam operando normalmente , apesar de alguns recursos se tornarem indisponíveis.
  13. 13. 13/12 Distribuído • Os recursos de cada máquina estão disponíveis globalmente, de forma transparente aos usuários. • Para o usuário e suas aplicações é como se não existisse uma rede de computadores e sim um único sistema centralizado. – Usuário desconhece o computador em uso. • Ainda não são uma realidade de mercado. • Exemplo: Amoeba
  14. 14. 14/12 Multi-usuário • Múltiplos usuários simultâneos – Maioria dos sistemas operacionais atuais • Deve suportar a identificação do “dono” de cada recurso dentro do sistema – arquivos, processos, conexões de rede • Imposição de regras de controle de acesso para impedir o uso desses recursos por usuários não autorizados
  15. 15. 15/12 Desktop • Sistema operacional “de mesa”. • Usuários domésticos e corporativos – Atividades corriqueiras • Ambiente gráfico, interatividade com usuário e suporte a rede.
  16. 16. 16/12 Servidor • Gestão de grandes quantidades de recursos – Discos, memórias e processadores • Multi-usuários • Suporte a rede
  17. 17. 17/12 Embutido • Embedded • Hardwares com pouca capacidade de processamento – Celulares, calculadores, tocadores de MP3 • Função específica
  18. 18. 18/12 Tempo real • Comportamento temporal previsível – Tempo de resposta conhecido no melhor caso e pior caso de operação • soft real-time systems – perda de prazo implica em degradação do serviço prestado (gravação de CD) • hard real-time systems – perda de prazo pode causar grandes prejuízos econômicos ou ambientais (usina nuclear, caldeiras industriais)
  19. 19. 19/11 Funcionalidades
  20. 20. 20/11 Roteiro • Funcionalidades de um sistema operacional • Gerência – Processador – Memória – Dispositivos – Arquivos – Proteção
  21. 21. 21/11 Sistema Operacional • Para cumprir sua função, deve atuar em várias frentes. • São vários os recursos a serem gerenciados – Abstração
  22. 22. 22/11 Gerência de Processador • Conhecida como gerência de processos ou de atividades, • Visa distribuir a capacidade de processamento de forma justa – “Justa é diferente de igual” • Sincronização de atividades – Comunicação entre processos
  23. 23. 23/11 Gerência de Memória • Fornecer a cada aplicação um espaço próprio de memória – Independente e isolado das demais aplicações • Uso do disco como memória complementar – Aplicação desconhece o tipo da memória em uso
  24. 24. 24/11 Gerência de Dispositivos • Gerência de Entrada/Saída • Vários dispositivos diferentes – Pen drive, disquetes, discos IDE e SCSI • Permitir, através de drivers, o uso de forma comum – Vetor de blocos de dados
  25. 25. 25/11 Gerência de Arquivos • Construída sobre a gerência de dispositivos – Criando abstrações de arquivos e diretórios • Outros dispositivos podem ser utilizados como arquivos – Gravar arquivos numa saída TCP (Unix)
  26. 26. 26/11 Gerência de Proteção • Políticas de acesso para sistemas – Em rede – Multi-usuários • Definição de usuários, grupos de usuários, registro de recursos por usuários
  27. 27. 27/11 Sistemas Operacionais Modernos • Gerência de energia • Gerência de rede • Gerência de recursos multimidía
  28. 28. 28/11 Visão Geral • Os módulos de gerência são inter- dependentes
  29. 29. 29/13 Estrutura
  30. 30. 30/13 Roteiro • Estrutura de um sistema operacional • Componentes • Uso e importância • Programas Utilitários
  31. 31. 31/13 Núcleo • Kernel • Coração do sistema operacional • Responsável pela gerência dos recursos de hardwares utilizados
  32. 32. 32/13 Drivers • Códigos específicos – Acesso dispositivos físicos • Normalmente fornecido pelo fabricante do hardware – Forma binária – Acoplado ao sistema operacional
  33. 33. 33/13 Código de Inicialização do Sistema • Carregar o núcleo do sistema operacional em memória e iniciar sua execução. D i s c o M e m ó r i a P r i n c i p a l b o o t S i s te m a O p e r a c i o n a l Á r e a d o S i s te m a O p e r a c i o n a l
  34. 34. 34/13 Programas Utilitários • Facilitam o uso do sistema operacional – Tradutor • Montador e Compilador – Interpretador – Linker – Loader – Depurador – Interpretador de Comandos (shell)
  35. 35. 35/13 Tradutor • Montador e Compilador programa fonte programa objetoTradutor Compilador
  36. 36. 36/13 Interpretador • Tradutor que não gera módulo-objeto • Traduz cada comando e executa • Desvantagem: tempo na tradução • Vantagem: dados dinâmicos • Exemplos: Basic e Perl
  37. 37. 37/13 Linker
  38. 38. 38/13 Loader • Carregar na memória principal um programa para ser executado • Loader absoluto • Loader relocável
  39. 39. 39/13 Depurador • Permite acompanhar a execução de um programa e detectar erros • Visualização e alteração de variáveis • Breakpoints • Watchpoints
  40. 40. 40/13 Interpretador de Comandos • Interpretador de comandos ou shell permite ao usuário interagir com o sistema • Linguagem de controle são os comandos disponíveis pelo interpretador • Exemplos: Shell Bash
  41. 41. 41/25 Estrutura - Hardware
  42. 42. 42/25 Roteiro • Hardware • Estrutura de um sistema operacional • Interrupções • Proteção do núcleo • Níveis de privilégio • Chamadas de sistema
  43. 43. 43/25 Hardware • Mono-processadores atuais seguem um padrão definido na década de 40 por János (John) Von Neumann – Arquitetura Von Neumann • Programa armazenado – Programa a ser executado reside na memória junto com os dados
  44. 44. 44/25 Estrutura de um Sistema Operacional Controladora de Dispositivos Dispositivos físicos Hardware Software Aplicativos Programas Utilitários Nível usuário Nível sistema Núcleo Código de Inicialização Drivers de Dispositivo
  45. 45. 45/25 Hardware M e m ó r i a P r i n c i p a l D i s p o s i t i v o s d e E / S P r o c e s s a d o r / U C P U n i d a d e L ó g i c a e A r i tm é ti c a R e g i s t r a d o r e s U n i d a d e d e C o n t r o l e
  46. 46. 46/25 Processador • É o núcleo do sistema de computação. • Responsável por continuamente ler as instruções e dados da memória ou de periféricos, processá-los e enviar os resultados de volta a memória ou outros periféricos.
  47. 47. 47/25 Processador • Unidade Central de Processamento (UCP ou CPU) • Unidade de Controle (UC) • Unidade Lógica e Aritmética (ULA) • Clock – Memórias de alta velocidade
  48. 48. 48/25 Barramento • Ocorre todas as transferências de dados. • Barramento de endereços – Indica a posição de memória (ou dispositivo) a acessar • Barramento de controle – Indica a operação a efetuar (leitura ou escrita) • Barramento de dados – Transporta a informação indicada entre o processador e a memória ou controlador de dispositivo
  49. 49. 49/25 Barramento B a r r a m e n t o p r o c e s s a d o r - m e m ó r i a BarramentodeE/S BarramentodeE/S A d a p t a d o r A d a p t a d o r M e m ó r i a P r i n c i p a l U C P
  50. 50. 50/25 MMU • Memory Management Unit (Unidade de Gerência de Memória) • Responsável por analisar cada endereço solicitado pelo processador, validá-los, efetuar conversões de endereçamento necessárias e executar a operação solicitada pelo processador – leitura ou escrita de uma posição de memória
  51. 51. 51/25 Memória m a i o r c a p a c i d a d e d e a r m a z e n a m e n t o m a i o r c u s t o e v e l o c i d a d e d e a c e s s o M e m ó r i a S e c u n d á r i a M e m ó r i a C a c h e M e m ó r i a P r i n c i p a l R e g i s t r a d o r e s
  52. 52. 52/25 Dispositivos • Memória secundária – Discos – Fitas magnéticas • Interface usuário-máquina – Teclados – Impressoras • Outros dispositivos – Placa de vídeo – Dispositivos USB’s • São acessados através de circuitos específicos denominados controladores
  53. 53. 53/25 Arquitetura de um Computador controle endereços dados Processador MMU Memória Controladora USB Mouse Teclado Controladora de vídeo Monitor Controladora de disco Controladora de rede Unidade de disco Conexão de rede
  54. 54. 54/25 Interrupções • Quando um controlador de periférico possui uma informação importante para fornecer ao processador – Aguarda até que o processador o consulte – Notifica o processador através do barramento de controle • Requisição de interrupção (IRQ – Interrupt ReQuest)
  55. 55. 55/25 Interrupção 1. O processador está executando um programa qualquer (em outras palavras, um fluxo de execução); 2. Um pacote vindo da rede é recebido pela placa Ethernet; 3. A placa envia uma solicitação de interrupção (IRQ) ao processador; 4. O processamento é desviado do programa em execução para a rotina de tratamento da interrupção 5. A rotina de tratamento é executada para receber as informações da placa de rede (via barramentos de dados e de endereços) e atualizar as estruturas de dados do sistema operacional; 6. A rotina de tratamento da interrupção é finalizada e o processador retorna à execução do programa que havia sido interrompido.
  56. 56. 56/25 Interrupção controle endereços dados Processador MMU Controladora de rede Programa em execução memória 1 Rotina de tratamento da interrupção 4 6 2 5 5 3
  57. 57. 57/25 Proteção ao Núcleo • Certas instruções não podem estar disponíveis para as aplicações, pois isso poderia ocasionar um sério problema de integridade no sistema. – Por exemplo, um acesso ao disco rígido para gravação de um arquivo.
  58. 58. 58/25 Níveis de privilégio • Então, existe 2 tipos de instruções: instruções privilegiadas e instruções não-privilegiadas. • O processador implementa 2 modos de acesso: modo usuário e o modo kernel (ou supervisor). CPU Intel x86 Sistema Operacional Aplicação Não utilizado Não utilizado 0 1 2 3
  59. 59. 59/25 Separação entre núcleo e as aplicações Hardware Núcleo Nível núcleo Nível usuário Aplicação Aplicação Aplicação Aplicação
  60. 60. 60/25 Chamadas de Sistema • São portas de entrada para se ter acesso ao núcleo do sistema operacional. • Exemplo: quando o usuário deseja algum serviço, realiza uma chamada a uma de suas rotinas através de system calls (chamadas ao sistema). • Para cada serviço existe um system call associada e cada sistema operacional tem o seu próprio conjunto de chamadas.
  61. 61. 61/25 System Calls Aplicação System Call NúcleoNúcleo Hardware
  62. 62. 62/25 Syscalls - Grupos de Função • Gerência de Processos – Criação e eliminação de processos, alteração das características do processo e sincronização e comunicação entre processos. • Gerência de memória – Alocação e desalocação de memória. • Gerência de entrada/saída – Operações de entrada e saída e manipulação de arquivos e diretórios.
  63. 63. 63/25 Chamada a uma rotina de acesso
  64. 64. 64/25 Application Programming Interface • Conjunto de chamadas de sistema oferecidas por um núcleo é chamada de API – API Win32 (Windows) – POSIX (Unix/Linux)

×