Sunteți pe pagina 1din 201

Sistemas

Operacionais
AIRTON BORDIN JUNIOR

Ementa da disciplina
Estruturas de Sistemas operacionais;
Sistemas multiprogramveis;
Gerncia de processos;
Gerncia de memria fsica;
Gerncia de memria virtual;
Gerncia de sistemas de arquivos;
Gerenciamento de dispositivos;
Segurana e proteo;
Introduo aos sistemas operacionais distribudos.
2
Bibliografia bsica
Sistemas operacionais: Projeto e
implementao. Andrew S. Tanenbaum; Albert
S. Woodhull;
Sistemas operacionais: Conceitos e aplicaes.
Abraham Slberschatz; Peter Galvin; Greg
Gagne;
Arquitetura de sistemas operacionais. Francis B.
Machado, Luiz Paulo Maia.
3
Aula 1 Introduo
O que um sistema operacional?
Um programa de computador (software) que fica entre as
aplicaes e o equipamento (hardware);
um software que habilita as aplicaes e interage com o
hardware do computador;
Qual o objetivo de um sistema operacional?
Gerenciar os componentes de hardware e fornecer aos
programas de usurio uma interface com o hardware mais
simples;
Utilizar hardware e software de maneira eficiente.
4
Introduo
Sistemas operacionais rodam em diversos tipos
de equipamentos:
Computadores pessoais;
Telefones celulares;
Automveis;
Etc.
Exemplos de sistemas operacionais...
5
Introduo
Imagine se o programador tivesse que se preocupar com o
hardware...

Qual o endereo fsico
da memria da varivel
x?
Qual a velocidade
mxima de rotao do
HD?
Qual a taxa de
atualizao do monitor
do usurio?
Etc...
6
Introduo
Cada hardware tem sua particularidade;
responsabilidade do sistema operacional
gerenciar essas particularidades:
Um processador de texto no precisa saber como
gravar um arquivo no HD, CD, etc;
Um sistema que apresenta um resultado para o
usurio no precisa saber como imprimir um
caractere no monitor;
Etc.

7
Introduo
Cabe ao sistema operacional definir as regras
para gerenciar o uso dos recursos de hardware
pelos aplicativos e resolver possveis disputas e
conflitos por esses recursos:
Uso de processador pelas aplicaes;
Acesso ao disco Leitura, escrita;
Acesso memria;
Etc.
8
Introduo
9
Programas de sistemas e usurios
Sistema Operacional
Hardware
Introduo
10
Introduo
Sistema
operacional
Gerncia
do
processador
Gerncia
de memria
Gerncia
de
dispositivos
Gerncia
de arquivos
Interface
grfica
Gerncia
de
proteo
Outros
suportes
Suporte de
rede
11
Introduo
Podemos definir um Sistema Operacional
levando em considerao dois pontos de
vistas:
O S.O. como uma mquina estendida;
O S.O. como um gerenciador de recursos.
12
Introduo
O Sistema Operacional como uma mquina
estendida:
O sistema operacional a camada de software que
oculta a complexidade do hardware;
Facilita a criao de novos sistemas, de forma que o
desenvolvedor ou usurio no necessite saber
detalhes de funcionamento dos perifricos.
13
Introduo
O Sistema Operacional como um gerenciador
de recursos:
O Sistema Operacional responsvel por organizar e
alocar de forma ordenada e eficiente os recursos de
hardware do computador;
Definir polticas de uso dos recursos de hardware
pelas aplicaes e resolver disputas e conflitos que
venham a ocorrer.
14
Histrico
A evoluo dos sistemas operacionais
est intimamente ligado evoluo do
hardware;
Aumento da complexidade do hardware
demanda uma abstrao maior para as
camadas superiores;

15
Histrico
1 Gerao (1945 1955)
16
Necessrio conhecimento
do funcionamento do
hardware;
Programao feita atravs
de linguagem de
mquina;
Computadores utilizavam
vlvulas;
Inexistncia do conceito
de Sistema Operacional.
Histrico (1 Gerao)
17
MARK I
Histrico
2 Gerao (1956 1965)
18
Inveno do Transistor Bell
Laboratories;
Computadores mais rpidos e mais
eficientes;
Clculos que demoravam segundos
agora eram medidos em
milissegundos;

TRADIC TRADIC
Histrico (2 Gerao)
19
IBM 1401
Histrico
3 Gerao (1966 1970)
20
Circuitos integrados;
Diminuio no preo dos
computadores;
Diminuio no tamanho dos
computadores;
Principal empresa: IBM System/360
rodando OS/360;
System/360 Circuitos integrados
OS/360
Histrico (3 Gerao)
21
IBM System/360
Histrico
4 Gerao (1980 1990)
22
Computadores pessoais - PC;
Avano da indstria de hardware
com a introduo de novos
circuitos integrados;
Computao altamente interativa;
Crescimento da indstria de
softwares;
Dois sistemas operacionais
inicialmente dominaram o cenrio:
MS-DOS (Microsoft) e Unix;
Redes de computadores.
MD-DOS
Unix
Histrico (4 Gerao)
23
Histrico
5 Gerao (1990 *)
24
Popularizao dos PCs;
Processadores de alto
desempenho 1993: Pentium;
Evoluo das redes de
computadores;
Interfaces grficas complexas;
Interao com o usurio;
Internet.
Tipos de Sistemas Operacionais
Trs PRINCIPAIS tipos (no so os
nicos):
Sistemas Monotarefa;
Sistemas Multitarefa;
Sistemas Multiprocessadores.
25
Sistemas Monotarefa
Aloca o Sistema Operacional disponvel
exclusivamente para um nico programa;
O programa em andamento tem disponvel
todos os dispositivos do computador;
Tipicamente relacionados aos primeiros
computadores, na dcada de 1960;
Provoca grande desperdcio de hardware.
26
Sistemas Monotarefa
27
Sistemas Multitarefa
Evoluo dos sistemas Monotarefas;
Recursos computacionais so compartilhados entre as
aplicaes
Enquanto um programa aguarda por algum recurso,
outro pode estar utilizando o processador, por exemplo.
O sistema operacional responsvel por gerenciar o
acesso concorrente aos recursos de hardware entre as
aplicaes, de forma ordenada e protegida;
Mais eficiente que sistemas monotarefa, porm sua
implementao mais complexa.
28
Sistemas Multitarefa
29
Sistemas Multitarefa
Os sistemas multitarefa podem ser classificados
de acordo com:
Nmero de usurios que acessam o sistema
Sistema Monousurio;
Sistema Multiusurio.
Forma de gerenciamento das aplicaes
Sistemas Batch ou Lote;
Sistemas de tempo compartilhado;
Sistemas de tempo real.
30
Sistemas Multitarefa
Sistema
Multitarefa
Monousurio Multiusurio
31
Sistemas Multitarefa - Monousurio
Apenas um usurio interage com o
sistema;
Por ser um sistema multitarefa, pode
processar mais de uma aplicao ao
mesmo tempo
Editor de texto e browser, por exemplo.
32
Sistemas Multitarefa - Multiusurio
Possibilita vrios usurios simultneos com
acesso ao sistema operacional;
Tem uma implementao mais complexa,
uma vez que deve permitir a
identificao de cada recurso, como
arquivos e processos, e impor regras de
controles de acesso.
33
Sistemas Multitarefa
Sistemas
Multitarefas
Batch (lote)
Tempo
compartilhado
Tempo real
34
Sistemas Multitarefa - Batch
Todos os programas so colocados em uma fila
para execuo do processador;
Programas so processados em sequncia;
Atualmente, BATCH utilizado para definir um
conjunto de comandos que rodam sem
interferncia do usurio;
Sistemas BATCH, se bem projetados, podem ser
bastante eficientes em alguns casos especficos;
Problemas: vazo, tempo de resposta Exemplo.
35
Sistemas Multitarefa - Batch
36
Sistemas Multitarefa Tempo
Compartilhado (Time Sharing)
Permitem que diversos programas sejam executados a
partir da diviso do processador em pequenos
intervalos (time slice)
Caso o tempo no seja suficiente para completar o
processamento, interrompido e substituido por
outro, enquanto aguarda novo intervalo de tempo.
H a impresso de que a mquina est dedicada ao
programa/usurio, como se ele fosse o nico utilizador
dos recursos;
Permitem INTERAO COM O USURIO I/O Teclado,
mouse, monitor, etc;
37
Sistemas Multitarefa Tempo
Compartilhado (Time Sharing)
O sistema operacional gerencia a utilizao dos
recursos pelos programas e usurios
Escalonamento.
Gerenciamento complexo dos processos, dependendo
da utilizao do Sistema Operacional
Prioridades;
Tamanho do time slice;
Guardar estado atual;
Etc.



