Sist.oper. 09

download Sist.oper. 09

of 41

description

sistemas operacionais aula 09

Transcript of Sist.oper. 09

Gerncia de MemriaProf: Vana CarvalhoRoteiroIntroduoAlocao Contgua SimplesTcnica de OverlayAlocao Particionada Estratgias de Alocao de PartioSwapping

IntroduoOs programas so armazenados em memria secundria no voltil.Os processadores s executam instrues localizadas na memria principal.Gerenciar memria deve buscar manter um maior nmero de processos na memria principal.

IntroduoGerncia de Memria permitir a execuo de programas que sejam maiores que a memria fsica disponvel overlay e memria virtual.

Alocao Contgua SimplesImplementada pelos primeiros sistemas operacionais .Memria principal subdividida em duas reas: uma para sistema operacional e outra para o programa do usurio.

Alocao Contgua SimplesO usurio tem controle sobre toda a memria principal, inclusive sobre a rea do sistema operacional.Como evitar este problema?Um programa faz referncia a um endereo na memria, o sistema verifica se o endereo est dentro dos limites permitidos.Caso no esteja, o programa cancelado e uma mensagem de erro gerada, indicando que houve uma violao no acesso memria principal.Alocao Contgua SimplesQual o problema da alocao contgua simples?Em relao memria principal, caso o programa do usurio no a preencha totalmente, existir um espao de memria livre sem utilizao.

Tcnica de OverlayDivide o programa em mdulos, de modo que seja possvel executar cada mdulo de maneira independente, utilizando um mesmo espao da memria.Tcnica de OverlayConsidere um programa que tenha trs mdulos:Um principal;Um de cadastramento;Um de impresso, sendo os mdulos de cadastramento e de impresso independentes. A independncia do cdigo significa que quando um mdulo estiver na memria para execuo, o outro no precisa necessariamente estar presente. O mdulo principal comum aos dois mdulos; logo, deve permanecer na memria durante todo o tempo da execuo do programa.

Tcnica de OverlayA memria insuficiente para armazenar todo o programa. A tcnica de overlay utiliza uma rea de memria comum, onde os mdulos de cadastramento e de impresso podero compartilhar a mesma rea de memria (rea de overlay). Sempre que um dos dois mdulos for referenciado pelo mdulo principal, o mdulo ser carregado da memria secundria para a rea de overlay.Tcnica de Overlay

Alocao ParticionadaSistemas multiprogramveis permitem que diversos processos estejam na memria principal, por esta razo faz-se necessrios mecanismos que realizem a eficientemente a gerncia da memria.Alocao Particionada EstticaNos primeiros sistemas multiprogramveis a memria era dividida em pedaos de tamanho fixo parties.O tamanho das parties estabelecido na fase de inicializao do sistema.Os programas s poderiam ser carregados e executados em apenas uma partio.Essa limitao devia-se ao fato dos compiladores gerarem um cdigo absoluto.Alocao Particionada EstticaNo cdigo absoluto todas as referncias a endereos no programa so posies fsicas na memria principal.

Alocao Particionada Esttica RealocvelCom evoluo dos compiladores o cdigo gerado deixou de ser absoluto e passou a ser realocvel.No cdigo realocvel, todas as referncias a endereos no programa so relativas ao incio do cdigo e no a endereos fsicos de memria. Os programas podem assim ser executados a partir de qualquer partio.Alocao Particionada Esttica RealocvelPara manter o controle sobre quais parties esto alocadas, a gerncia de memria mantm uma tabela com o endereo inicial de cada partio, seu tamanho, e se est em uso.Sempre que um programa carregado para a memria, o sistema percorre a tabela, na tentativa de localizar uma partio livre, onde o programa possa ser carregado. Alocao Particionada Esttica Realocvel

Alocao Particionada Esttica RealocvelNesse esquema de alocao de memria, a proteo baseia-se em dois registradores.Os registradores indicam os limites inferior e superior da partio onde o programa est sendo executado.Caso o programa tente acessar uma posio de memria fora dos limites definidos pelos registradores, ele interrompido e uma mensagem de violao de acesso gerada pelo sistema operacional. Alocao Particionada Esttica Realocvel

