Buscar

Memorias

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SISTEMAS OPERACIONAIS 
 
Prof. Luiz di Marcello 
luizdimarcello@gmail.com 
 
 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
AULA 1 - OBJETIVOS GERAIS 
 Entender as funções de um sistema operacional 
 Entender a posição que um sistema operacional ocupa em 
um sistema computacional 
 Conhecer os componentes de um sistema operacional 
 Conhecer a evolução histórica dos sistemas operacionais 
 Diferenciar os tipos de sistemas operacionais existentes 
 Compreender a importância de conhecer o funcionamento 
de um sistema operacional para solução de problemas 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
DEFINIÇÃO DE SISTEMA OPERACIONAL 
É um conjunto de programas responsável pela gerência de recursos de 
hardware, segurança de acesso e utilização e interface com os usuários 
 
USUÁRIOS 
HARDWARE 
UCP 
DISPOSITIVOS 
DE E/S 
MEMÓRIA 
PRINCIPAL 
PROGRAMADORES 
SISTEMAS E APLICATIVOS 
BANCOS DE DADOS 
OUTROS USUÁRIOS 
• MS-DOS 
• WINDOWS 3.11, 95/98, XP, VISTA, 7, 8, 10 
• LINUX (MANDRIVA, UBUNTU, FEDORA) 
• MAC-OS Mountain Lion 
• iPhone OS10, Android 6, Windows 10 Mobile 
 
PROCESSADORES/UCP/CPU 
• INTEL: ATOM, CELERON, i3, i5, i7 
• AMD: ATHLON, TURION, X2, SEMPRON 
• Apple A9, Samsung Exynos, Qualcomm 
Snapdragon 
SISTEMA 
OPERACIONAL 
DEVICE DRIVERS 
SO
FT
W
A
R
E 
PODER DE 
PROCESSAMENTO 
TROCA E 
ARMAZENAMENTO 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
OUTRAS DEFINIÇÕES 
 
 Conjunto de programas indispensáveis ao funcionamento do 
computador, cuja função é: 1) servir de interface (ligação, elo) 
entre o homem e a máquina; 2) fazer a comunicação entre o 
usuário, o computador e seus periféricos 
 
 Conjunto de rotinas executadas pelo processador, da mesma 
forma que os nossos programas. Controla o funcionamento do 
computador, como um gerente dos vários recursos disponíveis no 
sistema 
Por ser um conjunto de programas 
precisa da CPU para executar ! 
 
Lembre-se disso ! 
 
Que tal assistirmos a um vídeo... 
 
 
 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
Gerenciador 
de Processos 
Gerenciador 
de Memória Gerenciador 
de Disco 
Gerenciador 
de Rede 
Gerenciador 
de E / S 
Gerenciador 
de Arquivos 
Sistema de 
Proteção 
Sistema 
Interpretador 
de Comandos 
COMPONENTES DE UM SISTEMA 
 
SISTEMA 
OPERACIONAL 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
EVOLUÇÃO HISTÓRICA 
PRIMEIRA FASE (1945-1955) 
 
 Computadores baseados em válvulas (ENIAC, criado para 
fins militares de cálculos balísticos, com 18 mil válvulas, 30 
toneladas, consumo de cerca de 140.000 watts; EDVAC, 
utilizado por universidades e também órgãos militares; 
UNIVAC I, criado para auxiliar no censo americano de 1950, 
aplicação comercial) 
 
 Ausência de sistema operacional: programação feita por 
painéis, através de fios, sem uso de linguagens de 
programação 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
EVOLUÇÃO HISTÓRICA 
SEGUNDA FASE (1956-1965) 
 
 Criação do transistor (maior velocidade e confiabilidade no 
processamento, menor dissipação de energia) e das memórias 
magnéticas (acesso mais rápido aos dados, maior capacidade de 
armazenamento e diminuição do tamanho dos computadores) 
 
Surgimento das primeiras linguagens de programação (Assembly 
e Fortran) – os programas deixam de ser feitos diretamente no 
hardware 
 
Seqüenciamento da execução dos programas, sem intervenção 
do operador, conhecido como processamento batch (em lote) 
 
Importantes avanços com a linha de computadores 7094 da IBM 
 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
EVOLUÇÃO HISTÓRICA 
TERCEIRA FASE (1966-1980) 
 
 Diminuição do tamanho e dos custos de aquisição do hardware 
com a criação dos circuitos integrados (CIs) e, posteriormente, dos 
microprocessadores – lançamento da série 360 de computadores da 
IBM e da linha PDP-8 da DEC 
 
 Evolução dos processadores de E/S, possibilitando a utilização 
