SISTEMAS OPERACIONAIS

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
SISTEMAS OPERACIONAIS por Mind Map: SISTEMAS OPERACIONAIS

1. O QUE É?

1.1. Gerenciador dos recursos do computador

1.2. Programa em execução que fornece uma interface entre usuário e máquina

2. ESTRUTURA

2.1. ELEMENTOS DO S.O

2.1.1. Núcleo

2.1.1.1. Componente mais importante do S.O, é quem gerencia os recursos dos hardwares utilizados nas aplicações

2.1.2. Código de Inicialização

2.1.2.1. Conhecido como "boot code" é responsável por realizar o conhecimento do dispositivo instalado, testá-lo e configurá-lo de forma adequada para o próximo uso,

2.1.3. Drivers

2.1.3.1. Módulos de código específicos para acessar os dispositivos

2.1.3.1.1. dispositivos USB, discos rígidos etc

2.1.4. Programas Utilitários

2.1.4.1. Facilitadores do uso do sistema computacional, proporcionando funcionalidades adicionais ao núcleo. (Formatação, exclusão etc)

3. ARQUITETURA

3.1. Monolítica

3.1.1. Rotinas de S.O invocadas através de chamadas de sistema

3.2. Camadas

3.2.1. MODULAR

3.2.1.1. Divisão do S.O em camadas, cada uma com uma funcionalidade

3.2.2. Hierarquico

3.2.2.1. As camadas superiores ignoram os detalhes dos processos realizados pelos níveis mais baixos

3.2.3. Interfaces

3.2.3.1. Definição de interfaces entre os módulos hierárquicos

3.2.4. Módulos menores e mais simples

3.2.4.1. Reuso e manutenibilidade

3.3. JVM

3.3.1. Essa estrutura cria um nível intermediário entre o hardware e S.O, chamado de Gerencia de Maquina Virtual

3.3.1.1. Viabiliza a criação de várias máquinas virtuais

3.3.1.1.1. Cada VM oferece uma cópia virtual do hardware, o que inclui modos de acesso, interrupções, dispositivos de E/S, etc

3.3.2. Cada VM oferece uma cópia virtual do hardware, o que inclui

3.4. Micro Kernel

3.4.1. Núcleo do S.O mais simples

3.4.1.1. Favorece alocação de CPU e comunicação entre processos

3.4.1.2. Proporciona mais flexibilidade e independência

3.5. Núcleo Híbrido

3.5.1. Abordagem intermediária entre núcleo monolítico e micronúcleo

3.5.1.1. Mais utlizada atualmente!

4. HISTÓRIA

4.1. 1ª Geração (1945-1955)

4.1.1. Computadores a válvula

4.1.2. Ausência de um SO

4.1.3. Programação em linguagem de máquina 0 e 1

4.1.4. Programação realizada por especialistas

4.2. 2ª geração (1955-1965)

4.2.1. Invenção e uso dos transistores

4.2.2. Utilização da linguagem Assembly e FORTRAN

4.2.2.1. Uso de mnemônicos

4.2.3. Sistemas Operacionais do tipo lote batch

4.2.3.1. Vários programas são postos para execução um após o outro, semelhante a uma fila

4.3. 3ª Geração (1965 - 1980)

4.3.1. Circuitos integrados

4.3.2. Multiprogramação

4.3.2.1. Vários programas em execução no computador

4.3.3. Timesharing

4.3.3.1. Os recursos do computador são compartilhados ao longo do tempo pelos programas em execução

4.3.4. Sistema OS/ 360 (IBM)

4.4. 4ª Geração (1980 - 1990)