38
Sistemas Multitarefa Tempo Compartilhado
(Time Sharing) - Escalonamento
39
Sistemas Multitarefa Tempo Real
Semelhante aos sistemas de tempo compartilhado;
Diferena est no tempo exigido para o processamento das
aplicaes;
Tempo de processamento deve estar entre limites rgidos, definidos
no projeto;
Um programa utiliza o processador pelo tempo que for necessrio,
at que aparea uma aplicao com uma PRIORIDADE maior
Prioridade definida pela aplicao e no pelo S.O.
Utilizao Sistemas embarcados, avies, etc
Exemplo: Avio prioridade: pouso ou sistema de som?
40
Sistemas Multiprocessadores
Possuem uma ou mais CPUs interligadas e
trabalhando em conjunto;
Vrios programas so REALMENTE executados
ao mesmo tempo;
Vantagens especficas:
Escalabilidade;
Disponibilidade;
Balanceamento de carga.
41
Sistemas Multiprocessadores
Escalabilidade (?);
Disponibilidade (?);
Balanceamento de
carga (?).
42
Sistemas Multiprocessadores
Podem ser classificados em:
Fortemente acoplados
Apenas uma memria
compartilhada.
Fracamente acoplados
Cada sistema tem sua prpria
memria.

43
Funcionalidades
Para cumprir os objetivos de abstrao e gerncia, o S.O. atua em
vrias frentes;
Cada recurso possui suas particularidades, o que demanda exigncias
especficas para gerenci-los e abstra-los;
Principais funcionalidades implementadas por um S.O. tpico:
Gerncia do processador;
Gerncia de memria;
Gerncia de dispositivos;
Gerncia de arquivos;
Gerncia de proteo;
Interface grfica;
Suporte de rede.
44
Gerncia do processador
45
Sistema
operacional
Gerncia do
processador
Gerncia de
memria
Gerncia de
dispositivos
Gerncia de
arquivos
Interface
grfica
Gerncia de
proteo
Outros
suportes
Suporte de
rede
Gerncia de processador
Primeiros sistemas operacionais eram caracterizados por apenas
um programa sendo executado por vez;
Computadores modernos = vrios tarefas ao mesmo tempo;
Processador alternado entre um programa e outro
Falsa impresso de que vrios programas esto rodando ao mesmo
tempo;
Pseudoparalelismo.
Para que isso seja possvel, necessrio um monitoramento
complexo de todas as atividades;
Foi desenvolvido um modelo que tornou o paralelismo mais fcil
de manipular: modelo de PROCESSOS.
46
Processos
Processo um programa em execuo e que tem suas
informaes mantidas pelo sistema operacional;
Um processo um programa em execuo. uma unidade de
trabalho dentro do sistema. Programa uma entidade passiva,
processo uma entidade ativa;
Pode ser definido tambm como o ambiente onde o programa
executado, e alm das informaes sobre a execuo, possui:
Recursos que o sistema pode utilizar;
Espao de endereamento;
Arquivos e outras Entradas/Sadas;
Etc.
47
Processos
O sistema operacional deve ser
capaz de:
Criar um processo;
Reservar memria para um processo;
Organizar os processos para a espera
do uso da CPU.
48
Processos
Os vrios processos criados pelo sistema operacional
competem entre si pela ateno do processador;
O gerenciador de processamento do sistema
operacional responsvel por estabelecer a ordem de
execuo;
Os processos podem estar em 3 estados:
Executando;
Pronto;
Bloqueado.
49
Processos
Executando:
Quando o processo est, de fato, sendo processado pela CPU do
computador
Pronto:
Quando o processo possui todas as condies necessrias para sua
execuo, porm, no est de posse da CPU do computador;
Em geral, existem vrios processos nesta fase, e o sistema operacional
responsvel por selecionar o prximo processo a usar a CPU.
Bloqueado:
Quando o processo aguarda por algum evento externo ou por algum
recurso do sistema indisponvel no momento, por exemplo: informao
de algum dispositivo de I/O, etc.
50
Processos
51

Processo
Transies
Transio 1 Executando para bloqueado:
Um processo que estava utilizando o processador precisou de algum evento
externo e no pode continuar.
Transio 2 Bloqueado para pronto:
O evento externo que o processo bloqueado aguardava acontece. Nesse
caso, o processo volta para a fila de pronto para usar a CPU.
Transio 3 e 4 Pronto para executando e Executando para pronto:
Realizados pelo escalonador de processos, que escolhe qual o prximo
processo ser executado;
Diversas polticas e escalonadores Exemplo: PRIORIDADE.
52
Processos
Analisando processos na prtica no
sistema operacional:
GNU/Linux: comando nice e renice modifica
prioridade. Comando ps aux mostra
processos;
Windows: gerenciador de tarefas;
Android: Dev Tools;
Etc.

