Sistema Operacional

Get Started. It's Free
or sign up with your email address
Sistema Operacional by Mind Map: Sistema Operacional

1. Os sistemas operacionais foram criados para facilitar a vida dos usuários, pois sem ele o usuário teria que interagir com o computador através de linhas de comando.

2. FUNÇÕES BÁSICAS

2.1. Fornecer uma interface com o usuário;

2.2. Gerenciar a operação dos dispositivos de hardware do computador;

2.3. Gerenciar e manter o sistema de arquivos;

2.4. Dar suporte aos programas que são executados

3. MÁQUINA DE CAMADAS

3.1. Aplicações

3.2. Utilitários

3.3. Sistema Operacional

3.4. Linguagem de Máquina

3.5. Microprogramação

3.6. Circuitos Eletônicos

4. EVOLUÇÃO

4.1. Primeira Geração

4.1.1. A máquina ENIAC (Eletronic Numerical Integrator And Calculator) é considerado de fato o primeiro computador da história

4.2. Segunda Geração

4.2.1. Os computadores tornaram-se bastante confiáveis e puderam ser produzidos e vendidos comercialmente na expectativa de que eles continuassem a funcionar por bastante tempo para realizar algumas tarefas usuais

4.3. Terceira Geração

4.3.1. muitos fabricantes de computadores tinham duas linhas de produto distintas e totalmente incompatíveis

4.4. Quarta Geração

4.4.1. chips contendo milhares de transistores em um centímetro quadrado de silício, a era do computador pessoal começava

5. CONCORRÊNCIA

5.1. Interrupções e Exceções

5.1.1. Durante a execução de um programa podem ocorrer alguns eventos inesperados, ocasionado um desvio forçado no seu fluxo de execução

6. Operações de Entrada/Saída

6.1. Com a implementação do mecanismo de interrupção no hardware dos computadores, as operações de E/S puderam ser realizadas de uma forma mais eficiente

7. PROCESSO

7.1. O processo é a base para implantação de um sistema operacional multiprogramável

7.2. Estrutura do Processo

7.2.1. O processador foi projetado para executar as instruções a partir do ciclo de busca e execução

7.3. Contexto de hardware

7.3.1. hardware guarda o conteúdo dos registradores do processador

7.4. Contexto de software

7.4.1. software são especificadas as características e limites dos recursos que podem ser alocados pelo processo

7.5. Espaço de endereçamento

7.5.1. é a área de memória pertencente ao processo onde as instruções e dados do programa são armazenados para execução

7.6. Bloco de controle do processo

7.6.1. sistema operacional mantém todas as informações sobre o contexto de hardware, contexto de software e espaço de endereçamento de cada processo.

7.7. Estados do Processo

7.7.1. Execução (running)

7.7.1.1. Um processo é dito no estado de execução quando está sendo processado pela CPU

7.7.2. Pronto (ready)

7.7.2.1. Um processo está no estado de pronto quando aguarda apenas para ser executado

7.7.3. Espera (wait)

7.7.3.1. Um processo no estado de espera aguarda por algum evento externo ou por algum recurso para prosseguir seu processamento

7.8. Criação e Eliminação de Processos

7.8.1. A criação de um processo ocorre quando o sistema operacional adiciona um novo PCB à sua estrutura e reserva espaço na memória para uso

7.8.1.1. Criação (new)

7.8.1.1.1. Um processo é considerado em estado de criação, quando o sistema operacional já criou um novo PCB, porém ainda não pode colocá-lo na lista de processos do estado de pronto

7.8.1.2. Terminado (exit)

7.8.1.2.1. Um processo no estado terminado não poderá ter mais nenhum programa executado em seu contexto, porém, o SO ainda mantém suas informações de controle na memória.

7.9. Processos Independentes, Subprocessos e Threads

7.9.1. Processos Independentes

7.9.1.1. a maneira mais simples de se implementar a concorrência em sistemas multiprogramáveis

7.9.2. Subprocessos

7.9.2.1. são criados dentro de uma estrutura hierárquica.

7.9.3. thread

7.9.3.1. estabelecido com a intenção de reduzir o tempo gasto na criação, eliminação e troca de contexto de processos nas aplicações concorrentes, bem como economizar recursos do sistema como um todo

7.10. Processos do Sistema Operacional

7.10.1. além de estar associado a aplicações de usuários, podem também ser implementados na própria arquitetura do sistema operacional

7.11. Processos CPU-Bound e I/O-Bound

7.11.1. CPU-Bound

7.11.1.1. Este tipo de processo realiza poucas operações de leitura e gravação e é encontrado em aplicações científicas que efetuam muitos cálculos.

7.11.2. I/O-Bound

7.11.2.1. passa a maior parte do tempo no estado de espera, pois realiza grande número de operações de E/S.

8. THREAD

8.1. Ambiente Monothread

8.1.1. um processo suporta apenas um programa em seu espaço de endereçamento

8.2. Ambiente Multithread

8.2.1. tem pelo menos um thread em execução, mas pode compartilhar o seu espaço de endereçamento com inúmeros outros threads

8.3. Programação Multithreads

8.3.1. pois exige que a comunicação e o compartilhamento de recursos entre os diversos threads seja feito de forma sincronizada para evitar problemas de inconsistências e deadlock

9. SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS

9.1. Aplicações Concorrentes

9.1.1. Dois processos concorrentes compartilham um buffer para trocar informações

9.2. Exclusão Mútua

9.2.1. deverá agir apenas sobre os processos que estão concorrendo em um determinado recurso

9.3. Starvation

9.3.1. Quem determina as prioridades dos processos é o sistema operacional

9.4. Sincronização condicional

9.4.1. é uma situação onde o acesso a um recurso compartilhado exige a sincronização de processos vinculada a uma condição de acesso.

9.5. Deadlock

9.5.1. Dizemos que um processo está em Deadlock quando este para de responder porque está esperando por um evento que nunca ocorrerá. Esta situação é conseqüência do problema da exclusão mútua.

10. GERÊNCIA DO PROCESSADOR

10.1. Funções

10.1.1. onde múltiplos processos poderiam permanecer na memória e disputar o uso de um único processador, a gerência do processador tornou-se uma das atividades mais importantes em um sistema operacional.

11. GERÊNCIA DE MEMÓRIA / MEMÓRIA VIRTUAL

11.1. Alocação Contígua Simples

11.1.1. Nesse modelo, a memória principal é dividida em duas partes, uma para o sistema operacional e a outra para o programa do usuário

11.2. Segmentação de Programas

11.2.1. Na alocação contígua simples todos os programas estão limitados ao tamanho da memória principal disponível para o usuário.

11.3. Alocação Particionada Estática

11.3.1. Os sistemas operacionais evoluíram para proporcionar melhor aproveitamento dos recursos. Nos sistemas monoprogramáveis o processador fica grande parte do tempo ocioso e a MP é sub-utilizada.

11.4. Memória Virtual

11.4.1. é uma técnica sofisticada e poderosa de gerência de memória onde as memórias principal e secundária são combinadas, dando ao usuário a impressão de que existe muito mais memória do que a capacidade real de memória principal.

12. Buffering

12.1. A técnica de buffering consiste na utilização de uma área de memória para a transferência de dados entre os periféricos e a memória principal denominada buffer.

13. Spooling

13.1. A solução foi armazenar os vários programas e seus dados, também chamados de jobs, em uma fita magnética e, em seguida, submetê-los a processamento

14. Reentrância

14.1. em sistemas multiprogramáveis, vários usuários executarem os mesmos utilitários do sistema operacional simultaneamente, como, por exemplo, um editor de textos.