SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Docente: Lambo Vasco Chiungo
E-mail: lambochiungo@gmail.com
Aula 3
Gestão de Memória
Lambo Chiungo
Considerações Gerais
 Memória necessita ser alocada de forma eficiente para
permitir o máximo possível de processos.
 Um sistema de memória possui pelo menos dois níveis:
Memória principal: acessada pela CPU
Memória secundária: discos
 Programas são armazenados em disco.
Executar um programa se traduz em transferi-lo da memória
secundária à memória primária.
 Qualquer sistema operativo tem gerência de memória.
Monotarefa: gerência é simples
Multitarefa: complexa
Lambo Chiungo
Memória lógica e Memória física
 Memória lógica
É aquela que o processo “enxerga”
Endereços lógicos são aqueles manipulados por um
processo
 Memória física
Implementada pelos circuitos integrados de memória
Endereços físicos são aqueles que correspondem a uma
posição real de memória
Lambo Chiungo
Endereço lógico versus endereço físico
 Espaço lógico de um processo é diferente do espaço
físico.
Endereço lógico: gerado pela CPU (endereço virtual)
Endereço físico: endereços enviados para a memória
RAM
 Programas de usuários “vêem” apenas endereços
lógicos.
 Endereços lógicos são transformados em endereços
físicos no momento de execução dos processos.
Lambo Chiungo
Unidade de gerência de memória
Lambo Chiungo
 Memory Management Unit (MMU)
Hardware que faz o mapeamento entre endereço lógico e
endereço físico.
 Existem inúmeros tipos de MMU (ou UGM):
 Inicialmente simples, baseada em registos de relocação
 Constituída depois por um chip dedicado com mais
funções.
 Actualmente faz parte do chipset da maioria dos
processadores, tendo-se tornado bastante complexo de
utilizar e programar.
Lambo Chiungo
Ligação de Instruções e Dados à Memória
Lambo Chiungo
 A ligação das Instruções e Dados a Endereços Físicos da Memória
podem ser feitos em três alturas distintas:
 Na compilação: se os endereços de memória são conhecidos à priori,
o código pode ser gerado de forma absoluta.
 Mas se o endereço de início muda, terá de ser recompilado.
 No carregamento: se os endereços da memória onde o processo vai
ser carregado não são conhecidos no momentoda compilação, o código
é gerado em modo relocável.
 Na execução: se o processo pode ser carregado em vários endereços e
memória diferentes durante a sua execução, a ligação aos endereços
não pode ser realizada de forma definitiva.
 Nesse dois últimos casos é necessário suporte do hardware para
realizar o mapeamento de endereços:
 Registos de Base e Limite
 Unidade de Gestão Memória
Código relocável
 Carregador relocador
Correção de todas as referências a memória de forma a
corresponder ao endereço de carga do programa
 Necessidade de identificar quais endereços devem ser
corrigidos.
Código relocável
Mapeamento das posições a serem corrigidas é mantida
através de tabelas
 Código executável mantém informações de relocação na
forma de tabelas
No momento da carga o programa executável é interpretado e
os endereços corrigidos
Lambo Chiungo
Código absoluto
 Carregador absoluto
Não realiza correção de endereços no momento da carga
do programa em memória.
 Código executável absoluto não necessita manter
tabelas de endereços a serem corrigidos.
 Endereço de carga
Fixo pelo programa (programador)
Qualquer correção pode ser feita automaticamente, de
forma transparente, a partir de registradores de base.
Lambo Chiungo
Mecanismo Básico de Relocação
 A todos os endereços lógicos gerados pelo CPU é
adicionado o valor contido num registo de relocação.
Lambo Chiungo
Mecanismo Básico de Limitação
 É também necessário limitar o espaço de
endereçamento lógico a que um processo pode aceder.
 Para isso são utilizados os dois registos base e limite.
Lambo Chiungo
Mecanismo Básico de Protecção
 Com os Registos de Base e Limite é possível implementar
um esquema de protecção muito simples:
 Quando o endereço gerado pelo CPU é inferior à base ou superior
ao limite é gerada uma excepção para o sistema operativo.
 Para cada processo são carregados valores diferentes nos registos.
Lambo Chiungo
Alocação de Memória
 Para carregar um processo em memória, é necessário
atribuir-lhe uma zona de memória de tamanho igual ou
superior ao espaço físico total que ocupa.
 A alocação de Memória mais simples é feita através do