53
Escalonador de processos
Determina qual processo utilizar a CPU quando
estiver disponvel;
Age sempre sobre os processos em estado de
PRONTO;
Segue uma poltica de escolha Algoritmo de
escalonamento;
Rotina executada normalmente vrias vezes
por segundo.
54
Escalonador de processos
Objetivos das polticas de escalonamento:
Maximizar a utilizao da CPU;
Maximizar o throughput (vazo);
Minimizar o turnaround (tempo para finalizao do processo);
Minimizar o tempo de espera;
Minimizar o tempo de resposta;
Ser justa;
Maximizar o nmero de usurios interativos;
Ser previsvel;
Minimizar e balancear o uso de recursos;
Etc.
55
Escalonador de processos
Para evitar que um processo monopolize a CPU (de propsito ou
por acidente), uma interrupo por tempo utilizada: QUANTUM
ou TIME-SLICE;
Um processo interrompido por trmino do seu QUANTUM volta fila
em estado de PRONTO;
Um processo utiliza a CPU at:
Voluntariamente liber-la;
QUANTUM expirado;
Outro processo exija a ateno da CPU (interrupo/prioridade);
Erro de execuo.
56
Escalonador de processos -
Prioridades
Prioridades:
Podem ser fixas durante a vida do
processo ou modificveis;
Podem ser associadas externamente ou
de forma automatizada;
Podem ser calculadas e associadas de
forma racional ou arbitrria.
57
Escalonador de processos -
Preempo
No-preemptivo
Quando um processo no pode ser interrompido por um fator externo
quando est executando;
Deixa a CPU ou por vontade prpria ou porque terminou o trabalho;
Windows 3.1, etc.
Preemptivo
Pode interromper a execuo de um processo para executar um outro;
Sistemas operacionais modernos utilizam algoritmos de escalonamento
preemptivos;
Sistemas operacionais modernos Windows 95+, GNU/Linux, MacOS,
etc.
58
Escalonador de processos
Algoritmos de escalonamento:
FIFO;
SJF (Short Job First);
Round-Robin;
SRT (Shortest Remaining Time);
Prioridade;
Mltiplas filas;
Mltiplas filas com realimentao;
Escalonamento para vrios processadores;
Escalonamento de tempo real.
59
FIFO First In, First Out
Algoritmo no preemptivo (quando entra em
execuo, vai at o trmino);
O processo que chega primeiro (First In) o primeiro
a ser escolhido para usar a CPU (First Out);
Fila de processos;
Criado originalmente para sistemas batch;
Injusto para processos (Jobs) curtos;
Ineficiente para sistemas de tempo compartilhado.
60
FIFO First In, First Out
1
1
m
s

P4
6
m
s

P3
9
m
s

P2
2
0
m
s

P1
61
Tempo total de execuo: 46ms
20ms 29ms 35ms 46ms
FIFO First In, First Out

62
SJF Shortest Job First
No preemptivo;
Processo com menor tempo para ser completado
escolhido;
Se informao sobre tempo de execuo no estiver
disponvel: Estimativa. Desempate pode ser feito por
FIFO.
Algoritmo reduz o tempo de espera, com o mnimo para
um conjunto de processos;
Problemas: grande varincia no tempo de espera,
necessidade de prever o futuro.
63
SJF Shortest Job First

64
Round-Robin
Definido um QUANTUM ou TIME-SLICE (geralmente de 10 a 100ms):
tempo limite para o processo usar a CPU;
Aps o tempo de QUANTUM, processo sofre PREEMPO e
colocado na fila com o status de PRONTO;
A fila de PRONTO tratada como uma fila circular (FIFO First In,
First Out);
Escalonador seleciona primeiro processo da fila de PRONTO para
ser executado e define 1 QUANTUM de tempo para o
processamento;
Se o tempo necessrio para o processo finalizar for maior que 1
QUANTUM, ento feito o CHAVEAMENTO DE CONTEXTO (salva o
estado, vai para o status de PRONTO, seleciona novo processo).
65
Round-Robin
Algoritmo preemptivo;
Tempo mdio de espera alto;
Desempenho depende diretamente do
tamanho definido para o QUANTUM:
Se QUANTUM for muito grande, assemelha-se ao
algoritmo de escalonamento FIFO (no preemptivo);
Se QUANTUM for muito pequeno, o overhead com o
CHAVEAMENTO DE CONTEXTO torna-se alto demais,
prejudicando o desempenho.
66
Round-Robin

67
SRT Shortest Remaining Time
SJF Preemptivo;
escolhido o processo com menor tempo
para ser completado;
Um processo em execuo
interrompido quando um novo processo
com menor tempo para ser completado
aparece na fila com o status de PRONTO;
68
SRT Shortest Remaining Time
69
Escalonamento por Prioridade
Cada processo tem uma prioridade associada;
CPU alocada para processo de maior prioridade;
SJF pode ser considerado um caso de escalonamento por
prioridade, onde considera-se o tempo como priorizao;
Geralmente a prioridade representada por um nmero no h
conveno em relao a quais nmeros utilizar;
Prioridade definida:
Internamente ou externamente.
Problema: Starvation Processos de baixa prioridade podem ficar
indefinidamente em estado de PRONTO;
Soluo: aumentar progressivamente a prioridade dos processos em
estado de PRONTO aguardando a vez de usar a CPU.
70
Escalonamento por Prioridade
71
Starvation:

Quando os responsveis
foram desligar o IBM 7094
no MIT em 1973,
descobriram um processo
com baixa prioridade que
estava em estado de
PRONTO desde 1967 e
ainda no havia sido
processado.
Mltiplas filas
Processos so previamente divididos em grupos
Em funo do tipo de processamento realizado
Sistema;
Interativo (foreground);
Batch (background).
Cada um dos grupos tem um mecanismo de escalonamento
Interativo Round Robin;
Batch FIFO;
72
Mltiplas filas

73
Mltiplas filas com realimentao
Os processos NO permanecem em uma mesma fila at terminar o
processamento;
O Sistema Operacional faz um ajuste dinmico para ajustar os
processos em funo do comportamento do sistema;
Os processos no so previamente associados s filas, mas
direcionados pelo sistema entre as diversas filas com base no seu
comportamento;
Parmetros para escalonamento:
Nmero de filas;
Algoritmo de escalonamento para cada fila;
Mtodo para mudar o processo da fila;
Mtodo para determinar em que fila um processo entra.
Mtodo mais complexo.
74
Mltiplas filas com realimentao

