Escolar Documentos
Profissional Documentos
Cultura Documentos
April 05
Ementa
n Gerncia de Memria
SOP CO009
Gerncia de Memria
April 05
Gerente de Memria
n Objetivos da Gerncia de Memria
i. Tornar o mais eficiente possvel o compartilhamento de memria entre os processos. ii. Impedir que um processo acesse rea de memria que no lhe pertence. iii. Facilitar alocao de memria. iv. Recuperar a memria liberada pelos processos.
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 4
SOP CO009
Alocao Contgua
April 05
Alocao Contgua
n Alocao Contgua Simples
n
Registrador
no permite a utilizao eficiente da UCP e da MP, pois apenas um processo pode utilizar esses recursos. a princpio os programas estavam limitados ao tamanho da MP disponvel.
April 05
Alocao Contgua
n Main memory usually into two partitions: n Resident operating system, usually held in low memory with interrupt vector n User processes then held in high memory n Single-partition allocation n Relocation-register scheme used to protect user processes from each other, and from changing operating-system code and data n Relocation register contains value of smallest physical address; limit register contains range of logical addresses each logical address must be less than the limit register
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 7
Alocao Contgua
n Alocao Contgua Overlay
MP SO Mdulo Principal rea de Overlay rea livre 2kb 3kb 4kb 1kb Mdulo 4kb A Mdulo 3kb B 1kb rea no utilizada A Principal B
de forma que cada parte possa executar independentemente uma da outra, utilizando uma mesma rea de memria
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 8
SOP CO009
April 05
estabelecendo na fase de PART INCIO TAM inicializao do sistema 1 2KB 2KB 2 4KB 5KB (BOOT) em funo dos 3 9KB 8KB programas que normalmente executam no ambiente. Os programas s podiam executar em uma das parties, mesmo estando as outras livres. Essa limitao se devia aos compiladores e montadores que geravam apenas cdigo absoluto o que gerou a Alocao Particionada Esttica Absoluta.
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 10
Tabela de Parties
uma partio passou a ser crtico, pois trazia uma grande ineficincia para o sistema. Somente com a evoluo dos compiladores, ligadores e loaders, a gerao de cdigo relocvel foi possvel dando origem a um novo tipo de alocao chamada Alocao Particionada Esttica Relocavel.
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 11
April 05
12
April 05
13
Bounds Register
128k
1 2 3
upper lower
CPU
End Fsico N
S N
End Fsico OK
Tmp to SO
End Invlido
April 05
14
Base/Limits Register
temos a chamada Relocao Esttica (gerada em tempo de carga do programa para execuo). No caso ii ns temos a Relocao Dinmica, a qual exige a soma do registrador base a cada endereo referendado o que representa um custo adicional a execuo que pode ser compensado com tcnicas de overlapping de instrues no processador.
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 15
memory addresses can happen at three different stages n Compile time: If memory location known a priori, absolute code can be generated; must recompile code if starting location changes n Load time: Must generate relocatable code if memory location is not known at compile time n Execution time: Binding delayed until run time if the process can be moved during its execution from one memory segment to another. Need hardware support for address maps (e.g., base and limit registers ).
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 16
Logical address generated by the CPU; also referred to as virtual address Physical address address seen by the memory unit
compile-time and load-time address-binding schemes; logical (virtual) and physical addresses differ in execution-time address-binding scheme
April 05
17
Virtual-address Space
April 05
18
address
n In MMU scheme, the value in the relocation
register is added to every address generated by a user process at the time it is sent to memory
n The user program deals with logical
April 05
20
Dynamic Loading
n Routine is not loaded until it is called n Better memory-space utilization; unused
routine is never loaded n Useful when large amounts of code are needed to handle infrequently occurring cases n No special support from the operating system is required implemented through program design
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 21
Dynamic Linking
n Linking postponed until execution time n Small piece of code, stub, used to locate the
appropriate memory-resident library routine n Stub replaces itself with the address of the routine, and executes the routine n Operating system needed to check if routine is in processes memory address n Dynamic linking is particularly useful for libraries
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 22
April 05
23
Fragmentao
n Alocao Particionada Esttica -
Fragmentao
Fragmentao interna - memria requerida pelo processo menor que a disponvel na partio. externa - partio livre mas no utilizada por falta de espao. Fragentao Total = Frag Int + Frag Ext = (1+3+3) + 2 = 9Kb %Memria perdida = FragTot/ MemTot = 9/(2+5+8+2) = 50 %
April 05
24
SOP CO009
Swapping
April 05
25
Swapping
n Swapping cnica para permitir
que programas que esperam por memria livre possam ser processados. Nesta situao, o SO escolhe um programa residente que levado da MP para o disco (swapped out) retornando posteriormente para a MP (swapped in) como se nada tivesse ocorrido.
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 26
Swapping
n A process can be swapped temporarily out of memory to a
backing store, and then brought back into memory for continued execution
n Backing store fast disk large enough to accommodate copies
of all memory images for all users; must provide direct access to these memory images
n Roll out, roll in swapping variant used for priority-based
scheduling algorithms; lower-priority process is swapped out so higher-priority process can be loaded and executed
n Major part of swap time is transfer time; total transfer time is
Swapping
April 05
28
Swapping
n Swapping
Sempre que o Escalonador (CPU scheduler) decide
executar um processo ele chama o Dispatcher. O Dispatcher verifica se o processo a ser executado est residente em memria, se no, ele remove (swap out) algum processo que esteja correntemente na MP e carrega (swap in) o processo escolhido para ser executado. Aps isto o contexto do processo a ser executado restaurado e o controle passado ao processo que passa ento a executar. Exemplo: Calcule o Tswap = ? Tamanho do processo = 1 Mb Taxa de transferncia = 100 Mbits/s Tempo de seek= 10 msec, Disco = 7200 rpm
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 29
Swapping (cont.)
7200 voltas 1 minuto = 60 s t 1volta 60/7200 s Assumimos Tlatncia = t 1volta = (60/7200) = 1/240 Ttransf disco-memria = Tseek + Tlatncia + Ttransf = = 10 x 10 3 + 1/240 + (1Mb x 8)/100 Mbits /s = = 0,01 + 0,042 + 8/100 = 0,01 + 0,042 + 0,08 = 0,132 s Tswap = 2 * Transf disco-memria = 0,26 seg
Swap in Swap out
April 05
30
SOP CO009
April 05
31
Esttica era a escolha do nmero e tamanho das regies de forma a diminuir a fragmentao (interna e externa). praticamente impossvel definir estes valores devido a diversidade dos jobs presentes em um Sistema de Computao. A soluo permitir que as regies (parties) variem seu tamanho de forma dinmica que a chamada Alocao Particionada Dinmica (ou varivel) adotada pelo OS/MVT (multiprograming with a variable number of tasks) da IBM.
April 05
32
April 05
33
SOP CO009
April 05
35
free holes
n n
First-fit: Allocate the first hole that is big enough Best-fit: Allocate the smallest hole that is big enough; must search entire list, unless ordered by size. Produces the smallest leftover hole. Worst-fit: Allocate the largest hole; must also search entire list. Produces the largest leftover hole.
April 05
38
SOP CO009
Fragmentao x Compactao
April 05
39
Fragmentao
n Alocao Particionada Dinmica
n n n
Hole block of available memory; holes of various size are scattered throughout memory When a process arrives, it is allocated memory from a hole large enough to accommodate it Operating system maintains information about: a) allocated partitions b) free partitions (hole)
OS process 5 OS process 5 OS process 5 process 9 process 8 OS process 5 process 9 process 10 process 2 process 2 process 2
40
process 2
April 05
Fragmentao
n External Fragmentation total memory space
exists to satisfy a request, but it is not contiguous n Internal Fragmentation allocated memory may be slightly larger than requested memory; this size difference is memory internal to a partition, but not being used n Reduce external fragmentation by compaction
n n n
Shuffle memory contents to place all free memory together in one large block Compaction is possible only if relocation is dynamic, and is done at execution time I/O problem
n n
Latch job in memory while it is involved in I/O Do I/O only into OS buffers
Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 41
April 05
Compactao
n Compactao
Uma soluo para o problema
da Fragmentao o uso da tcnica de Compactao. O objetivo desta tcnica reunir toda memria livre num nico bloco de memria, movendo de lugar as parties ocupadas. Existem vrios algoritmos de compactao, o mais simples seria aquele que move todos processos para o topo (ou base) da memria enquanto os blocos livres so movidos em direo contrria. Este algoritmo normalmente tem um custo proibitivo devido a grande movimentao de memria requerida
April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 42
Compactao
n Compactao
Swapping pode ser combinado com MVT. Se existe Relocao Esttica todo job que swapped in precisa ser executado na mesma regio de memria que ocupava anteriormente, o que fora a necessidade de se remover da mem ria (swap out) os processos que por ventura estejam utilizando a sua regio. Se existe Relocao Dinmica ento o job pode ser swapped in em uma posi o diferente.
April 05
43