4.4.1. Circuitos integrados com alta escala de integração (

4.4.2. Sistema Operacional para computador pessoal

4.4.2.1. MS DOS (interação por linguagem de comando)

4.4.2.2. Microsoft Windows (interação por GUI)

4.4.3. Difusão da Internet (rede mundial de computadores)

4.5. 5ª Geração (1990 - HOJE)

4.5.1. Sistemas Operacionais com suporte TCP/IP

4.5.2. Arquitetura Cliente/Servidor

4.5.3. Sistemas de Tempo Real real time

4.5.4. Computação Ubíqua ou pervasiva (em toda parte)

4.5.5. Internet das Coisas (do inglês Internet of Things IoT)

5. FUNÇÕES

5.1. Gerenciamento de Processos

5.1.1. Criar e excluir processos de usuário e de sistema

5.1.2. Suspender e retomar processos

5.1.3. Fornecer meios para sincronização de processos

5.1.4. Fornecer meios para comunicação entre processos

5.1.5. Tratar deadlocks (espera cíclica de recursos entre processos)

5.2. Gerenciamento da Memória Principal

5.2.1. Identificar quantos da memória está sendo utilizado e quanto está livre.

5.2.2. Determinar quais processos devem ser carregados para a memória quando houver espaço

5.2.3. Alocar e desalocar espaço na memória

5.2.4. Prover recursos de proteção à memória

5.3. Gerenciamento de Arquivos

5.3.1. Criar e excluir arquivos e diretórios

5.3.2. Manipular arquivos e diretórios

5.3.3. Mapear arquivos para armazenamento secundário

5.3.4. Fazer backup de arquivos

5.4. Gerenciamento do Sistema de E/S

5.4.1. Dispositivos de hardware como fones, teclados, impressoras, monitores

5.5. Gerenciamento da Memória Secundária

5.5.1. Gerenciar os espaços livres do disco

5.5.2. Alocar dados no disco

5.5.3. Escalonar o acesso ao disco

5.5.4. Utilizar o disco como memória

6. GESTÃO DE TAREFAS

6.1. Sistemas Monotarefa

6.1.1. Primeiros sistemas computacionais

6.1.2. Realizavam uma tarefa por vez

6.1.3. Operações coordenadas por um operador humano

6.1.4. Usados para operações de cálculos e fins militares.

6.1.5. Recursos subutilizados

6.2. Sistemas Multitarefas

6.2.1. Vários programas em memória e executando no computador

6.2.2. Há diversas tarefas simultaneamente em execução no processador

6.2.3. Exige o mecanismo de trocas rápidas de processos

6.2.4. Melhor utilizado

6.2.5. Tipos

6.2.5.1. Sistemas em Batch

6.2.5.1.1. Submete ao computador um lote de programas para executar

6.2.5.1.2. Os processos são submetidos em ordem sequencial para serem executados

6.2.5.1.3. Não há interação entre o usuário e o processo durante a execução

6.2.5.2. Sistemas Interativos

6.2.5.2.1. O tempo de CPU é compartilhado entre diversas tarefas que podem estar na memória ou no disco

6.2.5.2.2. Tarefas podem ser retiradas da CPU caso excedam o tempo previsto.

6.2.5.2.3. Quando a tarefa é concluída, o SO se encarrega de selecionar a próxima a ser executada

6.2.5.2.4. Precisam estar prontos para dar suporte aos pedidos dos usuários

6.2.5.2.5. Possibilita a interação dos usuários na forma dediálogo

6.2.5.2.6. Pode ser projetado como monousuário ou multiusuário por meio de conceitos de multiprogramação ou timesharing

6.2.5.3. Sistemas Paralelos

6.2.5.3.1. Sistemas multiprocessados com mais de um processador se comunicando, sendo fortemente acoplados

6.2.5.3.2. Proporciona maior processamento, maior economia

6.2.5.3.3. Mais complexo ao S.O

6.2.5.3.4. Multiprocessamento simétrico

6.2.5.3.5. Multiprocessamento assimétrico

6.2.5.4. Sistemas Distribuídos

6.2.5.4.1. Distribuem o trabalho entre vários processadores

6.2.5.4.2. Desvantagens

6.2.5.4.3. Vantagens

6.2.5.5. Sistemas em Cluster

6.2.5.5.1. Simulam um grande computador

6.2.5.5.2. Permitem que os sistemas compartilhem discos

6.2.5.5.3. Clustering assimétrico

6.2.5.5.4. Clustering simétrico

6.2.5.6. Sistemas em Tempo Real

6.2.5.6.1. Usados no controle aplicações dedicadas de uso crítico

6.2.5.6.2. Restrição bem limitada de tempo para as respostas

6.2.5.6.3. Podem ser rígidos ou flexíveis, depende da sua finalidade