75
Escalonamento para vrios
processadores
Escalonamento mais complexo;
Processadores idnticos
Compartilhamento de carga;
Fila por processador;
Fila nica: compartilhamento de dados.
Abordagens do algoritmo
Processamento simtrico: Cada processador faz seu prprio
escalonamento;
Mestre-escravo (assimtrico): Um algoritmo executado em um
processador reservado somente para esse fim, e escalona os outros
processos em outros processadores.
76
Escalonamento de tempo real
Sistemas de tempo real
Hard Real Time: Requisitos rgidos, tempo essencial Uma
tarefa crtica deve ser completada dentro de um tempo
GARANTIDO
Avio, sistemas mdicos, indstria, etc.
Soft Real Time: Requisitos flexveis Processo crtico recebe
prioridade sobre os outros com menor importncia
Realidade aumentada, multimdia, etc.
Sistemas de Real Time rgidos requerem processadores
dedicados.
77
Threads
Uma forma de um processo dividir a si mesmo;
Threads executam dentro de um processo;
Conhecidas como Processos leves;
Possibilidade de associar mais de um fluxo de
execuo a um processo
Compartilhamento de recursos
Recursos do S.O., seo de dados, seo de cdigo.
Comunicao entre as threads facilitada;
Chaveamento de contexto total desnecessrio.

78
Threads
Ideia bsicas Processos x Threads
Processos: programa em execuo
que contm um nico fluxo de
execuo;
Threads: programa em execuo
com mltiplos fluxos de execuo.
79
Threads
80
Threads
Se um processo tem vrias threads, elas compartilham
quase todos os recursos e memria;
Cada thread tem sua prpria pilha de execuo e
registradores;
Em um processo com mltiplas threads, quando uma
thread est bloqueada aguardando, uma segunda
thread no mesmo processo pode executar
Aplicaes que requerem compartilhamento de dados se
beneficiam ao usar threads.
81
Threads
Benefcios:
Velocidade de criao das threads;
Capacidade de resposta;
Compartilhamento de recursos;
Economia de recursos;
Desempenho.

82
Threads
Principais diferenas entre Processos e Threads
Processos so geralmente independentes, enquanto threads so
subconjuntos de um processo;
Processos carregam muito mais informaes que threads, enquanto
que mltiplas threads compartilham memria e outros recursos;
Processos tem espao de endereamento separado, enquanto
threads compartilham esses endereos;
Processos interagem somente atravs de mecanismos de
comunicao entre processos fornecidos pelo sistema operacional;
Troca de contexto entre threads utiliza o mesmo procedimento que nos
processos, porm tipicamente mais rpida.
83
Threads
Exemplos:
Editor de texto: 1 thread l o teclado, 1
thread imprime na tela, 1 thread faz a
verificao de ortografia, etc;
Google Chrome: Cada aba = 1 processo;
Mozilla Firefox: Cada aba = 1 thread;
Plug-ins: 1 processo.
84
Comunicao entre processos
Processos executam em cpsulas autnomas;
O hardware oferece proteo de memria, ou seja, um processo
no acessa outro processo.
85
Comunicao entre processos
Processos frequentemente necessitam
comunicar-se/interagir;
Essa comunicao feira utilizando
mecanismos de IPC: Inter-Process
Communication;
Essa comunicao realizada atravs do
Sistema Operacional atravs de canais de
comunicao.
86
Comunicao entre processos

87
Comunicao entre processos
Caractersticas desejveis para comunicaes
inter-processos:
Rapidez;
Simplicidade na utilizao e implementao;
Modelo de sincronizao bem definido;
Versatilidade;
Funcionamento igual em ambientes distribudos;
SINCRONIZAO.
88
Comunicao entre processos
Sincronizao uma das maiores
preocupaes para comunicao entre os
processos
Deve permitir que um processo que envia uma
mensagem indique quando o dado foi transmitido;
Deve permitir que um processo que recebe uma
mensagem saiba quando um dado est disponvel;
Deve permitir que ambos saibam o momento exato
em que podem realizar uma nova comunicao.

89
Comunicao entre processos
Fundamentalmente duas abordagens:
Espao de endereamento cooperativo
Memria compartilhada.
Mecanismos do prprio Sistema Operacional para
transportar dados de um processo a outro
Pipes;
Sinais;
Sockets;
Etc.
90
Comunicao entre processos
Memria compartilhada:
Um mesmo segmento (trecho) de memria encontra-se no
espao de endereamento dos processos que esto se
comunicando;
O Sistema Operacional oferece chamadas permitindo a
criao de uma rea de memria compartilhada, mas NO SE
ENVOLVE DIRETAMENTE COM A COMUNICAO E
SINCRONIZAO das mensagens;
Quando um processo realiza uma modificao, todos os
processos que compartilham aquele segmento podem ver o
que foi mudado.
91
Comunicao entre processos
Memria compartilhada
Vantagens:
possvel acessar uma parte especfica de uma estrutura de
dados, e no necessariamente a estrutura completa
(Random Access);
A forma mais rpida para que dois processos troquem
dados.
Desvantagens:
No h um mecanismo automtico de sincronizao.
92
Comunicao entre processos

93
Comunicao entre processos
Problemas de sincronizao
PRODUTOR e CONSUMIDOR
94
Comunicao entre processos

95
Comunicao entre processos
Quais os problemas?
Condies de corrida;
Produtor mais rpido que o
consumidor;
Consumidor mais rpido que o
produtor.
Deadlock.
96
Comunicao entre processos
Quais as solues?
Monitores;
Semforos.
97
Problemas conceituais
Produtor/consumidor;
Jantar dos filsofos;
Barbeiro sonolento;
Etc.
98
Gerncia de memria
99
Sistema
operacional
Gerncia do
processador
Gerncia de
memria
Gerncia de
dispositivos
Gerncia de
arquivos
Interface
grfica
Gerncia de
proteo
Outros
suportes
Suporte de
rede
Gerncia de memria
Historicamente a memria principal sempre foi
vista como um recurso escasso e caro;
Preocupao dos projetistas: desenvolver
sistemas operacionais que no ocupassem
muito espao na memria e ao mesmo tempo
otimizassem a utilizao dos recursos;
Mesmo com o barateamento do hardware, o
gerenciamento de memria constitui um dos
principais mdulos do sistema operacional.
100
Gerncia de memria
Principais funes do mdulo de
gerenciamento de memria:
Alocar memria para os processos;
Desalocar memria dos processos;
Gerenciar troca entre memria
principal e secundria.
101
Gerncia de memria
102
Gerncia de memria
Proporo de tamanho e tempo de acesso
103
Gerncia de memria