da técnica de compartilhamento da memória e do processador 
denominada multiprogramação 
 
 Substituição das fitas por discos magnéticos, possibilitando a 
alteração na ordem de submissão dos programas em lote (spooling) 
 
Surgimento em 1969 do sistema operacional UNIX 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
EVOLUÇÃO HISTÓRICA 
QUARTA FASE (1981-1990) 
 
 Miniaturização e barateamento dos computadores através da 
integração cada vez maior dos componentes 
 Surgimento dos microcomputadores pessoais (PCs) e do sistema 
operacional DOS (Disk Operating System) 
 Sistemas multiusuário e multitarefa, permitindo a execução de 
diversas tarefas de forma concorrente 
 Equipamentos com múltiplos processadores, processadores 
vetoriais e diversas técnicas de paralelismo em diferente níveis 
(multiprocessamento) 
 As redes de computadores se difundiram por todo mundo: 
software de redes intimamente relacionados ao sistema operacional 
e surgimento dos sistemas operacionais de rede 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
EVOLUÇÃO HISTÓRICA 
QUINTA FASE (1991-????) 
 
 Grandes avanços de hardware (microeletrônica), software 
e telecomunicações; processadores e memórias cada vez 
menores e mais baratos 
 
 Processamento distribuído em sistemas operacionais 
 
 Novas interfaces homem/máquina: linguagens naturais, 
sons e imagens 
 
 Sistemas multimídia, bancos de dados distribuídos e 
inteligência artificial 
 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
executa espera espera 
Tempo 
MONOTAREFA 
Tempo 
MULTITAREFA 
espera espera Programa A 
espera espera Programa B espera executa executa 
executa executa 
CONCORRENTE ≠ SIMULTÂNEO 
CLASSIFICAÇÃO DE SISTEMAS 
executa Programa A 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
 Processador, memória principal e dispositivos de E/S 
(periféricos) ficam dedicados a um único 
usuário/programa.O sistema operacional só tem capacidade 
de controlar e gerenciar um programa de cada vez 
 
 Os programas são executados instrução-a-instrução, até 
que seu processamento seja concluído, ou seja, todos os 
recursos da máquina são alocados para um único programa 
até a conclusão de sua execução 
 
 São de simples implementação, se comparados a outros 
sistemas, não havendo muita preocupação com problemas de 
proteção, pois só existe um usuário/programa utilizando-o 
CLASSIFICAÇÃO DE SISTEMAS: MONOTAREFA 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
 Os recursos da máquina são alocados de modo dinâmico entre o 
número de programas ativos de acordo com o nível de prioridade 
ou o estágio de execução de cada um dos programas. O sistema 
operacional gerencia o acesso concorrente aos seus diversos 
recursos, de forma ordenada e protegida 
 
 São mais complexos e eficientes do que os sistemas monotarefa, 
já que vários programas utilizam os mesmos recursos. Existem 
vários tipos de gerenciamento das aplicações (gerência/interação 
com usuários) nesses sistemas: 
 
 BATCH (LOTE) - Os programas quando executados são armazenados 
em disco ou fita, onde esperam para serem „atendidos‟. 
Normalmente, esses programas (jobs) não exigem interação com os 
usuários (por exemplo, compilações e linkedições) 
CLASSIFICAÇÃO DE SISTEMAS: MULTITAREFA 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
 TIME-SHARING (TEMPO-COMPARTILHADO) - O sistema operacional 
aloca uma „fatia de tempo‟ (time-slice) do processador para cada 
usuário. Caso o programa do usuário não esteja concluído nesse 
intervalo de tempo, ele é substituído por um de outro usuário, e fica 
esperandopor uma nova fatia de tempo. Permitem a interação dos 
usuários com o sistema 
 
 REAL-TIME (TEMPO-REAL) - Semelhante ao time-sharing, sendo a 
maior diferença o tempo de resposta exigido na execução. Enquanto 
em sistemas de tempo compartilhado o tempo de resposta pode 
variar sem comprometer as aplicações em execução, nos sistemas de 
tempo real os tempos de resposta devem estar dentro de limites 
rígidos. Não existe a idéia de fatia de tempo, um programa executa o 
tempo que for necessário, ou até que apareça outro prioritário em 
função de sua importância 
CLASSIFICAÇÃO DE SISTEMAS: MULTITAREFA 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
CLASSIFICAÇÃO DE SISTEMAS 
MONOUSUÁRIO 
USUÁRIO = GENTE e NÃO PROGRAMA! 
 
 
 
 
 
 
 
 
 
