Criar uma Loja Virtual Grátis




Sistemas Operacionais
Sistemas Operacionais

­CONCEITOS DE SISTEMAS OPERACIONAIS

O que é um sistema operacional?

Um programa que atua como intermediário entre o usuário de um computador e o hardware do computador, tornando sua utilização mais simples, rápida e segura.

Controla o funcionamento de um computador, gerenciando a utilização dos seus diversos recursos, como processadores, memórias e dispositivos de entrada e saída.

 

Objetivos do sistema operacional:

– Executar programas do usuário e facilitar a resolução de problemas do usuário.

– Tornar o uso do sistema de computador conveniente.

– Usar o hardware de computador de uma maneira eficiente.

– Permitir o emprego e controle de múltiplas aplicações de forma concorrente.

 

VISÃO DE UM SISTEMA OPERACIONAL

visaoSO



NÍVEIS DE PROCESSAMENTO

niveis_processo


HISTÓRICO DOS PROCESSADORES

Primeira  geração: 1945 -1955

–Válvulas, painéis de programação

John Atanasoff, Suze, Colussus e Eniac

- Não havia linguagens de programação, nem Assembly.

 

Segunda  geração: 1955 -1965

–transistores, sistemas em  lote (BATCH).

–Surgimento de  Assembly,  Fortran e Cobol.

 

Terceira  geração: 1965 –1980

–CIs  e  multiprogramação

 

Quarta  geração:1980 –presente

–  Computadores pessoais

–  Computadores de grande porte

–  Supercomputadores

 

HISTÓRICO DA COMPUTAÇÃO (SOs)

Década de 1950

Processamento  em lotes (batch)

 Entrada: cartões perfurados

Fitas  Magnéticas

Saída: Impressoras

 

Década de 1960

Surgimento dos circuitos integrados.

Inovações em SO:

    –Multiprogramação

    –Multiprocessamento

    –Time-sharing

    –Memória virtual

 

1963: Burroughs  lança B-5000 com SO Master Control Program(MCP), incorporava novas técnicas e uso de linguagem de alto nível.

Primeiro supercomputador: CDC 6600

 

IBM 701

IBM701

 

perifericos


CPD – Centro de Processamento de Dados

cpd


CARTÃO PERFURADO – HOLLERITH

cartao


Década de 1960

1964: IBM lança System360 - introdução do conceito de máquinas de porte diferentes (famílias)

1962: Primeiro computador com time-sharing IBM 7094 –32 usuários interativos –sistema operacional CTSS

 

•CTSS foi base para o MULTICS:

      –Memória virtual com páginação e segmentação

      –Multiprogramação

      –Múltiplos processadores e usuários

 Minicomputadores (DEC)

Surgimento UNIX

 

Década de 1970

Integração em larga escala (LSI e VLSI) –minituarização  e barateamento.

Intel produz seu primeiro microprocessador – Intel 4004.

Intel 8080 – primeiro microcomputador.

 

1976: Aple  II (8 bits)

Surgimento Microsoft.

Surgimento multiprocessamento.

Cray-1: 200.000 CI e 100 milhões de operações de ponto flutuante por seg.

 

Década de 1980

Surgimento IBM PC –Intel 8088 de 16 bits com DOS (Disk Operating  System).

Sistemas multiusuários foram impulsionados.

TCP/IP

Surgimento das Estações de trabalho.

 

1982: Surgimento da Sun Microsystems, primeiras estações RISC

Interfaces gráficas.

Windows (seguindo os passos do MAC/OS).

 

Década de 1990

Avanços de hardware, software e telecomunicações.

Processadores e dispositivos de E/S mais rápidos e menores.

ULSI (Ultra Large Scale Integration)

Internet: problemas de gerência, segurança e desempenho.

Arquitetura Cliente –Servidor.

Software aberto (Open Source).

 

Década de 2000

Demanda cada vez maior de processamento.


Arquiteturas paralelas.

Processamento distribuído.

SO em celulares, pdas   e outros.

 

PROCESSOS

ESTRUTURA DO PROCESSOS

 

 

Cada usuário tem um processo associado.

Ao usar a CPU o usuário pensa que é único.

 