104
Gerncia de memria
Gerenciamento da memria a
ferramenta utilizada para permitir aos
programas em execuo utilizarem a
memria do computador para
armazenar
Instrues;
Dados que sero manipulados.
105
Gerncia de memria
Principais objetivos a serem alcanados na gerncia de
memria
Disponibilizar rea de armazenamento para processos
executarem;
Proteger execuo dos processos contra possveis falhas;
Criar ambiente de execuo com desempenho satisfatrio;
Compartilhamento de memria entre processos
(comunicao);
Acesso transparente de memria por desenvolvedores.
106
Gerncia de memria
Gerenciamento bsico de memria
Primeiros sistemas operacionais;
Monoprogramveis;
ALOCAO CONTGUA;
Memria principal dividia entre o
sistema operacional e o programa em
execuo.
107
Alocao contgua
108
Memria
Sistema
Operacional
Programa do
usurio
Processo tem acesso a
toda a memria;
Sistemas
monoprogramveis
Gerncia de memria
Maioria dos sistemas operacionais so
multiprogramveis mais de 1 processo;
Forma mais simples:
Diviso da memria principal em parties estticas;
Tamanhos definidos;
Tamanhos estabelecidos na inicializao do sistema
operacional;
ALOCAO PARTICIONADA ESTTICA ou
ALOCAO FIXA.
109
Alocao fixa
Processo colocado em uma fila na
entrada de cada partio;
Escolha da partio: menor partio
capaz de armazen-lo;
Caso o processo no ocupe o
espao total de sua partio, o
restante inutilizado.
110
Alocao fixa
111
Alocao fixa
Problemas:
Filas com grande quantidade de processos
enquanto outras filas vazias ou com poucos
processos;
Espao desperdiado nas parties.
Exemplo: Partio 4 com 3 processos e
partio 2 vazia (imagem anterior).
Como resolver?
Implementar o mtodo com uma fila nica.
112
Alocao fixa com fila nica
113
Quando determinada
partio est livre, o
mais prximo do incio
da fila que melhor se
ajusta essa partio
carregado.

Alocao fixa com fila nica
Problemas
Grande desperdcio de memria;
Processo pode ocupar somente um
pequeno pedao de uma partio;
Restante da partio fica inutilizado.
Como resolver?
Alocao com parties variveis.
114
Alocao com partes variveis
Tamanho das parties ajustado
dinamicamente quando os processos chegam
na memria;
O processo utilizar um espao de memria
necessrio, tornando sua partio;
No h mais problemas de fragmentao
interna na partio, pois sero definidas a partir
da quantidade total alocada pelo processo.
115
Alocao com parties variveis

116
Alocao com parties variveis
Processos definem o tamanho de sua partio
ao chegarem na memria;
Quando no h mais espao disponvel, o
processo mais antigo na memria retirado
para dar espao para o prximo.
O processo de retirar um processo de memria,
atualizar em disco e colocar outro processo no
lugar chamado de TROCA.
117
Alocao com parties variveis
A TROCA consiste em trazer um processo inteiro,
execut-lo temporariamente e ento devolve-lo ao
disco;
Isso acontece quando a memria principal
disponvel insuficiente para manter todos os
processos carregados
Todos os processos na memria principal seria a soluo
tima.
Outra estratgia que permite que apenas parte do
programa fique em memria principal: Memria virtual.
118
Alocao com parties variveis
Mais flexvel que o mtodo com partio esttica;
Flexibilidade complica a tarefa de alocar e desalocar a
memria;
Complica o monitoramento da memria utilizada;
Os espaos alocados no so mais fixos, por isso no h como
saber antecipadamente a quantidade de memria utilizada.
H 2 formas de monitorar a memria utilizada
Mapa de bits;
Lista encadeada.
119
Mapa de bits
Memria dividia em unidades
de alocao;
Para cada unidade associado
um bit no mapa;
Valor 0: livre, valor 1: ocupado.
120
Mapa de bits

121
Mapa de bits
Ponto crucial: definio do tamanho da
unidade de alocao.
Unidade muito pequena: mapa de bits muito
grande;
Unidade muito grande: mapa de bits menor,
porm uma quantia de memria poder ser
desperdiada na ltima unidade se o tamanho
do processo no for um mltiplo exato da
unidade de alocao.
122
Lista encadeada
Lista encadeada dos segmentos de memria
alocados e livres;
Um segmento pode ser um processo ou uma
lacuna entre dois processos;
Cada n da lista formado por uma entrada
especificando se um P (processo) ou L
(lacuna), o endereo onde se inicia a
quantidade de unidades de alocao e um
ponteiro para a prxima entrada.
123
Lista encadeada

124
Memria virtual
Estender a memria principal atravs
da memria secundria;
D a impresso ao usurio de uma
maior quantidade de memria
principal disponvel;
Tambm chamado de memria de
swap.
125
Memria virtual

126
Memria virtual
127
Dvidas ltima aula
Barramento de endereamento 32 bits
2^32 = 4GB (2^30 = GB; 2^2 = 4)
Barramento de endereamento 64 bits
2^64 = 16EB (2^60 = EB; 2^4 = 16)
O sistema operacional pode limitar a quantidade de memria
alocada
Exemplo: Windows 7 (alocao mxima RAM)
Starter: 2GB
Home Basic: 8GB
Home Premium: 16GB
Professional: 192GB
Enterprise: 192GB
Ultimate: 192GB
128
Dvidas ltima aula
Memria virtual do Windows
129
Dvidas ltima aula
130
Paginao
Esquema de gerenciamento de memria em que o
espao de endereamento fsico de um processo no
contguo;
A paginao evita a fragmentao gerada pela
alocao dinmica;
Programas so capazes de gerar endereos virtuais;
Conjunto de endereos virtuais formam o espao de
endereamento virtual.
131
Paginao
Os endereos virtuais no vo diretamente para o
barramento da memria;
Passam antes por uma unidade chamada MMU
(Memory Management Unit Unidade de
gerenciamento de memria);
A MMU mapeia um endereo virtual para um endereo
lgico;
O endereamento virtual dividido em unidades
chamadas de pginas.
132
Paginao

133
Paginao

