Conceitos Fundamentais de Sistemas Operacionais e Computação
Classificado em Computação
Escrito em em português com um tamanho de 3,29 KB
Máquina Virtual (VM)
Uma Máquina Virtual (VM) é um software que emula um computador e pode executar programas como um computador real. Este software foi inicialmente definido como "uma forma eficiente, duplicata isolada de uma máquina física." O significado do termo hoje abrange as máquinas virtuais que não têm equivalência direta com qualquer hardware real.
Shell (Interface de Usuário)
A Shell é um pedaço de software que fornece uma interface para os usuários. Geralmente, o termo refere-se à shell do Sistema Operacional (SO) que permite o acesso aos serviços do kernel. As shells do Sistema Operacional geralmente se dividem em duas categorias, dependendo da sua interface:
- Linha de Comando (CLI)
- Gráfica (GUI)
Multiprogramação vs. Monoprogramação
A Multiprogramação permite que dois ou mais processos residam na mesma unidade de memória principal e sejam executados ao mesmo tempo (concorrentemente). Já a Monoprogramação executa apenas um programa de cada vez e não iniciará outro até que o anterior seja concluído.
Sistemas de Processamento em Lote (Batch)
Os Sistemas Operacionais de Processamento em Lote processam uma grande quantidade de trabalho com pouca ou nenhuma interação entre os usuários e os programas em execução. Eles reúnem todas as tarefas comuns para serem executadas ao mesmo tempo, evitando a espera entre diferentes tarefas (como ocorreria no processamento em série). Estes sistemas são mais tradicionais e antigos, tendo sido introduzidos por volta de 1956 para aumentar a capacidade de processamento dos programas.
Compartilhamento de Tempo (Time-Sharing)
O Compartilhamento de Tempo (Time-Sharing) refere-se à partilha de um recurso de computação entre diversos usuários através da multitarefa. Ao permitir que um grande número de usuários interaja simultaneamente em um único computador, o custo do serviço de computação é drasticamente reduzido, ao mesmo tempo que torna a experiência de computação mais interativa.
Sistemas em Tempo Real (Real-Time)
O conceito de Tempo Real está relacionado a sistemas de hardware e software que são limitados por restrições de tempo. O software em tempo real deve necessariamente ter a característica de um tempo de resposta crítico. As características essenciais incluem:
- Determinismo
- Sensibilidade
- Controle do Usuário
- Confiabilidade
- Tolerância a Falhas
Chamadas de Sistema (System Calls)
Quando uma Chamada de Sistema é invocada, a execução do programa solicitante é interrompida e os dados são armazenados (geralmente no PCB - Process Control Block) para que a execução possa continuar posteriormente. O processador inicia a execução de instruções de código de alto nível de privilégio para executar a tarefa solicitada. Quando esta tarefa é concluída, o controle retorna ao processo original, que continua a ser executado. O retorno ao processo solicitante não é necessariamente imediato, dependendo do tempo de execução da chamada de sistema e do algoritmo de escalonamento.