Sistemas Operacionais - 05 - Sistemas Operacionais Microsoft
Sistemas Operacionais - PUCRSemoreno/undergraduate/CC/sisop/class_fil… · Sistemas em camadas ......
Transcript of Sistemas Operacionais - PUCRSemoreno/undergraduate/CC/sisop/class_fil… · Sistemas em camadas ......
Sumário
Introdução
Arquitetura de Sistema Operacional
Chamadas de sistema.
Processos
3
Basicamente, um programa em execução
Requer
CPU, memória, I/O
Possui espaço de endereçamento
Programa executável, dados do programa e sua pilha
Pode manipular determinados registradores
Contador de programa e ponteiro pra pilha
Multiprogramação
Vários processos sendo executados
Escalonamento
Salvamento de contexto
Processos
4
Tabela de processos
Árvore de Processos
Comunicação entre processos
Identificação de processos (UID, GID)
Espaços de Endereçamento
5
SOs simples
Apenas um programa por vez está na memória
SOs mais sofisticados
Multiprogramação
Um processo não pode interferir na execução de outro
Endereços são de 32 ou 64 bits (maioria)
232 ou 264 bytes
Se precisar mais espaço do que pode endereçar?
Memória virtual
Sumário
Introdução
Arquitetura de Sistema Operacional
Chamadas de sistema.
Arquitetura de SO
7
Sistemas monolíticos
Coleção de processos sequenciais cooperantes
Chamadas de sistemas
Fluxo de operação
Recebe solicitações dos programas de usuário
Executa em modo de núcleo
Retorna um resultado
Arquitetura de SO
8
Sistemas monolíticos
Arquitetura de SO
9
Sistemas em camadas
Conjunto de processos sequenciais cooperantes
Cada processo com uma função bem definida
Gerência de memória, driver de periférico, etc
ex: THE (Dijkstra 1968)
5: operador
4: programas usuário
3: gerência de entrada/saída
2: comunicação console do operador-processo
1: gerência de memória
0: alocação do processador e multiprogramação (tratamento de interrupções)
Arquitetura de SO Máquinas virtuais Permite a execução de múltiplos SOs virtuais em um único SO real
Trata o hardware e o núcleo do SO como se tudo fosse hw.
Recursos do computador físico são compartilhados para criar a máquina virtual.
Prove uma interface idêntica para o hardware.
O SO cria a ilusão de múltiplos processos, cada qual em sua própriamemória e processador
Escalonamento da CPU dá sensação que os usuários tem seu próprioprocessador
Arquitetura de SO
11
Máquinas virtuais
Recursos virtuais são mapeados para recursos reais
Cada usuário possui uma máquina virtual mapeada sobre a
máquina real (ex. VM da IBM)
Arquitetura de SO
12
Micro Kernel
Baseada no modelo cliente/servidor Serviços do sistema são implementados por servidores especializados
Microkernel implementa somente tratamento de interrupções, gerência de memória (básico), funções básicas de escalonamento
clientes (programas de usuários) solicitam serviços ao SO (microkernel) que reencaminha para os serviços especializados
modularidade e extensibilidade
Benefícios Código de fácil extensão
Fácil adaptação do SO para novas arquiteturas
Mais confiável, visto que menos código está rodando no SO
Arquitetura de SO
13
Micro Kernel
Sumário
Introdução
Estrutura de um SO
Chamadas de sistema
Chamada de sistema Forma na qual o SO disponibiliza seus serviços
System calls prove interface entre um processo e o SO. Geralmente disponibilizado como instrução em assembly
Três métodos usados para passagem de parâmetro entre processo do usuário e SO. Passagem de parâmetros por registrador. Armazenamento de parâmetros em tabela na memória, sendo o
endereço da tabela passado como parâmetro por registrador. Empilhamento (Push) de parâmetros na pilha pelo processo e o
consequente desempilhamento pelo SO.
Chamadas de sistema (system calls)
16
Executam em modo núcleo
Realiza troca de contexto: usuário -> núcleo (kernel)
Processo que faz chamada de sistema fica bloqueado
Implementação depende do HW existente
ex:
INTEL/Linux -> INT 80H (número da rotina é passado no registrador
EAX)
MIPS ???
Chamadas de sistema (system calls)
17
Podem ser divididas em grupos
Gerência de processos
Gerência de arquivos/diretórios
Sinalizações
Proteção
Gerência de tempo
Chamadas de sistema (system calls)
18
Gerência de processos
Criação de processos (fork, exec)
Espera a finalização de processo (wait, waitpid)
Termina a execução do processo (exit)
Informação sobre processos (getpid)
Aumenta segmento de dados (brk, sbrk)
Chamadas de sistema (system calls)
19
Gerência de arquivos
Criação/abertura de arquivos (creat, mknod, open)
Fechamento de arquivos (close)
Leitura/escrita de arquivos (read, write)
Movimentação do ponteiro do arquivo (lseek)
Informações (stat, fstat, access)
Execução de operações especiais em arquivos especais (ioctl,
fcntl)
controlar dispositivos de bloco / configurar terminal
Chamadas de sistema (system calls)
20
Gerência de diretórios
Criação/remoção de diretórios (mkdir, rmdir)
Manipulação de links (link, unlink)
(Des)Montagem no sistema de arquivos (mount, umount)
Mudar diretório atual (chdir)
Mudar diretório root / (chroot)
Chamadas de sistema (system calls)
21
Sinalização
Rotinas para execução de operações que preemptam a execução
de um processo corrente (sigaction, sigreturn, kill)
Informar exceções detectadas pelo hardware (sigaction,
sigreturn)
Definição de limites de tempo (timeouts) (alarm)
Suspender um processo por tempo indeterminado (pause)
Habilitar/desabilitar a recepção de sinais em um processo
(sigprocmask, sigpending)
Chamadas de sistema (system calls)
Sinalizações
Chamadas de sistema (system calls)
23
Proteção
Modificar permissões de acesso em arquivos (chmod)
Informações de usuário (getuid, setuid, getgid, setgid)
Mudar o proprietário de um arquivo (chown)
Chamadas de sistema (system calls)
24
Gerência de tempo
Verificar hora atual (time)
segundos desde 1 de janeiro de 1970
Modificar hora (stime)
Modifica os horários de acesso de um arquivo (utime)
Informações sobre uso de CPU pelo usuário (times)
tempo gasto pelo usuário nos modos de usuário e sistema
Exemplo Chamadas de Sistema Linux
2
5
Referências
Silberschatz, G. “Operating System Concepts”. Capítulo 3
Tanenbaum, A. “Sistemas Operacionais: projeto e implementação”.
Capítulo 1