Manual de Sistemas Operativos
Manual de Sistemas Operativos
Manual de Sistemas Operativos
SISTEMAS OPERATIVOS
CÓDIGO UNISCED1-GSI05
GSITOTAL HORAS/ 1 125
SEMESTRE
CRÉDITOS (SNATCA) 5
NÚMERO DE TEMAS 7
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Fax: 23323501
E-mail: direcção@unisced.edu.mz
Website: www.unisced.edu.mz
i
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Agradecimentos
ii
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Índice
Visão geral 1
Benvindo ao Módulo de Contabilidade Geral........................................................................... 1
Objectivos da Disciolina/Módulo .................................................................................................. 1
Quem deveria estudar este módulo? ........................................................................................... 1
Como está estruturado este módulo? ........................................................................................... 2
Ícones de actividade........................................................................................................................ 3
Habilidades de estudo .................................................................................................................... 3
Precisa de apoio?............................................................................................................................. 5
Tarefas (avaliação e auto-avaliação) ......................................................................................... 6
Avaliação........................................................................................................................................... 6
iii
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
iv
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Visão geral
Objectivos do Módulo
1
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Este módulo está estruturado em Temas. Cada tema, por sua vez
comporta certo número de unidades temáticas ou simplesmente
unidades. Cada unidade temática se caracteriza por conter uma
introdução, objectivos, conteúdos.
No final de cada unidade temática ou do próprio tema, são
incorporados antes o sumário, exercícios de auto-avaliação, só
depois é que aparecem os exercícios de avaliação.
Os exercícios de avaliação têm as seguintes características: Puros
exercícios teóricos/Práticos, Problemas não resolvidos e actividades
práticas, incluído estudo de caso.
Outros recursos
2
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Ícones de actividade
Habilidades de estudo
3
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
É impossível estudar numa noite tudo o que devia ter sido estudado
durante um determinado período de tempo; Deve estudar cada
ponto da matéria em profundidade e passar só ao seguinte quando
achar que já domina bem o anterior.
4
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
alguma avaliação, mas sim estude para a vida, sobre tudo, estude
pensando na sua utilidade como futuro profissional, na área em que
está a se formar.
Precisa de apoio?
Caro estudante, temos a certeza que por uma ou por outra razão, o
material de estudos impresso, lhe pode suscitar algumas dúvidas
como falta de clareza, alguns erros de concordância, prováveis
erros ortográficos, falta de clareza, fraca visibilidade, página
trocada ou invertidas, etc). Nestes casos, contacte os serviços de
atendimento e apoio ao estudante do seu Centro de Recursos (CR),
via telefone, sms, E-mail, se tiver tempo, escreva mesmo uma carta
participando a preocupação.
Uma das atribuições dos Gestores dos CR e seus assistentes
(Pedagógico e Administrativo), é a de monitorar e garantir a sua
aprendizagem com qualidade e sucesso. Dai a relevância da
comunicação no Ensino a Distância (EAD), onde o recurso as TIC se
torna incontornável: entre estudantes, estudante – Tutor, estudante –
CR, etc.
As sessões presenciais são um momento em que você caro estudante,
tem a oportunidade de interagir fisicamente com staff do seu CR,
com tutores ou com parte da equipa central do UNISCED indigitada
para acompanhar as suas sessões presenciais. Neste período pode
apresentar dúvidas, tratar assuntos de natureza pedagógica e/ou
administrativa.
O estudo em grupo, que está estimado para ocupar cerca de 30% do
tempo de estudos a distância, é muita importância, na medida em que
lhe permite situar, em termos do grau de aprendizagem com relação
aos outros colegas. Desta maneira ficará a saber se precisa de apoio
ou precisa de apoiar aos colegas. Desenvolver hábito de
5
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Avaliação
1
Plágio - copiar ou assinar parcial ou totalmente uma obra literária,
propriedade intelectual de outras pessoas, sem prévia autorização.
6
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
7
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Definir o conceito de Sistemas Operativos; descrever os objectivos de sistemas
operativos.
▪
Descrever breve historial sobre a evolução dos sistemas operativos.
Objectivos
específicos ▪
Apresentar a classificação dos sistemas operativos, bem como como os
mesmos estão estruturados.
9
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
10
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
usuário
1
usuário
2
usuário
3
... usuário
n
sistema operacional
hardware do
computador
11
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Tornar a utilização do computador eficiente e conveniente, a fim
de ter um ganho de produtividade e, dessa forma, utilizar o
Sistema Computacional para agilizar as atividades do dia-a-dia;
▪
Garantir a integridade e segurança dos dados armazenados e
processados pelos programas e também dos recursos físicos
12
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
disponíveis.
13
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
14
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
15
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
16
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
17
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
18
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
19
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Tipos de Sistemas
Operacionais
Sistemas Sistemas
Sistemas
Multiprogramáveis ou Monoprogramáveis
Mutiprocessadores
Mutitarefas ou Monotarefas
20
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Programa
ou Tarefa
Processador
Memória
Dispositivo
de E/S
21
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Programa Programa
ou Tarefa ou Tarefa
Processador
Memória
▪
Sistemas monousuários: sistemas multiprogramáveis onde
apenas um usuário interage com o sistema, podendo realizar
várias actividades ao mesmo tempo, como edição de texto,
impressão e acesso a Internet, por exemplo.
▪
Sistemas multiusuários: sistemas multiprogramáveis onde vários
usuários podem estar conectados e interagindo com o sistema.
22
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Escalabilidade é a capacidade de ampliar o poder
computacional do sistema apenas adicionando novos
processadores.
▪
Disponibilidade é a capacidade de manter o sistema em
operação mesmo em casos de falhas.
23
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Balanceamento de carga é a possibilidade de distribuir o
processamento entre os diversos processadores da configuração
a partir da carga de trabalho de cada processador,
melhorando, assim, o desempenho do sistema como um todo.
Processador Processador
Memória Memória
Dispositivo Dispositivo
de E/S de E/S
24
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Gestão de Processos - Um programa nada faz, a menos que
suas instruções sejam executadas por uma CPU. Um programa
em execução, como mencionado, é um processo. Um programa
de processamento de texto, sendo executado por um usuário
individual em um PC, é um processo. Uma tarefa do sistema,
como o envio de saída para uma impressora, também pode ser
um processo (ou pelo menos parte de um processo). Por
enquanto, você pode considerar um processo como uma tarefa
ou um programa de tempo compartilhado.
▪
Gestão da Memória - A memória é um repositório de dados
rapidamente acessáveis compartilhado pela CPU e dispositivos
de entrada/ saída (E/S). O processador central lê instruções na
memória, durante o ciclo de busca de instruções, e lê e grava
dados a partir da memória, durante o ciclo de busca de dados
(em uma arquitetura Von Neumann). A memória costuma ser o
único grande dispositivo de armazenamento que a CPU
consegue endereçar e acessar directamente. Por exemplo, para
a CPU processar dados do disco, primeiro esses dados devem
ser transferidos para a memória por chamadas de E/S geradas
pela CPU. Da mesma forma, as instruções devem estar na
memória para a CPU executá-las.
▪
Gestão de Arquivos – A gestão de arquivos é um dos
componentes mais visíveis de um sistema operativo. Os
computadores podem armazenar informações em vários tipos
diferentes de mídia física. Disco magnético, disco óptico e fita
magnética são os mais comuns. Todas essas mídias têm suas
próprias características e organização física. Cada mídia é
controlada por um dispositivo, tal como um drive de disco ou de
fita, que também tem características próprias. Essas propriedades
incluem velocidade de acesso, capacidade, taxa de transferência
de dados e método de acesso (sequencial ou randômico). Um
arquivo é um conjunto de informações relacionadas definido por
seu criador. Normalmente, os arquivos representam programas (em
ambas as formas, fonte e objecto) e
25
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Gestão dos dispositivos de entrada e saída - As duas tarefas
principais de um computador têm haver com os dispositivos E/S e
processamento. Por exemplo, quando navegamos em uma página
da web ou editamos um arquivo, nosso interesse imediato é ler ou
dar entrada em alguma informação, e não computar uma resposta.
O papel do sistema operativo no E/S do computador é gerir e
controlar operações e dispositivos de E/S.
Cada parte citada pode ser uma porção bem delineada do sistema,
com entradas, saídas e funções bem definidas, o que facilita o seu
estudo e detalhamento. Ao longo deste Modulo, iremos abordar cada
uma das funções que compõe o Sistema Operativo, referenciado acima.
Sumário
26
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Exercícios de AUTO-AVALIAÇÃO
Perguntas
1. Defina o Sistema Operativo sob o ponto de vista duma Máquina
Estendida.
2. Por quem e quando foi projectado o primeiro computador digital.
3. Classifica os Sistemas Operativos.
4. Quanto a forma como se classificam os sistemas
multiprogamáveis.
5. Quais são as principais funções de um Sistema
Operativo. Respostas:
1. Rever página 10 á 11.
2. Rever página 13 á 19.
3. Rever página 20.
4. Rever página 21.
5. Rever página 24 á 26.
Perguntas
1. Quais os objectivos de um sistema Operativo.
2. Sobre a história dos Sistemas Operativos, qual foi o ponto mais
alto da evolução, justifique a sua resposta.
3. Como se classificam os sistemas multiprogramáveis quanto ao
número de usuários que interagem com o sistema.
4. Fale do sistema de tempo compartilhado.
Bibliografia
▪
DEITELL, H. M. & DEITEL, P. J. & CHOFFNES, D. R. Sistemas Operacionais.
São Paulo, Ed. Prentice Hall, 2005.
▪
OLIVEIRA, R. S. e CARISSIMI, A. S. e TOSCANI, S. S. istemas Operacionais.
3ª ed, volume 11, Ed. Bookman, 2008.
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Fundamentos de
Sistemas Operacionais. 6ª Edição, Ed. LTC.
27
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Sistemas
Operacionais com Java. 7ª Edição, Rio de Janeiro, Ed.
Elsevier,2008.
▪
TANENBAUM, A. S. & WOODHULL, A. S. Sistemas Operacionais:
Projeto e Implementação. 3ª Edição, Porto Alegre, Ed. Bookman,
2008
▪
Abraham, S.&Peter B. G., & Greg, G. Operating system concepts ninth
edition, 2013
▪
TANENBAUM, A. & Herbert, B., Modern Operating Systems, Fourth
Edition, 2015
▪
Jandl, Peter, Jr. Notas sobre Sistemas Operacionais, 2004
28
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Definir o conceito de processo; Descrever as diversas características de
processos como a criação e manutenção; Descrever o conceito e os benefícios
de threads.
Objectivos
específicos ▪
Descrever o objectivo da Comunicação Interprocessos; Mostrar como essa
comunicação é feita.
▪
Apresentar problemas que servem como ambiente de aplicação de novos
métodos de Comunicação Interprocessos.
▪ Descrever como alocar a CPU vários processos para serem executados.
29
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
30
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
máx
Pilha
heap
dados
texto
0
Figura 2.1: Processo na memória
31
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Pai
Pid =1
▪
Em execução: instruções estão sendo executados. Um processo
está em execução quando ele, de facto, está sendo processado
pela CPU. Em sistemas monos processados (único processador),
somente um processo de cada vez pode estar na posse da CPU
em um dado instante. Os processos se alternam na utilização do
processador.
▪
Em espera: um processo está em espera quando ele aguarda por
algum evento externo ou por algum recurso do sistema indisponível
no momento. Por exemplo, se um processo necessita de uma
informação de algum dispositivo de entrada/saída (E/S)
32
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Pronto: um processo está pronto quando ele possui todas as
condições necessárias para a sua execução, porém, não está na
posse do processador. Em geral, existem vários processos no
sistema prontos para serem executados e o Sistema Operativo é
responsável por essa lista de processos, selecionar qual o
processador a utilizar em um determinado instante de tempo.
▪
Encerrado: o processo terminou sua execução.
pronto em execução
Em espera
33
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
34
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Estado do processo: o estado pode ser novo, pronto, em
execução, em espera, parado, e assim por diante.
▪
Contador do programa: o contador indica o endereço da
próxima instrução a ser executada para esse processo.
▪
Registradores da CPU: os registradores variam em número e
tipo, dependendo da arquitetura do computador. Eles incluem
acumuladores, registrador índice, ponteiros de pilhas e
registradores de uso geral, além de qualquer informação do
código de condição. Junto com o contador do programa, essas
informações de estado devem ser salvas quando ocorre uma
interrupção, para permitir que o processo seja retomado
corretamente mais tarde.
▪
Informações de scheduling da CPU: essas informações incluem
a prioridade de um processo, ponteiros para filas de scheduling
e quaisquer outros parâmetros de scheduling.
▪
Informações de gerenciamento da memória: essas informações
podem incluir itens como o valor dos registradores base e limite
e as tabelas de páginas, ou as tabelas de segmentos,
dependendo do sistema de memória usado pelo sistema
operativo.
▪
Informações de contabilização: essas informações incluem o
montante de tempo real e de CPU usados, limites de tempo,
números de conta, números de jobs ou processos, e assim por
diante.
▪
Informações de status de E/S: essas informações incluem a lista
de dispositivos de E/S alocados ao processo, uma lista de
arquivos abertos, e assim por diante.
35
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
estado do processo
número do processo
contador do programa
registadores
limites da memória
lista de arquivos abertos
...
Figura 2.4: Diagrama de estado de um processo
2.1.4. Threads
Um thread é uma unidade básica de utilização da CPU; é composto por
um ID de thread, um contador de programa, um conjunto de registradores
e uma pilha. Um thread compartilha, com outros threads pertencentes ao
mesmo processo, sua seção de código, a seção de dados e outros recursos
do sistema operativo, como arquivos abertos e sinais. Um processo
tradicional (ou processo pesado) tem um único thread de controle. Se um
processo tem múltiplos threads de controle, ele pode executar mais de uma
tarefa ao mesmo tempo. A Figura 2.5 ilustra a diferença entre um processo
tradicional com um único thread e um processo multithreads. A maioria das
aplicações de software executadas em computadores modernos é
multithreads. Uma aplicação é implementada, tipicamente, como um
processo separado com diversos threads de controle. Por exemplo um
navegador web pode ter um thread para exibir imagens ou texto,
enquanto outro thread recupera dados da rede. Um processador de textos
pode ter um thread para exibir elementos gráficos, outro para responder
ao uso do teclado pelo usuário, e um terceiro para executar a verificação
ortográfica e gramatical em background.
36
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
37
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
2.1.4.1. Benefícios
Os benefícios da programação com múltiplos threads podem ser
divididos em quatro categorias principais:
38
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
39
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Diretório de impressão
Entrada 0
1
2
3
4
..
.
Diretório de impressão
0 Arquivo B
Entrada 1
4
..
.
40
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Diretório de impressão
0 Arquivo A
Entrada 1
4
..
.
▪
Dois processos jamais podem estar simultaneamente dentro de
suas regiões críticas.
▪
Nenhuma suposição pode ser feita a respeito de velocidades ou
41
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
do número de CPUs.
▪
Nenhum processo que esteja fora de sua região crítica pode
bloquear a execução de outro processo.
▪
Nenhum processo deve esperar indefinidamente para poder
entrar em sua região crítica.
42
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Processo A Processo B
Enquanto(VERDADEIRO){ Enquanto(VERDADEIRO){
Enquanto(bloqueio ≠0); Enquanto(bloqueio≠1);
//espera //espera
Região_crítica_A; Região_crítica_B;
Bloqueio = 1; Bloqueio = 0;
Região_não_crítica_A; Região_não_crítica_B;
} }
43
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
não crítica. Nesse ponto, o processo B terá caminho livre para acessar
sua região crítica.
44
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
#define FALSO 0
#define VERDADE 1
#define N 2
int bloqueio;
int interesse[N];
interesse[processo] = FALSO;
45
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Nesse caso, ele definirá que a sua variável outro terá valor 0, que o
vetor interesse, posição 1, terá valor VERDADE e a variável bloqueio
será definido com o valor 1. Ao chegar no laço while, o processo 1 irá
verificar que o vetor de interesse, na posição outro (valor 0), será
VERDADE (processo 0), ficando, assim, preso no laço. Dessa forma, o
processo 1 não poderá acessar sua região crítica. O processo 0,
quando sair de sua seção crítica irá chamar a função sair_regiao(),
passando seu identificador como parâmetro para a função (int
processo, com valor 0). Nesta função, o vetor de interesse, na posição
do processo, receberá valor FALSO. Assim, o processo 1, que estava
preso no loop pois o valor do vetor interesse, posição 0, tinha valor
VERDADEIRO, agora poderá sair do laço e acessar sua região crítica.
46
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
2.2.5. Semáforos
O problema dos produtores e consumidores, além dos vários problemas de
sincronização entre processos, pode ser resolvido através de uma solução
conhecida por semáforos. Ele foi proposto por Dijkstra em 1965. O
semáforo é um tipo abstrato de dado composto por um valor inteiro e uma
fila de processos. Dijkstra propôs existir duas operações básicas sobre
semáforos: operação de testar e a operação de incrementar. Vários
autores utilizam nomenclaturas diferentes para representar essas
operações: DOWN e UP (Tanenbaum), wait e signal (Silberschatz) e P e V,
originalmente designadas, que vem do holandês Proberen (testar) e
Verhogen (incrementar). Quando um processo executa a operação P sobre
um semáforo, o seu valor inteiro é decrementado. Se o valor do semáforo
for negativo, o processo é bloqueado e inserido no fim da fila desse
semáforo. Quando um processo executa a operação V sobre um semáforo,
o seu valor inteiro é incrementado. Caso exista algum processo bloqueado
na fila, o primeiro processo é liberado. Para que a solução através de
semáforos funcione corretamente suas operações são feitas como uma
única e indivisível acção atômica, ou seja, uma vez que uma operação
sobre semáforos comece, ela não pode ser interrompida no meio e
nenhuma outra operação sobre o semáforo deve ser começada.
47
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Dessa forma, para utilizar a solução em uma aplicação que gere uma
condição de corrida basta que, para cada estrutura de dados
compartilhada, seja utilizado um semáforo. Todo processo antes de
acessar essa estrutura deve realizar uma operação de teste do semáforo
(P). Ao sair da seção crítica, o processo deve realizar uma operação V
sobre o semáforo.
▪
Cinco filósofos sentados ao redor de uma mesa circular, que
contém cinco pratos de espaguete e cinco garfos.
▪
Entre cada prato de espaguete encontra-se um garfo.
▪
Para comer, um filósofo precisa de dois garfos.
48
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
49
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
50
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Utilização da CPU: o intuito é manter a CPU ocupada o máximo
de tempo possível.
▪
Maximizar a produtividade (throughput): se a CPU estiver
ocupada executando processos, então o trabalho estará sendo
realizado. Deve-se procurar maximizar o número de processos
processados por unidade de tempo.
▪
Justiça: o algoritmo de escalonamento deve ser justo com todos
os processos, onde cada um deve ter uma chance de usar o
processador.
51
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Minimizar o tempo de resposta: intervalo de tempo entre a
submissão de uma solicitação e o momento em que a primeira
resposta é produzida.
52
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
A 12
B 8
C 15
D 5
C
B
A
0 12 20 35 40
53
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
D
C
B
0 5 13 25 40
54
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
D D
C C C C
B B
A A A
0 4 8 12 16 20 24 2829 33 37 40
A 2 10
B 4 8
C 3 6
D 1 4
55
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
D
C
B
A
0 4 14 20 28
56
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Sumário
57
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Exercícios de AUTO-AVALIAÇÃO
Perguntas
1. Defina Processo.
2. Quais são as actividades que incluem no processo, mencione-os.
3. Porquê que um programa por si não pode ser considerado um
processo?
4. Um programa é uma entidade activa. Marque a alternativa
correcta.
a) V
b) F
5. Descreva como é feita a criação de processos, usando como
base a árvore de processos.
6. Descreve como é que ocorre a transição do estado de processo
de Pronto para Execuçào.
7. Defina Threads e como é composto.
8. Defina condição de corrida.
9. Que exemplo típico de condição de corrida é apontado por
vários autores.
10. Para se evitar a condição de corrida é preciso definir alguns
métodos, como são conhecidos esses métodos.
11. O problema do Jantar dos Filósofos por quem foi proposto e
como foi modelado.
12. Como é conhecido o outro problema e do que se trata.
13. Defina Escalonamento de Processos.
14. Segundo “Silberschatz”, qual o objectivo da multiprogramação.
15. Quando é que consideramos que um algoritmo é Preemptível ou
não-preemptível.
Respostas:
1. Rever Página 30.
2. Rever página 30.
3. Rever página 31.
4. Rever página 31.
5. Rever página 31 á 33.
6. Rever página 33 e 34.
7. Rever página 36.
8. Rever página 39.
9. Rever página 39.
10. Rever página 41.
11. Rever página 48 e 49.
12. Rever página 50.
13. Rever página 51.
14. Rever página 51.
15. Rever página 52.
58
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Perguntas
1. Por que a definição de processo pode trazer algumas
implicações?
2. Um processo pode ser considerado uma entidade activa.
Marque a alternativa correcta.
a) V
b) F
3. A transição do estado Execução para Espera é a única causada
pelo próprio processo, isto é, voluntáriamente, enquanto as
demais são causadas por agentes externos (entidades do
sistema operativo). Marque a alternativa correcta.
a) V
b) F
4. Os benefícios da programação com múltiplos threads podem ser
divididos em quatro categorias principais, mencione-os.
5. Como é chamada a parte do programa no qual o processo
acessa a memória compartilhada.
6. Para se ter uma boa solução de exclusão mútua, precisamos
evitar algumas situações indesejáveis, mencione-os.
7. Qual das soluções propostas para se evitar condições de
corrida apresenta uma melhor solução, e justifique o porquê da
sua escolha.
8. Como pode ser resolvido o problema de productores e
consumidores.
9. Através da resposta da pergunta anterior (4.), defina.
10. O que propôs Dijkstra.
11. Qual a provável solução para o problema do Jantar dos
Filósofos.
12. Ao tentar-nos resolver o problema do Barbeiro adormecido que
pontos deve-se ter em conta.
13. Como é chamado a parte responsável por selecionar qual será
o processo a ser executado no processador.
14. Como são classificados os algoritmos de escalonamento.
15. Dos algoritmos de escalonamento de processos abordados qual
deles que achou ser o mais eficiente, justifica a sua escolha.
Bibliografia
▪
BACON, J. e HARRIS, T. Operating Systems: Concurrent and
Distributed Software Design. Addison Wesley, 2003.
▪
DEITELL, H. M. & DEITEL, P. J. & CHOFFNES, D. R. Sistemas
Operacionais. São Paulo, Ed. Prentice Hall, 2005.
▪
OLIVEIRA, R. S. e CARISSIMI, A. S. e TOSCANI, S. S. istemas
Operacionais. 3ª ed, volume 11, Ed. Bookman, 2008.
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Fundamentos de
Sistemas Operacionais. 6ª Edição, Ed. LTC.
59
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Sistemas
Operacionais com Java. 7ª Edição, Rio de Janeiro, Ed.
Elsevier,2008.
▪
TANENBAUM, A. S. & WOODHULL, A. S. Sistemas Operacionais:
Projeto e Implementação. 3ª Edição, Porto Alegre, Ed. Bookman,
2008
▪
Abraham, S.&Peter B. G., & Greg, G. Operating system
concepts ninth edition, 2013
▪
TANENBAUM, A. & Herbert, B., Modern Operating Systems, Fourth
Edition, 2015
▪
Jandl, Peter, Jr. Notas sobre Sistemas Operacionais, 2004
60
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Definir o conceito de Memória;
▪
Descrever como é feita a Gestão Básica de Memória bem como a Gestão de
Memória para Multiprogramação.
Objectivos
▪
específicos Abordar sobre Memória Virtual, bem como as estratégias para sua
implementação.
61
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
62
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
MOV REGISTER1,1000
o computador apenas movia o conteúdo da memória física da posição
1000 para REGISTER1. Assim, o modelo de memória apresentado ao
programador era apenas a memória física, um conjunto de endereços
de 0 a algum máximo, cada endereço correspondendo a uma célula
contendo algum número de bits, normalmente oito. Nessas condições,
não era possível ter dois programas em execução na memória ao
mesmo tempo. Se o primeiro programa escrevesse um novo valor para,
digamos, a posição 2000, esse valor apagaria qualquer valor que o
segundo programa estivesse armazenando ali. Nada funcionaria e
ambos os programas entrariam em colapso quase que imediatamente.
63
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
64
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Partição 4
900k
Partição 3
Mútliplas 500k
Filas
Partição 2
200k
Partição 1
100k
Sistema
Operacional
0
65
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Partição 4
900k
Fila Única
Partição 3
500k
Partição 2
200k
Partição 1
100k
Sistema
Operacional
0
66
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Processo C Processo C
67
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
68
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
A B C D E
0 5 14 18 20 26 29
1 1 1 1 1 0 0 0
1 1 1 1 1 0 0 0
1 1 1 1 1 0 0 0
1 1 1 1 1 0 0 0
A B C D E
0 5 14 18 20 26 29
P 0 5 L 5 3 P 8 6 P 14 4
Comprimento 2
Espaço Processo
Livre
Começa
em 18
Memória Memória
Principal Swap
Memória disponível
70
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
3.3.4. Swapping
Um programa para ser executado deverá se encontrar na memória. Em
sistemas de multiprogramação, um programa em execução pode ser
retirado (swapp out) temporariamente para o disco sem que este tenha
terminado para depois ter que se trazer de novo para a memória
(Swapp in) para continuar com a execução. Este mecanismo visa
permitir que, mesmo em situações de limitação de memória, se possa ter
no sistema vários processos em execução.
Sistema
Operacional
Processo
1 remoção P1
Processo
2 inserção P2
Espaço do
usuário
Memória retaguarda
Memória principal
71
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
3.3.5. Paginação
Segundo Silberstchaz, a paginação é um esquema de gestão de
memória em que o espaço de endereçamento físico (endereços de
memória principal) de um processo não é contíguo. A paginação, assim,
evita o problema da fragmentação externa gerado pela alocação de
memória dinâmica. Os programas são capazes de gerar endereços,
chamados de endereços virtuais. Esse conjunto de endereços forma o
que chamamos de espaço de endereçamento virtual. Em sistemas que
não utilizam a técnica de memória virtual, o endereço virtual equivale
ao endereço físico, especificando exactamente onde o programa será
armazenado na memória principal.
72
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Espaço endereço
Virtual
60k-64k
56k-60k Página
52k-56k
48k-52k
44k-48k
40k-44k
36k-40k Espaço de
endereço Físico
32k-36k Moldura de
Página
28k-32k 28k-32k
24k-28k 24k-28k
20k-24k 20k-24k
16k-20k 16k-20k
12k-16k 12k-16k
8k-12k 8k-12k
4k-8k 4k-8k
0k-4k 0k-4k
73
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Espaço endereço
Virtual
60k-64k X
56k-60k X
52k-56k X
48k-52k X
44k-48k 7
40k-44k X
36k-40k 5 Espaço de
32k-36k X endereço Físico
28k-32k X 28k-32k
24k-28k X 24k-28k
20k-24k 3 20k-24k
16k-20k 4 16k-20k
12k-16k 0 12k-16k
8k-12k 6 8k-12k
4k-8k 1 4k-8k
0k-4k 2 0k-4k
74
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
75
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
000 0 15
000 0 14
000 0 13
000 0 12
111 1 11
000 0 10 Endereço Físico 24579
101 1 9 110 000000000011
000 0 8
000 0 7
000 0 6
011 1 5 Referência à
100 1 4 Página
000 0 3 0010 000000000011
110 1 2 Endereço Virtual 8195
001 1 1 Bit de Válidade
010 1 0
76
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
77
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Conjunto 1: páginas não-referenciadas (bit de referência com
valor zero) e não-modificadas (bit sujeira com valor zero).
▪
Conjunto 2: páginas não-referenciadas (bit de referência com
valor zero) e modificadas (bit sujeira com valor 1).
▪
Conjunto 3: páginas referenciadas (bit de referência com valor
1) e não-modificadas (bit sujeira com valor zero).
▪
Conjunto 4: páginas referenciadas (bit de referência com valor
1) e modificadas (bit sujeira com valor 1).
78
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
FIFO
m m m
Página 1 2 3 Falha
0 0 x
2 0 2 x
1 0 2 1 x
3 3 2 1 x
5 3 5 1 x
4 3 5 4 x
6 6 5 4 x
3 6 3 4 x
7 6 3 7 x
4 4 3 7 x
7 4 3 7
3 4 3 7
3 4 3 7
5 4 5 7 x
5 4 5 7
3 4 5 3 x
1 1 5 3 x
1 1 5 3
1 1 5 3
7 1 7 3 x
79
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
80
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Página p1
p16 p2
1 1 1 p3
p15
0 Página
1
Vítima
p14 p4
1 0
Bit de
referência p13 0 1 p5
p12 0 1 p6
1 0
p11 p7
1 0 1
p10 p8
p9
p1
p16 p2
1 1 1
p15 p17
1 0
p14 p4
1 0
p13 0 1 p5
p12 0 1 p6
1 0
p11 p7
1 0 1
p10 p8
p9
81
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
algoritmo selecionará para ser retirada a página que foi a mais tempo
referenciada.
LRU
Página m1 m2 m3 Falha
0 0 x
2 0 2 x
1 0 2 1 x
3 3 2 1 x
5 3 5 1 x
4 3 5 4 x
6 6 5 4 x
3 6 3 4 x
7 6 3 7 x
4 4 3 7 x
7 4 3 7
3 4 3 7
3 4 3 7
5 5 3 7 x
5 5 3 7
3 5 3 7 x
1 5 3 1 x
1 5 3 1
1 5 3 1
7 7 3 1 x
82
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Sumário
Exercícios de AUTO-AVALIAÇÃO
Perguntas
1. Qual é a principal função do Sistema Operativo.
2. Como é chamada a parte do Sistema Operativo responsável
por essa função.
3. O que aconteceria quando um programa executava uma
instrução como: MOV REGISTER1,1000
4. Baseando-se no exercício (3.), o que aconteceria se o primeiro
programa escreve um novo valor para a posição 2000.
5. Relacione os exercícios (3. e 4.), diga se os programas
continuariam a funcionar. Justifique.
6. Porquê que os sistemas multiprogramáveis são mais utilizados
do que os sistemas monoprogramáveis.
7. Qual seria a forma mais simples de gerir memória em sistemas
multiprogramáveis.
8. Com base no exercício (7.), diga como é chamado por alguns
autores esse tipo de gestão.
9. Por quem e em que ano foi desenvolvido a memória virtual.
10. Qual era o principal objectivo ao desenvolvedor dessa técnica.
11. Para implementação de memória virtual existem várias
estratégias, diga como é chamada a estratégia mais conhecida.
83
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Perguntas
1. Qual a função da Gestão de Memória.
2. Segundo Tanenbaum os métodos de gestão são divididos em
duas classes, mencione-os.
3. Baseando-se na Figura 3.2, diga qual das Figuras 3.2 (a); 3.2
(b) e 3.2 (c) foi usado em computadores de grande porte e
minicomputadores.
4. Na gestão de memória para multiprogramação com partições
fixas e o método de partições fixas com única fila qual dos dois
é mais vantajoso. Justifique.
5. Segundo Silberstchaz defina Paginação.
6. Em computadores que utilizam a técnica de memória virtual, os
endereços virtuais não vão diectamente para o barramento de
memória. Passando por uma unidade chamada Unidade de
Gestão de Memória (MMU). Qual a principal função dessa
unidade.
7. Qual dos algoritmos de substituição de páginas é o mais
eficiente, justifica a sua resposta.
Bibliografia
▪
BACON, J. e HARRIS, T. Operating Systems: Concurrent and
Distributed Software Design. Addison Wesley, 2003.
▪
DEITELL, H. M. & DEITEL, P. J. & CHOFFNES, D. R. Sistemas
Operacionais. São Paulo, Ed. Prentice Hall, 2005.
▪
OLIVEIRA, R. S. e CARISSIMI, A. S. e TOSCANI, S. S. istemas
Operacionais. 3ª ed, volume 11, Ed. Bookman, 2008.
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Fundamentos de
Sistemas Operacionais. 6ª Edição, Ed. LTC.
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Sistemas
Operacionais com Java. 7ª Edição, Rio de Janeiro, Ed.
Elsevier,2008.
84
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
TANENBAUM, A. S. & WOODHULL, A. S. Sistemas Operacionais:
Projeto e Implementação. 3ª Edição, Porto Alegre, Ed. Bookman,
2008
▪
Abraham, S.&Peter B. G., & Greg, G. Operating system
concepts ninth edition, 2013
▪
TANENBAUM, A. & Herbert, B., Modern Operating Systems, Fourth
Edition, 2015
▪
Jandl, Peter, Jr. Notas sobre Sistemas Operacionais, 2004
85
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
86
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
87
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
88
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Extensão Significado
.c Código-fonte de programa em C
89
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
1 Byte
1 Registro
(c)
(a) (b)
90
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Diretórios: arquivos do sistema que mantêm a estrutura do
sistema de arquivos.
▪
Arquivos especiais de caracteres: arquivos relacionados à
entrada e saída e usados para modelar dispositivos de E/S.
▪
Arquivos especiais de blocos: arquivos usados para modelar
discos.
▪
Acesso sequencial: nesse tipo de acesso os arquivos são lidos
em ordem sequencialmente, partindo do início, mas nunca
saltando e lendo fora de ordem. Esse tipo de acesso é muito
utilizado, como exemplo, leitura de mídias do tipo fita
magnética, além de leitura sequencial de programas fontes,
realizada por vários compiladores.
▪
Acesso Aleatório: em alguns tipos de mídias é possível ler bytes
ou registros de um arquivo fora da ordem. Esses arquivos são
chamados de arquivos de acesso aleatório.
91
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Apagar: operação utilizada para excluir um determinado
arquivo, liberando espaço de memória.
▪
Abrir: operação utilizada para abrir um arquivo e permitir
escrita ou leitura de informações.
▪
Fechar: operação utilizada para fechar um arquivo e manter
sua consistência.
▪
Ler: operação disponibilizada para ler informações do arquivo,
para poderem ser utilizadas.
▪
Escrever: operação para incluir alguma informação no arquivo.
92
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Disco
Bloco
0
1 Bloco
Físico
2 Bloco 0
3 Bloco 1
Arquivo
4 Bloco 2
5 Bloco 3
6 Bloco 4
7
8
93
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Arquivo
6 4 8 15 2
Bloco
Físico
94
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Bloco
0
Físico
2 0
3
4 8
5
O Arquivo
6 4 começa aqui
7
8 15
9
10
11
12
13
14
15 2
16
Figura 4.4: Arquivos por Alocação por Lista Encadeada Utilizando Índice
95
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Directório-Raiz
A B c D
Directório-Raiz
Directórios de
usuário
Arquivos
A B c D E
96
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Directório-Raiz
Directórios de
usuário
Arquivos
A c D
Sub-directórios
de usuário
c D E
97
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
98
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Criar: utilizado para criar um determinado diretório.
Inicialmente é criado um diretório vazio, contendo apenas o
ponto e o ponto-ponto.
▪
Apagar: operação utilizada para apagar um determinado
diretório. Normalmente, só é possível excluir um diretório vazio.
▪
Abrir diretório: a partir desta operação é possível abrir um
diretório. Antes de ler um diretório é preciso, inicialmente, abri-
lo.
▪
Fechar diretório: operação utilizada para fechar um diretório.
▪
Ler: esta chamada é utilizada para ler o conteúdo de um
diretório.
▪
Renomear: fornece a possibilidade de alterar o nome do
diretório.
Sumário
99
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Exercícios de AUTO-AVALIAÇÃO
Perguntas
1. Defina Arquivos.
2. Segundo Tanenbaum como são estruturados os arquivos.
3. Mencione os tipos de Arquivos.
4. Como pode ser realizado o acesso aos arquivos.
5. Mencione os métodos utilizados na implementação de arquivos.
6. Qual dos métodos é eficiente na implementação de arquivos.
7. Qual a maneira mais simples de se projectar um Sistema
de Arquivos.
8. Qual o problema de haver somente um directório em
sistema com vários usuários.
Respostas:
1. Rever Página 87.
2. Rever página 89 e 90.
3. Rever página 90 e 91.
4. Rever página 91e 92.
5. Rever página 93 e 94.
6. Rever página 93 e 94
7. Rever página 95.
8. Rever página 95 e 96.
Pergunta
Tema1
1. Aonde é aplicado a estrutura de Árvore de Registo.
2. Qual a vantagem que os arquivos ACSII apresentam.
3. A leitura de mídias do tipo fita magnética, que tipo de acesso
aos arquivos é.
4. Mencione as vantagens e desvantagens de cada um dos
métodos utilizados na implementação de arquivos.
5. Qual a finalidade de uso de Sistemas de Arquivos com dois níveis.
6. Como podemos eliminar os conflitos de nomes entre os usuários.
7. Porquê a hierarquia em dois níveis não é satisfatória para os
usuários.
100
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Bibliografia
▪
BACON, J. e HARRIS, T. Operating Systems: Concurrent and
Distributed Software Design. Addison Wesley, 2003.
▪
DEITELL, H. M. & DEITEL, P. J. & CHOFFNES, D. R. Sistemas
Operacionais. São Paulo, Ed. Prentice Hall, 2005.
▪
OLIVEIRA, R. S. e CARISSIMI, A. S. e TOSCANI, S. S. istemas
Operacionais. 3ª ed, volume 11, Ed. Bookman, 2008.
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Fundamentos de
Sistemas Operacionais. 6ª Edição, Ed. LTC.
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Sistemas
Operacionais com Java. 7ª Edição, Rio de Janeiro, Ed.
Elsevier,2008.
▪
TANENBAUM, A. S. & WOODHULL, A. S. Sistemas Operacionais:
Projeto e Implementação. 3ª Edição, Porto Alegre, Ed. Bookman,
2008
▪
Abraham, S.&Peter B. G., & Greg, G. Operating system
concepts ninth edition, 2013
▪
TANENBAUM, A. & Herbert, B., Modern Operating Systems, Fourth
Edition, 2015
▪
Jandl, Peter, Jr. Notas sobre Sistemas Operacionais, 2004
101
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
102
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Software de E/S no
espaço do usuário
Software de E/S
Independente de dispositivo Princípios de
Software
Drives
Manipulador de Interrupções
Controladores
Princípios de
Hardware
Dispositivos de E/S
▪
Engenheiros elétricos veem em termos de chips, cabos, motores,
suprimento de energia e todos os outros componentes físicos que
compreendem o hardware.
▪
Programadores olham para a interface apresentada ao
software — os comandos que o hardware aceita, as funções
que ele realiza e os erros que podem ser reportados de volta.
103
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
104
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
105
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
106
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
107
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Independência de dispositivo: deve ser possível escrever
programas que podem, por exemplo, lêr arquivos de qualquer
dispositivo.
▪
Atribuição uniforme de nomes: o nome de um arquivo ou de
um dispositivo não pode depender do dispositivo.
▪
Tratamento de erros: os erros devem ser tratados o mais perto
possível do hardware.
▪
Transferências síncronas ou assíncronas: a maior parte dos
dispositivos de E/S são assíncronos e os programas dos usuários
são mais fáceis de implementar através de bloqueios. Assim o
Sistema Operativo deve fazer com que as operações pareçam,
de facto, com bloqueios para os programas do usuário.
▪
Dispositivos compartilháveis ou dedicados: O Sistema Operativo
deve ser capaz de tratar dispositivos tanto dedicados como
compartilhados de uma maneira que não gere problemas.
108
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Nomeação de Dispositivo: cada dispositivo deve receber um
nome lógico e ser identificado a partir dele.
▪
Buferização: buffer é uma zona de memória temporária
utilizada para armazenar dados enquanto eles estão sendo
transferidos entre as diferentes camadas do software de E/S.
▪
Cache de Dados: armazenar na memória um conjunto de dados
que estão sendo frequentemente utilizados.
▪
Alocação e Liberação: devido a alguns dispositivos admitirem,
no máximo, um usuário por vez, o software de E/S deve gerir a
alocação, liberação e uso destes dispositivos.
▪
Tratamento de Erros: o software de E/S deve fornecer
mecanismos de manipulação de erros, informando à camada
superior o sucesso ou fracasso de uma operação.
109
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
110
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Recursos preemptíveis: trata-se de recursos que podem ser
retirados de um determinado processo sem gerar problema
algum. Por exemplo, a memória.
▪
Recursos não-preemptíveis: trata-se de recursos que não
podem ser retirados de um determinado processo sem causar
problemas. Por exemplo, é inviável retirar a impressora de um
determinado processo que começou a imprimir sua saída.
▪
Condição de exclusão mútua: somente um processo de cada
vez pode acessar um recurso. Caso contrário, o recurso estará
disponível.
▪
Condição de posse e espera: um processo deve estar de posse
de um recurso e solicitando novos recursos.
▪
Condição de não preempção: os recursos concedidos aos
processos não podem ser retirados deles.
▪
Condição de espera circular: deve haver uma cadeia circular de
dois ou mais processos, cada um dos quais está esperando um
recurso já segurado pelo próximo membro da cadeia e, assim
111
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
por diante.
Processo 1 Recurso 1
P1 R1
P1 R1
R1 P1
112
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
P1 P1
R1 R1 R1 R1
P1 P1
(a) (b)
Figura 5.6: Modelagem através de Grafos. (a) Situação onde não está
caracterizado deadlock. (b) situação onde se caracteriza um deadlock.
▪
Prevenir um deadlock através da negação das quatros
condições de Coffman.
▪
Impedimento de um deadlock através de uma alocação
dinâmica cuidadosa de recursos.
113
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Condição de exclusão mútua - Caso nenhum recurso fosse
atribuído de forma exclusiva a um único processo, negaríamos
essa condição e não teríamos um impasse. Só que existe recursos
impossíveis de serem atribuídos a mais de um processo, como a
impressora.
▪
Condição de posse e espera - Na segunda condição, se for
possível fazer que um processo, segure algum recurso, não
solicite outros recursos, eliminaríamos esta condição e,
naturalmente, uma possível situação de impasse.
▪
Condição de não preempção - Atacar a terceira condição de
Coffman, sem sombra de dúvidas, é uma das soluções menos
promissora, pois certos recursos são, intimamente, não
preemptíveis. Mais uma vez, tomemos como exemplo a
114
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Condição de espera circular - A última condição diz que, para
se ter um deadlock, é formado uma cadeia circular de dois ou
mais processos, cada um dos quais está esperando um recurso já
segurado pelo próximo membro da cadeia e, assim por diante.
P1 P2
R1 R2
115
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
▪
Algoritmo do Banqueiro para um Único Recurso - O algoritmo
do banqueiro foi proposto por Dijkstra (1965). Este algoritmo é
baseado na mesma ideia de um banqueiro de uma pequena
cidade para garantir ou não crédito a seus clientes. A ideia é
que um banco jamais possa alocar todo seu dinheiro disponível
em caixa de tal modo que não possa mais atender às
necessidades de todos os seus clientes.
Recurso
Processo Alocado Máximo
A 0 6
B 0 5
C 0 4
D 0 7
Disponíveis: 10
Figura 5.8: Estado inicial contendo quatro processos e a quantidade
máxima de recursos necessários.
116
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Recurso
Processo Alocado Máximo
A 1 6
B 1 5
C 2 4
D 4 7
Disponíveis: 2
Figura 5.9: Estado considerado seguro no Algoritmo do Banqueiro
para
Único Recurso.
117
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Recurso
Processo Alocado Máximo
A 1 6
B 2 5
C 2 4
D 4 7
Disponíveis: 1
Figura 5.10: Estado considerado não seguro no Algoritmo doBanqueiro
para Único Recurso.
▪
Algoritmo do Banqueiro para Múltiplos Recursos - O
algoritmo do banqueiro pode ser generalizado para vários
processos e várias classes de recursos, cada um com uma
quantidade diversificada.
118
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Processo R1 R2 R3 R4 Processo R1 R2 R3 R4
A 0 0 0 0 A 4 1 1 1
B 0 0 0 0 B 0 2 1 2
C 0 0 0 0 C 4 2 1 0
D 0 0 0 0 D 1 1 1 0
E 0 0 0 0 E 2 1 1 0
▪
Procurar uma linha da matriz de recursos ainda
necessários, no qual todas as posições sejam menores ou
iguais ao vector de recursos livres. Se não existir essa
linha, nenhum recurso conseguirá finalizar e teremos,
enfim, um impasse.
▪
Caso um processo execute e se finalize, os recursos por
ele alocados serão disponibilizados e poderão ser
utilizados por outro processo.
119
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Processo R1 R2 R3 R4 Processo R1 R2 R3 R4
A 3 0 1 1 A 1 1 0 0
B 0 1 0 0 B 0 1 1 2
C 1 1 1 0 C 3 1 0 0
D 1 1 0 1 D 0 0 1 0
E 0 0 0 0 E 2 1 1 0
Processo R1 R2 R3 R4 Processo R1 R2 R3 R4
A 3 0 1 1 A 1 1 0 0
B 0 1 1 0 B 0 1 0 2
C 1 1 1 0 C 3 1 0 0
D 1 1 0 1 D 0 0 1 0
E 0 0 1 0 E 2 1 0 0
120
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Sumário
Exercícios de AUTO-AVALIAÇÃO
Perguntas
1. Nos dispositivos de E/S qual a principal função do
Sistema Operativo.
2. Como pode ser visto o hardware de E/S segundo Tanenbaum.
3. Como podem ser vistos os dispositivos de E/S, dependendo do
sentido do fluxo da informação entre o sistema e o dispositivo.
4. Segundo Tanenbaum, os dispositivos podem ser divididos
em duas categorias. Mencione-os.
5. Como é organizado o software de E/S.
6. Qual a função da camada mais alta.
7. Qual a função do software de E/S independente de dispositivo.
8. Quando que um processo se encontra em deadlock ou impasse.
9. Diga como os deadlocks ou impasses podem ser modelados.
Respostas:
1. Rever página 102.
2. Rever página 103.
3. Rever página 104.
4. Rever página 105.
5. Rever página 108.
6. Rever página 108.
7. Rever página 109.
8. Rever página 110
9. Rever página 112.
Perguntas
1. Qual a responsabilidade que os dispositivos de E/S têm.
2. O engenheiro Eléctrico no princípio de hardware de E/S têm
uma visão diferente do programador. Fale da visão que o
engenheiro tem.
3. Como se caracterizam os dispositivos de Entrada.
121
UNISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Sistemas Operativos
Bibliografia
▪
BACON, J. e HARRIS, T. Operating Systems: Concurrent and
Distributed Software Design. Addison Wesley, 2003.
▪
DEITELL, H. M. & DEITEL, P. J. & CHOFFNES, D. R. Sistemas
Operacionais. São Paulo, Ed. Prentice Hall, 2005.
▪
OLIVEIRA, R. S. e CARISSIMI, A. S. e TOSCANI, S. S. istemas
Operacionais. 3ª ed, volume 11, Ed. Bookman, 2008.
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Fundamentos de
Sistemas Operacionais. 6ª Edição, Ed. LTC.
▪
SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Sistemas
Operacionais com Java. 7ª Edição, Rio de Janeiro, Ed.
Elsevier,2008.
▪
TANENBAUM, A. S. & WOODHULL, A. S. Sistemas Operacionais:
Projeto e Implementação. 3ª Edição, Porto Alegre, Ed. Bookman,
2008
▪
Abraham, S.&Peter B. G., & Greg, G. Operating system
concepts ninth edition, 2013
▪
TANENBAUM, A. & Herbert, B., Modern Operating Systems, Fourth
Edition, 2015
▪
Jandl, Peter, Jr. Notas sobre Sistemas Operacionais, 2004
122