Sistemas Operacionais: Conceitos e Tipos
Classificado em Computação
Escrito em em português com um tamanho de 5,61 KB.
SISC/RISC: Microsoft, Intel, Motorola, Apple
Microsoft, Intel = SISC/RISC = Motorola, Apple
O que é um Sistema Operacional (SO)?
O SO gera interface entre Hardware e Usuário, gerencia os recursos (processadores, espaço em memória, arquivos).
Controle de acesso: equilibrar o uso e evitar conflitos.
SO como Máquina Abstrata
- Ocultar a complexidade do hardware.
- Oferecer interfaces padronizadas de acesso ao hardware.
- Permitir uma visão homogênea de dispositivos distintos.
Funções Principais de um SO
- Execução de programas: capacidade de carregar, executar e encerrar um programa.
- Operações de I/O: deve fornecer meios para controlar arquivos ou dispositivos de I/O.
- Manipulação do sistema de arquivos: ler, gravar, criar e excluir arquivos.
- Comunicação: comunicação de processos.
- Detecção de erros: notar falhas de CPU, memória ou dispositivos de I/O e tomar medidas adequadas.
Shell e Interface Gráfica
O Interpretador de Comando (Shell) ou a Interface Gráfica fornecem proteção entre o usuário e o SO.
Níveis de Software
- Programas e Aplicações: Softwares bancários, Office.
- Programas do Sistema: Compiladores, o SO, Editores.
- Hardware: Linguagem de Máquina - Microarquitetura.
Recursos
Recurso é tudo que pode ser utilizado pelo usuário ou hardware.
Tipos de Sistemas Operacionais
Monotarefa vs. Multitarefa
- Monotarefa: O software não usa todo o hardware. O SO executa apenas um programa ou tarefa de cada vez.
- Multitarefa ou Multiprogramável: Um processador com um núcleo só executa uma tarefa, mas alterna entre elas.
Tipos de Multitarefa
- Cooperativa: Meio caminho entre multitarefa e monotarefa. Os programas cooperam entre si. No Windows 3.1, o usuário escolhia qual janela executar (a janela ativa).
- Preemptiva: Sistema 100% multitarefa. Uma aplicação alterna entre várias tarefas, um pouco de cada vez. O SO controla o processo, definindo quando começa e termina. Ele faz um loop de todos os programas, executando um pouco de cada.
- Não Preemptiva: P1 está usando o processador. P1 vai usar o HD. P2 entra no processador e fica até parar de ser processado.
Batch
Batch: Lote de programas que serão executados em sequência (pré-definida). Quando um termina, outro job (programa) começa. O job tem posse total do sistema até terminar. Um programa batch não pode ter interação com o usuário.
Sistema de Tempo Compartilhado (Time-Sharing)
Sistema de Tempo Compartilhado (Time-Sharing): Dá uma fatia de tempo para cada processo.
Sistema de Tempo Real (Real Time)
Sistema de Tempo Real (Real Time): SO de Tempo Real é multitarefa. Algo que precisa estar funcionando em tempo real, principalmente monitoramento.
Monousuário vs. Multiusuário
Monousuário x Multiusuário: Um usuário x Vários usuários. Um sistema multiusuário pode ser monousuário. Um sistema monousuário não pode ser multiusuário. Um sistema monotarefa só pode ser monousuário.
Perguntas e Respostas
- Como é formado um SO?
Por softwares que gerenciam seu hardware. - O que são recursos? Dê alguns exemplos.
Recursos são o que você tem disponível. Exemplo: 3GB de RAM é o recurso de RAM. - O que é um processo?
O software vira um processo após a execução. É um software trabalhando. - O que é o shell?
Shell, literalmente falando, é a proteção entre o usuário e o SO. - Em qual situação um software pode acessar diretamente o hardware?
Quando não for necessário um gerenciamento, ou quando ele precisa se conectar diretamente com o aparelho, quando o hardware não depende do SO. - Caracterize um sistema operacional monotarefa e um multitarefa.
Monotarefa suporta apenas uma tarefa por vez. Multitarefa suporta várias tarefas e vários usuários. - Os termos cooperativo, preemptivo e não preemptivo são utilizados em qual tipo de SO?
Cooperativo é monotarefa. Preemptivo e não preemptivo são multitarefa. - Explique o funcionamento de um sistema preemptivo.
Em um sistema preemptivo, o SO controla o processo, delimitando um certo tempo para cada um. - Explique o funcionamento de um sistema batch.
Um sistema batch define uma sequência pré-definida que será usada, os programas que irão rodar, os jobs. Ao término de um, ele começa outro job. - Qual a diferença entre um sistema time-sharing e tempo real?
Em tempo real, o SO não tem poder sobre o programa; ele vai rodar quanto tempo for preciso. Time-sharing compartilha um tempo com cada programa, sendo o SO preemptivo. - O que é um terminal burro? Onde ele é utilizado?
Um terminal burro só tem teclado e monitor. Ele é usado para acessar um mainframe, para acessar dados de outro servidor.