TODO SISTEMA MULTIUSUÁRIO É 
OBRIGATORIAMENTE MULTITAREFA 
MULTIUSUÁRIO 
SIGNIFICA MAIS DE UMA PESSOA NO 
MESMO SISTEMA INTERAGINDO 
SIMULTANEAMENTE 
 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
 MONOPROCESSADO: Único processador, sendo este controlado pelo 
sistema operacional instalado 
 
 MULTIPROCESSADO: 
 Possui mais de um processador, sendo que estes podem compartilhar 
o mesmo sistema operacional, ou cada um pode possuir o seu próprio 
sistema 
 Permite que vários programas sejam executados ao mesmo tempo, ou 
que um programa seja dividido em subprogramas/threads, para 
execução simultânea por mais de um processador. 
 Possibilitam aumentar a capacidade computacional com menor custo 
(escalabilidade), permitem a reconfiguração (sistema continua o 
processamento, mesmo se um dos processadores falhar ou parar de 
funcionar) e o balanceamento (distribuição da carga de 
processamento) 
CLASSIFICAÇÃO DE SISTEMAS: PROCESSADORES 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
 MULTIPROCESSADO: 
 
 Valem todos os conceitos de multitarefa para os vários processadores 
 Surgem novos problemas de concorrência, pois vários processadores, 
por exemplo, podem estar acessando as mesmas áreas de memória 
 Existem diferentes forma de comunicação entre esses processadores 
e também diferentes graus de compartilhamento da memória principal 
e dos dispositivos de E/S: 
 
 fortemente acoplados – dois ou mais compartilhando uma única 
memória e controlados por apenas um único sistema operacional 
 fracamente acoplados – caracterizam-se por possuir dois ou mais 
processadores (multicomputadores), conectados e com 
funcionamento independente. Podem ser controlados por sistemas 
operacionais diferentes (ex.: cluster) 
CLASSIFICAÇÃO DE SISTEMAS: PROCESSADORES 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
AULA 2 - OBJETIVOS GERAIS 
 Compreender os fundamentos de sistemas concorrentes 
 Entender a importância e o funcionamento dos 
mecanismos de interrupção 
 Entender o funcionamento de uma chamada ao sistema 
(“system call”) 
 Identificar as estruturas existentes de sistemas 
operacionais 
 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
CONCEITOS DE SOFTWARE (RELEMBRANDO...) 
 
O hardware sozinho não tem utilidade, tornando-se necessária a existência 
de um conjunto de programas relacionado mais diretamente com os 
serviços do sistema operacional, possibilitando inclusive a criação de 
aplicativos pelos usuários desenvolvedores de sistemas (programadores) 
 
 
 
 
 
 
 
TRADUTOR 
 O surgimento das primeiras linguagens de montagem, e das linguagens 
de alto nível, diminuiu a necessidade de conhecimento de hardware por 
parte do programador, quando os programas eram desenvolvidos em 
linguagem de máquina 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
CONCEITOS DE SOFTWARE (RELEMBRANDO...) 
 
 
Apesar das facilidades para o programador, os programas escritos 
nessas linguagens (código fonte) não estão prontos para serem 
diretamente executados pelo processador, que só consegue executar 
instruções escritas em linguagem de máquina 
 
 A conversão de linguagem de montagem ou alto nível para linguagem 
de máquina é iniciada pelo software denominado tradutor, onde toda 
representação simbólica é traduzida para código de máquina. O código 
gerado pelo tradutor é denominado código objeto, que, apesar de estar 
em código de máquina, ainda não é executável 
 
 O tradutor, dependendo da linguagem de programação utilizada que 
esteja sendo transformada, pode ser chamado de montador (linguagens 
de montagem - Assembly) ou compilador (linguagens de alto nível – 
Pascal, C, C++) 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
CONCEITOS DE SOFTWARE (RELEMBRANDO...) 
 
 Exemplo: O Assembly é uma linguagem de montagem formada por 
símbolos alfabéticos. Foi a primeira evolução para tornar os programas 
mais representativos da intenção do programador e, portanto, mais 
inteligível 
 
 
 
 
 
 
 
 
 
 O montador Assembler é 
desenvolvido para entender as 
instruções de um processador 
específico (Pentium, por 
exemplo) e converte-las em 
código binário (instruções de 
máquina) daquele processador. 
Sendo assim, não se pode 
utilizar o montador para 
programas escritos na 
linguagem Assembly de outro 
processador 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
CONCEITOS DE SOFTWARE (RELEMBRANDO...) 
 
