Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
2015
Editorial
Comit Editorial
Fernando Fukuda
Simone Markenson
Jeferson Ferreira Fagundes
Autor do Original
Ricardo Balieiro
Sistemas Operacionais
Su
ri o
3.3 Escalonamento primeiro a entrar primeiro a sair (FIFO First - IN - First - OUT).63
3.4 Escalonamento por job mais curto primeiro (SJF Shortest - Job - First)............... 66
3.5 Escalonamento circular (Round Robin).................................................................... 67
3.6 Escalonamento por Prioridade.................................................................................. 72
3.7 Escalonamento por Mltiplas filas com realimentao............................................ 78
3.8 Clculo estimado de tempo de resposta.................................................................... 81
Atividades........................................................................................................................ 83
Reflexo........................................................................................................................... 84
Leituras Recomendadas................................................................................................... 84
Referncias....................................................................................................................... 84
No Prximo Captulo....................................................................................................... 85
Captulo 4: Gerncia de Memria................................................................................ 87
Objetivos da sua aprendizagem....................................................................................... 87
Voc se lembra?............................................................................................................... 87
4.1Funes .................................................................................................................... 88
4.2 Estruturas de memria.............................................................................................. 89
4.3 Espao de Endereamento Fsico e Lgico.............................................................. 91
4.4 Estratgias de alocao............................................................................................. 92
4.4,5 Estratgia de posicionamento de memria.......................................................... 103
4.5 Memria Virtual...................................................................................................... 106
Atividades.......................................................................................................................111
Reflexo......................................................................................................................... 112
Leituras Recomendadas................................................................................................. 112
Referncias..................................................................................................................... 112
No Prximo Captulo..................................................................................................... 113
Captulo 5: Gerncia de Entrada e Sada.................................................................. 115
Objetivos da sua aprendizagem..................................................................................... 115
Voc se lembra?............................................................................................................. 115
5.1Introduo............................................................................................................... 116
5.2 Componentes de hardware de ENTRADA E SADA............................................. 117
5.3 Componentes de Software de ENTRADA E SADA............................................. 121
5.4 Sistema de Arquivos............................................................................................... 126
5.5 Conceitos de Arquivos e Diretrios........................................................................ 127
5.6 Mtodos alocao ................................................................................................... 132
5.7 Gerncia de espaos livres...................................................................................... 135
5.8 Proteo de acesso.................................................................................................. 136
Atividades...................................................................................................................... 137
Reflexo......................................................................................................................... 137
Leituras Recomendadas................................................................................................. 137
Referncias..................................................................................................................... 138
Gabarito.......................................................................................................................... 139
Ap
res
ent
Prezados(as) alunos(as)
No podemos imaginar hoje o mundo
sem o computador. Da mesma forma, no
podemos imaginar o computador sem o sistema
operacional. Ligamos o computador e o sistema
operacional entra em cena, permitindo que acessemos
nossos programas e arquivos para os mais variados fins,
para o trabalho, a diverso, se relacionar atravs das redes
sociais, internet, etc. Os sistemas operacionais nos oferecem
uma maneira fcil de efetuarmos nossas tarefas atravs de suas
interfaces grficas e atraentes. Mas nem sempre foi assim. Houve
um tempo em que os computadores eram configurados atravs do
prprio hardware.
importante que tenhamos uma viso detalhada dos mecanismos
envolvidos em um sistema operacional moderno para que possamos
utiliz-lo melhor e de forma mais eficiente. Conhecer sua evoluo
como tambm todos os problemas enfrentados e solues adotadas,
permite que possamos avanar mais na criao de novos sistemas sem
ser barrados pelos problemas j conhecidos. Aprender sobre sistemas
operacionais ajuda-nos a entendermos como so gerenciados os nossos
arquivos, diretrios, processador, memria, perifricos etc., e assim, conseguirmos um maior desempenho do sistema. Estudar como os sistemas
operacionais controlam e buscam as informaes to rapidamente, como
controla acesso, sincronizao entre diversos processos em execuo,
permite que tenhamos slidos conceitos, que podemos utilizar em diversas reas de desenvolvimento e gerenciamento de sistemas.
Diante de todos os aspectos acima descritos, acreditamos que com o
estudo atencioso do material aqui presente, voc com certeza ser
um profissional em destaque no mercado de trabalho!
Bons estudos e sucesso!
O autor
Introduo Sistemas
Operacionais
Un
ida
de
Voc se lembra?
Voc se lembra dos sistemas operacionais que utilizou nos ltimos anos?
Consegue imaginar um computador sem um sistema operacional? E o seu
celular ou tablet, ser que possui um sistema operacional?
Sistemas Operacionais
TSUNG-LIN WU | DREAMSTIME.COM
TSUNG-LIN WU | DREAMSTIME.COM
Disponivel em : <www.extremetech.com>
1.1.1 Definio
1.1.2 Objetivo
Sistemas Operacionais
Trilha
Setor
Cabea de
leitura e grav.
Prato
Faces
Cilindro
10
J no modo bottom-up (de-baixo-a-cima), considerado um gerenciador de recursos. Isto porque controla a utilizao dos recursos de
hardware pelas aplicaes como tambm quais e quando as aplicaes
podem ser executadas. Podemos citar como recursos:
Tempo de CPU.
Espao em memria.
Espao em disco.
Acesso aos dispositivos de comunicao.
Bibliotecas de software.
Para que isso fique mais claro, podemos analisar o sistema operacional dividindo-o em quatro componentes: usurios, programas aplicativos,
sistema operacional e o hardware.
Usurio
1
Usurio
2
Usurio
3
...
Usurio
n
Compilador
Browser
Editor
de Texto
...
Sistema
de Banco
de Dados
Sistema Operacional
Computador
Hardware
Figura 4 Sistema computacional.
Fonte: Oliveira et al. (2010).
11
Sistemas Operacionais
12
Ns usurios utilizamos os programas aplicativos (editor de texto, planilhas eletrnicas, navegador web,
O sistema operacional considerado
etc) para diversas tarefas, tanto
por muitas pessoas como sendo um programa que fica executando o tempo todo no
para trabalho como para lazer. Os
computador, enquanto o restante consideraaplicativos por sua vez depen- do como programas aplicativos (TANENBAUM;
dem dos recursos de hardware
WOODHYLL, 1999).
para executar suas funes. O
hardware a parte mais bsica
dos componentes, sendo composto
pela unidade central de processamento (CPU - Central Processing Unit),
memrias (RAM e ROM), dispositivos perifricos (teclado, monitor, mouse, impressora, etc.) e unidades de armazenamento (disco rgido).
Neste ponto entra o sistema operacional fornecendo um ambiente de
integrao que possibilite a execuo dos programas e o controle e coordenao da utilizao dos recursos de hardware pelos aplicativos. Silberschatz et al. (2004) considera o sistema operacional como uma alocador de
recursos. de responsabilidade do sistema operacional resolver conflitos
na utilizao destes recursos. Por exemplo, imagine trs computadores
em rede e os usurios destes computadores resolvem mandar ao mesmo
tempo um texto para uma impressora compartilhada na rede. Qual texto o
sistema operacional deve imprimir primeiro? Imprimir parte do texto do
usurio 1, em seguida, parte do usurio 2 e assim por diante? Como o sistema operacional resolve este conflito de alocao de recursos? A soluo
adotada neste caso , primeiramente o sistema operacional armazenar os
arquivos enviados em uma fila de impresso no disco rgido. Em seguida,
imprime o primeiro arquivo da fila e em seguida o prximo at no haver
mais nenhum para impresso.
Este um pequeno exemplo do que acontece a todo o momento em
um sistema operacional, que procurar gerenciar a utilizao dos recursos
da forma mais eficiente possvel, procurar minimizar as falhas, efetuar
controle de acesso para que os usurios possam acessar apenas os recursos que lhes foram autorizados, entre outros. Em resumo, os objetivos
fundamentais dos sistemas operacionais so executar os aplicativos dos
usurios e facilitar a resoluo de seus problemas.
Sistemas Operacionais
14
Com o surgimento dos circuitos integrados os computadores tiveram uma reduo de custo de aquisio o que proporcionou sua viabilizao nas empresas. Vrias inovaes foram implementadas nos sistemas
15
Sistemas Operacionais
16
Tipos de Sistemas
Operacionais
(Monotarefas)
Tipos de Sistemas
Operacionais
Sistemas
Multiprogramveis
(Multitarefas)
Sistemas com
Mltiplos
Processadores
17
Sistemas Operacionais
Espera
Executa
Espera
Monotarefa
Figura 8 Sistemas Monoprogramveis/Monotarefa.
Assim o processador, memria e os perifricos do computador ficam dedicados exclusivamente para um nico programa em execuo.
Os sistemas operacionais monoprogramveis tambm so conhecidos
como sistemas monotarefas. Alm de executar um programa por vez, os
recursos do sistema so alocados para uma tarefa por vez. Nesse sentido
quando o programa est esperando a entrada de um dado pelo usurio, o
processador fica parado, sem qualquer tipo de processamento.
Programa/Tarefa
UCP
Memria
E/S
18
Executa
Espera
Executa
Espera
Programa B
Espera
Executa
Espera
Executa
Multitarefa
19
Sistemas Operacionais
Programa/Tarefa
Programa/Tarefa
UCP
Memria
E/S
Programa/Tarefa
Programa/Tarefa
1.3.3 Classificao de
Processamento
De acordo como as aplicaes so gerenciadas, os sistemas multiprogramveis podem ser classificados como: Batch, sistemas de tempo
compartilhado ou sistema de tempo real.
Sistemas Batch
Sistemas
Monoprogramveis
(Monotarefas)
20
Sistemas de Tempo
Compartilhado
Sistemas de Tempo
Real
Sistemas Operacionais
Sistemas
Simtricos
Sistemas
Assimtricos
Sistemas
Fracamente
Acoplados
Sistemas
Operacionais
de Rede
Sistemas
Operacioanis
Distribudos
22
Os sistemas fortemente acoplados, conhecidos tambm como multiprocessadores, tm como caractersticas possuir vrios processadores
compartilhando uma nica memria fsica e dispositivos de entrada e sada e apenas um sistema operacional efetuando o gerenciamento. Segundo
Silberschatz et al. (2004) os sistemas fortemente acoplados podem ser
divididos em Multiprocessamento Simtrico (SMP Symmetric Multiprocessing) e Multiprocessamento Assimtrico (NUMA Non-Uniform
Memory Access). Os sistemas multiprocessamento simtrico os processadores compartilham o mesmo tempo de memria. No multiprocessamento
assimtrico, o tempo de acesso memria pode variar dependendo da
localizao fsica dos processadores em relao memria.
UCP
Memria
UCP
E/S
E/S
Link de Comunicao
UCP
Memria
UCP
E/S
Memria
E/S
23
Sistemas Operacionais
1.4 Interrupes
24
Quando um programa entra em execuo, suas instrues so executadas em sequncia pelo processador. Pode ocorrer situaes que force
o processador lanar algum evento que cause o desvio da sequncia original de execuo do programa. Estes eventos so conhecidos como interrupes ou excees.
Um evento gerado pelo processador quando este recebe um sinal
de algum dispositivo de hardware informando uma mudana de estado
em algum dispositivo, como por exemplo, a concluso de uma entrada\
sada em disco ou da execuo de instrues do prprio programa.
A Figura 16 mostra um diagrama do mecanismo de interrupo. O
programa composto de inmeras instrues que devem ser executadas
em uma determinada ordem pelo processador. Aps executar cada instruo, o processador verifica se houve alguma ocorrncia de interrupo.
Caso tenha ocorrido, o processador suspende a execuo da prxima instruo e desvia para uma rotina pr-definida para tratar o evento, chamada
de rotina de tratamento de interrupo. Antes de desviar para a rotina, os
dados dos registradores so salvos permitindo que aps o tratamento da
interrupo, o processador possa retornar ao cdigo que estava sendo executado quando recebeu a interrupo.
Programa
do Usurio
Sequncia
de Execuo
Desvio para a
rotina de tratamento
da interrupo
Retorno a
sequncia normal
de execuo
25
Sistemas Operacionais
Os primeiros sistemas operacionais, os monoprogramveis, apresentavam uma arquitetura que limitava muito seu desempenho. Isto acontecia devido utilizao pouco eficiente dos recursos computacionais
como processadores, memria, dispositivos de entrada e sada etc. Pouco
eficiente no sentido de serem recursos de alto custo e ficarem ociosos em
grande parte do tempo. O processador, por exemplo, ficava ocioso enquanto
era efetuada a entrada de dados, por exemplo, a digitao do usurio (Figura
17). A memria, que permitia carregar apenas um programa por vez, no era
ocupada totalmente, permanecendo grandes reas livres sem utilizao.
Executa
Espera
Executa
Espera
Monotarefa
Figura 17 Sistemas Monoprogramvel
26
Programa A
Executa
Espera
Executa
Espera
Programa B
Espera
Executa
Espera
Executa
Multitarefa
Existe uma preocupao muito grande dos desenvolvedores de sistemas operacionais quanto ao acesso direto ao Kernel por usurio e seus
aplicativos. Uma instruo indevida executada diretamente pode corromper o kernel comprometendo todo o sistema. Instrues deste tipo so denominadas instrues privilegiadas. A execuo de uma destas instrues
est vinculada aos chamamos de modos de acesso. Os modos de acesso
so:
Modo usurio: no permite que o usurio ou aplicaes executem instrues privilegiadas.
Modo Kernel: permite acesso total as instrues privilegiadas, tanto
pelo usurio quanto pelas aplicaes.
27
Sistemas Operacionais
Atividades
01. De acordo com o material, qual das opes abaixo pode ser classificada como sistema operacional?
a) Android e MS-Excel.
b) Windows e Internet Explorer.
c) Linux e Windows.
d) Android e MS-Word.
e) Linux e Broffice.
03. Para que uma aplicao possa utilizar os servios disponveis pelo
Kernel deve efetuar a comunicao com o Kernel por meio de:
a) Device Drivers
b) Batch
c) Scripting
d) System Calls
e) Shell
28
Reflexo
Neste captulo aprendemos sobre as principais caractersticas e funes do sistema operacional, o que nos auxilia a utiliz-lo de forma mais
eficiente. Em seguida vimos a evoluo dos sistemas monoprogramveis
para os multiprogramveis o que nos permitiu estudar as diversas formas como o computador tem sido controlado ao longo dos anos. Vimos
tambm os diversos tipos de sistemas operacionais, como os sistemas de
tempo compartilhado, tempo real e com mltiplos processadores. Conceitos muito importantes quando h necessidade de escolher um sistema operacional para uma aplicao especfica. Fechamos estudando conceitos
como interrupes e concorrncias, que so bases para muitos programas
e no somente para o sistema operacional.
Leituras recomendadas
Referncias
Sistemas Operacionais
HENNESSY, J. L.; PATTERSON, D. A. Arquitetura de Computadores: uma abordagem quantitativa. 3 ed. Rio de Janeiro: Campus, 2003.
MACHADO, F. B.; MAIA, L. P. Arquitetura de sistemas operacionais. 4 ed. Rio de Janeiro: LTC - Livros Tcnicos Editora S.A., 2007.
MATSUMOTO. Entenda o que formatao de disco rgido. Disponvel em: http://www.socialbits.com.br/2012/11/entenda-o-que-e-formatacao-de-disco-rigido/. Acesso em: set. 2014.
MAZIERO, C. A. Sistemas Operacionais: Conceitos e Mecanismos.
Disponvel em: <http://dainf.ct.utfpr.edu.br/~maziero/lib/exe/fetch.
php/so:so-livro.pdf>. Acesso em: set. 2014.
MEGATECH BRASIL. Disponvel em: <http://megatechbrasil.com/
tecnologia/google-glass-ja-a-venda-nos-eua/>. Acesso em: set. 2014.
OLIVEIRA, R. S.; CARISSIMI, A. S.; TOSCANI, S. S. Sistemas
Operacionais. 4 ed. Porto Alegre : Editora Bookman, 2010.
SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G Fundamentos de
Sistemas Operacionais. 6 ed. Rio de Janeiro: LTC - Livros Tcnicos
Editora S.A., 2004.
SWADE, D. The Babbage Engine. Disponvel em: <http://www.computerhistory.org/babbage/>. Acesso em: set. 2014.
TANENBAUM, A. S.; WOODHYLL, A. S. Sistemas operacionais
projeto e implementao. 2 ed Porto Alegre: Bookman, 1999.
No prximo captulo
30
Processos
Cap
t u
lo
Voc se lembra?
Sistemas Operacionais
Como vimos anteriormente os sistemas operacionais multiprogramveis permitem carregar mais de um programa em memria e executa-los concorrentemente. Segundo Silberschatz et al. (2004) um processo
um programa em execuo. Assim h uma diferenciao entre programas
e processos. O programa algo esttico enquanto os processos so dinmicos. Os programas so formados por sequncias de comandos e instrues e no tem a possibilidade de alterar o seu estado. Os processos por
sua vez, so quem executam os comandos dos programas, e medida que
os comandos so executados o processo pode sofrer alteraes. Quando
abrimos um navegador da Internet (ex.: Internet Explorer) um processo
associado a ele. Se abrirmos um segundo Internet Explorer, um novo
processo ser criado, totalmente independente do primeiro. Ou seja, podemos ter vrios processos relacionados a um nico programa e gerenciados
individualmente pelo sistema operacional.
32
Processos Captulo 2
Conexo
2.1.1 Pseudoparalelismo
Sistemas Operacionais
Um contador de
programas
Quatro contadores
de programas
A
B
C
D
A B C D
Processo
1 2 3 4 5 6 7
Tempo
34
Processos Captulo 2
O sistema operacional ao criar um processo, cria um bloco chamado Blocos de controle de processos (PCBs), tambm conhecido como
descritor de processo. O bloco de controle de processo contm diversas
informaes que auxiliam o seu gerenciamento pelo sistema operacional.
Entre estas informaes esto:
Nmero de Identificador de processo (PID Process Identification Number): nmero pelo qual o processo identificado pelo
sistema operacional.
Estado do processo: estado atual do processo (Pronto, Execuo, Em Espera, etc.).
Contador de programa: indica qual instruo do processo dever ser executada.
Prioridade de escalonamento: indica qual a prioridade do processo na escala de prioridade de execuo.
Credenciais: indica quais as permisses o processo possui.
35
Sistemas Operacionais
2.1.3Contexto
Na seo anterior vimos que um processo tem diversas caractersticas, entre elas, o seu estado. O estado representa a situao atual do
processo, ou seja, os valores de suas variveis, as instrues que esta executando, os recursos em uso. Conforme a execuo do processo avana, o
seu estado se altera. O estado de um processo em um determinado instante
conhecido como contexto.
Um processo formado por trs partes: contexto de hardware, contexto de software e espao de endereamento. Atravs destas trs partes
um processo guarde todas as informaes do programa em execuo.
Contexto de
Software
Espao de
Endereamento
Processo
Contexto de
Hardware
36
Processos Captulo 2
Processo
Contexto de
Hardware
Sistemas Operacionais
Sistema Operacional
Processo A
Processo B
executando
Salva registradores do
Processo A
Carrega registradores do
Processo B
executando
Salva registradores do
Processo B
Carrega registradores do
Processo A
executando
38
Processos Captulo 2
As informaes do processo so divididas em trs grupos no contexto de software: identificao, quotas e privilgios.
Identificao: quando um processo criado, por um usurio ou
por outro processo, recebe do sistema operacional um nmero
de identificao nica (PID Process Identification Number)
e a identificao nica do usurio (UID User Identification)
referente ao usurio ou processo que o criou. O sistema operacional e outros processos utilizam o PID para fazer referncias
aos processos em execuo.
Quotas: o limite de recursos que um processo pode alocar e
definidos em quotas. Um processo em execuo pode ter necessidade de mais recursos do que lhe foi estipulado. Esta situao
de insuficincia de quota pode causar a lentido na execuo do
processo, sua interrupo ou nem mesmo ser executado.
Privilgio: cada processo possui privilgios que lhe permite
executar aes a ele mesmo, como alterar seus limites de alocao de memria, sua prioridade de execuo etc. Alm dele
mesmo, o processo pode ter privilgios de efetuar aes a outros processos e ao sistema operacional.
Contexto de
Software
Processo
Sistemas Operacionais
Espao de
Endereamento
Processo
40
Processos Captulo 2
Processo 1
Processo 2
Processo 3
De acordo com Silberschatz et al. (2004) h quatro mudanas de estado que podem ocorrer durante o seu ciclo de vida de um processo:
Novo Pronto: esta mudana de estado ocorre quando o processo admitido pelo sistema operacional e termina de ser carregado na memria, aguardando apenas a oportunidade de ser
escolhido pelo escalonador para ser executado.
41
Sistemas Operacionais
Pronto Em Execuo: esta mudana ocorre quando o escalonador escolhe um processo na fila de pronto para ser executado.
Em Execuo Pronto: esta mudana ocorre quando o tempo
de uso do processador pelo processo chaga ao fim. O processo
retorna para a fila de processos prontos at ser novamente habilitado pelo escalonador para usar o processador.
Em Execuo Em Espera: esta mudana ocorre quando o
processo aguarda um evento ou necessite utilizar algum recurso que no esteja disponvel no momento, por exemplo. Isto faz
com que o processo libere o uso do processador e fique em estado de espera enquanto aguarda o evento ou a disponibilidade
do recurso.
Em Espera Pronto: esta mudana ocorre quando o processo
recebe o evento esperado ou o recurso solicitado fica disponvel para uso. Consequentemente o processo volta para a fila de
pronto a fim de aguardar ser processado.
Em Execuo Terminado: esta mudana ocorre quando o
processo finaliza sua execuo ou quando acontece algum erro
e o processo precisa ser abortado.
Interrupo
Processo
carregado
em memria
Novo
Selecionado
pelo
escalonador
Pronto
Ocorrncia do
evento ou
dado disponvel
Fim da
execuo
Em Execuo
Em Espera
Terminado
Aguardando um
evento ou
dado externo
42
Processos Captulo 2
2.3Threads
43
Sistemas Operacionais
Contexto de
Software
Espao de
Endereamento
Thread 1
Contexto de
Hardware
Contexto de
Software
Espao de
Endereamento
44
Thread 1
Thread 2
Thread 3
Contexto de
Hardware
Contexto de
Hardware
Contexto de
Hardware
Processos Captulo 2
Nos dias atuais temos acesso a computadores com multiprocessadores, os quais, a maioria dos programas levam em considerao em seu
desenvolvimento, para obter melhor desempenho.
Muitos problemas solucionados por um programa no so executados sequencialmente, so divididos em vrias tarefas interdependentes
que relacionam entre si a fim de atingir um objetivo comum. Os cdigos
dos programas so estruturados de tal forma que permitem serem executados concorrentemente atravs de mltiplos processos ou threads. Programas com estas caractersticas so chamados de aplicaes concorrentes.
Aplicaes concorrentes proporcionam um melhor desempenho
mesmo no havendo um paralelismo real na execuo dos processos ou
threads. Onde h o paralelismo real, em casos de sistemas com mltiplos
processadores, as aplicaes concorrentes melhora ainda mais estas vantagens.
45
Sistemas Operacionais
46
Programas desenvolvidos para serem executados de modo sequencial, que executam apenas um nico fluxo por vez, no se beneficiam das
vantagens oferecidas por um sistema com mltiplos processadores. Programas como editores de texto, navegadores web e jogos, caso fossem um
programa sequencial, no teramos a alta interatividade que temos nestas
aplicaes. Os editores de texto, por exemplo, permitem a digitao enquanto efetuam a reviso ortogrfica. Os navegadores web interagem com
usurio atravs das pginas de Internet ao mesmo tempo em que tarefas de
comunicao com a rede esto sendo executadas.
Os bancos de dados, essencial nas aplicaes atuais, principalmente
aplicaes empresariais como Sistema integrado de gesto empresarial
(SIGE ou ERP Enterprise Resource Planning) so outro exemplo de
aplicaes concorrentes. Um sistema ERP integra todos os dados e processo de uma organizao em um nico sistema e estes dados so armazenados em um banco de dados. Caso o banco de dados utilizado por um
ERP fosse sequencial, atenderia um nico usurio por vez. Logo se um
usurio estivesse dando entrada de mercadoria no estoque, todo o restante
da empresa estaria parado, aguardando o trmino desta tarefa, tornando
este tipo de sistema invivel para uma empresa.
Para que os processos concorrentes possam cooperar entre si,
necessrio que haja uma comunicao entre eles para troca e compartilhamento de informaes, alm de um sincronismo, efetuado pelos sistemas
operacional para que as atividades sejam executadas sem erros. Diversos
mecanismos podem ser utilizados para efetuar a comunicao entre os
processos, como variveis compartilhadas na memria principal, quanto
memria compartilhada entre os processos. Quando a memria no
compartilhada, os processos podem trocar mensagens para compartilhar
as informaes entre si.
Para ilustrar o uso de memria compartilhada e a eficincia dos programas concorrentes em relao aos programas sequenciais, Oliveira et al.
(2010) propem uma pequena tarefa de impresso de arquivo, que deve
ser executada por um programa. O programa deve ler um arquivo do disco
rgido, efetuar a formatao adequada para imprimir e por fim, enviar para
a impressora. A figura 30 exibe as trs operaes feitas utilizando um programa sequencial. Neste caso utilizado apenas um processo.
Processos Captulo 2
Arquivo
Impressora
Fsica
Processo
Esperando
Executando
Enviando Dados
4
Tempo
A Figura 32 exibe a mesma tarefa sendo executada por um programa concorrente. Logo foi utilizado dois processos na execuo da tarefa:
processo leitor e processo impressor.
A funo do processo leitor ler o arquivo do disco rgido, efetuar
a devida formatao e colocar na varivel compartilhada. O processo impressor retira os dados da varivel e envia para o buffer da impressora.
47
Sistemas Operacionais
Arquivo
Processo
Leitor
Varivel
Processo
Impressor
Impressora
Fsica
Disco
Processo
Leitor
Processo
Impressor
Impressora
Esperando
Executando
Enviando Dados
Tempo
48
Processos Captulo 2
Na seo anterior, vimos que as aplicaes concorrentes em sistemas operacionais multiprogramveis permitiram um grande avano e
eficiente em relao aos programas sequenciais. A eficincia decorre do
trabalho cooperativo entre os processos e do acesso compartilhado de
recursos, como memria, dispositivos de entrada/sada e arquivos. Em
muitos casos o acesso a compartilhado pode gerar situaes de inconsistncia de informaes ou problemas intermitentes de difcil reproduo e
soluo do mesmo. Estes problemas impulsionaram a criao de mecanismos nos sistemas operacionais a fim de ordenar a execuo dos processos,
chamados de sincronizao.
49
Sistemas Operacionais
Arq_A.doc
Processo A
Prximo
Slot Livre
Spooler
Fila de Impresso
(slots)
7
Figura.png
Tarifa.xls
Arq_A.doc
Processo A
Entrada
9 Apostila.pdf
10
Prximo
Slot Livre
Prximo
Slot Livre
Prximo
Slot livre
Figura.png
Tarifa.xls
9 Apostila.pdf
10
Prximo
Slot Livre
10
10
Entrada
10
Prximo
Slot livre
Processo B
Processo A
Arq_B.doc
Arq_A.doc
Processo A
Prximo
Slot Livre
Arq_B.doc
Spooler
Fila de Impresso
(slots)
7
Figura.png
Tarifa.xls
Arq_A.doc
Processo A
Entrada
9 Apostila.pdf
Prximo
Slot Livre
10
Spooler
Fila de Impresso
(slots)
10
10
Arq_A.doc
Prximo
Slot Livre
Processo B
Arq_B.doc
Figura.png
Tarifa.xls
9 Apostila.pdf
11
Prximo
Slot livre
Spooler
Fila de Impresso
(slots)
10
Prximo
Slot Livre
Arq_B.doc
Entrada
11
Prximo
Slot livre
Processo B
Arq_B.doc
50
A soluo para o problema de condies de corrida (race conditions) se inicia pela identificao da parte do
programa que gera disputa dos recursos
compartilhados e da parte que no gera
disputa. A parte que gera disputa
Uma das tarefas dos programadoconhecida como regio crtica ou
res testar o programa que esta sendo
seo crtica e a que no gera discriado. Esta tarefa no nada fcil quando
o programa em teste contm condies de
puta e conhecida como cdigos
corrida.
Esta condio faz com que a maioria
reentrante ou cdigo pblico.
dos testes tenham bons resultados, mas,
Uma vez identificado rede tempos em tempos, algo estranho e
gio crtica, o prximo passo para
inexplicvel acontece (TANENBAUM;
WOODHYLL, 1999).
a soluo do problema atender os
seguintes aspectos:
E xcluso mtua: garantir
que apenas um processo por vez
ter acesso regio crtica.
Progresso: caso um processo deseja utilizar uma regio crtica
que no est em uso, outros processos no podem bloque-lo
de utilizar a regio crtica.
Processos Captulo 2
Sistemas Operacionais
2.5.4Semforos
52
Processos Captulo 2
2.5.5Monitores
O mecanismo de semforo muito importante para a implementao de excluso mtua, mas por no ser estruturado, pode ser difcil sua
utilizao em um programa. Este fato exige do desenvolvedor um cuidado
redobrado na programao, teste e depurao para no causar problemas
intermitentes, difcil de reproduzir e solucionar. Em 1974 C.A.R Hoare
props um mecanismo de sincronizao de alto nvel chamado Monitor.
Os monitores oferecem as funcionalidades dos semforos, porm tem a
caracterstica de ser estruturado, logo seu cdigo mais legvel e consequentemente mais imune a bugs.
Formado por um mdulo, que encapsula as variveis e procedimentos, o monitor diminui a complexidade da programao alm de implementar a excluso mtua entre os procedimentos de forma automtica. A
excluso mtua entre procedimentos significa que, em um determinado
instante, apenas um processo de cada vez tem a permisso de executar
um dos procedimentos do monitor. Caso outro processo chame qualquer
um dos procedimentos, este ficar bloqueado, aguardando em um fila de
entrada at que seja sua vez.
Quando a memria no compartilhada, os processos trocam mensagens para compartilhar informaes entre si. Esta situao pode ocorrer
53
Sistemas Operacionais
Contexto de
Software
Processo B
Send(B, MSG)
Receive(A, MSG)
Contexto de
Software
msg
Espao de
Endereamento
Espao de
Endereamento
Thread 1
Thread 1
Canal de Comunicao
Contexto de
Hardware
Contexto de
Hardware
Para que a comunicao entre processos acontea, os processos necessitam saber como se referir um ao outro. A forma como os processos
se referenciam caracteriza o tipo de comunicao entre eles podendo ser:
Comunicao direta: este tipo de comunicao exige que o
processo que deseja enviar ou receber uma mensagem, deve
explicitar o nome do processo receptor ou transmissor da mensagem. O tipo de comunicao direta tem a restrio de permitir a troca de mensagens somente entre dois processos.
54
Processos Captulo 2
Espao de
Endereamento
Processo A
Processo B
Contexto de
Software
Contexto de
Software
Espao de
Endereamento
Thread 1
Contexto de
Hardware
Thread 1
Contexto de
Hardware
Comunicao indireta: neste tipo de comunicao, so utilizadas caixas postais para o recebimento e envio de mensagens. O
processo transmissor deposita mensagens na caixa postal que
so retiradas pelo processo receptor. Neste tipo de comunicao pode haver vrias caixas postais para a comunicao dos
processos. Cada caixa recebe uma identificao nica, assim
um processo pode enviar ou receber mensagens de outro processo utilizando caixas postais diferentes, desde que os processos compartilhem o uso da mesma caixa.
Espao de
Endereamento
Processo A
Processo B
Contexto de
Software
Contexto de
Software
Thread 1
Contexto de
Hardware
Caixa
Postal
Espao de
Endereamento
Thread 1
Contexto de
Hardware
55
Sistemas Operacionais
Atividades
02. O processo composto por trs partes, entre elas o contexto de software.
Das opes abaixo, qual opo que faz parte do contexto de software?
a) Registrador SP
b) Registrador PC
c) PID
d) Endereo de memria
e) Registrador de status
03. Por que os processos I/O-Bound ficam no estado Em Espera durante grande parte do seu ciclo de vida
Reflexo
56
Processos Captulo 2
Leituras recomendadas
Referncias
DEITEL H. M.; DEITEL P. J.; CHOFFNES D. R. Sistemas Operacionais. 3 ed. So Paulo, Editora Prentice-Hall, 2005.
HENNESSY, J. L.; PATTERSON, D. A. Arquitetura de Computadores: uma abordagem quantitativa. 3 ed. Rio de Janeiro: Campus,
2003.
MACHADO, F. B.; MAIA, L. P. Arquitetura de sistemas operacionais. 4 ed. Rio de Janeiro: LTC - Livros Tcnicos Editora S.A., 2007.
Sistemas Operacionais
No prximo captulo
No captulo seguinte, estudaremos sobre os principais conceitos relacionados ao escalonamento de processos. Voc observar as diferenas
entre os diversos tipos de escalonadores. Sero apresentados como feito
a avaliao de um escalonador.
58
Gerncia de
Processador
Cap
t u
lo
Voc se lembra?
Sistemas Operacionais
3.1 Fundamentos
Estudamos em captulos anteriores que em sistemas multiprogramveis podemos ter vrios processos em estado de Pronto indicando
que esto aguardando para serem executados. Neste momento, o sistema
operacional, atravs do escalonador de processo (scheduler), deve decidir
qual processo ser executado primeiramente pelo processador. A tomada
de deciso, feita pelo escalonador, leva em considerao critrios de uso
do processador pelos processos com base nas polticas de escalonamento.
A poltica de escalonamento a estrutura base da gerncia do processador.
So funes bsicas da poltica de escalonamento:
Manter o processador ocupado por maior tempo possvel.
Efetuar o balanceamento de uso do processador entre processos.
Aplicaes crticas devem ser executadas prioritariamente.
Maximizar o throughput (nmero de processos finalizados em
um dado intervalo de tempo) do sistema.
Processos interativos devem ter tempos de resposta razoveis.
Uma vez definido qual processo deve ser executado, o sistema
operacional passa a execuo para o mdulo conhecido como Dispatcher
(despachante). O mdulo Dispatcher responsvel por efetuar a troca de
contexto e dar o controle do processador para o processo selecionado pelo
escalonador. Esta operao de troca de contexto gasta um determinado
tempo que conhecido como latncia do dispatcher, ou seja, o tempo
para interromper a execuo de um processo para executar outro.
Estado de
Execuo
nto
ame
alon
Esc
Estado de
Espera
60
Estado de
Pronto
Figura 39 Escalonamento.
Fonte: Machado e Maia (2007)
Selecionado
pelo
escalonador
Pronto
Ocorrncia do
evento ou
dado disponvel
Fim da
execuo
Em Execuo
Em Espera
Terminado
Aguardando um
evento ou
dado externo
Sistemas Operacionais
62
Throughput: indica o nmero de processos executados por unidade de tempo. Logo Throughput representa a produo do sistema e
deve ser maximizado. Para longos processos, o valor de Throughput ser baixo. Para curtos o valor de Throughput ser alto. As
polticas de escalonamento procuram maximizar o Throughput.
Tempo de Processador: tempo em que um processo fica em
execuo no processador. Este tempo e influenciado apenas
pelo cdigo da aplicao e entrada de dados e no pelas polticas de escalonamento. As polticas de escalonamento no tm
efeito sobre este tempo.
Tempo de Espera: tempo total de espera, para ser executado, de
um processo na fila de Pronto. As polticas de escalonamento
procuram reduzir ao mximo este tempo.
Tempo de Turnaround: indica o tempo total de vida de um processo, desde sua criao at o momento que encerrado. No
clculo deste tempo esto os tempos gastos com alocao de
memria, espera na fila de pronto, interrupes de entrada e sada. As polticas de escalonamento procuram
reduzir ao mximo este tempo.
Tempo de resposta: indica o tempo
Conexo:
Aprofunde seus conhegasto para produzir uma resposta a
cimentos sobre escalonauma solicitao de uma aplicao
mento:
ou sistema. Este tempo est re- <http://www.oficinadanet.com.br/
lacionado com a velocidade dos
post/12781-sistemas-operacionais-o-que-e-escalonamendispositivos de entrada e sadas. As
to-de-processos>.
polticas de escalonamento procuram reduzir ao mximo este tempo.
Sistemas Operacionais
O escalonamento FIFO se baseia em uma fila simples do processador. Aps ser criado e receber o estado de Pronto, o processo entra na fila
de pronto. O escalonador sempre coloca o primeiro processo da fila para
ser executado. A liberao do processador pelo processo em execuo
somente acontece caso o processo mude seu estado para Em Espera,
Terminado ou quando ocorrer um erro na execuo.
Fila dos Processos no Estado de Pronto
Estado de
Criao
UCP
Estado de
Trmino
Estado de
Espera
Figura 41 Escalonamento FIFO.
64
Processo
Tempo de Espera
Tempo de Execuo
P3
P2
P1
10
Tempo na CPU
P3
P2
P1
10 12
Tempo
Processo
Tempo de Espera
Tempo de Execuo
P1
P2
P3
Tempo na CPU
P3
P2
P1
2
12
Tempo
65
Sistemas Operacionais
Processo
Tempo de
Espera
Tempo de
Execuo
Tempo de
Espera
P3
P2
P1
Tempo na CPU
P3
P2
Proibida a reproduo UniSEB
P1
66
2
Figura 44 Escalonamento SJF.
12
Tempo
67
Sistemas Operacionais
Quantum
Surto
Figura 45 Surto de um processador.
UCP
Estado de
Trmino
Estado de
Espera
68
Hora de Chegada
Durao
24
Processos
Diagrama de GANTT
A
C
A
C
A
Durao
Um ponto crtico no desempenho do escalonamento circular a definio do quantum. Alm do quantum, o sistema operacional necessita de
certa quantidade de tempo para executar a parte administrativa relacionada troca de processos salvar e carregar contexto de hardware, software
etc. Dependendo do tempo definido para o quantum, pode haver maior ou
menor nmero de trocas de contexto aumentado o tempo administrativo e
consequentemente perda de eficincia.
Por exemplo, caso tenha um processo que o tempo total para ser
executado de 10 unidades de tempo e cada unidade de tempo for 20ms,
ento o processo necessitar de 200ms para ser executado. Para o tempo
administrativo sero necessrios 5ms para efetuar todo o procedimento
para troca de contexto. Por fim podemos simular o quantum com os seguintes valores:
69
Sistemas Operacionais
tempo em ms
N Troca
Tempo Administrativo
12
240
120
20
45
a
b
c
10
11
12
70
UCP
Estado de
Trmino
Estado de
Espera
Figura 49 Escalonamento circular Virtual.
Os tempos atribudos para os processos da fila auxiliar so diferentes da fila de tempo. O clculo de tempo que o processo da fila auxiliar
recebe para a execuo (Figura 50 (b)), leva em conta o seu ltimo tempo
de ocupao do processador (Figura 50 (a)).
Este ajuste dinmico do escalonamento dos processos para
Tempo recebido aps fila auxiliar = Quantum ltimo tempo em
execuo
71
Sistemas Operacionais
Quantum
a
ltimo tempo em execuo
b
Tempo recebido aps fila auxiliar
Figura 50 Tempo recebido aps fila auxiliar.
72
Tempo de
processador
(u.t)
Prioridade
10
Processo A
Processo B
Processo C
3
13
17
u.t.
Diferente do escalonador circular, que divide o tempo do processador para uso dos processos, no escalonamento por prioridade no existe
este conceito de fatia de tempo, o que pode
deixar um processo com maior prioridade utilizando o processador por
tempo indeterminado (starvation)
Silberschatz et al. (2004) relata um
fato de starvation que ocorreu em 1973
e desta forma processos de menos
quando o IBM 7094 do M1T foi desligado.
prioridade podem nunca serem
Ao desligar o IBM 7094, foi encontrado um
executados.
processo de baixa prioridade que aguardava
Logo, para que um processer executado desde 1967.
so de maior prioridade no utilize
o processador por tempo indeterminado (starvation) utilizada
uma estratgia conhecida como
aging (envelhecimento). A estratgia
aging pode ser implementada de duas for73
Sistemas Operacionais
Prioridade P2
UCP
Estado de
Trmino
Estado de
Criao
Prioridade Pn
74
que chegou fila de pronto com maior prioridade, ser colocado no incio
da fila. A prioridade de execuo pode ser classificada como:
Esttica: o valor de prioridade associado ao processo no momento de sua
Conexo:
criao e no alterado durante o
Recomendamos a
leitura deste artigo para
seu ciclo de vida.
melhor
compreenso sobre
Dinmica: o valor de prioridade
escalonamento de processos:
associado ao processo pode variar
<http://www.soffner.com.br/
durante seu ciclo de vida levando
Semana5_SOII.htm>.
em considerao critrios estabelecidos pelo sistema operacional.
O processador, no escalonamento por prioridade, fica desbalanceado em relao dos processos CPU-Bound e I/O-Bound. Processos do tipo
I/O bound tende a utilizar mais recursos de entrada e sada, o que faz com
que o mesmo passe a maior parte do tempo em estado de Em Espera
aguardando que uma solicitao de entrada e sada termine. Um melhor
balanceamento do processador foi alcanado com a implementao do
escalonador circular com prioridades. O escalonador circular com prioridades adicionou, j existente prioridade de processo, o conceito de fatia
de tempo. Desta maneira um processo pode perder o uso do processador
quando houver um processo com maior prioridade ou o seu quantum finalizar ou quando entrar em estado de Em Espera.
Fila dos Processos no Estado de Pronto
Prioridade P1
Prioridade P2
UCP
Estado de
Trmino
Estado de
Criao
Prioridade Pn
Preempo por
Prioridade ou Tempo
Solicitao de
Entrada/Sada
Sistemas Operacionais
76
Menor
prioridade
Figura 54 Mltiplas filas de escalonamento.
Fonte: Machado e Maia (2007).
77
Sistemas Operacionais
Para que os processos, como o do estudante, no fique indefinidamente sem execuo, caso as filas acima estejam sempre ocupadas, existe
a possibilidade de dividir o tempo de processamento entre as diversas
filas. Esta diviso pode ser feita, por exemplo, atribuindo 80% do tempo
do processador para as filas de processos do tipo foreground, com escalonamento circular, e 20% para os processos do tipo background, com escalonamento do tipo FIFO. As filas por sua vez, dividem o tempo recebido
entre os seus processos.
78
79
Sistemas Operacionais
Menor
fatia
de tempo
Fila n (Circular)
Menor
prioridade
Maior
fatia
de tempo
80
e ser associado a uma fila de menor prioridade. J os processos I/O-Bound conseguem ter um melhor tempo de resposta, isto porque este tipo
de processo tem uma grande tendncia de sofrer preempo por solicitao a um recurso do sistema, e com isso, voltar para o final da mesma fila
de prioridade de onde saiu, permanecendo um maior tempo em filas com
prioridades mais altas.
P1
P2
P3
P4
81
Sistemas Operacionais
9 10 11 12 13 14 15 16 17 18 19
Tempo de Resposta
Processo P1 Tr= 7
Processo P2 Tr= 7 + 3
Processo P3 Tr = 7 + 3 + 5
Processo P4 Tr = 7 + 3 + 5 + 4
Tr= 7ms
Tr= 10ms
Tr= 15ms
Tr= 19ms
P1
P3
P4
P2
1
9 10 11 12 13 14 15 16 17 18 19
Tempo de Resposta
Processo P1 Tr = 3 + 4 + 5 + 7
Processo P2 Tr = 3
Processo P3 Tr = 3 + 4 + 5
Processo P4 Tr = 3 + 4
82
Tr = 19ms
Tr = 3ms
Tr= 12ms
Tr= 7ms
P4
P3
P2
P1
1
9 10 11 12 13 14 15 16 17 18 19
Tempo de Resposta
Para o clculo utilizaremos Quantum = 30m.
Processo P1 Tr= 3 + 3 + 3 + 3 + 3 + 2 + 1 + 1
Processo P2 Tr = 3 + 3
Processo P3 Tr = 3 + 3 + 3 + 3 + 3 + 2
Processo P4 Tr = 3 + 3 + 3 + 3 + 3 + 2 + 1
Tr= 19ms
Tr= 6ms
Tr= 17ms
Tr= 18ms
Atividades
83
Sistemas Operacionais
Reflexo
Leituras recomendadas
Referncias
DEITEL H. M.; DEITEL P. J.; CHOFFNES D. R. Sistemas Operacionais. 3 ed. So Paulo, Editora Prentice-Hall, 2005.
HENNESSY, J. L.; PATTERSON, D. A. Arquitetura de Computadores: uma abordagem quantitativa. 3 ed. Rio de Janeiro: Campus, 2003.
MACHADO, F. B.; MAIA, L. P. Arquitetura de sistemas operacionais. 4 ed. Rio de Janeiro: LTC - Livros Tcnicos Editora S.A., 2007.
84
No prximo captulo
85
Sistemas Operacionais
Minhas anotaes:
86
Gerncia de Memria
Cap
t u
lo
Voc se lembra?
Voc se lembra de como os processos so escalonados, certo? Estes conceitos ns estudamos no captulo 3. A partir deste momento, veremos
quais as estratgias que o sistema operacional utiliza para a alocao
dos processos na memria.
Sistemas Operacionais
4.1 Funes
88
Sistemas Operacionais
aps uma determinada ao. Uma vez iniciada a transferncia, uma determinada quantidade de bytes por segundo podem ser lidos ou escritos em
um meio de armazenamento. A esta quantidade de bytes por segundo lidos
ou escrito por segundo e dado o nome de taxa de transferncia.
Tabela 7 - Tempos de acesso e taxas de transferncia.
Meio
Tempo de acesso
Taxa de transferncia
Cache L2
1 ns
1 GB/s (1 ns/byte)
Memria RAM
60 ns
1 GB/s (1 ns/byte)
memria flash
(NAND)
2 ms
Disco
IDE
rgido
DVD-ROM
Levando em considerao as principais caractersticas dos componentes de armazenamento, como custo, capacidade de armazenamento,
tempo de acesso e taxa de transferncia, possvel definir uma pirmide
de hierarquia de memria.
registradores
cache L1
cache L2
voltil
no-voltil
memria RAM
memria Flash
disco rgido
90
velocidade,
custo e
consumo
de energia
Na base pirmide esto os componentes que armazenam informaes acessadas com menor frequncia pelo processador. Isto permite
utilizar componentes de custo mais baixo e alta capacidade de armazenamento. Por outro lado, so consideradas como memrias mais lentas
e no-volateis. No topo da pirmide temos os componentes que armazenam informaes acessadas com maior frequncia pelo processador. So
memrias com custo elevado e baixa capacidade de armazenamento. No
entanto, so memrias extremamente rpidas, apesar de serem volteis.
Os processos sendo executados no processador possuem instrues que fazem referncias a endereos de memria. Estes endereos
de memria gerados pelo programa so chamados endereos lgicos ou
endereos virtuais. Os endereos lgicos esto relacionados ao programa
e no necessariamente so iguais aos endereos na memria real do computador. Como o processador apenas pode acessar posies de memria
principal, ou seja, endereos fsicos, o endereo lgico traduzido para
endereo fsico. Esta traduo conhecida como mapeamento. Para que
no haja perda de desempenho, o mapeamento feito por um dispositivo
de hardware conhecido como Unidade de Gerenciamento de Memria
(MMU - Memory Management Unit) figura 61.
A figura 61 exibe um exemplo de mapeamento de endereo lgico
para fsico segundo Silberschatz et al. (2004). Neste exemplo, a Unidade
de Gerenciamento de Memria possui um Registrador de Relocao que
est apontando para o endereo fsico de valor igual a 14000. O valor do
registrador de relocao sempre somado aos endereos de memria que
esto sendo acessados pelo processo do usurio em execuo no processador. Assim, se o processo est fazendo referncia ao endereo lgico
de valor 0 ao passar pelo MMU, ser mapeado para o endereo fsico de
valor 14000. Caso o processo faa uma referncia ao endereo lgico de
valor 346 ser mapeado para o endereo fsico de valor 14360. Mesmo
que o usurio crie um ponteiro no programa para acessar o endereo fsico
de memria 346, no acessar esta posio fsica, pois os programas de
usurios tratam de endereos lgicos e nunca acessam diretamente os endereos fsicos reais. Existem outros mtodos diferentes de mapeamento
que sero abordados nas prximas sees.
91
Sistemas Operacionais
CPU
Endereo
Lgico
346
Registrador
de relocao
14000
Endereo
Fsico
14346
Memria
MMU
Figura 61 Traduo de endereo lgico para fsico.
Nas sees seguintes, estudaremos as formas de alocao de memria. A alocao de memria pode ser organizada dos seguintes formas:
Simples
Contgua
Alocao
No-contgua
(Memria
Virtual)
92
Segmentao
Segmentao com Paginao
A alocao contgua ser estudadas nos prximos tpicos e a alocao no contgua no tpico de Memria Virtual.
93
Sistemas Operacionais
0xFFF...
Programa
de usurio
SO em
RAM
SO em
Ram
Programa
de usurio
0
(a)
0
(b)
SO em
Ram
(c)
Registrador
rea para
programa
94
rea de
Overlay
Poro mnima
do programa do
usurio que deve
permanecer em
memria at o
final de execuo
Sistema
Operacional
fase de
inicializao
fase de
processamento
fase de
gerao
de
resultado
d
c
a
0
95
Sistemas Operacionais
Com a evoluo dos sistemas monoprogramveis para os multiprogramveis, houve uma grande necessidade de aprimoramento no modo de
alocao da memria. Isto pelo fato de que, um dos fatores de eficincia
dos sistemas multiprogramveis decorrem de ter vrios programas alocados na memria ao mesmo tempo para serem executados. Assim, surgiu a
alocao particionada fixa. Esta abordagem consiste em dividir a memria em tamanhos fixos, denominadas parties.
A partio da memria pode ser de tamanhos iguais ou diferentes.
O tamanho de cada partio era definido no momento da inicializao do
sistema operacional levando em considerao os programas que seriam
executados. Caso houvesse a necessidade de um particionamento diferente do que tinha sido configurado, era necessrio que o sistema operacional
fosse reinicializado com a nova configurao.
800 k
Participao 4
700 k
Participao 3
400 k
Participao 2
200 k
Participao 1
100 k
SO
0k
96
Participao 4
700 k
Participao 3
400 k
Participao 2
200 k
Participao 1
100 k
SO
0k
97
Sistemas Operacionais
800 k
Participao 4
700 k
Participao 3
400 k
Participao 2
200 k
D
Participao 1
100 k
SO
0k
Sistema Operacional
98
Partio
Tamanho
Livre
2 Kb
No
5 Kb
Sim
8 Kb
No
Programa C
rea Livre
Programa B
Endereo Inicial
Endereo Final
Sistemas Operacionais
Alm disso, uma partio pode ser muito pequena que no possa
acomodar um programa que esteja esperando.
Memria principal
Reg
Sistema
Operacional
Reg
Participao A
Participao B
Fragmentao interna
Participao C
A soluo encontrada foi permitir que um programa ocupasse o espao que for necessrio, de acordo com sua necessidade, desde que haja
espao disponvel na memria. Assim, foi substituda a partio de tamanho fixo pela alocao particionada dinmica. Inicialmente a memria
organizada de forma a no ter nenhuma partio. Conforme h a necessidade de carregar um programa, o sistema operacional cria a partio dinamicamente, de acordo com as necessidades do programa. Consequentemente, eliminou-se a fragmentao interna, mas por outro lado, aumentou
a complexidade da tabela de alocao de parties. A tabela de alocao
de parties passou a no ter mais um nmero fixo de entradas, agora o
nmero de entradas varia de acordo com o nmero de parties.
100
2 Kb
3 Kb
1 Kb
4 Kb
Memria Principal
Memria Principal
Sistema Operacional
Sistema Operacional
15 Kb
Programa B
4 Kb
Programa C
1 Kb
Programa E
3 Kb
Programa A
2 Kb
5 Kb
Esta soluo gerou um outro problema. Conforme os programas terminam sua execuo e desalocam a partio, vo deixando cada vez mais,
pequenos espaos vazios na memria. Estes espaos vo se espalhando
pela memria e muitas vezes so to pequenos, que no possvel utiliz-los
para alocar um novo programa. Este problema conhecido como fragmentao externa.
Memria principal
Sistema
Operacional
Processo A
Processo C
Processo F
Fragmentao externa
Processo E
Memria Principal
Memria Principal
Sistema Operacional
Sistema Operacional
Sistema Operacional
4 Kb
4 Kb
8 Kb
Programa C
3 Kb
3 Kb
Programa A
Programa A
5 Kb
Programa A
5 Kb
5 Kb
101
Sistemas Operacionais
Memria Principal
Sistema Operacional
Sistema Operacional
Programa C
Programa A
4 Kb
Programa C
3 Kb Relocao
Programa A
12 Kb
5 Kb
102
Conexo:
Entenda um pouco mais
sobre gerenciamento de
memria
<http://www.ricardobarcelar.com.
br/aulas/soa/mod2-ger_memoria.pdf>.
Partio
Tamanho
Livre
2 Kb
No
5 Kb
Sim
8 Kb
No
rea Livre 1
4 Kb
Programa C
rea Livre 2
5 Kb
Programa A
rea Livre 3
3 Kb
103
Sistemas Operacionais
16MB
5MB
14MB
30MB
a
b
c
d
Requisio
de 13 MB
e
f
Sistema operacional
Lacuna de 16 MB
Em uso
Lacuna de 14 MB
Em uso
Lacuna de 5 MB
Em uso
g
.
.
.
Lacuna de 30 MB
h
Endereo
Tamanho
de incio
104
30MB
16MB
14MB
5MB
d
Requisio
de 13 MB
e
f
Sistema operacional
Lacuna de 16 MB
Em uso
Lacuna de 14 MB
Em uso
Lacuna de 5 MB
Em uso
g
.
.
.
Lacuna de 30 MB
h
a
b
14MB
16MB
30MB
c
d
e
f
Sistema operacional
Lacuna de 16 MB
Em uso
Lacuna de 14 MB
Em uso
Lacuna de 5 MB
Em uso
g
.
.
.
Lacuna de 30 MB
h
Nas pesquisas efetuadas por Johnstone e Wilson (1999) foram demostradas que as estratgias mais eficientes so a Estratgia o que melhor
couber (Best-Fit) e Estratgia o primeiro que couber (First-Fit), sendo
que a First-Fit se mostrou bem mais rpida que a anterior.
Sistemas Operacionais
Sistema
Operacional
Swap Out
Espao do
usurio
Swap In
Processo 1
Processo 2
Figura 79 Swapping.
106
4.5.1Paginao
Sistemas Operacionais
X1
X2
X3
X4
Y1
Y2
Y3
Y4
Z1
Z2
Z3
Z4
Z1
Z2
Z3
Z4
X1
X2
X3
X4
Endereo Virtual de
Y2
001
Endereo Virtual de
Y2
01
101
01
ETP
Tabela de Pginas
Pag. Virtual
Pag. Real
000
010
001
101
010
000
Y1
Y2
Y3
Y4
000 00
000 01
000 10
000 11
001 00
001 01
001 10
001 11
010 00
010 01
010 10
010 11
011 00
011 01
011 10
011 11
100 00
100 01
100 10
100 11
101 00
101 01
101 10
101 11
4.5.2Segmentao
108
Memria Principal
Sistema
Operacional
7KB
10KB
10KB
Livre
Livre
9KB
30KB
14KB
Requisitos de
espao do processo
que est chegando
16KB
Livre
109
Sistemas Operacionais
Segmento 00 - Cdigo
00000
00001
00010
00011
00100
00101
C1
C2
C3
C4
C5
C6
Memria Lgica
Memria Fisica
D1
D2
D3
D4
Segmento 01 - Dados
00000
00001
00010
00011
D1
D2
D3
D4
C1
C2
C3
C4
C5
C6
Segmento 10 - Pilha
00000
00001
00010
p1
p2
p3
Tabela de Segmentos
Segmento
Base
Limite
00
01000
0110
01
00000
0100
10
10100
0011
p1
p2
p3
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
110
Neste tipo de gerenciamento de memria so combinadas as tcnicas de segmentao e paginao. Os segmentos so arranjados ao longo
de pginas de memria virtual, permitindo desta forma as vantagens das
duas tcnicas. O mapeamento do endereo virtual para um endereo real
utiliza uma tabela de segmentos e uma tabela de pginas. O endereo virtual formado por um nmero de segmento, nmero de pgina e deslocamento. Cada segmento est associado a uma tabela de pginas. A Figura
83 mostra como feito o mapeamento de um determinado endereo virtual. O nmero de segmento indica qual tabela de segmentos o endereo
est associado. Na tabela de segmentos indica qual tabela de pginas o
segmento est associado. Combinando o nmero da pgina com o deslocamento temos o endereo real.
Segmento virtual
Endereo Virtual
Num.
segmento
Num.
pgina
Deslocamento
Tabela de segmentos
ETS
End. da tabela de pginas
Tabela de pginas
ETP
Endereo do frame
Endereo do frame
Deslocamento
Endereo fsico
Figura 83 Segmentao com paginao.
Atividades
111
Sistemas Operacionais
Reflexo
Leituras recomendadas
Referncias
DEITEL H. M.; DEITEL P. J.; CHOFFNES D. R. Sistemas Operacionais. 3 ed. So Paulo, Editora Prentice-Hall, 2005.
HENNESSY, J. L.; PATTERSON, D. A. Arquitetura de Computadores: uma abordagem quantitativa. 3 ed. Rio de Janeiro: Campus, 2003.
JOHNSTONE, M. S.; WILSON, P. R. The memory fragmentation
problem: solved? ACM SIGPLAN Notices, 34(3): 2636, 1998.
MACHADO, F. B.; MAIA, L. P. Arquitetura de sistemas operacionais. 4 ed. Rio de Janeiro: LTC - Livros Tcnicos Editora S.A., 2007.
112
No prximo captulo
113
Sistemas Operacionais
Minhas anotaes:
114
Gerncia de Entrada e
Sada
Cap
t u
lo
Voc se lembra?
Sistemas Operacionais
5.1 Introduo
Uma das principais funes do sistema operacional fornecer mecanismos que possam servir de comunicao entre o usurio e os diversos
componentes de um computador. Estes componentes so conhecidos
como dispositivos de entrada e sada, tais como mouse, teclado, monitor,
telas sensveis ao toque, impressora, pen drive, etc. No somente interao homem\mquina, mas tambm entre outros computadores (modems,
placas de redes), outros dispositivos como celulares, cmeras digitais,
tablets, etc., ou mesmo dispositivos que permitem o armazenamento de
informaes (disco rgido, fita magntica, CD-ROM, etc.).
Assim, o sistema operacional mantm uma estrutura que permite controlar a diversidade de dispositivos de entrada e sada, atravs de
operaes, tais como envio de comando para os dispositivos, captura das
interrupes geradas, tratamento de erros, interface entre os dispositivos e
o restante do sistema os programas dos usurios, entre outros.
Os dispositivos de entrada e sada podem ser classificados em perifricos de entrada, perifricos de sada ou perifricos de entrada e sada,
de acordo com o fluxo de dados entre o computador e o dispositivo. Segundo Oliveira et al. (2010) um perifrico qualquer dispositivo conectado a um computador de forma a permitir a sua interao com o mundo
externo. Como exemplo de perifricos, podemos citar:
Perifricos de entrada: teclado, mouse, webcam, scanner, etc.
Perifricos de sada: monitor, impressora, caixas de som, etc.
Perifricos de entrada e sada: monitor touchscreen, modem,
pendrive, joystick, impressoras com scanners, etc.
116
Processos de Aplicao
nvel de usurio
nvel de ncleo
data
control
API Entrada/Sada
data
control
Subsistema de Entrada e Sada
Gerenciador
Interrupo
software
hardware
data
control
IRQ
Device Driver
control
IRQ
Controlador
Interrupo
data/control
IRQ
Controlador
DMA
Controlador
Dispositivo
IRQ
data/control
I/O device
117
Sistemas Operacionais
Gerenciador
Interrupo
IRQ
Device Driver
control
HARDWARE
IRQ
Controlador
Interrupo
data/control
IRQ
Controlador
DMA
Controlador
Dispositivo
IRQ
data/control
Dispositivos
Dispositivo
118
velocidade
Teclado
10 B/s
Mouse tico
100 B/s
14 KB/s
125 KB/s
384 KB/s
11.6 MB/s
50 MB/s
116 MB/s
300 MB/s
4.2 GB/s
Fonte: Mazieiro
Sistemas Operacionais
UCP
Controlador
de Impressora
Controlador
de Disco
Controlador
de Fita
Impressora
Disco
Fita
Figura 86 Controladores.
120
Alm dos registradores, o controlador possui um buffer que utilizado para armazenar os dados lidos nos dispositivos at que seja formado
um bloco. Quando o bloco formado, o controlador faz a checagem de
erros, e se no houver nenhum erro, o bloco pode ser transferido para a
um buffer de entrada e sada na memria principal. Esta transferncia do
bloco do buffer interno do controlador para a memria principal pode ser
feita pela UCP ou por um controlador DMA (Acesso Direto Memria Direct Memory Access).
A utilizao do DMA permite, entre outras coisas, que seja liberada a UCP durante o operao de busca de dados nos dispositivos de blocos. Sem o DMA a UCP teria que executar loops
para a transferncia do bloco para a memria principal. A UPC apenas inicia a operao de Entrada e sada informando o endereo inicial na memria e a quantidade de bytes a ser transferido. Desta forma, vrias controladoras possuem suporte a DMA, principalmente as controladoras
de dispositivos de bloco (SILBERSCHATZ et al., 2004).
Conexo:
121
Sistemas Operacionais
Processos de Aplicao
nvel de usurio
nvel de ncleo
data
control
API Entrada/Sada
data
control
Subsistema de Entrada e Sada
Gerenciador
Interrupo
data
control
IRQ
Device Driver
control
SOFTWARE
hardware
IRQ
Controlador
Interrupo
data/control
IRQ
Controlador
DMA
Controlador
Dispositivo
IRQ
data/control
Dispositivos
5.3.1 Drivers
122
Processo
Subsistema de E/S
Driver de
Impressora
Driver de
Disco
Driver de
Fita
Controlador
de Impressora
Controlador
de Disco
Controlador
de Fita
123
Sistemas Operacionais
124
Os dispositivos de entrada e sada so acessados atravs dos aplicativos e linguagens de programao utilizadas pelos usurios. Por exemplo,
o caso de um aplicativo de planilha eletrnica, as operaes para abrir e
salvar um arquivo no disco rgido (dispositivo de armazenamento) feitas
pelo aplicativo ficam transparentes para o usurio. As linguagens de programao, utilizadas para desenvolvimento dos aplicativos, possuem um
conjunto de comandos de alto nvel que so traduzidos pelo compilador
da linguagem em funes que so disponveis em bibliotecas de entrada e
sada. Estas bibliotecas contm funes de chamadas ao sistema operacional e so fornecidas pelos fabricantes do compilador. Uma caracterstica
importante destas bibliotecas e que so fornecidas como um mdulo objeto (relocvel), ou seja, a biblioteca ligada com o programa desenvolvido
pelo programador para compor o aplicativo final.
As operaes de entrada e sada podem ser classificadas de acordo
com o seu sincronismo, podendo ser sncrona ou assncrona. A maioria
dos comandos de alto nvel funciona na forma sncrona. Neste modelo de
sincronismo, o processo chama uma operao e fica em estado de espera
aguardando o final da chamada. Na chamada assncrona, o processo chama a operao e no necessita aguardar o final da chamada em estado de
espera, o processo continua pronto para ser executado.
Tempo
Processo
Bloqueado
Processo A
Chamada
Retorno
Chamada Sincrona
125
Sistemas Operacionais
Tempo
Processo A
Chamada
Retorno
Processo B
Chamada Assincrona
126
Silberschatz et al. (2004) define os arquivos como sendo um conjunto de dados relacionados que gravado no armazenamento secundrio
atravs de um nome. A gravao feita no armazenamento secundrio
principalmente por ser um dispositivo no voltil como um disco rgido,
discos magnticos e discos pticos.
O conjunto de dados contidos em um arquivo pode ser uma sequncia de bit, bytes, linhas ou registros. Os dados ainda podem estar na forma
numrica, alfabtica, alfanumrica ou binria. Desta forma possvel armazenar um arquivo figura, texto, programa executvel, programa fonte, msica,
vdeo, etc. Assim, os arquivos podem representar programas ou dados.
Na viso do usurio e dos programas os arquivos so uma maneira
de gravar informaes no disco rgido e de recuper-las de volta em algum momento. Tanto a gravao quanto a leitura deve ser feita de forma
que o usurio no tenha que conhecer os detalhes de como o disco rgido
trabalha realmente. Isto feito atravs de uma viso lgica uniforme fornecida pelo sistema operacional para o armazenamento de informaes.
Quando um arquivo criado por um programa, ele recebe um nome,
composto por uma cadeia de caracteres. Atravs do nome o arquivo pode
ser acessado pelo programa que o criou ou por outros programas. Tanenbaum e Woodhyll (1999) afirma que dependendo do sistema operacional
h regras diferentes para os nomes dos arquivos, mas todos os sistemas
operacionais aceitam como nomes vlidos de arquivos, sequncias de
caracteres com oito letras. Sistemas mais modernos permitem at 255
caracteres para nomes de arquivos. Outro ponto a ser observado com
relao a nomes escritos com letras maisculas e nomes escritos com letras
127
Sistemas Operacionais
minsculas. No sistema Windows, por exemplo, o arquivo com nome SISTEMA_OPERACIONAL.DOCX a mesma coisa que sistema_operacional.
docx e Sistema_Operacional.DocX. J para o UNIX, os nomes de arquivos
SISTEMA_OPERACIONAL.DOCX, sistema_operacional.docx e Sistema_
Operacional.DocX so arquivos distintos. Em geral, os sistemas operacionais
permitem nomes de arquivos com duas ou mais partes separadas por um
ponto. A parte aps o ponto chamada de extenso. A extenso tem como
finalidade informar algo sobre o arquivo ou uma conveno definida para
ele. Por exemplo, um arquivo com o nome noticia.txt, a extenso .txt, tem
como conveco indicar que o arquivo provavelmente contm um texto. A
tabela a seguir exibe algumas extenses mais comuns para arquivos.
Tabela 9 - Extenses tpicas de arquivos.
Extenso
128
Significado
file.back
file.c
Programa fonte em C
file.gif
file.html
Arquivo de auxlio
file.jpg
file.mp3
file.mpg
file.o
file.pdf
file.ps
file.tex
file.tex
file.txt
Arquivo de textos
file.zip
Arquivo comprimido
Os arquivos possuem um conjunto de informaes de controle conhecidas como atributos. Dependendo do sistema operacional, os atributos de um arquivo podem variar. Em geral os atributos so:
Tamanho: o total de dados que esto armazenados no arquivo.
Localizao: o local onde o arquivo est armazenado.
Sistemas Operacionais
130
1 Registro
Gato
Vaca
Cachorro
Galinha
(a)
bis
(b)
Formiga
Raposa
Porco
Cabrito
Leo
Coruja
Potro
Rato
Minhoca
Carneiro
(c)
Um sistema pode conter uma elevada quantidade de arquivos armazenados em seu disco rgido. A organizao lgica destes arquivos feita
pelo sistema de arquivos atravs de estruturas de diretrios.
A forma como os diretrios so organizados pode variar de acordo
com o sistema operacional. As formas mais comuns de organizao so
mostradas na figura 99. A primeira forma de estrutura e que foi utilizada
nos primeiros computadores mostrada na figura 99 (a). Esta estrutura,
considerada a forma mais simples de organizao, uma estrutura de
diretrio de nvel nico (ou plana). No diretrio de nvel nico, todos
os arquivos de todos os usurios so mantidos em um nico diretrio. O
problema desta estrutura que os usurios criem arquivos com o mesmo
nome.
A figura 93 (b) exibe uma estrutura de diretrio em dois nveis.
Com a estrutura em dois nveis possvel que cada usurio possua o seu
prprio diretrio. Desta forma, os usurios podem criar seus arquivos com
qualquer nome sem ter a necessidade de verificar se outro usurio criou
um arquivo com o mesmo nome. Para permitir que os usurios possam
131
Sistemas Operacionais
Diretrio-raiz
A
Diretrio-raiz
A
B
A
Diretrio
de usurio
Arquivos
B
B
(b)
Subdiretrios
de usurio
(a)
C
C
(c)
Figura 93 Trs projetos de sistemas de arquivos. (a)Diretrio de nvel nico (ou plana).
(b) Diretrio em dois nveis. (c) Diretrio em rvore.
Fonte: Tanenbaum e Woodhyll (1999).
Segundo Deitel et al. (2005), um diretrio um arquivo onde so armazenados os nomes e as localizaes referentes a outros arquivos.
A alocao de espao em armazenamento secundrio enfrenta problemas semelhantes aos de alocao da memria principal. Toda vez que
se aloca e libera espaos no disco rgido, este fica cada vez mais fragmentado. A fragmentao do disco faz com que os arquivos fiquem espalhados
por blocos, muitas vezes distantes uns dos outros, que podem causar perda
de desempenho do sistema.
Existem trs formas mais utilizada para alocar espao em disco:
contguo, encadeado e indexado.
132
blocos
incio
foto1.jpg
10417
nome
relat.pdf
28211
13
instruc.txt
6214
20
sinfonia.mp3
19116
bloco em uso
bloco livre
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
A alocao encadeada permite que os blocos sejam alocados de forma no contgua. Os blocos de um arquivo podem estar armazenados em
locais diferentes no disco rgido. O diretrio contm um ponteiro para o
primeiro bloco do arquivo, este bloco, por sua vez, aponta para o prximo, e assim sucessivamente o mtodo de alocao encadeada resolve boa
parte dos problemas encontrados na alocao contgua. O problema neste
tipo de alocao, est no fato dos blocos dos arquivos estarem espalhados
pelo disco rgido, h um aumento no tempo de acesso destes arquivos.
133
Sistemas Operacionais
Tabela de diretrio
nome
bytes
blocos incio
foto1.jpg
10417
relat.pdf
28211
13
instruc.txt
6214
20
sinfonia.mp3
6214
bloco em uso
bloco livre
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Um problema da alocao encadeada que para acessar um determinado bloco necessrio iniciar a busca no primeiro bloco e ir navegando na lista at encontrar o bloco desejado. No possvel acessar o bloco
diretamente. Este problema foi solucionado com a alocao indexada.
Neste mtodo todos os ponteiros de um arquivo so colocados em um
mesmo bloco chamado bloco de ndices, conforme figura abaixo. Desta
forma qualquer bloco do arquivo pode ser acessado diretamente.
134
Tabela de i-nodes
Tabela de diretrio
nome
foto1.jpg
relat.pdf
i-node
4
5
instruc.txt
10
sinfonia.mp3
31
10417
...
i-node 5
meta-dados
bloco em uso
bloco livre
ponteiros
de dados
13
16
17
19
22
10
12
null
null
null
Sistemas Operacionais
Incio
11001101
10000111
01110100
.
.
.
11100000
(a) Mapa de bits
Bloco
Contador
10
13
25
20
50
136
Atividades
Reflexo
Leituras recomendadas
Sistemas Operacionais
Referncias
CARPINELLI, J.D. Computer Systems Organization and Architecture.
Boston, MA: Addison-Wsley, 2001.
DEITEL H. M.; DEITEL P. J.; CHOFFNES D. R. Sistemas Operacionais. 3 ed. So Paulo, Editora Prentice-Hall, 2005.
HENNESSY, J. L.; PATTERSON, D. A. Arquitetura de Computadores: uma abordagem quantitativa. 3 ed. Rio de Janeiro: Campus, 2003.
JOHNSTONE, M. S.; WILSON, P. R. The memory fragmentation
problem: solved? ACM SIGPLAN Notices, 34(3): 2636, 1998.
MACHADO, F. B.; MAIA, L. P. Arquitetura de sistemas operacionais. 4 ed. Rio de Janeiro: LTC - Livros Tcnicos Editora S.A., 2007.
MAZIERO, C. A. Sistemas Operacionais: Conceitos e Mecanismos.
Disponvel em: <http://dainf.ct.utfpr.edu.br/~maziero/lib/exe/fetch.
php/so:so-livro.pdf>. Acesso em: set. 2014.
OLIVEIRA, R. S., CARISSIMI, A. S., TOSCANI, S. S. Sistemas
Operacionais. 4 ed. Porto Alegre : Editora Bookman, 2010.
PATTERSON, D. A.; HENNESSY, J. L. Organizao e Projeto de
Computadores. 3 Ed. Rio de Janeiro: Campus, 2005.
SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G Fundamentos de
Sistemas Operacionais. 6 ed. Rio de Janeiro: LTC - Livros Tcnicos
Editora S.A., 2004.
138
Gabarito
Captulo 1
01. De acordo com o material, qual das opes abaixo pode ser classificada como
sistema operacional?
a) Android e MS-Excel.
b) Windows e Internet Explorer.
c) Linux e Windows.
d) Android e MS-Word.
e) Linux e Broffice.
Dos programas acima citados, os que so considerados sistemas operacionais so: Android, Windows e Linux. Assim, a opo correta a C.
02. Quais as principais funes do kernel?
As principais funes do kernel so a sincronizao e comunicao entre processos,
escalonamento e controle dos processos, gerncia de memria, gerncia de sistema de
arquivos, gerncia de dispositivos de E/S.
03. Para que uma aplicao possa utilizar os servios disponveis pelo Kernel deve
efetuar a comunicao com o Kernel por meio de:
a) Device Drivers
b) Batch
c) Scripting
d) System Calls
e) Shell
A resposta certa a D. O System Calls um intermedirio entre as aplicaes do usurio
e o Kernel.
Captulo 2
01. O processo composto por trs partes, entre elas o contexto de hardware. Das
opes abaixo, qual opo que faz parte do contexto de hardware?
a) Endereo de memria
b) Registrador PC
c) PID
d) Privilgio
e) Tempo de processador
A resposta correta a B. Das opes acima, apenas o Registrador PC faz parte do contexto de hardware.
02. O processo composto por trs partes, entre elas o contexto de software. Das
opes abaixo, qual opo que faz parte do contexto de software?
a) Registrador SP
b) Registrador PC
139
Sistemas Operacionais
c) PID
d) Endereo de memria
e) Registrador de status
A resposta correta a C. Das opes acima, apenas o PID faz parte do contexto de software.
03. Por que os processos I/O-Bound ficam no estado Em Espera durante grande
parte do seu ciclo de vida
Porque os processos I/O-Bound esto mais ligados aos dispositivos de entrada e sada,
cujo acesso so mais lentos que outros componentes do sistema
Captulo 3
01. De acordo com o material, o que poltica de escalonamento de um processo?
Atravs da politica de escalonamento, o sistema operacional gerencia o processador definindo qual processo deve ser executado, tornando possvel a multiprogramao.
02. Qual a diferena entre o escalonamento preemptivo e no-preemptivo?
O escalonamento no-preemptivo permite que o processo seja executado do incio ao fim
sem ser interrompido at ser finalizado. J no escalonamento preemptivo, o escalonador
tem a capacidade de trocar um processo, que poderia continuar executando, por outro
03. Descreva as principais diferenas entre os escalonamentos do tipo Circular e
FIFO?
O escalonamento circular o sistema operacional determina um perodo de tempo que um
processo pode ser executado pelo processador. No final do tempo, o processo trocado
por outro. J no escalonamento FIFO o processo utiliza o processador at terminar para
ento ser trocado por outro. O escalonador FIFO no-preemptivo enquanto o circular
preemptivo.
Captulo 4
140
Captulo 5
01. De acordo com o material, qual a forma que o sistema operacional acessa os
dispositivos de entrada e sada?
O sistema operacional no acessa diretamente os dispositivos de entrada e sada. O acesso aos diapositivos feito atravs de uma controladora.
02. Os dispositivos de entrada e sada podem ser classificados levando em considerao a analise de diversos autores. Quais so as formas de classificao de um dispositivo quando so consideradas as formas como os dados so acessados a partir
deste dispositivo.
De acordo com Tanenbaum e Woodhyll (1999), que leva em considerao a forma em
que os dados podem ser acessados e/ou obtidos a partir dispositivos de E/S, os dispositivos podem ser classificados em: dispositivos de blocos ou dispositivos de caractere.
141
Sistemas Operacionais
Minhas anotaes:
142
Minhas anotaes:
143
Sistemas Operacionais
Minhas anotaes:
144