134
Gerncia de arquivos
135
Sistema
operacional
Gerncia do
processador
Gerncia de
memria
Gerncia de
arquivos
Gerncia de
dispositivos
Interface
grfica
Gerncia de
proteo
Outros
suportes
Suporte de
rede
Gerncia de arquivos
Desde o incio da computao, percebeu-se a necessidade de
armazenar informaes para uso posterior. Exemplo: programas,
dados, etc;
Atualmente, uma das principais funcionalidades de um
computador referente ao armazenamento e recuperao de
informaes, como documentos, fotografias, vdeos, etc;
O prprio S.O. armazena informaes para uso posterior. Exemplo:
bibliotecas, configuraes, etc;
Essas informaes devem ser armazenadas em dispositivo NO-
VOLTIL.
136
Gerncia de arquivos - Arquivo
ARQUIVO: conjunto de dados armazenados em um dispositivo fsico
no-voltil, com um nome ou outra referncia que permita sua
localizao posterior;
Do ponto de vista do usurio e das aplicaes, o arquivo a
unidade bsica de armazenamento de informao em um
dispositivo no-voltil;
Arquivos so extremamente versteis em contedo e capacidade.
Podem conter:
Texto ASCII;
Imagem;
Vdeo;
Etc.
137
Gerncia de arquivos
Como um dispositivo de armazenamento pode conter milhes de
arquivos, estes so organizados em estruturas hierrquicas
chamadas DIRETRIOS;
A organizao fsica e lgica dos arquivos e diretrios dentro de um
dispositivo de armazenamento denominada de SISTEMA DE
ARQUIVOS;
Um Sistema de Arquivos pode ser visto como uma imensa estrutura
de dados armazenada de forma persistente em um dispositivo
fsico;
Existem vrios sistemas de arquivos, como: (?)


138
Gerncia de arquivos
Como um dispositivo de armazenamento pode conter milhes de
arquivos, estes so organizados em estruturas hierrquicas
chamadas DIRETRIOS;
A organizao fsica e lgica dos arquivos e diretrios dentro de um
dispositivo de armazenamento denominada de SISTEMA DE
ARQUIVOS;
Um Sistema de Arquivos pode ser visto como uma imensa estrutura
de dados armazenada de forma persistente em um dispositivo
fsico;
Existem vrios sistemas de arquivos, como: NTFS, Ext2/Ext3/Ext4,
HPFS, FFS, FAT, etc.


139
Gerncia de arquivos
140
Gerncia de arquivos - Atributos
Cada arquivo caracterizado por um conjunto de atributos, que
podem variar com o Sistema de Arquivos utilizado. Os mais comuns
so:
Nome: string de caracteres que identifica o arquivo para o usurio:
vdeo2.wmv, naoabra.jpg, curriculum.pdf, etc;
Tipo: Indicao do formato dos dados contidos no arquivo. Muitos
sistemas operacionais utilizam parte do nome do arquivo para
identificar seu tipo, na forma de uma extenso: .doc, .pdf, .exe,
etc;
Tamanho: Indicao do tamanho do arquivo em bytes ou registros;
Datas: Armazenamento das datas mais importantes Criao,
modificao, etc;
141
Gerncia de arquivos - Atributos
Continuao atributos
Proprietrio: Em sistemas multi-usurios, cada arquivo possui um
proprietrio, que deve ser identificado;
Permisses de acesso: Indicam os usurios e as permisses dos mesmos
sobre o arquivo (leitura, escrita, etc);
Localizao: Indicao do dispositivo fsico onde o arquivo se encontra
e da posio do arquivo no mesmo;
Outros.
Nem sempre os atributos oferecidos pelo sistema de arquivos so
suficientes para exprimir todas as informaes a respeito de um
arquivo. Nesse caso, o usurio pode resolver usando o nome do
arquivo para exprimir a informao desejada, como: texto-
vers1.doc, etc.
142
Gerncia de arquivos - Operaes
O uso dos arquivos no Sistema Operacional realizado atravs de um
conjunto de OPERAES, geralmente implementadas sob a forma de
chamadas de sistema e funes. As operaes bsicas so:
Criao;
Abertura;
Leitura;
Escrita;
Mudana de atributos;
Fechamento;
Remoo.
Outras operaes relacionadas: truncar, copiar, mover, renomear.
143
Gerncia de arquivos - Formatos
Um arquivo, em sua forma mais simples, contm basicamente uma
sequncia de bytes;
Essa sequncia de bytes pode estar estruturada de diversas formas,
para representar diferentes tipos de informao;
O formato ou estrutura interna de um arquivo pode ser definido e
reconhecido por:
Ncleo interno do Sistema Operacional: binrios, bibliotecas, etc;
Pelas aplicaes: doc, pdf, jpg, etc.
144
Gerncia de arquivos - Formatos
Os arquivos convencionais so estruturados pelas aplicaes para
armazenar os diversos tipos de informaes: imagens, sons,
documentos, etc;
Uma aplicao pode definir um formato prprio ou seguir formatos
padronizados:
Formatos pblicos: JPG, GIF, PDF, PNG, TIFF, etc;
Formatos proprietrios: PSD, XCF, etc.
145
Extenses tpicas de arquivos
146
Extenses
Um arquivo de dados pode ser visto como uma sequncia de
bytes;
A estratgia de definir a extenso do arquivo no nome foi adotada
nos anos 80 pelo Sistema Operacional DOS
Arquivos nomeados com a abordagem 8.3;
Outra abordagem usada em sistemas UNIX o uso de bytes no
incio do arquivo para definio de seu tipo: nmeros mgicos.
147
Extenses
Recentemente, a necessidade de transferir arquivos atravs de
pginas WEB e emails, levou definio de um padro conhecido
como TIPOS MIME (Multipurpose Internet Mail Extensions)
148
Gerncia de arquivos - diretrios
Sistema de diretrio em 1 nvel
149
Gerncia de arquivos - diretrios
Sistema de diretrio em 2 nveis
150
Gerncia de arquivos - diretrios
Sistema de diretrios hierrquicos
151
Caminho de um arquivo
152
Arquivos de texto
Arquivos de texto um tipo muito frequente no Sistema de
Arquivos;
Armazena informaes textuais simples:
Cdigo-fonte;
Pginas HTML;
XML;
Etc.
formado por uma sequncia de caracteres ASCII de tamanho
varivel separado por caracteres de controle.
153
Tabela ASCII