INTERPRETADOR 
 Tradutor que não gere código objeto e que a partir de um programa em 
código fonte, escrito em linguagem de alto nível, traduz cada instrução e a 
executa em seguida 
 Desvantagem: tempo gasto na tradução das instruções de um programa 
toda vez que este for executado, já que não existe a geração de código 
executável (Basic, Java) 
 
 
LINKER (LINKEDITOR, LINKAGE EDITOR) 
 Responsável por gerar a partir de um ou mais módulos objeto, um único 
programa executável 
 Resolver todas as referências simbólicas existentes entre os módulos e 
reservar memória para a execução do programa (relocação). De início o 
programa executável gerado somente podia ser carregado em uma 
determinada região da memória (código absoluto), o que inviabilizava a 
multitarefa 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
CONCEITOS DE SOFTWARE (RELEMBRANDO...) 
 
LOADER 
 Também chamado de carregador, é o utilitário que carrega/leva o 
programa para a memória principal para que este seja então executado 
 Como pudemos constatar anteriormente, o procedimento de carga varia 
com o código gerado pelo linker, que em função disso é classificado como 
sendo do tipo absoluto ou relocável 
 
 
DEPURADOR 
 Todos sabemos que os programadores podem cometer erros de lógica no 
desenvolvimento de programas 
 O depurador (debugger) permite ao usuário controlar toda a execução de 
um programa a fim de depurá-lo/torná-lo puro/detectar erros, através de 
alguns recursos: acompanhamento da execução instrução por instrução; 
monitoramento e alteração do conteúdo das variáveis (watchpoint); 
implementação de pontos de parada no decorrer da execução do programa 
(breakpoint) 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
CONCEITOS DE SOFTWARE (RELEMBRANDO...) 
 
LINGUAGEM DE CONTROLE OU DE COMANDO 
 É a forma mais direta de um usuário se comunicar com o sistema 
operacional, possibilitando ao usuário acesso a rotinas específicas do 
sistema 
 Os comandos quando digitados pelo usuário são interpretados por um 
programa denominado interpretador de comandos ou shell, que verifica a 
sintaxe do comando, envia mensagens de erro e faz chamadas na rotinas do 
sistema 
 A evolução de tais linguagens originam as interfaces gráficas e no futuro, 
com a introdução das linguagens naturais, os sistemas passarão areconhecer comandos falados e escritos, como fazemos habitualmente em 
nosso dia-a-dia 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
CONCEITOS DE SOFTWARE (RELEMBRANDO...) 
Aplicativos
Utilitários
Sistema Operacional
Linguagem de Máquina
Microprogramação
Hardware (lógica digital)
H
A
R
D
W
A
R
E
L
IN
G
U
A
G
E
N
S
 D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
 E
 O
S
IS
T
E
M
A
 O
P
E
R
A
C
IO
N
A
L
LINGUAGEM DE MÁQUINA 
 É a linguagem de programação que o 
processador realmente consegue 
entender 
 Cada processador possui um 
conjunto único de instruções de 
máquina definido pelo fabricante, que 
especifica detalhes, como 
registradores, modos de 
endereçamento e tipos de dados 
 O programa nessa linguagem é 
totalmente codificado em formato 
binário 
 A figura ao lado mostra o conceito 
de máquina de níveis 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
SISTEMAS MULTITAREFA 
 
 Sistema multitarefa  Programas executados concorrentemente  
Ganho considerável na utilização do processador, memória, periféricos 
e no tempo de reposta é considerável  Maior complexidade do 
sistema operacional 
 
 O sistema operacional multitarefa ao executar os programas (código 
executável) simplesmente não os leva para memória e pronto  
Necessita de alguns controles que permitem que esses programas sejam 
executados de forma ordenada, sem que um invada a área dos outros, 
ou mesmo, quando a execução de um deles seja interrompida, ele 
volte a executar do ponto onde ocorreu essa parada 
 
 Estrutura de controle criada e mantida pelo sistema operacional para 
que os processos sejam mantidos em execução (nome, prioridade, 
contexto, estado, arquivos abertos, etc.) por ele, chamamos de 
processo (estudaremos mais adiante) 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
SISTEMAS MULTITAREFA 
 
 Um sistema operacional, de uma maneira geral, busca: 
 
 OTIMIZAR A UTILIZAÇÃO DA UCP – o processador deve permanecer a 
maior parte do seu tempo ocupado. Este recurso deve ser aproveitado 
da melhor forma possível pelos processos em execução; 
 AUMENTAR O THROUGHPUT – o número de processos executados em 