particionamento do espaço físico disponível em
múltiplos blocos
 Bloco livre: espaço contínuo de memória livre que pode
estar localizado em qualquer sítio da memória física.
 Quando um processo está para ser carregado em memória,
é-lhe atribuída memória de um bloco livre.
 O Sistema Operativo mantém informações sobre os
 Blocos livres.
 Blocos ocupados.
Lambo Chiungo
Lambo Chiungo
Mecanismos de Particionamento
 Existem várias formas de particionar o espaço memória, que
dependem sobretudo do tipo de Unidade de Gestão Memória
utilizada.
 O mecanismo mais simples consiste na utilização de dois registos
base e limite, que só permitem alocação contínua de toda a
memória de um processo.
 Com a evolução do hardware, mecanismos mais complexos têm
sido desenvolvidos e integrados pelos SO ao longo dos tempos.
 Utilização de múltiplos registos de relocação, permitindo
distinguir várias zonas distintas no espaço de um processo.
 Segmentação
 Decomposição do espaço lógico e físico em inúmeras pequenas
zonas independentes da natureza do seu conteúdo
 Paginação
Lambo Chiungo
Alocação Memória em Modo Contínuo
 Como responder a um pedido de alocação de N bytes a partirde
uma lista de blocos livres:
 First-fit: alocar o primeiro bloco livre suficientemente grande
para conter N bytes.
 Best-fit: alocar o mais pequeno bloco que seja suficientemente
grande para conter N bytes.
 É preciso percorrer a lista toda, a menos que esteja ordenada por
tamanhos.
 Produz os melhores resultados pois provoca menos desperdícios.

 Worst-fit: alocar o maior bloco que seja suficientemente grande.
 Necessita percorrer a lista toda.
Lambo Chiungo
Algoritmos de Alocação de Memória

Lambo Chiungo
Lambo Chiungo
Lambo Chiungo
Lambo Chiungo
Swapping
 Um processo pode ser temporariamente e parcialmente
retirado da memoria central caso haja falta de espaço para
manter todos os processo, e mais tarde de novo carregado
para continuar a execução.
 A unidade de swapping é geralmente o segmento.
 Memória Secundária (Backing Store) – espaço em disco
rápido suficientemente grande para guardar cópias das
imagens memória de todos os processos residentes; deve
permitir acesso rápido e directo a essas imagens.
 Roll out, roll in – variante do swapping utilizada para
algoritmos de scheduling baseados na prioridade: os
processos com baixa prioridade podem ser retirados da
memória para deixar espaço a processos com maior
prioridade.
Lambo Chiungo
Lambo Chiungo
Swapping
Gestão de Ficheiros
Lambo Chiungo
Introdução
 O sistema de ficheiros é a parte mais vísivel do sistema
operativo.
 Cria um recurso lógico a partir de recursos físicos através de
uma interface coerente e simples, fácil de usar.
 Mecanismo para armazenamento e acesso a dados e a
programas.
 Duas partes básicas:
Ficheiros
 Armazenamento de dados e de programas
Directórios
 Organização e informações sobre ficheiros
Lambo Chiungo
Ponto de vista do usuário
 Cada usuário deve ser capaz de:
Criar, apagar, ler e alterar ficheiros.
Controlar as permissões de acesso a seus ficheiros.
Nomear ficheiros de forma simbólica.
Estruturar os ficheiros de forma a adequá-los a suas
necessidades específicas.
 Criação de diretórios e subdiretórios.
Realizar back-ups e recuperar ficheiros em caso de
problemas.
Lambo Chiungo
Ponto de vista do sistema
 O sistema operativo deve ser capaz:
Descrever a localização de todos os ficheiros e de seus
atributos.
 Via directório.
Gerenciar espaço físico do disco.
 Alocar blocos livres a ficheiros em criação/expansão.
 Liberar blocos de ficheiros removidos.
 Mecanismos para localizar eficientemente blocos (setores)
que compõem ficheiros.
Lambo Chiungo
Conceitos básicos
 Ficheiros
Recipientes que contêm dados
 Directórios
Conjuntos de referências a ficheiros
 Partição
Abstração que permite a partir do disco físico criar
discos lógicos
Lambo Chiungo
Conceito de Ficheiro
 Informação pode ser armazenada em diferentes tipos de mídia.
 O sistema operativo deve oferecer uma visão uniforme da