Área de hardware: Espaço destinado ao conteúdo dos registradores da CPU.

Área de Software:

- Identificação do processo.

- Limites dos recursos que pode ser usado.

- Número de arquivos – identificação  do usuário.

- Cotas de recursos- prioridade.

 

Área de Endereçamento: Espaço de memória que o processo pode usar

 

BLOCO DE CONTROLE DO PROCESSO

PCB – Process Control Block.

Implementa uma estrutura de dados para controlar o processo que está na memória.

Esta estrutura de dados é implementada na memória – no sistema operacional.

PCB  PID=1  ==>  PCB  PID=2  ==>  PCB  PID=8  ==>  PCB  PID=5

 
 

ESTRUTURA DO PCB

- PONTEIROS

- ESTADO DO PROCESSO

- PRIORIDADE DO PROCESSO

- REGISTRADORES

- LIMITES DE MEMÓRIA

- ARQUIVOS ABERTOS

- contabilização

 

PROCESS STATUS  = COMANDOS

Pode-se: alterar, criar, deletar visualizar, sincronizar, trocar prioridades...

 

ESTADOS DO PROCESSO:

Execução – Running - quando está ocupando o processar  (um por vez).

Pronto – Ready – O processo aguarda a CPU a ordem de executar é chamada de ESCALONAMENTO.

Espera – wait – quando aguarda por algum evento (também chamado de bloced).

 

MUDANÇA DE ESTADOS

Os eventos são gradas pelo processo ou pelo S.O.

Um processo pronto pode estar na Memória principal ou em disco:

 

Mudança de estado:

    PRONTO        ==>    EXECUÇÃO

    EXECUÇÃO    ==>    ESPERA

    ESPERA         ==>    PRONTO

    EXECUÇÃO    ==>    PRONTO

 

TROCA DE PROGRAMA NA MEMÓRIA

A técnica de troca do processo entre a memória principal e o disco é conhecida como:

 

Swap out  ==> tira da memória principal.

Swap in ===>  tira do disco e coloca na memória.

 

CRIAÇÃO DO PROCESSO - NEW

Criação (new): Está no estado de criação quando a estrutura de PCB, aloca recursos.

 

Formas de criação de processo:

 Logon interativo:

   - Via linguagem de comandos.

   - Via rotinas de sistemas operacionais.

 

ELIMINAÇÃO  DO PROCESSO - EXIT

Eliminação (exit):

Está no estado de terminado o processo não é mais executado.

Neste momento são colocadas as informações de contabilização.

O PCB é deletado.

 

Formas de eliminar o processo:

- Termino norma de execução.

- Eliminação por um outro processo.

- Eliminação forçada por falta de recursos

TIPO DE PROCESSOS

CPU bound: focado no uso de CPU.

 I/O bound: focado em periféricos de entrada e saída.

 

PROCESS FOREGROUND E BACKGROUND

Um processo tem dois canais de comunicação.

in ==> processo ==> out


FOREGROUND - COMUNICAÇÃO DIRETA COM O USUÁRIO DURANTE O PROCESSAMENTO (INTERATIVO).

BACKGROUND - MODELO BATCH DE COMUNICAÇÃO PIPE LINE  A SAIDA DE UM PROCESSO É LIGADA  A

                              ENTRADA DE OUTRO PROCESSO.

 

PROCESSOS  INDEPENDENTES, SUBPROCESSO E THREADS

SÃO FORMAS DIFERENTES DE IMPLEMNTAR:

    O CÓDIGO TRABALHA DE FORMA COOPERATIVA E PODEMOS TER:

     independente:  Não há vinculo do processo criado com o seu criador.

     Sub processo: Processo pai ligado ao processo filho.

 

PROCESSOS  INDEPENDENTES, SUBPROCESSO E THREADS

Thread – Criado para reduzir o tempo gasto na criação, eliminação e troca de contexto.

              – Em um thread pode-se associar partes múltiplas do código e compartilham o mesmo 

                  contexto de software.

 

SINAIS

É um mecanismo que permite notificar processos de eventos gerados pelo S.O. ou por outros processos.

O tratamento de um sinal é semelhante ao tratamento de uma interrupção.