Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

Virtualização, gerenciamento de memória e estrutura do sistema operacional

Por:   •  17/12/2018  •  1.661 Palavras (7 Páginas)  •  306 Visualizações

Página 1 de 7

...

- Best-fit: Escolhe a melhor partição, onde o programa deixa o menor espaço sem utilização.

- Worst-fit: Escolhe a pior partição, onde o programa deixa o maior espaço sem utilização.

- First-fit: Escolhe a primeira partição livre, de tamanho suficiente para carregar o programa.

Estrutura do Sistema Operacional

O Sistema operacional deve garantir a confiabilidade nos dados dos usuários e na concorrência de execução dos programas, como também, deve garantir a integridade do Sistema operacional, onde o mesmo é formado por rotinas (procedimentos) que oferecem serviços aos usuários e aplicações, o conjunto de rotinas é chamado de núcleo do sistema ou kernel.

Kernel: Faz a gerência de memória, do sistema de arquivos, faz o escalonamento e controle dos processos, sincroniza e comunica entre os processos, cria ou elimina processos, executa tratamento de interrupções, faz operações de entrada e saída, contabilização e segurança do sistema. Não há uma ordem pré-definida para execução concorrente dessas rotinas por meio eventos assíncronos.

Modo de acesso: Instruções privilegiadas (modo kernel ou supervisor), tem o poder de comprometer o sistema, onde pode ter o acesso ao conjunto total de instruções do processador. Instruções não-privilegiadas (modo usuário) não oferecem perigo ao sistema, onde uma aplicação só pode executar instruções não-privilegiadas, tendo acesso a um número reduzido de instruções.

System Call: É o mecanismo de proteção do núcleo e de acesso aos seus serviços, são como portas de entrada para se ter acesso as rotinas do Sistema operacional, onde o próprio mecanismo verifica se a aplicação possui privilégios nessários. Tipos de system call em diferentes Sistemas operacionais, Unix(system call), OpenVMS(system services), MS Windows(Application Program Interface(API)).

Arquitetura Kernel: Os primeiros Sistemas operacionais foram desenvolvidos em assembly, os atuais são escritos em C/C++ Unix e Windows, linguagem de alto nível podendo ser facilmente alterado em outra arquitetura de hardware, sua desvantagem, perca de desempenho.

Arquitetura monolítica: Formada por vários módulos que são compilados separadamente e depois linkados formando um único programa executável, onde os módulos podem interagir livremente. Prós, simplicidade e bom desempenho. Contras, desenvolvimento e manutenção difíceis.

Sistemas monolíticos: É escrito como uma coleção de processos, onde cada processo pode fazer chamada para outro, não há estruturação visível, os System Calls são requisitados através de pilhas e registradores e de uma chamada de sistema especial chamada TRAP ao kernel.

Sistemas em camadas: O sistema é dividido em níveis sobrepostos, as camadas do conjunto de funções, só poderá ser usada pelas camadas superiores. Prós, facilita a manutenção e depuração, cria uma hierarquia de modo de acesso. Contras, desempenho, tanto em Unix quanto em Windows.

Divisão de camadas

5 – operador;

4 – programas do usuário;

3 – gerência de dispositivos de I/O;

2 – comunicação processo-operador;

1 – gerência de memória e tambor magnético;

0 – alocação do processador e implementação da multiprogramação;

As camadas podem ser divididas em anéis, da mais externa a mais interna, Usuário, supervisor, executivo e kernel.

Máquina virtual: Cria um nível intermediário entre o hardware e o sistema operacional denominado de gerência de máquinas virtuais, VM’s são independentes e cada Vm pode possuir seu próprio Sistema operacional. Prós, há um isolamento total entre Vms criando grande segurança entre elas. Contras, estruturas bastante complexas, a necessidade de compartilhar e gerenciar recursos do hardware entre as diversas vm’s.

Microkernel: Consiste em tornar o núcleo do Sistema operacional o mais simples possível, os serviços são disponibilizados através de processos, responsáveis por um conjunto específico de funções. O solicitante é chamado de cliente e a Request de servidor, sendo a principal função do núcleo fazer essa troca de cliente e servidor. Prós, flexibilidade e portabilidade. Contra, difícil implementação.

Virtualização

Hypervisor: componente responsável pela máquina virtual, monitora, define o tipo de virtualização, além de ser o mediador entre os dispositivos virtuais e o hardware.

Tipo 1 “bare-metal”: Nativa, é o próprio Sistema operacional, substitui o sistema operacional da máquina, tem o controle total do processador e o resto do Hardware. Exemplos, VMware ESXi, Xen, KVM, Hyper-V.

Tipo 2 “hosted”: Hospedeira, instalado acima do Sistema Operacional, tem controle limitado sobre o hardware, o sistema convidado acessa diretamente o anfitrião, essa otimização é implementada pelo hypervisor. Exemplos, VMware Player, Fusion Workstation, Virtual box.

- Emulação: Um emulador simula uma máquina de características distintas do computador sobre qual o emulador opera, através de software, traduzindo todas as instruções para instruções do sistema hospedeiro.

- Abstração: Simplifica o uso, forma mais simples de prover alguns recursos específicos de hardware para um software.

- Virtualização: Replica o recurso, provê um conjunto completo de recursos, é a forma de dividir os recursos de um computador em vários ambientes de execução.

Virtualização de Hardware: exporta o sistema físico como uma abstração do hardware.

Virtualização de sistema operacional: exporta um sistema operacional como abstração de um sistema específico.

Virtualização de linguagem de programação: a camada exporta uma abstração para a execução de programas escritos para esta virtualização.

Componentes de sistemas de computadores: Hardware, Sistema operacional e Aplicações.

Aplicações: Macintosh Power Pc, Windows e Linux: X86.

Técnicas

...

Baixar como  txt (12.2 Kb)   pdf (57.1 Kb)   docx (16.8 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no Essays.club