informação independente do dispositivo físico de armazenamento
 Visão lógica é o ficheiro.
 Ficheiros são mapeados para dispositivos físicos.
 Ficheiros possuem:
 Nome
 Atributos
 Estrutura interna
 Tipo
 Método de acesso
 Operações
Lambo Chiungo
Nomes de Ficheiros
 O sistema de ficheiros define um espaço de nomes.
Conjunto de regras e convenções para identificar
simbolicamente um ficheiro.
 Variam de sistema para sistema:
Distinção entre letras maiúsculas e minúsculas.
Obrigatoriedade ou não de uma extensão.
 As vezes extensões são apenas convenções.
Tamanho máximo de nome e da extensão (se houver).
Lambo Chiungo
Atributos de um Ficheiro
 Informações sobre ficheiros:
Nome: informação simbólica empregada para referenciar o
ficheiro.
Tipo: binário, texto, executável, caracter, bloco.
Localização: posição do ficheiro em um determinado
dispositivo E/S.
Tamanho: número de bytes que compõem o ficheiro.
Proteção: controla acesso de leitura, escrita e execução ao
ficheiro.
Hora e data de criação, identificação do usuário: informações
destinadas a proteção, segurança e monitoração.
 Varia de sistema operativo a sistema operativo.
 Atributos são mantidos em uma estrutura a parte.
Directório
Lambo Chiungo
Estruturas de Ficheiros
 Sequência de bytes;
 Sequência de registros;
 Árvore.
Lambo Chiungo
Sequência de bytes
 Sistema operativo não “interpreta” o conteúdo do
ficheiro.
Enxerga apenas ‘bytes’
 Interpretação é a nível do programa de usuário.
 Vantagem:
Flexibilidade.
Lambo Chiungo
Sequência de registros
 Ficheiro é “interpretado” como uma sequência de
registros, isto é:
Tamanho fixo;
Estrutura interna.
 Operações lêem/escrevem registros.
Lambo Chiungo
Árvore
 Conjunto de registros não necessariamente de mesmo
tamanho.
Possuem um campo de acesso (chave).
 Comum em mainframes.
Método ISAM (Indexed Sequential Access Method).
Lambo Chiungo
Operações Sobre Ficheiros
 Open - é a função que permite o mapeamento entre o nome de um ficheiro e o seu
descritor interno (FCB= File Control Block).
 Procura o nome do ficheiro num directório, acede ao seu FCB e traz o seu
conteúdo para memória.
 Valida as permissões de acesso do utilizador.
 O sistema mantém uma tabela de ficheiros abertos, na qual são armazenados
os respectivos FCBs.
 Close - função inversa.
 Liberta o FCB em memória e realiza a actualização dos seus atributos.
 Create - cria um novo ficheiro, alocando uma nova entrada no catálogo
 Write - transfere uma zona espaço do processo para dentro do ficheiro, realizando a
alocação de espaço necessária à medida.
 Read - função inversa.
 Seek - permite posicionar o ponteiro de I/O em qualquer parte do conteúdo
 do ficheiro.
 Etc…
Lambo Chiungo
Operações sobre Directórios
 Lookup: procura de um ficheiro num directório,
retorna um descriptor de ficheiro.
 Create: Criação de um ficheiro.
 Delete: remoção de um ficheiro.
 List: listagem do conteúdo.
 Traverse: atravessamento do directório na procura de
um nó situado mais abaixo.
Lambo Chiungo
É o suficiente por hoje!
Feliz Semana Santa
Lambo Chiungo

Mais conteúdo relacionado

Semelhante a Aula 3- Disciplina:Pratica Técnico Profi

Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalAlexandre Duarte
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacaowebphotoshop
 
Trabalho de sistemas operativos
Trabalho de sistemas operativosTrabalho de sistemas operativos
Trabalho de sistemas operativosFrank macoo
 
Estrutura de processos apresentação
Estrutura de processos apresentaçãoEstrutura de processos apresentação
Estrutura de processos apresentaçãoRafael Dos Santos
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria37193694
 
Resumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicosResumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicosJoo200
 
Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)escoteirodabahia
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processosvini_campos
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacionalMichael Soto
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisCid de Andrade
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Sistemas de Arquivos.pptx
Sistemas de Arquivos.pptxSistemas de Arquivos.pptx
Sistemas de Arquivos.pptxstenio medeiros
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)Vitor Hugo Melo Araújo
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2Matheus Brito
 

