Principais Conceitos de Sistemas Operacionais
Classificado em Computação
Escrito em em
português com um tamanho de 5,76 KB
- Alocação contígua simples: Monotarefa; memória dividida em duas partes: uma para o S.O. e outra para o programa. Há desperdício de memória.
- Particionamento: Divisão de espaço em um HD em diversas regiões denominadas partições.
- Código absoluto: Todos os endereços do programa referem-se a posições físicas na memória.
- Código relocável: As referências dos endereços são relativas ao início do programa; pode ser carregada em qualquer parte da memória que esteja disponível.
- Segmentação: Quando o programa é dividido na memória em tamanhos diferentes.
- Paginação: Subdivisão da memória em pequenas partes (frames).
- Swapping: Troca de processos ativos que não estão sendo processados; são carregados na memória secundária, retornando quando é necessário. Gera maior overhead.
- Memória virtual: A parte principal do programa é mantida na memória primária, enquanto o resto do programa é mantido no HD e enviado para a memória quando solicitado.
- Page fault: Interrupção causada quando um programa acessa uma página na memória virtual que não foi carregada na memória principal.
- Mnemônicos: Conjunto de técnicas utilizadas para auxílio do processo de memorização.
- S.O.: Software que atua como interface entre os programas e o hardware.
- Programa x Processos: Programa é uma sequência lógica de instruções para solução de um problema. Processos representam o ambiente criado para a execução do programa.
- Formatação lógica: Processo que cria o sistema de arquivos, armazenando as estruturas de dados iniciais. O S.O. organiza e otimiza o acesso ao HD.
- Cluster: Sistema que relaciona dois ou mais computadores para trabalhar em conjunto.
- Sistema de arquivo: Conjunto de estruturas lógicas e de rotinas que permitem que o S.O. controle o acesso ao HD. Ex: FAT16, FAT32, NTFS.
- NTFS: Sistema de arquivos construído à base de arquivos. Contém uma tabela mestra (MFT).
- Migração de dados: Memória 2 > Memória 1 > Cache > Registrador. Caso a informação não esteja na memória, é realizada uma interrupção.
- Algoritmos de substituição: FIFO (primeira a entrar é a primeira a sair), LFU (páginas menos usadas são as primeiras a sair) e LRU (páginas mais antigas são as primeiras a sair).
- Conceitos de desempenho: Thrashing (excesso de troca de páginas), Escalonar (atribuição de um recurso), Preempção (retirada daquele recurso) e Throughput (velocidade de processamento de dados em um determinado tempo).
- Fatia de tempo: Atribuição de tempo para cada tarefa.
- Monoprogramação/Monotarefa: Um processo por vez; os recursos do hardware ficam exclusivos para aquela tarefa.
- Spooling: Processo de transferência de dados, colocando-os em uma área temporária (buffer), estando à disposição quando solicitado.
- Fila circular: Cada processo tem um tempo limite para sua execução (quantum/time-slice).
- Múltiplas filas: Diversas filas onde cada processo é associado exclusivamente a uma delas, definida pela prioridade de cada um.
- Multiprogramação/Multitarefa: Executa vários processos, cada um com uma fatia de tempo. Compartilham do mesmo hardware. Há muito overhead.
- Multiprocessamento: Executa vários processos simultaneamente; há mais de um processador.
- Multithreads: Execução de várias threads (divisão de processos de um programa). Possui tolerância a falhas e contém redundância.
- Sistemas fortemente acoplados: Um PC com vários processadores compartilhando os recursos do hardware. Aumento de throughput, sistema tolerante a falhas e maior overhead.
- Sistemas assimétricos: Um computador com vários processadores. Contém um processador mestre que controla os escravos e distribui as demais tarefas para cada um.
- Sistemas simétricos: Conjunto de processadores trabalhando em conjunto; compartilham da mesma memória e barramento. Oferece tolerância a falhas e melhor desempenho.
- Sistemas fracamente acoplados: Máquinas que não compartilham do mesmo hardware, mas trabalham em conjunto.
- Computação em grade: Rede de computadores que dividem os recursos com todo ou qualquer PC no sistema.
- Processamento Batch: Processamento em lotes; as informações são coletadas, recebidas, armazenadas e submetidas a processamento futuro. Processos (jobs) são executados em segundo plano (background). Possui agendamento de tarefas e tempo de resposta longo (turnaround).
- Processamento em tempo compartilhado: Diversos programas são executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice). O tempo de processamento pode variar.
- Tempo real: O tempo de processamento deve estar dentro de um limite rígido, caso contrário haverá problemas. Não há fatia de tempo; um programa fica por tempo indeterminado até um processo de prioridade maior entrar.