Suporte ao Sistema Operacional DI UFPE GRECO Sistema
- Slides: 26
Suporte ao Sistema Operacional DI UFPE GRECO
Sistema Operacional n Funções: • Auxilia na criação e execução de programas • Acesso a arquivos • Atua como interface software hardware n Objetivos • Conveniência • Eficiência DI UFPE GRECO
Níveis do S. O. Usuário Programador Aplicativos Utilitários Sistema Operacional Computador (Hardware) DI UFPE GRECO Projetista de S. O.
Serviços Oferecidos n Nível de Usuário • Controle de programas • Operações de E/S • Sistema de arquivos DI UFPE GRECO n Nível de Sistema • Gerenciamento de memória • Proteção • Alocação de recursos e escalonamento (gerenciamento de processos) • Accounting
Tipos de sistemas operacionais n Serial batch Alocação • superposição: spooling n Multiprogramação Escalonamento • superposição: E/S e processamento n Time sharing • paralelismo virtual DI UFPE GRECO Proteção Aumento da Funcionalidade
Tipos de S. O. Unitarefa Multi-tarefa DI UFPE GRECO Batch Interação c/ Usuário Batch simples Dedicado Batch avançado Time-sharing
Batch Simples Ponto de vista do Monitor Ponto de vista da CPU - Monitor põe job na mem. de programas - CPU executa monitor - Lê Job - Jump para job - Monitor passa controle p/ job - Job termina - Controle volta ao monitor DI UFPE GRECO - CPU executa Job - Se houver erro ou job acabar -> jump para monitor
Batch simples Processamento interrupções Device Drivers Sequenciamento de jobs Interpretador da ling. de controle Monitor Leitura 1 record: Execução 100 instr. : Escrita 1 record: TOTAL: . 0015 sec. . 0001 sec. 0015 sec. 0031 sec Área de programa de usuário Utilização CPU: 3. 2% DI UFPE GRECO
Batch Avançado: Multiprogramação run wait run Uniprogramação time wait run run wait Prog. B run wait Ae. B wait run wait Prog. A wait Multiprogramação com 2 programas time Multiprogramação com 3 programas run run run wait run run time DI UFPE GRECO Prog. B wait run run wait Prog. A wait Prog. C A, B e C
Exemplo Tipo Duração Memória req. Disco Terminal Impressora? Job 1 Job 2 Job 3 computação 5 min. 50 K E/S 15 min 100 K E/S 10 min 80 K X X X Uniprogramação Utilização proc. Utilização mem. Utilização disco. Utilização impres. Taxa de trabalho Tempo resp. médio Tempo total DI UFPE GRECO Multiprogramação 17% 30% 33% 6 jobs/hora 33% 67% 67% 12 jobs/hora 18 min. 30 min. 10 min. 15 min.
Time sharing Objetivo Fonte instr. Do S. O. Mainframes 1950 Batch Multiprogramação Time Sharing Max. utilização proc. Inst. de controle com o job Min. tempo resp. Comandos no terminal 1960 Multics 1970 1980 Nenhum Compiladores Time Multi-user Distributed software shared systems Resident Batch Monitors 1960 1970 Unix 1980 Minicomputers Nenhum Compiladores Time Multi-user software shared Resident monitors 1970 Microcomputers DI UFPE GRECO Nenhum Compiladores software Interactive Resident monitors Distributed systems 1980 Unix Distributed systems
Gerenciamento de Processos DI UFPE GRECO
Processo n n Programa que foi ativado Estados de um processo: Criação New Escalonador Ready Evento ocorreu DI UFPE GRECO Running Término Halted Esperando Waiting evento Bloco de Controle ID do Processo Estado Prioridade Program Counter Memory Pointers Contexto (regs. ) I/O Status Accounting Info • tempo CPU • limites, etc.
Gerenciamento de Processos n n DI UFPE GRECO Criação / Término Escalonamento / Chaveamento Proteção de Recursos Sincronização / Comunicação
Níveis de processos n usuário n usuário supervisor • funções não críticas booting ger. mem. disco terminal ger. arq. n • funções críticas clock n manipulação de excessões tratamento de E/S tratamento de excessões • integridade DI UFPE GRECO
Scheduling n High-level • Decide quantos programas são admitidos no sistema. • Aloca memória e cria um processo. • Controla a long-term queue n Short-term • Decide qual processo deve ser executado • Controla a short-term queue n I/O • Decide qual processo (com I/O) pendente deve ser tratado pelo dispositivo de I/O • Controla a I/O queue DI UFPE GRECO
Estruturação das filas Short-term scheduling Process request Longterm queue High-level scheduling Interrupt of process Interrupt from I/O DI UFPE GRECO Interrupt Handler Shortterm queue CPU I/O I/O queue FIM I/O scheduling
Exemplo de Escalonamento Sist. Operacional Contr. Serviços Scheduler contr. interrupção A Run Executando B “Ready” Outros processos DI UFPE GRECO Execu. Sist. Operacional tando Contr. Serviços Scheduler contr. interrupção A “Waiting B “Ready Outros processos Sist. Operacional Contr. Serviços Scheduler contr. interrupção A “Waiting B Run Executando Outros processos Processo A parou: • Req. serviço ao S. O. • Interrupção de A Ex. erro • Interrupção de outra fonte Ex. I/O
Proteção de Recursos Proteção de recursos (dados, etc. ) è Segurança e privacidade è Necessidade de comunicação è Métodos • Prevenção (Ling. alto-nível) • Detecção e Resolução (Hardware: exceções) DI UFPE GRECO
Proteção de Recursos via Hardware n Análise de operações ilegais n Proteção via opcode • Instruções privilegiadas (E/S. . . ) • Detecção do nível de operação – supervisor – usuário n Proteção via operando • Privilégios de acesso • Análise de domínio – área de memória – objeto definido pelo usuário DI UFPE GRECO
Proteção de Área de Memória n Domínio único • Cada processo possui espaço de memória definido n Domínio duplo • Parte pública: bibliotecas (compartilhamento total) • Parte privada: programa de usuário n Múltiplos domínios • Conjunto compartilhado – Ex: Sa = {a 1, a 2, a 3}, Sb = {a 3, b 4, b 5} – Como implementar ? DI UFPE GRECO
Sincronização de Processos n Execução paralela de processos • Real (multiprocessador) ou virtual (time sharing) • Problemas de sincronização Process observer repeat observe um evento cont = cont + 1 until false DI UFPE GRECO Process reporter repeat if (cont mod 10) = 0 print (cont) until false Situação: reporter testou cont = 10 observer cont = 11 reporter imprimiu cont = 11 • velocidade imprevisível dos processos • compartilhamento de dados condição de corrida controle no acesso às variáveis compartilhadas
Problema da Exclusão Mútua n Garantir que apenas um processo acesse um dado compartilhado por vez: • definição de seções críticas n Problemas: • deadlock • starvation (oposto de fairness) DI UFPE GRECO
Resolvendo a exclusão mútua n Busy-waiting • Controle de acesso a região – variável Lock = 0 pode entrar lock = 1 bloqueado n DI UFPE GRECO loop: test lock bne loop add #1, loop Desabilitar interrupções Simplicidade Regiões devem ser pequenas Inviável em multiprocessadores e se houver Interrupção?
Suporte da arquitetura n Operações atômicas: Ex. Test-and-set (tas) • tas <dst> if dst = 0 then dst = 1 Indivisível wait: tas lock bmi wait critical section clr. b lock Semáforos Pe. V n Monitores n Programa que engloba controla o recurso compartilhado e que tem acesso restrito DI UFPE GRECO
Aumento de Eficiência: Memória Virtual Operating System Long-Term Queue Memória Job Sheduling Jobs completos e User Sessions Disco Intermediate Queue Operating System Jobs completos e User Sessions Long-Term Queue DI UFPE GRECO Swapping Memória
- Suporte para tubulação industrial
- [email protected]
- Suporte cilindro gnv
- Meu pergamum ufpe
- Ufpe
- Ppgcp ufpe
- Citi ufpe
- Proacad ufpe
- Ufpe br
- Silvios proposal
- 3 sistema operacional
- Color 03062003
- Sistema operacional
- Sistema de gestión de seguridad operacional
- Estrutura do sistema operacional
- Sistema operacional
- Tipos de sistemas operacionais
- Camadas sistema operacional
- Sistema operacional distribuído
- Sistema operacional
- Estrutura do sistema operacional
- Sistema operacional
- Sistema operacional
- 3 sistema operacional
- Sistema operacional
- Sistema operacional
- Unix sistema operacional