um determinado intervalo de tempo (throughput) deve ser sempre 
aumentado; 
 DIMINUIR OS TEMPOS DE TURNAROUND DOS PROCESSOS – o tempo que 
o processo leva desde a sua criação até o seu término (turnaround) 
deve ser diminuído, ou seja, o processo deve ser atendido o mais 
rápido possível; 
 TORNAR RAZOÁVEL O TEMPO DE RESPOSTA – o tempo decorrido do 
momento da submissão de um pedido ao sistema até a resposta ser 
produzida, ou seja, o tempo gasto até o retorno de uma resposta pelo 
sistema, geralmente limitado pela velocidade do dispositivo de saída. 
 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
MECANISMOS PARA IMPLEMENTAÇÃO MULTITAREFA 
 
 
E/S CONTROLADA POR PROGRAMA 
 O controle das operações de E/S era feito pela UCP 
 Os programas continham instruções de E/S e o programador 
necessitava conhecer detalhes específicos de cada periférico 
 Posteriormente, surge o controlador (ou interface), e a UCP não se 
comunica mais de forma direta com os dispositivos de E/S 
 
COMO VERIFICAR O TÉRMINO DA OPERAÇÃO? 
 
BUSY WAIT 
A UCP sincroniza com o dispositivo de E/S o início da transferência 
de dados e, após iniciada esta transferência, o sistema ficava 
PERMANENTEMENTE testando o estado do dispositivo para saber se a 
operação tinha chegado ao final. Desta forma a UCP mantinha-se 
ocupada até o término da operação de E/S, caracterizando um 
procedimento de "espera ocupada" (busy wait), desperdiçando-se 
tempo precioso para execução de outros programas 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
MECANISMOS PARA IMPLEMENTAÇÃO MULTITAREFA 
 
 
COMO VERIFICAR O TÉRMINO DA OPERAÇÃO? 
 
POLLING 
 Após o início da transferência de dados, a UCP ficava livre para se 
ocupar de outras tarefas, sendo o sistema operacional responsável 
por realizar um teste PERIODICAMENTE para saber do término ou não 
da operação de E/S em cada dispositivo 
 Esse paralelismo de operações permitiu o surgimento dos 
primeiros sistemas operacionais multiprogramáveis 
 O principal problema associado a esse mecanismo consistia no fato 
de que é difícil a determinação do correto intervalo de tempo. Caso 
o tempo fosse superior ao que seria adequado, passaria a ocorrer um 
atraso no serviço das operações de E/S associadas ao dispositivo; já 
se o tempo fosse inferior ao que seria adequado, será perdido tempo 
de processamento ao ser executada a leitura repetitiva do estado do 
dispositivo 
 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
MECANISMOS PARA IMPLEMENTAÇÃO MULTITAREFA 
 
 
TÉCNICA DE BUFFERING 
 A técnica de buffering consiste na utilização de uma área de memória 
(volátil) para transferência de dados entre os periféricos e a UCP, 
denominada buffer 
 Com isso, a UCP pode manipular os dados antes de transferí-los para o 
dispositivo periférico de E/S, reduzindo a perda de eficiência decorrente 
da disparidade existente entre o tempo de processamento e o tempo 
gasto para realização de uma operação de E/S 
 Exemplos: Editores de texto mantêm as alterações que devem ser 
gravadas; então quando o usuário salva o arquivo, o editor atualiza o 
arquivo em disco com o conteúdo do buffer; Alguns sistemas 
operacionais costumam utilizar uma área para buffer de disco onde 
armazenam temporariamente os dados lidos do disco (cache) 
SISTEMAS OPERACIONAIS 
Prof. Luiz di Marcello 
MECANISMOS PARA IMPLEMENTAÇÃO MULTITAREFA 
 
 
TÉCNICA DE SPOOLING 
 O SPOOL (Simultaneous Peripheral Operations On- Line) consiste na 
utilização de um meio magnético de armazenamento (disco, fita) como 
um grande buffer 
 Exemplos: Nas impressões os documentos são preparados para 
impressão e armazenados em uma área no disco; Processamento batch 
de tarefas em um sistema 
 
REENTRÂNCIA 
 Capacidade de um código de programa (código reentrante) ser 
compartilhado por diversos usuários, ou mesmo outros processos, 
exigindo apenas uma cópia do programa na memória 
 O código reentrante não pode ser modificado enquanto estiver em 
execução 
 Cada usuário ou processo pode estar executando um ponto diferente 
e manipulando sua própria área de dados

Continue navegando