154
Arquivos de texto
Nos sistemas UNIX as linhas so separadas por um caractere New
Line (ASCII 10 ou \n);
Nos sistemas DOS/Windows, as linhas so separadas por dois
caracteres:
Carriage Return (ASCII 13 ou \r)
New Line (ASCII 10 ou \n)
Essa diferena pode causar problemas em arquivos trocados entre
os sistemas, caso no seja feita a devida converso.
155
Arquivos de texto Exemplo
156
Em UNIX:
Em DOS/Windows:
Arquivos executveis
Um arquivo executvel dividido internamente em vrias sees,
para conter cdigo, tabela de smbolos, variveis, funes,
dependncias, etc.
A organizao interna de um arquivo executvel depende do
Sistema Operacional para o qual foi definido.
Os formatos mais populares atualmente:
ELF (Executable and Linking Format): usado para programas
executveis e bibliotecas na maior parte das plataformas UNIX
modernas;
PE (Portable Executable): usado para executveis e bibliotecas na
plataforma Windows.
157
Arquivos executveis
158
Arquivos especiais
O conceito de arquivo ao mesmo tempo simples e poderoso;
Isso motivou a sua utilizao quase de forma universal;
Alm do armazenamento de cdigo e dados, arquivos tambm
podem ser usados como:
Abstrao de dispositivos de baixo nvel;
Abstrao de interfaces de ncleo.
159
Abstrao de dispositivos de baixo
nvel
Os sistemas UNIX costumam mapear as interfaces de acesso de
vrios dispositivos fsicos em arquivos dentro do diretrio /dev
(devices)
/dev/ttyS0: porta de comunicao serial COM1;
/dev/udio: placa de som;
/dev/sda1: primeira partio do primeiro disco SCSI (ou SATA).
160
Abstrao de interfaces do ncleo
Em sistemas UNIX, os diretrios /proc e /sys permitem consultar e/ou
modificar informaes internas do ncleo do Sistema Operacional,
processos em execuo, drivers, etc;
/proc/cpuinfo: informaes sobre os processadores disponveis no
sistema;
/proc/3754/maps: disposio das reas de memria alocadas para o
processo cujo identificador (PID) 3754;
/sys/block/das/queue/scheduler: definio da poltica de
escalonamento de disco a ser usada no disco /dev/das.
161
Gerncia de Dispositivos
162
Sistema
operacional
Gerncia do
processador
Gerncia de
memria
Gerncia de
arquivos
Gerncia de
dispositivos
Interface
grfica
Gerncia de
proteo
Outros
suportes
Suporte de
rede
Gerncia de Dispositivos E/S
A gerncia de dispositivos de E/S (Entrada e Sada) uma das
principais e mais complexas funes do Sistema Operacional;
Sua implementao estruturada atravs de camadas de um
modelo semelhante ao apresentado para o Sistema Operacional,
utilizando o conceito de mquina de nveis;
As camadas inferiores abstraem caractersticas das camadas
superiores, provendo uma interface simples e confivel s
aplicaes e usurios.

163
164
Gerncia de Dispositivos E/S
A diversidade de dispositivos faz com que o Sistema Operacional
implemente uma camada: Subsistema de E/S
Tem como funo isolar a complexidade dos dispositivos da camada de
sistemas de arquivo e da aplicao.
Com o subsistema de E/S o Sistema Operacional pode ser flexvel,
permitindo a comunicao dos processos com qualquer tipo de
perifrico;
A camada de Device Driver oferece uma interface uniforme entre o
Subsistema E/S e os disposivos, alm de tratar aspectos especficos de
cada perifrico:
Velocidade de operao;
Tipos de operaes;
Unidades de transferncia;
Etc.
165
Dispositivos de E/S
Existem grandes diferenas entre dispositivos de E/S, entre elas:
Data rate: Taxa com que os dados so enviados/recebidos pelo ou
para o dispositivo

166
167
Dispositivos de E/S
Existem grandes diferenas entre dispositivos de E/S, entre elas:
Aplicao: A finalidade de cada dispositivo influencia no software e
nas polticas do Sistema Operacional;
Complexidade de controle: Por exemplo, uma impressora requer uma
interface de controle relativamente simples, enquanto um disco mais
complexo;
Unidade de transferncia: Dados podem ser transferidos em um
conjunto de bytes ou caracteres ou em grandes blocos de dados;
Etc.
168
Gerncia de Dispositivos E/S
O Sistema possui um conjunto de rotinas que possibilita a
comunicao com qualquer dispositivo que possa ser conectado
ao computador;
Esse conjunto de rotinas denominado Rotinas de E/S. Permite ao
usurio realizar operaes de E/S sem se preocupar com detalhes
do dispositivo;
As operaes de E/S devem ser realizadas atravs de System Calls,
que por sua vez chamam rotinas de E/S do Kernel do Sistema
Operacional.
169
Gerncia de Dispositivos E/S
Com o uso das System Calls, possvel escrever um programa que
manipule arquivos, estejam eles armazenados em um disquete, hds
ou qualquer outro dispositivo, sem a necessidade de alterar o
cdigo para cada dispositivo;
O relacionamento entre o comando de uma linguagem de
programao e uma System Call criado na gerao do cdigo
executvel do programa, ou seja, pelo compilador da linguagem;
Um dos objetivos das System Calls eliminar a necessidade de
duplicao de rotinas idnticas nos diversos aplicativos e esconder
do programador caractersticas especficas de cada dispositivo.

170
171
Operaes de E/S
As operaes de E/S podem
ser classificadas conforme seu
sincronismo:
Operaes Sncronas
Operaes Assncronas
172
Subsistema de E/S
O Subsistema de E/S responsvel por realizar funes comuns a
todos os tipos de dispositivos;
Aspectos especficos de cada perifrico de responsabilidade dos
Drivers.
173
Subsistema de E/S
Cada dispositivo trabalha com unidades de informao de
tamanhos diferentes
Caracteres/bytes
Blocos
O Subsistema de E/S responsvel por criar uma unidade lgica de
transferncia independente do dispositivo e repass-la para os
nveis superiores;
Alm disso, o Subsistema de E/S responsvel por outras atividades:
Bufferizao de dados;
Mecanismo de proteo de acesso aos dispositivos;
Criar uma interface padronizada com os Drivers.
174
Device Drivers
O Device Driver tem como funo implementar a
comunicao do Subsistema de E/S com os dispositivos,
atravs de controladores;
Enquanto o Subsistema de E/S trabalha com funes
ligadas a todos os dispositivos, os Drivers tratam apenas
dos seus ASPECTOS PARTICULARES;
Tem como funo geral receber comandos sobre acessos
aos dispositivos e traduzi-los em comandos especficos
daquele dispositivo em questo. Cada Driver manipula
somente um tipo de dispositivo ou grupos de dispositivos
semelhantes.
175
176
Device Drivers
O Driver est integrado diretamente s funes do Controlador,
sendo o componente do sistema que reconhece as caractersticas
particulares do funcionamento de cada dispositivo de E/S como:
Nmero de registradores;
Funcionamento;
Comandos especficos;
Etc.
Sua principal funo receber os comandos abstratos do
Subsistema de E/S e traduzi-los para comandos que o Controlador
possa entender e executar.
177
178
Device Drivers
Device Drivers
Os Drivers fazem parte do ncleo do Sistema
Operacional, sendo escritos geralmente em
Assembly;
So cdigos reentrantes que executam em
modo Kernel, portanto qualquer erro de
programao pode comprometer o
funcionamento do sistema;
Um Driver deve ser cuidadosamente
DESENVOLVIDO e TESTADO.
179
Device Drivers
180
Device Drivers
181
Device Drivers
Devido ao alto grau de dependncia entre os Drivers e o restante
do Kernel do sistema, os fabricantes desenvolvem diferentes Drivers
para um mesmo dispositivos, de acordo com a arquitetura (32 ou
64 bits), Sistema Operacional e diferentes verses;
SEMPRE que um novo dispositivo instalado, o driver do dispositivo
deve ser adicionado ao Kernel do sistema;
Nos sistemas antigos, a adio de um novo Driver significava a
recompilao do Kernel;
Atualmente, os Sistemas Operacionais permitem a instalao de
novos Drivers facilmente, inclusive a instalao fsica de dispositivos
com o computador ligado HOT SWAP/HOT PLUG/PLUG AND PLAY.
182
Device Drivers
183
Controladores
So componentes de Hardware responsveis
por manipular diretamente os dispositivos de
E/S;
O Driver comunica-se com os dispositivos
atravs do Controlador;
Em geral, pode ser uma placa independente
conectada a um slot do computador ou
implementada diretamente na placa-me.
184
Controladores
185
Controladores
O Controlador possui memria e registradores prprios, utilizados na
execuo de instrues enviadas pelo Driver;
Em operaes de leitura, o Controlador deve armazenar em seu buffer
interno uma sequncia de bits provenientes do dispositivo at formar
um bloco;
Aps verificar a ocorrncia de erros, o bloco pode ser transferido para
a memria principal;
A transferncia do buffer para a memria principal pode ser realizada
pelo processador ou por um controlador de DMA (Direct Memory
Access)
Usar a tcnica de DMA evita que o processador fique ocupado com a
transferncia de dados para a memria principal;
Controlador DMA um dispositivo de Hardware e pode fazer parte do
computador ou ser um dispositivo independente.
186
Direct Memory Access
187
Direct Memory Access
188
Dispositivos de E/S
So utilizados para permitir a comunicao entre o sistema
computacional e o mundo externo;
Podem ser classificados como:
Entrada de dados
CDROM, DVD, etc.
Sada de dados
Impressora, monitor, etc.
Entrada e Sada de dados
Placas de som, monitores touchscreen, etc.