Alocao Particionada Esttica RealocvelQual o grande problema dos sistemas de alocao absoluta e alocao realocvel?Tanto nos sistemas de alocao absoluta quanto nos de alocao realocvel, os programas, normalmente, no preenchem totalmente as parties onde so carregados deixando reas livres.Este tipo de problema, decorrente da alocao fixa das parties, conhecido como fragmentao interna. Alocao Particionada DinmicaNa alocao particionada dinmica ou varivel, foi eliminado o conceito de parties de tamanho fixo.Cada programa utilizar o espao necessrio.Como os programas utilizam apenas o espao de que necessitam, no esquema de alocao particionada dinmica o problema da fragmentao interna no ocorre. Alocao Particionada Dinmica

Alocao Particionada DinmicaO problema da fragmentao interna est resolvido.Porm surge um novo problema.?Alocao Particionada DinmicaUm tipo diferente de fragmentao comear a ocorrer, quando os programas forem terminando e deixando espaos cada vez menores na memria, no permitindo o ingresso de novos programas. Alocao Particionada Dinmica

Alocao Particionada DinmicaEsse tipo de problema chamado fragmentao externa. Qual a soluo?A primeira soluo, conforme os programas terminam, os espaos livres adjacentes so reunidos, produzindo reas livres de tamanho maior.Alocao Particionada Dinmica

Alocao Particionada DinmicaA segunda soluo envolve a realocao de todas as parties ocupadas, eliminando todos os espaos entre elas e criando uma nica rea livre contigua.Para que esse processo seja possvel, necessrio que o sistema tenha a capacidade de mover os diversos programas na memria principal, ou seja, realizar realocao dinmica.Alocao Particionada Dinmica

Alocao Particionada DinmicaEsse mecanismo de compactao, tambm conhecido como alocao particionada dinmica com realocao, reduz o problema da fragmentao.Porm a complexidade do algoritmo e o consumo de recursos do sistema como processador e rea em disco, podem torn-lo invivel. Estratgias de Alocao de PartioOs sistemas operacionais implementam trs estratgias para determinar em qual rea livre um programa ser carregado para execuo. Essas estratgias buscam evitar ou diminuir o problema da fragmentao externaA melhor estratgia a ser adotada por um sistema depende de uma srie de fatores. Sendo o mais importante o tamanho dos programas processados no ambiente.Estratgias de Alocao de PartioBest FitNa estratgia best-fit, a melhor partio escolhida, ou seja, aquela em que o programa deixa o menor espao sem utilizao.Nesse algoritmo, a lista de reas livres est ordenada por tamanho, diminuindo o tempo de busca por uma rea desocupada. Uma grande desvantagem desse mtodo consequncia do prprio algoritmo.Qual a desvantagem?Como alocada a partio que deixa a menor rea livre, a tendncia que cada vez mais a memria fique com pequenas reas no-contguas, aumentando o problema da fragmentao.

Estratgias de Alocao de PartioBest Fit

Estratgias de Alocao de PartioWorst FitNa estratgia worst-fit, a pior partio escolhida, ou seja, aquela em que o programa deixa o maior espao sem utilizao.Apesar de utilizar as maiores parties, a tcnica de worst-fit deixa espaos livres maiores que permitem a um maior nmero de programas utilizar a memria, diminuindo o problema da fragmentao. Estratgias de Alocao de PartioWorst Fit

Estratgias de Alocao de PartioFirst-fit Na estratgia first-fit, a primeira partio livre de tamanho suficiente escolhida.Das trs estratgias first-fit a mais rpida, consumindo menos recursos do sistema. Estratgias de Alocao de PartioFirst Fit

SwappingA tcnica de swapping foi introduzida para contornar o problema da insuficincia de memria principal. O swapping uma tcnica aplicada gerncia de memria para programas que esperam por memria livre para serem executados. Nesta situao, o sistema escolhe um processo residente, que transferido da memria principal para a memria secundria (swap out). Posteriormente, o processo carregado de volta da memria secundria para a memria principal (swap in) e pode continuar sua execuo.

SwappingO algoritmo de escolha do processo a ser retirado da memria principal deve priorizar aquele com menores chances de ser executado. O conceito de swapping permite maior compartilhamento da memria principal e maior utilizao dos recursos do sistema computacionalFIMProf: Vana Carvalho