Anda di halaman 1dari 37

UNIVERSIDADE FEDERAL DO CEAR

Campus Russas
Curso: Cincia da Computao
Disciplina: Introduo Cincia da Computao

Aula 6 Sistemas Operacionais

Prof. Rafael Ivo


Introduo
Sistemas operacionais
Sistema operacional
Programa que gerencia
Outros programas
Recursos computacionais
Processadores
Memria
Dispositivos de entrada/sada
Sistema de arquivos
Entre aplicativos e hardware
Apresenta uma mquina
mais fcil de usar
Sistemas operacionais
Sistema operacional
Permite que vrios programas sejam
executados ao mesmo tempo
Gerencia e protege a memria e os dispositivos
de entrada e sada
Gerencia o compartilhamento de recursos
No tempo
No espao
Sistemas operacionais
Tipos de sistemas operacionais
Diferentes propsitos
Computadores de grande porte (mainframes) Processamento de
transaes em lote
Servidores Mltiplos usurios
Multiprocessadores Mltiplas CPUs
Computadores pessoais Interface mais amigvel
Computadores portteis Sem disco rgido
Embarcados Sem software instalado por usurio, somente de
fbrica
De ns sensores Dirigido a eventos, pequeno e simples
De tempo real Aes acontecem em determinado tempo,
sistemas crticos
De cartes inteligentes (smart cards) Primitivos, com restries
de energia e memria
Sistemas operacionais
Conceitos
Processos
Espaos de endereamento
Arquivo
Entrada/Sada
Segurana
Interpretador de comandos
Sistemas operacionais
Processo
Programa na memria principal
Sistemas operacionais
Processo
Memria de um processo
Sistemas operacionais
Espao de endereamento
Cada processo tem seu espao de memria
exclusivo
Protegido de outros processos
Evitar intervenes
Memria virtual
HD sendo usado como memria principal
Sistemas operacionais
Criao de processos
Inicializao do sistema
Requisio de usurio
A partir de outro processo
Tarefa em lotes
Trmino de processos
Sada normal
Sada por erro previsto
Erro fatal
Cancelamento por outro processo
Sistemas operacionais
Estados dos processos
Sistemas operacionais
Hierarquia de processos
Processo pai cria processos filhos
Cada processo filho pode ser pai de outros filhos
Threads
Sub-processo
Paralelismo dentro de um processo
Vrias threads por processo
Compartilham mesmo espao de endereos do processo
Sem proteo entre threads
Podem escrever no mesmo espao ao mesmo tempo
Proteo deve vir do programador
Criadas e destrudas mais rapidamente que processos
Atividades se sobreponham a E/S em um processo
Sistemas com mltiplas CPUs
Sistemas operacionais
Problemas comuns
deadlock
Sistemas operacionais
Escalonamento de processos
Troca de processos na CPU
Objetivos
Justia cada processo tem uma poro justa da CPU
Poltica alguns processos podem ter prioridade sobre outros processos
Equilbrio todas os recursos do sistema esto ocupadas
Problemas
deadlock
Sistemas operacionais
Escalonamento de processos
Tipos
Preemptivo
Bloqueia o processo atual para dar vez a outro
No-preemptivo
Somente aps o trmino de outro processo
Quantum
Tempo de execuo de um determinado processo (fixo ou varivel)
Sistemas operacionais
Escalonamento de processos
Categorias
Em lotes
Vazo Maximizar o nmero de tarefas por hora
Tempo de retorno Minimizar o tempo entre a submisso e o
trmino
Uso de CPU Manter a CPU ocupada o tempo todo
Interativos
Tempo de resposta Responder rapidamente s requisies
Proporcionalidade Satisfazer as expectativas dos usurios
Tempo real
Cumprimento dos prazos Evitar a perda de dados
Previsibilidade Evitar a degradao da qualidade em sistemas
multimdia
Sistemas operacionais
Escalonamento de processos
Escalonamento em lotes
Fila primeiro a chegar, primeiro a ser servido
Tarefa mais curta primeiro
Prximo de menor tempo restante preemptivo
Sistemas operacionais
Escalonamento de processos
Escalonamento interativo
Por chaveamento circular
Por prioridades
Com filas mltiplas
Prximo processo mais curto
Por loteria
Por frao justa
Sistemas operacionais
Escalonamento de processos
Escalonamento por chaveamento circular
Sistemas operacionais
Escalonamento de processos
Escalonamento por prioridades
Sistemas operacionais
Escalonamento de processos
Escalonamento com filas mltiplas
Prioridades com quanta diferente para cada
prioridade
Escalonamento por prximo processo mais
curto
Estimar tamanho futuro com base no
comportamento passadas
Sistemas operacionais
Escalonamento de processos
Escalonamento por loteria
Escolher aleatoriamente
Escalonamento por frao justa
N usurios 1/N da CPU para cada usurio
Independente do nmero de processos de cada usurio
Sistemas operacionais
Escalonamento de processos
Escalonamento de tempo real
Tempo real
Estmulos externos peridicos
Reao do SO
Crtico
Prazos devem ser cumpridos

