Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SISTEMAS
DE
COMPUTAO
E
INFORMAO
Viso geral
Apresentao da disciplina:
Conceitos de processo.
Sincronizao de processos.
Gerenciamento de memria.
Memria virtual.
Escalonamento de processos.
Monoprocessamento e multiprocessamento.
Alocao de recursos e deadlocks.
Gerenciamento de arquivos.
Tcnicas de E/S.
Mtodos de acesso.
Anlise de desempenho.
Objetivos:
Apresentar os conceitos sobre o funcionamento de um
sistema de computao em relao ao hardware, com suas
principais funes:
gerncia de processador, gerncia de memria, sistema de
entrada/sada e gerncia de dispositivos.
Contedo Programtico:
Conceitos bsicos
Sistemas operacionais
Hardware e funcionamento de um sistema de computao
Tipos de sistemas operacionais
Gerncia do processador
Processos e threads
Processos concorrentes e deadlock
Escalonamento do processador
Gerncia de memria
Alocao de memria
Memria virtual
Sistema de arquivos
Arquivos e diretrios
Alocao de um espao em disco
Proteo de acesso
Gerncia de dispositivos
Sistema de entrada/sada
Discos magnticos
Metodologia:
Avaliao Prevista:
O sistema de avaliao da disciplina compreende em assistir
a tele-aula, participao no frum, produo de
texto/trabalho no portflio, realizao de duas avaliaes
virtuais, uma avaliao presencial embasada em todo o
material didtico, tele-aula e web aula da disciplina.
WEBAULA 1
Unidade 1 Processos
Como trabalhar com vrios programas em um mesmo tempo de execuo?
Ao iniciar o computador, voc pode acessar vrios softwares ao mesmo tempo,
como por exemplo, um editor de texto, uma planilha eletrnica, ou qualquer
outro.
E, ainda, dentro desses softwares, possvel executar vrias funes
praticamente ao mesmo tempo, em um nico processador!
Ento, como isso possvel?
possvel pois o computador pode contar com o
gerenciamento de um sistema operacional!
Na realidade, se o computador possui apenas um
processador, ele executar somente uma instruo em
um determinado instante.
O que acontece, que uma execuo muito rpida, o
que significa que em menos de 1 segundo diversas
instrues podem ser executadas.
Com essa velocidade, possvel ter a execuo de vrios programas ao mesmo
tempo.
Estado do Processo
Nome do Processo
Prioridade do Processo
Registradores
Limites de memria
Lista de arquivos abertos
O sistema operacional reserva uma rea da memria onde coloca informaes
sobre cada processo a ser executado.
As alocaes das informaes em um PCB (bloco de controle de processos)
esto divididas em duas classes:
ESTADOS
DO PROCESSO
g
O
i estado do processo indica o que est acontecendo com aquele processo num
determinado instante de tempo.
n
a
encerrou.
Execuo - espera: o processo que estava em execuo solicitou uma
operao de E/S.
Espera - pronto: o processo que estava esperando por um evento teve esse
evento concludo.
Execuo - terminado: o processo encerrou.
Unidade 2
THREAD
Ento, vamos continuar estudando!
possvel notar, na seo anterior, que cada processo pode executar mais de
um trecho em uma mesma chamada do processo.
PARA SABER MAIS
Por isso, surgiu a necessidade de ser criada a concorrncia entre trechos em
um determinado processo.
Nesse contexto, foram implementados os threads, que podem ser definidos
como as tarefas de um processo. Em um mesmo processo, pode haver um ou
mais threads.
Vimos anteriormente que um processo formado pelo contexto de hardware e
contexto de software.
Quando um processo possui mais de um thread, cada um possui seu contexto
de hardware separado.
Vamos ver isso mais de perto...
O contexto de hardware a parte do PCB que guarda os valores dos
registradores.
Entre os registradores temos o PC (Program Counter), que aponta para a
prxima instruo a ser executada.
Assim, se cada thread possui um contexto de hardware, cada um poder
executar um trecho diferente do processo.
Dessa maneira possvel implementar a concorrncia.
OK?
Por outro lado, o contexto de software nico para um processo.
Todos os threads de um processo compartilham o mesmo contexto de software
e o mesmo espao de endereamento.
Por exemplo, um editor de texto pode ter um thread para exibio de grficos,
outro para ler o que est sendo digitado e um terceiro para realizar a correo
ortogrfica.
Esses trs threads so executados concorrentemente dentro do processo do
editor de texto.
Os estados dos threads so os mesmos dos processos:
NOVO
EXECUO
ESPERA
PRONTO
TERMINADO
Para o conceito de se trabalhar com threads, o termo utilizado multithread.
SUAS VANTAGENS...
PARA SABER MAIS
Para saber mais acesse o seguinte link:
. (aula-07-cap-06-threads.pdf)
Ateno
PARA CONHECER MAIORES DETALHES SOBRE THREADS, estude a parte de
aprofundando o conhecimento do livro didtico de vocs: Sistemas
Operacionais, da autora Elo Jane Fernandes Mateus - captulo 2 a partir da
pgina 24.
Obs.: tambm est disponvel na biblioteca digital.
Como vocs viram, existem vrios aspectos que podem tornar o campo da
programao mais eficiente, e este contexto est ligado multiprogramo.
A multiprogramao realmente veio para ajudar, mas
necessrio conhecer bem suas caractersticas para se obter o
resultado esperado. Ento, continuem o estudo na Unidade 2.
Ento, conseguiram visualizar o contexto de Threads!
Agora, vamos para a Unidade 2?
REFERNCIAS
Machado, Francis B.; Maia, Luiz P.; Arquitetura de Sistemas Operacionais. LTC,
Rio de Janeiro, 2007.
Mateus, Elo J. F.; Sistemas Operacionais. Pearson Education do Brasil, So
Paulo, 2010.
Vamos ao exemplo:
Existem dois processos concorrentes A e B,
B l as informaes gravadas por A em uma varivel de memria.
O processo B somente poder ler essas informaes depois que A as tiver
gravado.
Por isso, como o processo A somente poder gravar novas informaes depois
que o processo B tiver lido as informaes anteriores, existir a necessidade da
sincronizao de suas operaes.
Comunicao Direta
A mensagem deve enderear, explicitamente, o processo transmissor e o
processo receptor. Dessa forma, a comunicao acontece somente entre dois
processos.
Um dos problemas que, se um processo mudar de nome, a mensagem deve
ser igualmente alterada e, portanto, o cdigo do programa ter que ser
recompilado.
Comunicao Indireta
Os processos utilizam uma rea comum, chamada de mailbox ou port.
O processo transmissor coloca mensagens no mailbox e o processo receptor se
encarrega de retir-las.
Independente do tipo de comunicao utilizada, os processos que esto
fazendo a troca das mensagens devem estar sincronizados para evitar que um
processo tente ler uma mensagem que ainda no foi enviada, ou, que o
processo transmissor envie outra mensagem antes que o receptor tenha lido a
mensagem anterior.
Deadlock
O contexto de deadlock est relacionado ao seguinte problema: um processo
aguarda por um recurso que nunca estar disponvel ou um evento que no
ocorrer.
Unidade 4
Escalonamento
Ateno
Para gerenciar o compartilhamento dos diversos processos e/ou threads em
execuo, necessrio implementar um algoritmo para a escolha de qual
processo ir deter o controle do processador. Essa implementao tem a ver
com o escalonamento (scheduling) de um processo, que responsvel por
selecionar (escalonar) qual o prximo processo na fila de prontos ir ganhar o
controle de um determinado recurso do processador.
homogeneidade do sistema:
Se os processadores possuem a mesma capacidade e funo, ento os
processos podem ser escalonados para qualquer processador. E cada
processador deve implementar seu escalonamento em separado.
Se o sistema for heterogneo, determinados processos somente podero ser
executados em processadores especficos. Para aproveitar a possibilidade de
compartilhamento de carga, utiliza-se uma fila de pronto comum a todos os
processadores. Assim, todos os processos entram em uma fila e so
escalonados para qualquer processador disponvel.
O problema desse tipo de escalonamento que tem que haver um controle
para que um processo no seja escalonado para mais de um processador ao
mesmo tempo, e esse controle pode ser resolvido selecionando um
processador para fazer o controle dos escalonamentos.
Escalonamento de Sistemas de Tempo Real
Todo processamento desse tipo deve ser realizado dentro de limites rgidos de
tempo.
Nesses sistemas, no existe compartilhamento de tempo e o escalonamento
realizado somente com base em prioridades.
A cada processo atribuda uma prioridade esttica de acordo com sua
importncia.
Quando um processo de maior prioridade chega fila de pronto ele
imediatamente escalonado para execuo.
Escalonamento No Preemptivo
No escalonamento no preemptivo, o processo que est em execuo
permanecer assim at que no precise mais do processador.
Escalonamento FIFO (First-In-First-Out)
Nesse escalonamento implementada uma fila simples, onde o primeiro
processo ao entrar na fila de pronto ser o primeiro a receber o controle do
processador.
Seu algoritmo implementado da seguinte forma: os processos que passam
para o estado de pronto entram no final da fila e sero escalonados quando
chegarem ao seu incio. E, por ser no preemptivo, quando um processo ganha
o controle do processador, ele o utilizar sem ser interrompido.
O problema com esse tipo que, quando um processo utiliza muito o
processador, ir demorar demais para liber-lo.
Escalonamento SJF (Shortest-Job-First)
Esse tipo de algoritmo associa a cada processo o seu tempo de execuo.
Assim, os processos mais rpidos so escalonados primeiro. Na verdade, na
hora do escalonamento o sistema escolhe o processo que ter o menor bloco
de utilizao do processador.
O problema em relao a esse algoritmo determinar exatamente quanto
REFERNCIAS
Machado, Francis B.; Maia, Luiz P.; Arquitetura de Sistemas Operacionais. LTC,
Rio de Janeiro, 2007.
Mateus, Elo J. F.; Sistemas Operacionais. Pearson Education do Brasil, So
Paulo, 2010.