Conceitos e Funções dos Sistemas Operacionais
Classificado em Computação
Escrito em em
português com um tamanho de 7,21 KB
Principais funções do SO:
- Abstração: esconder detalhes internos de funcionamento.
- Gerência: controlar todos os dispositivos, dividindo os recursos de forma justa e otimizada.
O que é e como funciona a multiprogramação?
Consiste em manter mais de um programa em execução. Porém, eles não são executados todos ao mesmo tempo; executa-se um depois o outro e, posteriormente, volta-se para o primeiro, e assim por diante. Isso ocorre em um espaço de tempo muito curto, o que dá a impressão de que tudo foi executado simultaneamente.
O que é a técnica de spooling?
Consiste em alocar os jobs em um buffer (uma área de memória ou de um disco), onde um dispositivo pode acessá-los quando estiver preparado.
Por que o time-sharing não foi disseminado na 2ª geração?
Porque o processamento era feito em lote (batch) e os jobs eram processados de maneira sequencial, impossibilitando qualquer tipo de compartilhamento.
Diferencie entre os SO de PCs pessoais e SO dos mainframes:
Os SO de mainframe possuem poucos processos e muito tempo de uso de CPU para cada um deles. Já os SO de PC pessoal possuem poucos trabalhos divididos em muitos processos. Estes estão preocupados com o real-time do usuário, enquanto aqueles preocupam-se em resolver completamente os problemas o mais rápido possível.
Diferença entre um trap e uma interrupção?
A interrupção é geralmente iniciada por um dispositivo de E/S, fazendo a CPU parar o que está fazendo, salvar seu contexto na pilha, tratar a interrupção, resgatar o contexto e continuar a execução. A TRAP é causada por software em condições excepcionais, como a divisão por zero e acesso inválido à memória.
Diferença entre arquivo especial de bloco e um arquivo especial de caracteres?
Os AEB são usados para modelar dispositivos que fornecem endereçamento aleatório, como discos. Os AEC são usados para modelar dispositivos que utilizam acesso serial aos dados, como modems e impressoras.
Tipos de Sistemas Operacionais
- Sistemas em lote (batch): os programas, quando executados, são armazenados em discos ou fitas, onde esperam para serem atendidos; geralmente, não exigem interação com o usuário.
- Tempo compartilhado (Time-sharing): o sistema aloca uma fatia de tempo do processador para cada usuário. Caso o programa não seja concluído nesse intervalo, ele é substituído por outro usuário e aguarda por uma nova fatia. Permitem a interação dos usuários com o sistema.
- Multiprogramados: os recursos da máquina são alocados de modo dinâmico entre o número de programas ativos, de acordo com o nível de prioridade ou o estágio de execução de cada um.
- SO de Tempo Real: possuem suas tarefas classificadas por prioridade e um tempo máximo de execução. O gerenciamento prioriza as tarefas mais importantes para garantir que completem a execução no prazo. Não focam no compartilhamento justo, mas na prioridade da tarefa.
- SO Paralelo: permite executar simultaneamente várias partes de uma mesma aplicação. As aplicações são executadas em uma mesma CPU, em máquinas multiprocessadas ou em grupos de máquinas interligadas que se comportam como uma só.
Objetivos do escalonador:
Possibilitar a execução “pseudoparalela” de vários programas e fazer uso eficiente da CPU, de forma a não executar trocas de contexto excessivamente.
SO Mainframe: São orientados para o processamento de muitas tarefas.
Multiprocessamento:
- Assimétrico: técnica onde somente um processador tem acesso ao núcleo e atua como escalonador dos demais (mestre-escravo).
- Simétrico: cada processador executa uma cópia idêntica do SO. Muitos processos executam de uma vez sem deterioração de desempenho, embora exija sincronismo entre as cópias.
A grande vantagem é o ganho de desempenho, confiabilidade e economia; a desvantagem reside nos inconvenientes da gerência paralela.
Objetivos das chamadas de sistema: Permitir aos programas o acesso a recursos e operações do sistema.
Processamento de uma interrupção: Inclui o salvamento do contexto do programa, execução da rotina de E/S e restauração do contexto original.
Relação entre programa e processo: O processo é uma abstração utilizada para representar um programa em execução, contendo todas as informações necessárias para completar uma computação.
O que é o BCP? Qual é o seu conteúdo?
É uma estrutura de dados no núcleo do SO que serve para armazenar a informação necessária para tratar um determinado processo. Contém dados para que a execução possa ser iniciada, interrompida e retomada.
Tipos de Escalonadores:
- Curto prazo: alta frequência; atua sobre processos prontos, alocando a CPU rapidamente.
- Médio prazo: ligado ao gerenciamento de memória; determina quais processos ficam na memória.
- Longo prazo: controla quais processos vão para a fila de prontos. Quanto mais processos, menos tempo de CPU para cada um.
Métricas de Desempenho:
- Turnaround time: tempo que o usuário deve esperar pela resposta.
- Throughput: número de tarefas processadas por unidade de tempo.
O processo sofreu preempção?
Significa que o processo teve seu processamento interrompido para que outro fosse processado. Após um ciclo, o primeiro retorna sem perda de conteúdo.
Impacto do Quantum:
- Quantum pequeno: diminui o tempo de espera de cada processo.
- Quantum grande: diminui o número de trocas de contexto, economizando memória.
Escalonamento por múltiplas filas com realimentação: Os processos são organizados em filas por prioridade e novos processos podem ser acrescentados conforme o tempo passa.
Estados dos Processos: NOVO, PRONTO, EXECUTANDO, BLOQUEADO, TERMINADO.
Critérios do escalonamento:
- JUSTIÇA: tempo justo para cada processo.
- EFICIÊNCIA: manter CPU 100% ocupada.
- TURNAROUND: minimizar o tempo de espera do resultado.
- THROUGHPUT: maximizar o número de jobs processados.
Preempção: Ato de tirar um recurso de um processo antes de sua conclusão. Levou a sistemas mais produtivos e complexos, permitindo que tarefas estivessem em andamento simultaneamente (uma ativa e outras suspensas aguardando condições).