Monitoramento de pacientes em UTI

Piloto automtico em avies

Robs em fbricas automatizadas

No-crtico
Prazos podem no ser cumpridos

Tocador de CD

Vrios processos curtos de comportamento conhecido


Sistemas operacionais
Escalonamento de processos
Escalonamento de tempo real
Esttico
Decises de escalonamento tomadas antes de iniciar a
execuo
Informao prvia e perfeita sobre os processos e os
prazos
Dinmico
Decises de escalonamento tomadas durante a execuo
Usado em sistemas aperidicos
Eventos acontecem de modo imprevisvel
Sistemas operacionais
Arquivo
Unidade de armazenamento de dados
Sistema de arquivos
Forma como os arquivos esto organizados no HD
Sistemas operacionais
Ex:
Sistemas operacionais
Papel do Sistema operacional
Chamadas de sistema
Abertura, leitura, gravao, fechamento
Oculta detalhes do disco
Diretrios
Montagem de sistemas de arquivos
Tornar outros sistemas de arquivos visveis
Sistemas de arquivos mais conhecidos
HFS Mac Os
Ext4 Unix
FAT 32 e NTFS Microsoft Windows
Sistemas operacionais
Particionamento
Sistemas operacionais
Entrada/sada
Drivers de dispositivos
Programas de interface entre software e hardware de um determinado dispositivo
fsico
Sistemas operacionais
Segurana
Proteo dos arquivos de um usurio
Usurio
Grupo
Todos
Sistemas operacionais
Interpretador de comandos
Forma de comunicao
Entre programas aplicativos e sistema operacional chamadas ao sistema
Abrir, escrever, criar, fechar, listar, copiar, mover ou apagar arquivos ou diretrios
Montar, desmontar sistemas de arquivos
Hora/data do sistema
Criao de processos/threads
Dar, tirar permisses a grupos e usurios
Sistemas operacionais
Interpretador de comandos
Interface por comando de linha (CLI)
Shell, prompt de comando
Bourne shell, Bourne-Again shell, Almquist shell, Debian Almquist shell, Korn
shell, Z shell, C shell, TENEX C shell, Hamilton C Shell
Sistemas operacionais
Interpretador de comandos
Interface grfica de usurio (GUI), gerenciador de janelas
Gnome shell
Sistemas operacionais
Interpretador de comandos
Interface grfica de usurio (GUI), gerenciador de janelas
Unity
Sistemas operacionais
Interpretador de comandos
Interface grfica de usurio (GUI), gerenciador de janelas
Windows XP
Sistemas operacionais
Interpretador de comandos
Interface grfica de usurio (GUI), gerenciador de janelas
Windows 8
Sistemas operacionais
Interpretador de comandos
Interface grfica de usurio (GUI), gerenciador de janelas
OS X Aqua environment

Anda mungkin juga menyukai