Please enable JavaScript.
Coggle requires JavaScript to display documents.
SISTEMAS OPERACIONAIS - Coggle Diagram
SISTEMAS OPERACIONAIS
TIPOS
BATCH(LOTE)
- Os sistemas operacionais mais antigos trabalhavam “por lote”, ou seja, todos os programas a executar eram colocados em uma fila, com seus dados e demais informações para a execução. O processador recebia os programas e os processava sem interagir com os usuários, o que permitia um alto grau de utilização do sistema.
REDE
- Um sistema operacional de rede deve possuir suporte à operação em rede, ou seja, a capacidade de oferecer às aplicações locais recursos que estejam localizados em outros computadores da rede, como arquivos e impressoras.
GERÊNCIA DE RECURSOS
- Em um sistema com várias atividades simultâneas, podem surgir conflitos no uso do hardware, quando dois ou mais aplicativos precisam dos mesmos recursos para poder executar. Cabe ao sistema operacional definir políticas para gerenciar o uso dos recursos de hardware pelos aplicativos
DISTRIBUIDO
- Em um sistema operacional distribuído, os recursos de cada máquina estão disponíveis globalmente, de forma transparente aos usuários. Ao lançar uma aplicação, o usuário interage com sua janela, mas não sabe onde ela está executando ou armazenando seus arquivos: o sistema é quem decide, de forma transparente..
MULTIUSUÁRIO
- Um sistema operacional multiusuário deve suportar a identificação do “dono” de cada recurso dentro do sistema (arquivos, processos, áreas de memória, conexões de rede) e impor regras de controle de acesso para impedir o uso desses recursos por usuários não autorizados
SERVIDOR
- Um sistema operacional servidor deve permitir a gestão eficiente de grandes quantidades de recursos (disco, memória, processadores), impondo prioridades e limites sobre o uso dos recursos pelos usuários e seus aplicativos.
EMBARCADO
- Um sistema operacional é dito embarcado (embutido ou embedded) quando é construído para operar sobre um hardware com poucos recursos de processamento, armazenamento e energia. Aplicações típicas desse tipo de sistema aparecem em telefones celulares, sistemas de automação industrial e controladores automotivos, equipamentos eletrônicos de uso doméstico (leitores de DVD, TVs, fornos de microondas, centrais de alarme, etc.).
TEMPO REAL
- Ao contrário da concepção usual, um sistema operacional de tempo real não precisa ser necessariamente ultrarrápido; sua característica essencial é ter um comportamento temporal previsível (ou seja, seu tempo de resposta deve ser conhecido no melhor e pior caso de operação).
FUNCIONALIDADES
- Para cumprir seus objetivos de abstração e gerência, o sistema operacional deve atuar em várias frentes.
-
-
-
GERÊNCIA DO PROCESSADOR
- Também conhecida como gerência de processos ou de atividades, esta funcionalidade visa distribuir a capacidade de processamento de forma justa entre as aplicações, evitando que uma aplicação monopolize esse recurso e respeitando as prioridades dos usuários.
ESTRUTURA
- Um sistema operacional não é um bloco único e fechado de software executando sobre o hardware. Na verdade, ele é composto de diversos componentes com objetivos e funcionalidades complementares.
- Alguns dos componentes mais relevantes de um sistema operacional típico são:
- Núcleo: é o centro do sistema operacional, responsável pela gerência dos recursos do hardware usados pelas aplicações. Ele também implementa as principais abstrações utilizadas pelos programas aplicativos.
- Drivers: São códigos específicos para acessar os dispositivos (hardware). Existe um driver para cada tipo de dispositivo, como discos rígidos IDE, SCSI, portas USB, placas de vídeo, etc. Muitas vezes o driver é construído pelo próprio fabricante do hardware e fornecido em forma compilada (em linguagem de máquina) para ser acoplado ao restante do sistema operacional.
- Código de inicialização: a inicialização do hardware requer uma série de tarefas complexas, como reconhecer os dispositivos instalados, testá-los e configurá-los adequadamente para seu uso posterior. Outra tarefa importante é carregar o núcleo do sistema operacional em memória e iniciar sua execução.
- Programas utilitários: são programas que facilitam o uso do sistema computacional, fornecendo funcionalidades complementares ao núcleo, como formatação de discos e mídias, configuração de dispositivos, manipulação de arquivos (mover, copiar, apagar), interpretador de comandos, terminal, interface gráfica, gerência de janelas, etc.
PROCESSOS
O QUE SÃO?
- O conjunto dos recursos alocados a uma tarefa para sua execução é denominado processo.
- Além do código executável, cada tarefa ativa em um sistema de computação precisa de um conjunto de recursos para executar e cumprir seu objetivo.
- As áreas de memória usadas pela tarefa para armazenar seu código;
-
-
-
-
THREADS
- Os primeiros sistemas operacionais suportavam apenas uma tarefa por processo. À medida em que as aplicações se tornavam mais complexas, essa limitação se tornou um claro inconveniente. Por exemplo, um editor de textos geralmente executa tarefas simultâneas de edição, formatação, paginação e verificação ortográfica sobre a mesma massa de dados (o texto sob edição).
O QUE SÃO?
- De forma geral, cada fluxo de execução do sistema, seja associado a um processo ou no interior do núcleo, é denominado thread. Threads executando dentro de um processo são chamados de threads de usuário (user-level threads ou simplesmente user threads).
- Cada thread de usuário corresponde a uma tarefa a ser executada dentro de um processo.
- Os fluxos de execução reconhecidos e gerenciados pelo núcleo do sistema operacional são chamados de threads de núcleo.
OBJETIVOS
ABSTRAÇÃO
Assim, o sistema operacional deve definir interfaces abstratas para os recursos do hardware, visando atender os seguintes objetivos:
- Prover interfaces de acesso aos dispositivos;
- Tornar os aplicativos independentes do hardware.
- Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas
- Como visto anteriormente, Acessar os recursos de hardware de um sistema de computação pode ser uma tarefa complexa, devido às características específicas de cada dispositivo físico e a complexidade de suas interfaces.
- Os objetivos básicos de um sistema operacional podem ser sintetizados em duas palavras-chave: “abstração” e “gerência”, cujos principais aspectos são detalhados a seguir.
HISTÓRIA
- A proposta era automatizar diversas atividades sem ter que reenviar constantemente códigos para fazer uma determinada função, além de gerenciar melhor os recursos do equipamento.
- Em uma evolução, o usuário introduzia programa na máquina, introduzia os dados, iniciava o programa e aguardava a finalização.
- Os primeiros computadores eram construídos para executar uma tarefa específica, caso você precisasse de realizar outra atividade, um novo projeto deveria ser executado e implementado.