189
Dispositivos de E/S
A transferncia de dados pode ocorrer atravs
de blocos de informao ou caracteres;
Em funo da forma com que os dados so
armazenados, os dispositivos de E/S podem ser
classificados em:
Dispositivos estruturados;
Dispositivos no-estruturados.
190
Dispositivos de E/S
Dispositivos estruturados
Armazenam informaes em blocos de tamanho fixo;
Cada bloco tem um endereo que pode ser lido ou gravado de forma independente.
Podem ser subclassificados em
Dispositivos de acesso direto
Um bloco pode ser recuperado diretamente atravs do seu endereo;
Exemplo: HD.
Dispositivos de acesso sequencial
Para se acessar um bloco o dispositivo deve percorrer sequencialmente os demais blocos at encontra-
los;
Exemplo: Fita magntica.
Dispositivos no-estruturados
Enviam ou recebem uma sequncia de caracteres sem estar estruturada no formato de um
bloco;
Exemplo: Impressoras.
191
Gerncia de dispositivos Windows
Windows oferece diversas APIs relacionadas
gerncia de E/S;
A maior parte delas ligada ao subsistema grfico
Graphics Device Interface (GDI);
O GDI um conjunto de rotinas que permite uma
aplicao manipular dispositivos grficos como monitores
ou impressoras, independente do dispositivo fsico;
Oferece funes de gerenciamento de janelas, menus,
caixas de dilogo, cores, desenhos, textos, bitmaps, cones
e clipboard.

192
Gerncia de dispositivos Windows
Os Drivers no Windows so desenvolvidos
a partir de um padro chamado Windows
Driver Model (WDM);
O WDM define diversas caractersticas e
funes que um Driver deve oferecer
para ser homologado pela Microsoft:
Plug-and-play, mltiplos processadores,
gerncia de energia, etc;

193
Gerncia de dispositivos no Unix
Foi desenvolvida de forma integrada ao sistema de
arquivos;
O acesso aos dispositivos de E/S feito atravs de
arquivos especiais, localizados em /dev;
Os arquivos especiais podem ser acessados da mesma
forma que qualquer outro arquivo, utilizando
simplesmente as system calls de leitura e gravao;
As verses mais recentes de Unix e o Linux permitem que
os Drivers possam ser acoplados ao ncleo do sistema
em funcionamento, sem a necessidade de gerar um
novo Kernel e reinicializar o sistema.
194
Gesto da proteo - Segurana
195
Sistema
operacional
Gerncia do
processador
Gerncia de
memria
Gerncia de
arquivos
Gerncia de
dispositivos
Interface
grfica
Gerncia de
proteo
Outros
suportes
Suporte de
rede
Gesto da proteo - Segurana
Propriedades fundamentais da segurana de um sistema
Confidencialidade
Integridade
Disponibilidade
Alm delas, tambm so importantes
Autenticidade
Irretabilidade
196
Gesto da proteo - Segurana
Alm de tcnicas de Engenharia de Software para a construo de
sistemas computacionais seguros, temos uma srie de princpios
especficos, relacionados com a construo do sistema e a utilizao
do mesmo pelos usurios
Privilgio mnimo
Mediao completa
Default seguro
Economia de mecanismo
Separao de privilgios
Compartilhamento mnimo
Proteo adequada
Facilidade de uso
Eficincia
197
Ameaas
Qualquer ao que coloque em risco as
propriedades de segurana do Sistema
Operacional
Ameaas confidencialidade
Ameaas integridade
Ameaas disponibilidade
198
Vulnerabilidades
Defeito ou problema presente na especificao, implementao,
configurao ou operao de um software/sistema, que possa ser
utilizado para violar a segurana do mesmo. Exemplos:
Erro de programao em um servio de compartilhamento de arquivos
Conta de usurio sem senha, ou com senha padro
Ausncia de cotas de utilizao de disco
199
Ataque
Ato de utilizar uma vulnerabilidade para violar
uma propriedade de segurana do sistema
Interrupo
Interceptao
Modificao
Fabricao
200
Referncias
Sistemas operacionais: Projeto e implementao. Andrew S.
Tanenbaum; Albert S. Woodhull;
Sistemas operacionais: Conceitos e aplicaes. Abraham Slberschatz;
Peter Galvin; Greg Gagne;
Desing and Implementation of Operating System. Vivek Sharma, Manish
Varshney, Shantanu Sharma;
Arquitetura de sistemas operacionais. Francis B. Machado, Luiz Paulo
Maia;
Sistemas Operacionais. Erico Meneses Leo. Universidade Aberta do
Brasil;
Arquitetura de Sistemas Operacionais. Francis B. Machado. Editora LTC;
Sistemas Operacionais: conceitos bsicos. Carlos Alberto Maziero, 2011;
Sistemas Operacionais, Tcnico em Informtica, Mdulo I, 2013.
201

S-ar putea să vă placă și