Semelhante a Aula 3- Disciplina:Pratica Técnico Profi (20)

S.o aula 2324
S.o aula 2324S.o aula 2324
S.o aula 2324
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória Principal
 
Sistema Operativo 2
Sistema Operativo 2Sistema Operativo 2
Sistema Operativo 2
 
Gerenciamento memoria
Gerenciamento memoriaGerenciamento memoria
Gerenciamento memoria
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacao
 
Trabalho de sistemas operativos
Trabalho de sistemas operativosTrabalho de sistemas operativos
Trabalho de sistemas operativos
 
Estrutura de processos apresentação
Estrutura de processos apresentaçãoEstrutura de processos apresentação
Estrutura de processos apresentação
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria
 
Resumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicosResumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicos
 
Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
Componentes basicos do pc
Componentes basicos do pcComponentes basicos do pc
Componentes basicos do pc
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas de Arquivos.pptx
Sistemas de Arquivos.pptxSistemas de Arquivos.pptx
Sistemas de Arquivos.pptx
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2
 
SO - Aula 05 - Concorrencia
SO - Aula 05 - ConcorrenciaSO - Aula 05 - Concorrencia
SO - Aula 05 - Concorrencia
 

Aula 3- Disciplina:Pratica Técnico Profi

  • 1. Docente: Lambo Vasco Chiungo E-mail: lambochiungo@gmail.com Aula 3
  • 3. Considerações Gerais  Memória necessita ser alocada de forma eficiente para permitir o máximo possível de processos.  Um sistema de memória possui pelo menos dois níveis: Memória principal: acessada pela CPU Memória secundária: discos  Programas são armazenados em disco. Executar um programa se traduz em transferi-lo da memória secundária à memória primária.  Qualquer sistema operativo tem gerência de memória. Monotarefa: gerência é simples Multitarefa: complexa Lambo Chiungo
  • 4. Memória lógica e Memória física  Memória lógica É aquela que o processo “enxerga” Endereços lógicos são aqueles manipulados por um processo  Memória física Implementada pelos circuitos integrados de memória Endereços físicos são aqueles que correspondem a uma posição real de memória Lambo Chiungo
  • 5. Endereço lógico versus endereço físico  Espaço lógico de um processo é diferente do espaço físico. Endereço lógico: gerado pela CPU (endereço virtual) Endereço físico: endereços enviados para a memória RAM  Programas de usuários “vêem” apenas endereços lógicos.  Endereços lógicos são transformados em endereços físicos no momento de execução dos processos. Lambo Chiungo
  • 6. Unidade de gerência de memória Lambo Chiungo  Memory Management Unit (MMU) Hardware que faz o mapeamento entre endereço lógico e endereço físico.  Existem inúmeros tipos de MMU (ou UGM):  Inicialmente simples, baseada em registos de relocação  Constituída depois por um chip dedicado com mais funções.  Actualmente faz parte do chipset da maioria dos processadores, tendo-se tornado bastante complexo de utilizar e programar.
  • 8. Ligação de Instruções e Dados à Memória Lambo Chiungo  A ligação das Instruções e Dados a Endereços Físicos da Memória podem ser feitos em três alturas distintas:  Na compilação: se os endereços de memória são conhecidos à priori, o código pode ser gerado de forma absoluta.  Mas se o endereço de início muda, terá de ser recompilado.  No carregamento: se os endereços da memória onde o processo vai ser carregado não são conhecidos no momentoda compilação, o código é gerado em modo relocável.  Na execução: se o processo pode ser carregado em vários endereços e memória diferentes durante a sua execução, a ligação aos endereços não pode ser realizada de forma definitiva.  Nesse dois últimos casos é necessário suporte do hardware para realizar o mapeamento de endereços:  Registos de Base e Limite  Unidade de Gestão Memória
  • 9. Código relocável  Carregador relocador Correção de todas as referências a memória de forma a corresponder ao endereço de carga do programa  Necessidade de identificar quais endereços devem ser corrigidos. Código relocável Mapeamento das posições a serem corrigidas é mantida através de tabelas  Código executável mantém informações de relocação na forma de tabelas No momento da carga o programa executável é interpretado e os endereços corrigidos Lambo Chiungo
  • 10. Código absoluto  Carregador absoluto Não realiza correção de endereços no momento da carga do programa em memória.  Código executável absoluto não necessita manter tabelas de endereços a serem corrigidos.  Endereço de carga Fixo pelo programa (programador) Qualquer correção pode ser feita automaticamente, de forma transparente, a partir de registradores de base. Lambo Chiungo
  • 11. Mecanismo Básico de Relocação  A todos os endereços lógicos gerados pelo CPU é adicionado o valor contido num registo de relocação. Lambo Chiungo
  • 12. Mecanismo Básico de Limitação  É também necessário limitar o espaço de endereçamento lógico a que um processo pode aceder.  Para isso são utilizados os dois registos base e limite. Lambo Chiungo
  • 13. Mecanismo Básico de Protecção  Com os Registos de Base e Limite é possível implementar um esquema de protecção muito simples:  Quando o endereço gerado pelo CPU é inferior à base ou superior ao limite é gerada uma excepção para o sistema operativo.  Para cada processo são carregados valores diferentes nos registos. Lambo Chiungo
  • 14. Alocação de Memória  Para carregar um processo em memória, é necessário atribuir-lhe uma zona de memória de tamanho igual ou superior ao espaço físico total que ocupa.  A alocação de Memória mais simples é feita através do particionamento do espaço físico disponível em múltiplos blocos  Bloco livre: espaço contínuo de memória livre que pode estar localizado em qualquer sítio da memória física.  Quando um processo está para ser carregado em memória, é-lhe atribuída memória de um bloco livre.  O Sistema Operativo mantém informações sobre os  Blocos livres.  Blocos ocupados. Lambo Chiungo
  • 16. Mecanismos de Particionamento  Existem várias formas de particionar o espaço memória, que dependem sobretudo do tipo de Unidade de Gestão Memória utilizada.  O mecanismo mais simples consiste na utilização de dois registos base e limite, que só permitem alocação contínua de toda a memória de um processo.  Com a evolução do hardware, mecanismos mais complexos têm sido desenvolvidos e integrados pelos SO ao longo dos tempos.  Utilização de múltiplos registos de relocação, permitindo distinguir várias zonas distintas no espaço de um processo.  Segmentação  Decomposição do espaço lógico e físico em inúmeras pequenas zonas independentes da natureza do seu conteúdo  Paginação Lambo Chiungo
  • 17. Alocação Memória em Modo Contínuo  Como responder a um pedido de alocação de N bytes a partirde uma lista de blocos livres:  First-fit: alocar o primeiro bloco livre suficientemente grande para conter N bytes.  Best-fit: alocar o mais pequeno bloco que seja suficientemente grande para conter N bytes.  É preciso percorrer a lista toda, a menos que esteja ordenada por tamanhos.  Produz os melhores resultados pois provoca menos desperdícios.   Worst-fit: alocar o maior bloco que seja suficientemente grande.  Necessita percorrer a lista toda. Lambo Chiungo
  • 18. Algoritmos de Alocação de Memória  Lambo Chiungo
  • 22. Swapping  Um processo pode ser temporariamente e parcialmente retirado da memoria central caso haja falta de espaço para manter todos os processo, e mais tarde de novo carregado para continuar a execução.  A unidade de swapping é geralmente o segmento.  Memória Secundária (Backing Store) – espaço em disco rápido suficientemente grande para guardar cópias das imagens memória de todos os processos residentes; deve permitir acesso rápido e directo a essas imagens.  Roll out, roll in – variante do swapping utilizada para algoritmos de scheduling baseados na prioridade: os processos com baixa prioridade podem ser retirados da memória para deixar espaço a processos com maior prioridade. Lambo Chiungo
  • 25. Introdução  O sistema de ficheiros é a parte mais vísivel do sistema operativo.  Cria um recurso lógico a partir de recursos físicos através de uma interface coerente e simples, fácil de usar.  Mecanismo para armazenamento e acesso a dados e a programas.  Duas partes básicas: Ficheiros  Armazenamento de dados e de programas Directórios  Organização e informações sobre ficheiros Lambo Chiungo
  • 26. Ponto de vista do usuário  Cada usuário deve ser capaz de: Criar, apagar, ler e alterar ficheiros. Controlar as permissões de acesso a seus ficheiros. Nomear ficheiros de forma simbólica. Estruturar os ficheiros de forma a adequá-los a suas necessidades específicas.  Criação de diretórios e subdiretórios. Realizar back-ups e recuperar ficheiros em caso de problemas. Lambo Chiungo
  • 27. Ponto de vista do sistema  O sistema operativo deve ser capaz: Descrever a localização de todos os ficheiros e de seus atributos.  Via directório. Gerenciar espaço físico do disco.  Alocar blocos livres a ficheiros em criação/expansão.  Liberar blocos de ficheiros removidos.  Mecanismos para localizar eficientemente blocos (setores) que compõem ficheiros. Lambo Chiungo
  • 28. Conceitos básicos  Ficheiros Recipientes que contêm dados  Directórios Conjuntos de referências a ficheiros  Partição Abstração que permite a partir do disco físico criar discos lógicos Lambo Chiungo
  • 29. Conceito de Ficheiro  Informação pode ser armazenada em diferentes tipos de mídia.  O sistema operativo deve oferecer uma visão uniforme da informação independente do dispositivo físico de armazenamento  Visão lógica é o ficheiro.  Ficheiros são mapeados para dispositivos físicos.  Ficheiros possuem:  Nome  Atributos  Estrutura interna  Tipo  Método de acesso  Operações Lambo Chiungo
  • 30. Nomes de Ficheiros  O sistema de ficheiros define um espaço de nomes. Conjunto de regras e convenções para identificar simbolicamente um ficheiro.  Variam de sistema para sistema: Distinção entre letras maiúsculas e minúsculas. Obrigatoriedade ou não de uma extensão.  As vezes extensões são apenas convenções. Tamanho máximo de nome e da extensão (se houver). Lambo Chiungo
  • 31. Atributos de um Ficheiro  Informações sobre ficheiros: Nome: informação simbólica empregada para referenciar o ficheiro. Tipo: binário, texto, executável, caracter, bloco. Localização: posição do ficheiro em um determinado dispositivo E/S. Tamanho: número de bytes que compõem o ficheiro. Proteção: controla acesso de leitura, escrita e execução ao ficheiro. Hora e data de criação, identificação do usuário: informações destinadas a proteção, segurança e monitoração.  Varia de sistema operativo a sistema operativo.  Atributos são mantidos em uma estrutura a parte. Directório Lambo Chiungo
  • 32. Estruturas de Ficheiros  Sequência de bytes;  Sequência de registros;  Árvore. Lambo Chiungo
  • 33. Sequência de bytes  Sistema operativo não “interpreta” o conteúdo do ficheiro. Enxerga apenas ‘bytes’  Interpretação é a nível do programa de usuário.  Vantagem: Flexibilidade. Lambo Chiungo
  • 34. Sequência de registros  Ficheiro é “interpretado” como uma sequência de registros, isto é: Tamanho fixo; Estrutura interna.  Operações lêem/escrevem registros. Lambo Chiungo
  • 35. Árvore  Conjunto de registros não necessariamente de mesmo tamanho. Possuem um campo de acesso (chave).  Comum em mainframes. Método ISAM (Indexed Sequential Access Method). Lambo Chiungo
  • 36. Operações Sobre Ficheiros  Open - é a função que permite o mapeamento entre o nome de um ficheiro e o seu descritor interno (FCB= File Control Block).  Procura o nome do ficheiro num directório, acede ao seu FCB e traz o seu conteúdo para memória.  Valida as permissões de acesso do utilizador.  O sistema mantém uma tabela de ficheiros abertos, na qual são armazenados os respectivos FCBs.  Close - função inversa.  Liberta o FCB em memória e realiza a actualização dos seus atributos.  Create - cria um novo ficheiro, alocando uma nova entrada no catálogo  Write - transfere uma zona espaço do processo para dentro do ficheiro, realizando a alocação de espaço necessária à medida.  Read - função inversa.  Seek - permite posicionar o ponteiro de I/O em qualquer parte do conteúdo  do ficheiro.  Etc… Lambo Chiungo
  • 37. Operações sobre Directórios  Lookup: procura de um ficheiro num directório, retorna um descriptor de ficheiro.  Create: Criação de um ficheiro.  Delete: remoção de um ficheiro.  List: listagem do conteúdo.  Traverse: atravessamento do directório na procura de um nó situado mais abaixo. Lambo Chiungo
  • 38. É o suficiente por hoje! Feliz Semana Santa Lambo Chiungo