Conceitos Básicos sobre Sistemas Operacionais - DCA

Propaganda
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Conceitos Básicos sobre Sistemas
Operacionais
Ivanovitch Medeiros Dantas da Silva
Universidade Federal do Rio Grande do Norte
Departamento de Engenharia de Computação e Automação
DCA0800 - Algoritmos e Lógica de Programação
Natal, 30 de agosto de 2011
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Sumário
1
2
3
Introdução
Definições
Funções de um Sistema
Operacional
Máquina estendida
Gerente de recursos
Tipos de Sistemas
Operacionais
Ivanovitch Silva
Evolução
Classificação
4
Estrutura de um Sistema
Operacional
5
Arquiteturas dos Sistemas
Operacionais
6
Referências bibliográficas
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Sumário
1
2
3
Introdução
Definições
Funções de um Sistema
Operacional
Máquina estendida
Gerente de recursos
Tipos de Sistemas
Operacionais
Ivanovitch Silva
Evolução
Classificação
4
Estrutura de um Sistema
Operacional
5
Arquiteturas dos Sistemas
Operacionais
6
Referências bibliográficas
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Introdução - Conceitos básicos sobre Sistemas
Operacionais
Sem software um computador é basicamente um monte
inútil de metal.
Com software um computador pode armazenar,
processar, tocar música, reproduzir videos, etc.
Um sistema computational: HARDWARE + SOFTWARE.
Software:
Programas de sistema - gerenciam a operação do
computador
Programas aplicativos - realizam o trabalho real desejado
pelo usuário
O programa de sistema mais básico é o sistema operacional,
cuja tarefa é controlar todos os recursos do computador
(dispositivos fı́sicos e funções de software).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Introdução - Conceitos básicos sobre Sistemas
Operacionais
Sem software um computador é basicamente um monte
inútil de metal.
Com software um computador pode armazenar,
processar, tocar música, reproduzir videos, etc.
Um sistema computational: HARDWARE + SOFTWARE.
Software:
Programas de sistema - gerenciam a operação do
computador
Programas aplicativos - realizam o trabalho real desejado
pelo usuário
O programa de sistema mais básico é o sistema operacional,
cuja tarefa é controlar todos os recursos do computador
(dispositivos fı́sicos e funções de software).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Introdução - Conceitos básicos sobre Sistemas
Operacionais
Sem software um computador é basicamente um monte
inútil de metal.
Com software um computador pode armazenar,
processar, tocar música, reproduzir videos, etc.
Um sistema computational: HARDWARE + SOFTWARE.
Software:
Programas de sistema - gerenciam a operação do
computador
Programas aplicativos - realizam o trabalho real desejado
pelo usuário
O programa de sistema mais básico é o sistema operacional,
cuja tarefa é controlar todos os recursos do computador
(dispositivos fı́sicos e funções de software).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Introdução - Conceitos básicos sobre Sistemas
Operacionais
Sem software um computador é basicamente um monte
inútil de metal.
Com software um computador pode armazenar,
processar, tocar música, reproduzir videos, etc.
Um sistema computational: HARDWARE + SOFTWARE.
Software:
Programas de sistema - gerenciam a operação do
computador
Programas aplicativos - realizam o trabalho real desejado
pelo usuário
O programa de sistema mais básico é o sistema operacional,
cuja tarefa é controlar todos os recursos do computador
(dispositivos fı́sicos e funções de software).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Introdução - Conceitos básicos sobre Sistemas
Operacionais
Sem software um computador é basicamente um monte
inútil de metal.
Com software um computador pode armazenar,
processar, tocar música, reproduzir videos, etc.
Um sistema computational: HARDWARE + SOFTWARE.
Software:
Programas de sistema - gerenciam a operação do
computador
Programas aplicativos - realizam o trabalho real desejado
pelo usuário
O programa de sistema mais básico é o sistema operacional,
cuja tarefa é controlar todos os recursos do computador
(dispositivos fı́sicos e funções de software).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Exemplos de Sistemas Operacionais
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Uma definição para Sistema Operacional
“É um programa de controle do computador. O Sistema
Operacional é responsável por alocar recursos de
hardware e escalonar tarefas. Ele também deve prover
uma interface para o usuário - ele fornece ao usuário uma
maneira de acesso aos recursos do computador”. Mark G
Sobell
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Uma definição para Sistema Operacional
“É um programa de controle do computador. O Sistema
Operacional é responsável por alocar recursos de
hardware e escalonar tarefas. Ele também deve prover
uma interface para o usuário - ele fornece ao usuário uma
maneira de acesso aos recursos do computador”. Mark G
Sobell
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Uma definição para Sistema Operacional
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Outra definição para Sistema Operacional
“Um Sistema Operacional pode ser definido como um
gerenciador dos recursos que compõem o computador
(processador, memória, I/O, arquivos, etc). Os problemas
centrais que o Sistema Operacional deve resolver são o
compartilhamento e a proteção dos recursos a serem
usados pelas aplicações do usuário e o interfaceamento
entre este e a máquina.” Stemmer
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Outra definição para Sistema Operacional
“Um Sistema Operacional pode ser definido como um
gerenciador dos recursos que compõem o computador
(processador, memória, I/O, arquivos, etc). Os problemas
centrais que o Sistema Operacional deve resolver são o
compartilhamento e a proteção dos recursos a serem
usados pelas aplicações do usuário e o interfaceamento
entre este e a máquina.” Stemmer
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Outra definição para Sistema Operacional
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
O conceito de máquina virtual
Um sistema computacional moderno é composto de vários
componentes (processadores, memórias, discos,
impressoras, interfaces de rede, etc).
Escrever programas que controlem todos esses
componentes é uma tarefa complexa.
Agora imagine se todo programador tivesse que se
preocupar com o funcionamento de cada um desses
componentes.
O sistema operacional apresenta para o usuário uma
interface, máquina virtual, que nada mais é que uma
máquina mais simples porém com as mesmas
funcionalidades da máquina real.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
O conceito de máquina virtual
Um sistema computacional moderno é composto de vários
componentes (processadores, memórias, discos,
impressoras, interfaces de rede, etc).
Escrever programas que controlem todos esses
componentes é uma tarefa complexa.
Agora imagine se todo programador tivesse que se
preocupar com o funcionamento de cada um desses
componentes.
O sistema operacional apresenta para o usuário uma
interface, máquina virtual, que nada mais é que uma
máquina mais simples porém com as mesmas
funcionalidades da máquina real.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
O conceito de máquina virtual
Um sistema computacional moderno é composto de vários
componentes (processadores, memórias, discos,
impressoras, interfaces de rede, etc).
Escrever programas que controlem todos esses
componentes é uma tarefa complexa.
Agora imagine se todo programador tivesse que se
preocupar com o funcionamento de cada um desses
componentes.
O sistema operacional apresenta para o usuário uma
interface, máquina virtual, que nada mais é que uma
máquina mais simples porém com as mesmas
funcionalidades da máquina real.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
O conceito de máquina virtual
Um sistema computacional moderno é composto de vários
componentes (processadores, memórias, discos,
impressoras, interfaces de rede, etc).
Escrever programas que controlem todos esses
componentes é uma tarefa complexa.
Agora imagine se todo programador tivesse que se
preocupar com o funcionamento de cada um desses
componentes.
O sistema operacional apresenta para o usuário uma
interface, máquina virtual, que nada mais é que uma
máquina mais simples porém com as mesmas
funcionalidades da máquina real.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Processo
O que é um processo?
Um processo é um programa em execução
Associado a um processo está um espaço de
endereçamento, que nada mais é do que um espaço de
memória onde o processo poe ler ou escrever
Associado a cada processo também está um conjunto de
registradores (PC, registradores de hardware, ponteiro da
pilha de execução)
Todas essas informações são usadas pelo SO durante
uma interrupção (salvar o contexto)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Modos de Execução
Como proteger o acesso indevido ao hardware?
Modo Usúario
Software aplicativos: Excel, Paint, Word.
Software de sistema: compiladores, drives de dispositivos,
interpretador de comandos (shell), sistema de janelas.
Modo-kernel ou Modo supervisor
Software de sistema: sistema operacional, BIOS, drives de
dispositivos, sistema de janelas
No Modo-kernel o acesso ao hardware é protegido do usuário,
dessa forma, protegendo o hardware contra acessos indevidos.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Modos de Execução
Como proteger o acesso indevido ao hardware?
Modo Usúario
Software aplicativos: Excel, Paint, Word.
Software de sistema: compiladores, drives de dispositivos,
interpretador de comandos (shell), sistema de janelas.
Modo-kernel ou Modo supervisor
Software de sistema: sistema operacional, BIOS, drives de
dispositivos, sistema de janelas
No Modo-kernel o acesso ao hardware é protegido do usuário,
dessa forma, protegendo o hardware contra acessos indevidos.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Modos de Execução
Como proteger o acesso indevido ao hardware?
Modo Usúario
Software aplicativos: Excel, Paint, Word.
Software de sistema: compiladores, drives de dispositivos,
interpretador de comandos (shell), sistema de janelas.
Modo-kernel ou Modo supervisor
Software de sistema: sistema operacional, BIOS, drives de
dispositivos, sistema de janelas
No Modo-kernel o acesso ao hardware é protegido do usuário,
dessa forma, protegendo o hardware contra acessos indevidos.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Definições
Modos de Execução
Como proteger o acesso indevido ao hardware?
Modo Usúario
Software aplicativos: Excel, Paint, Word.
Software de sistema: compiladores, drives de dispositivos,
interpretador de comandos (shell), sistema de janelas.
Modo-kernel ou Modo supervisor
Software de sistema: sistema operacional, BIOS, drives de
dispositivos, sistema de janelas
No Modo-kernel o acesso ao hardware é protegido do usuário,
dessa forma, protegendo o hardware contra acessos indevidos.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Sumário
1
2
3
Introdução
Definições
Funções de um Sistema
Operacional
Máquina estendida
Gerente de recursos
Tipos de Sistemas
Operacionais
Ivanovitch Silva
Evolução
Classificação
4
Estrutura de um Sistema
Operacional
5
Arquiteturas dos Sistemas
Operacionais
6
Referências bibliográficas
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Máquina estendida
O sistema operacional como uma máquina estendida
Fornecer uma abstração de alto nı́vel dos recursos de
hardware da máquina, livrando o programador dos
detalhes de funcionamento dos mesmos.
A função do sistema operacional é apresentar ao usuário
o equivalente a uma máquina virtual, mais fácil de
programar do que o hardware que a compõe.
Visão Top-Down (de cima para baixo).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Máquina estendida
O sistema operacional como uma máquina estendida
Fornecer uma abstração de alto nı́vel dos recursos de
hardware da máquina, livrando o programador dos
detalhes de funcionamento dos mesmos.
A função do sistema operacional é apresentar ao usuário
o equivalente a uma máquina virtual, mais fácil de
programar do que o hardware que a compõe.
Visão Top-Down (de cima para baixo).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Máquina estendida
O sistema operacional como uma máquina estendida
Fornecer uma abstração de alto nı́vel dos recursos de
hardware da máquina, livrando o programador dos
detalhes de funcionamento dos mesmos.
A função do sistema operacional é apresentar ao usuário
o equivalente a uma máquina virtual, mais fácil de
programar do que o hardware que a compõe.
Visão Top-Down (de cima para baixo).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Máquina estendida
O sistema operacional como uma máquina estendida
Fornecer uma abstração de alto nı́vel dos recursos de
hardware da máquina, livrando o programador dos
detalhes de funcionamento dos mesmos.
A função do sistema operacional é apresentar ao usuário
o equivalente a uma máquina virtual, mais fácil de
programar do que o hardware que a compõe.
Visão Top-Down (de cima para baixo).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Máquina estendida
O sistema operacional como uma máquina estendida
Ler ou escrever um dado no disco magnético
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Máquina estendida
O sistema operacional como uma máquina estendida
Ler ou escrever um dado no disco magnético
Sem sistema operacional
Para o programador ler/escrever um dado no disco é
necessário saber:
Tamanho do dado, localização (prato, cilindro, trilha, setor),
rotacionar o eixo, posicionar a cabeça de leitura/escrita
Com sistema operacional
Para o programador ler/escrever um dado no disco é
necessário apenas chamar as funções correspondentes
Ler(dado)
Escrever(dado)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Gerente de recursos
O sistema operacional como um gerente de recursos
Visão bottom-up (de baixo para cima)
Fornecer um esquema de alocação dos recursos
(processadores, memórias, I/O, etc) entre os programas
concorrentes.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Gerente de recursos
O sistema operacional como um gerente de recursos
Visão bottom-up (de baixo para cima)
Estabelecer critérios de uso dos recursos e ordem de
acesso aos mesmos
Impedindo a violação no espaço de memória dos
programas concorrentes e tentativas de acesso simultâneo
a um mesmo recurso (gerência e proteção dos
dispositivos)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Gerente de recursos
O sistema operacional como um gerente de recursos
Visão bottom-up (de baixo para cima)
Estabelecer critérios de uso dos recursos e ordem de
acesso aos mesmos
Impedindo a violação no espaço de memória dos
programas concorrentes e tentativas de acesso simultâneo
a um mesmo recurso (gerência e proteção dos
dispositivos)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Gerente de recursos
O sistema operacional como um gerente de recursos
Visão bottom-up (de baixo para cima)
Estabelecer critérios de uso dos recursos e ordem de
acesso aos mesmos
Impedindo a violação no espaço de memória dos
programas concorrentes e tentativas de acesso simultâneo
a um mesmo recurso (gerência e proteção dos
dispositivos)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Sumário
1
2
3
Introdução
Definições
Funções de um Sistema
Operacional
Máquina estendida
Gerente de recursos
Tipos de Sistemas
Operacionais
Ivanovitch Silva
Evolução
Classificação
4
Estrutura de um Sistema
Operacional
5
Arquiteturas dos Sistemas
Operacionais
6
Referências bibliográficas
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Os tipos e sua evolução estão intimamente relacionados
com a evolução do Hardware e das aplicações por ele
suportadas
Geração zero: tudo mecânico, não existia sistema
operacional.
Geração 1: um único grupo de pessoas projetava,
construı́a, programava, operava e mantinha cada máquina.
Geração 2: primeiros SO’s (sistema de processamento em
lotes - batch).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Os tipos e sua evolução estão intimamente relacionados
com a evolução do Hardware e das aplicações por ele
suportadas
Geração zero: tudo mecânico, não existia sistema
operacional.
Geração 1: um único grupo de pessoas projetava,
construı́a, programava, operava e mantinha cada máquina.
Geração 2: primeiros SO’s (sistema de processamento em
lotes - batch).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Os tipos e sua evolução estão intimamente relacionados
com a evolução do Hardware e das aplicações por ele
suportadas
Geração zero: tudo mecânico, não existia sistema
operacional.
Geração 1: um único grupo de pessoas projetava,
construı́a, programava, operava e mantinha cada máquina.
Geração 2: primeiros SO’s (sistema de processamento em
lotes - batch).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Os tipos e sua evolução estão intimamente relacionados
com a evolução do Hardware e das aplicações por ele
suportadas
Geração zero: tudo mecânico, não existia sistema
operacional.
Geração 1: um único grupo de pessoas projetava,
construı́a, programava, operava e mantinha cada máquina.
Geração 2: primeiros SO’s (sistema de processamento em
lotes - batch).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 2 - Sistema de processamento em lotes
A CPU ficava ociosa entre as execuções dos lotes (jobs).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 3 - CI’s
No inı́cio da década de 60, a maioria dos fabricantes de
computadores tinha duas linhas de produtos distintas e
totalmente incompatı́veis (computadores cientı́ficos e
comerciais)
Surge o IBM 360 (diversas versões - preço, desempenho)
As máquinas tinham a mesma arquitetura, o mesmo
conjunto de instrução.
Os programas escritos em uma máquina podiam ser
executados em outra.
Imagine construir um SO que atenda todos esses
requisitos
O OS 360 continham milhões de linhas de código em
Assembly. Foi construı́do por milhares de programadores
e continha milhares de erros. A cada nova versão (21.8)
novos erros apareciam.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 3 - CI’s
No inı́cio da década de 60, a maioria dos fabricantes de
computadores tinha duas linhas de produtos distintas e
totalmente incompatı́veis (computadores cientı́ficos e
comerciais)
Surge o IBM 360 (diversas versões - preço, desempenho)
As máquinas tinham a mesma arquitetura, o mesmo
conjunto de instrução.
Os programas escritos em uma máquina podiam ser
executados em outra.
Imagine construir um SO que atenda todos esses
requisitos
O OS 360 continham milhões de linhas de código em
Assembly. Foi construı́do por milhares de programadores
e continha milhares de erros. A cada nova versão (21.8)
novos erros apareciam.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 3 - CI’s
No inı́cio da década de 60, a maioria dos fabricantes de
computadores tinha duas linhas de produtos distintas e
totalmente incompatı́veis (computadores cientı́ficos e
comerciais)
Surge o IBM 360 (diversas versões - preço, desempenho)
As máquinas tinham a mesma arquitetura, o mesmo
conjunto de instrução.
Os programas escritos em uma máquina podiam ser
executados em outra.
Imagine construir um SO que atenda todos esses
requisitos
O OS 360 continham milhões de linhas de código em
Assembly. Foi construı́do por milhares de programadores
e continha milhares de erros. A cada nova versão (21.8)
novos erros apareciam.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 3 - CI’s
No inı́cio da década de 60, a maioria dos fabricantes de
computadores tinha duas linhas de produtos distintas e
totalmente incompatı́veis (computadores cientı́ficos e
comerciais)
Surge o IBM 360 (diversas versões - preço, desempenho)
As máquinas tinham a mesma arquitetura, o mesmo
conjunto de instrução.
Os programas escritos em uma máquina podiam ser
executados em outra.
Imagine construir um SO que atenda todos esses
requisitos
O OS 360 continham milhões de linhas de código em
Assembly. Foi construı́do por milhares de programadores
e continha milhares de erros. A cada nova versão (21.8)
novos erros apareciam.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 3 - CI’s
A terceira geração de sistemas operacionais introduziu o
conceito de multiprogramação.
A ideia da multiprogramação:
Dividir a memória em várias partições, com um job
diferente em cada partição.
Enquanto um job estivesse esperando a conclusão da
operação de E/S, outro job poderia usar a CPU.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 3 - CI’s
A terceira geração de sistemas operacionais introduziu o
conceito de multiprogramação.
A ideia da multiprogramação:
Dividir a memória em várias partições, com um job
diferente em cada partição.
Enquanto um job estivesse esperando a conclusão da
operação de E/S, outro job poderia usar a CPU.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 3 - CI’s
A terceira geração de sistemas operacionais introduziu o
conceito de multiprogramação.
A ideia da multiprogramação:
Dividir a memória em várias partições, com um job
diferente em cada partição.
Enquanto um job estivesse esperando a conclusão da
operação de E/S, outro job poderia usar a CPU.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Surgi a era dos computadores pessoais
(microprocessador, LSI)
Em 1974, a Intel desenvolve o microprocessador 8080 (8
bits)
A Digital Research produz o SO CP/M para ser executado
usando um 8080
Final de 1974, a Motorola lança o microprocessador 6800
(8 bits)
Em 1975, a MOS Technology fabrica o microprocessador
6502 (8 bits)
O microprocessador 6502 foi base para o Apple II (1977)
(concorrente do CP/M)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Surgi a era dos computadores pessoais
(microprocessador, LSI)
Em 1974, a Intel desenvolve o microprocessador 8080 (8
bits)
A Digital Research produz o SO CP/M para ser executado
usando um 8080
Final de 1974, a Motorola lança o microprocessador 6800
(8 bits)
Em 1975, a MOS Technology fabrica o microprocessador
6502 (8 bits)
O microprocessador 6502 foi base para o Apple II (1977)
(concorrente do CP/M)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Surgi a era dos computadores pessoais
(microprocessador, LSI)
Em 1974, a Intel desenvolve o microprocessador 8080 (8
bits)
A Digital Research produz o SO CP/M para ser executado
usando um 8080
Final de 1974, a Motorola lança o microprocessador 6800
(8 bits)
Em 1975, a MOS Technology fabrica o microprocessador
6502 (8 bits)
O microprocessador 6502 foi base para o Apple II (1977)
(concorrente do CP/M)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Surgi a era dos computadores pessoais
(microprocessador, LSI)
Em 1974, a Intel desenvolve o microprocessador 8080 (8
bits)
A Digital Research produz o SO CP/M para ser executado
usando um 8080
Final de 1974, a Motorola lança o microprocessador 6800
(8 bits)
Em 1975, a MOS Technology fabrica o microprocessador
6502 (8 bits)
O microprocessador 6502 foi base para o Apple II (1977)
(concorrente do CP/M)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Surgi a era dos computadores pessoais
(microprocessador, LSI)
Em 1974, a Intel desenvolve o microprocessador 8080 (8
bits)
A Digital Research produz o SO CP/M para ser executado
usando um 8080
Final de 1974, a Motorola lança o microprocessador 6800
(8 bits)
Em 1975, a MOS Technology fabrica o microprocessador
6502 (8 bits)
O microprocessador 6502 foi base para o Apple II (1977)
(concorrente do CP/M)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Nativamente, as máquinas Apple II não suportavam o
CP/M.
O SO CP/M era tão popular na época (1975-1980) que as
máquinas Apple II forneciam uma interface para ser
acoplado um hardware cuja finalidade era dá suporte para
o CP/M. Essa placa externa era fornecida para uma
pequena empresa chamada Microsoft.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Nativamente, as máquinas Apple II não suportavam o
CP/M.
O SO CP/M era tão popular na época (1975-1980) que as
máquinas Apple II forneciam uma interface para ser
acoplado um hardware cuja finalidade era dá suporte para
o CP/M. Essa placa externa era fornecida para uma
pequena empresa chamada Microsoft.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Computador pessoal brasileiro (1982) utilizando o CP/M
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
No inı́cio de 1980, surgi os microprocessadores de 16 bits.
A Intel desenvolve o microprocessador 8086.
IBM projeta o IBM PC.
A Microsoft oferece o sistema operacional DOS para IBM.
O DOS foi desenvolvido por outra empresa. A Microsoft
compra o SO e contrata o autor original do projeto para
aperfeiçoar DOS.
Surgi o MS-DOS. Rapidamente domina o mercado para o
IBM PC.
Até então todos os SO’s (CP/M, MS-DOS, Apple DOS)
eram baseado em linha de comando. O surgimento da
interface gráfica (GUI - Graphical User Interface) torna a
usabilidade dos PC’s mais agradável.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
No inı́cio de 1980, surgi os microprocessadores de 16 bits.
A Intel desenvolve o microprocessador 8086.
IBM projeta o IBM PC.
A Microsoft oferece o sistema operacional DOS para IBM.
O DOS foi desenvolvido por outra empresa. A Microsoft
compra o SO e contrata o autor original do projeto para
aperfeiçoar DOS.
Surgi o MS-DOS. Rapidamente domina o mercado para o
IBM PC.
Até então todos os SO’s (CP/M, MS-DOS, Apple DOS)
eram baseado em linha de comando. O surgimento da
interface gráfica (GUI - Graphical User Interface) torna a
usabilidade dos PC’s mais agradável.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
No inı́cio de 1980, surgi os microprocessadores de 16 bits.
A Intel desenvolve o microprocessador 8086.
IBM projeta o IBM PC.
A Microsoft oferece o sistema operacional DOS para IBM.
O DOS foi desenvolvido por outra empresa. A Microsoft
compra o SO e contrata o autor original do projeto para
aperfeiçoar DOS.
Surgi o MS-DOS. Rapidamente domina o mercado para o
IBM PC.
Até então todos os SO’s (CP/M, MS-DOS, Apple DOS)
eram baseado em linha de comando. O surgimento da
interface gráfica (GUI - Graphical User Interface) torna a
usabilidade dos PC’s mais agradável.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
No inı́cio de 1980, surgi os microprocessadores de 16 bits.
A Intel desenvolve o microprocessador 8086.
IBM projeta o IBM PC.
A Microsoft oferece o sistema operacional DOS para IBM.
O DOS foi desenvolvido por outra empresa. A Microsoft
compra o SO e contrata o autor original do projeto para
aperfeiçoar DOS.
Surgi o MS-DOS. Rapidamente domina o mercado para o
IBM PC.
Até então todos os SO’s (CP/M, MS-DOS, Apple DOS)
eram baseado em linha de comando. O surgimento da
interface gráfica (GUI - Graphical User Interface) torna a
usabilidade dos PC’s mais agradável.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Após o surgimento da GUI, a Apple cria o Macintosh
(1984) e a Microsoft cria o Windows (1985).
Apple
O Macintosh tinha suporte para o SO System 1, mais tarde
chamado de Mac OS.
Em 2001, a Apple lança o Mac OS X, com uma nova GUI
rodando em cima do UNIX. Em 2005, a Apple adota os
processadores da Intel.
Microsoft
Inicialmente o Windows era apenas uma GUI sobre o
MS-DOS.
Atualmente a versão mais recente é o Windows 7.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Após o surgimento da GUI, a Apple cria o Macintosh
(1984) e a Microsoft cria o Windows (1985).
Apple
O Macintosh tinha suporte para o SO System 1, mais tarde
chamado de Mac OS.
Em 2001, a Apple lança o Mac OS X, com uma nova GUI
rodando em cima do UNIX. Em 2005, a Apple adota os
processadores da Intel.
Microsoft
Inicialmente o Windows era apenas uma GUI sobre o
MS-DOS.
Atualmente a versão mais recente é o Windows 7.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Após o surgimento da GUI, a Apple cria o Macintosh
(1984) e a Microsoft cria o Windows (1985).
Apple
O Macintosh tinha suporte para o SO System 1, mais tarde
chamado de Mac OS.
Em 2001, a Apple lança o Mac OS X, com uma nova GUI
rodando em cima do UNIX. Em 2005, a Apple adota os
processadores da Intel.
Microsoft
Inicialmente o Windows era apenas uma GUI sobre o
MS-DOS.
Atualmente a versão mais recente é o Windows 7.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Evolução
Evolução dos Sistemas Operacionais
Geração 4: A era dos computadores pessoais
Após o surgimento da GUI, a Apple cria o Macintosh
(1984) e a Microsoft cria o Windows (1985).
Apple
O Macintosh tinha suporte para o SO System 1, mais tarde
chamado de Mac OS.
Em 2001, a Apple lança o Mac OS X, com uma nova GUI
rodando em cima do UNIX. Em 2005, a Apple adota os
processadores da Intel.
Microsoft
Inicialmente o Windows era apenas uma GUI sobre o
MS-DOS.
Atualmente a versão mais recente é o Windows 7.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema monopragramáveis ou monotarefa
Execução de um único programa (job)
Qualquer outro programa, para ser executado, deveria
aguardar o término do programa corrente
Tipicamente relacionado ao surgimento dos mainframes
Exemplo: MS-DOS
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistemas monopragramáveis ou monotarefa
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema multiprogragramáveis ou multitarefa
Mais complexos e mais eficientes
Vários programas dividem os mesmos recursos
Enquanto um programa espera por uma operação de
leitura ou gravação em disco, outros programas podem
estar sendo processados neste intervalo de tempo
Aumento da produtividade dos seus usuários e a redução
de custos (compartilhamento de recursos do sistema entre
diferentes aplicações)
Exemplo: Sistemas de Batch, os sistemas de tempo
compartilhado (time-sharing), os sistemas em tempo real
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema multiprogragramáveis ou multitarefa
Mais complexos e mais eficientes
Vários programas dividem os mesmos recursos
Enquanto um programa espera por uma operação de
leitura ou gravação em disco, outros programas podem
estar sendo processados neste intervalo de tempo
Aumento da produtividade dos seus usuários e a redução
de custos (compartilhamento de recursos do sistema entre
diferentes aplicações)
Exemplo: Sistemas de Batch, os sistemas de tempo
compartilhado (time-sharing), os sistemas em tempo real
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema multiprogragramáveis ou multitarefa
Mais complexos e mais eficientes
Vários programas dividem os mesmos recursos
Enquanto um programa espera por uma operação de
leitura ou gravação em disco, outros programas podem
estar sendo processados neste intervalo de tempo
Aumento da produtividade dos seus usuários e a redução
de custos (compartilhamento de recursos do sistema entre
diferentes aplicações)
Exemplo: Sistemas de Batch, os sistemas de tempo
compartilhado (time-sharing), os sistemas em tempo real
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema multiprogragramáveis ou multitarefa
Mais complexos e mais eficientes
Vários programas dividem os mesmos recursos
Enquanto um programa espera por uma operação de
leitura ou gravação em disco, outros programas podem
estar sendo processados neste intervalo de tempo
Aumento da produtividade dos seus usuários e a redução
de custos (compartilhamento de recursos do sistema entre
diferentes aplicações)
Exemplo: Sistemas de Batch, os sistemas de tempo
compartilhado (time-sharing), os sistemas em tempo real
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema multiprogragramáveis ou multitarefa
Mais complexos e mais eficientes
Vários programas dividem os mesmos recursos
Enquanto um programa espera por uma operação de
leitura ou gravação em disco, outros programas podem
estar sendo processados neste intervalo de tempo
Aumento da produtividade dos seus usuários e a redução
de custos (compartilhamento de recursos do sistema entre
diferentes aplicações)
Exemplo: Sistemas de Batch, os sistemas de tempo
compartilhado (time-sharing), os sistemas em tempo real
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema multiprogragramáveis ou multitarefa
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores
Caracterizam-se por possuir duas ou mais UCPs
interligadas e trabalhando em conjunto.
A vantagens:
Executar vários programas ao mesmo tempo
Paralelismo - dividir a execução de um programa entre
vários UCPs
São classificados quanto:
A forma de comunicação entre as UCPs
O grau de compartilhamento da memória e dos dispositivos
de I/O
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores
Caracterizam-se por possuir duas ou mais UCPs
interligadas e trabalhando em conjunto.
A vantagens:
Executar vários programas ao mesmo tempo
Paralelismo - dividir a execução de um programa entre
vários UCPs
São classificados quanto:
A forma de comunicação entre as UCPs
O grau de compartilhamento da memória e dos dispositivos
de I/O
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores
Caracterizam-se por possuir duas ou mais UCPs
interligadas e trabalhando em conjunto.
A vantagens:
Executar vários programas ao mesmo tempo
Paralelismo - dividir a execução de um programa entre
vários UCPs
São classificados quanto:
A forma de comunicação entre as UCPs
O grau de compartilhamento da memória e dos dispositivos
de I/O
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores - Sistemas fortemente acoplados
Existem dois ou mais processadores compartilhando uma
única memória e controlados por apenas um único SO
Sistemas simétricos
Possuem um tempo uniforme de acesso à memória
principal
Sistemas assimétricos
O tempo de acesso à memória pelos processadores varia
em função da sua localização fı́sica
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores - Sistemas fortemente acoplados
Existem dois ou mais processadores compartilhando uma
única memória e controlados por apenas um único SO
Sistemas simétricos
Possuem um tempo uniforme de acesso à memória
principal
Sistemas assimétricos
O tempo de acesso à memória pelos processadores varia
em função da sua localização fı́sica
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores - Sistemas fortemente acoplados
Existem dois ou mais processadores compartilhando uma
única memória e controlados por apenas um único SO
Sistemas simétricos
Possuem um tempo uniforme de acesso à memória
principal
Sistemas assimétricos
O tempo de acesso à memória pelos processadores varia
em função da sua localização fı́sica
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores - Sistemas fracamente acoplados
Dois ou mais sistemas de computação interligados, sendo
que cada sistema possui o seu próprio SO e gerencia
seus próprios recursos.
Sistemas Operacionais de Rede
Existe a distinção clara que um serviço ou recurso é
executado em outra máquina (servidor).
Exemplo: impressora em rede.
Sistemas Operacionais Distribuı́dos
Para o usuário e suas aplicações, é como se não existisse
uma rede de computadores, mas sim um único sistema
centralizado (cloud computing).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores - Sistemas fracamente acoplados
Dois ou mais sistemas de computação interligados, sendo
que cada sistema possui o seu próprio SO e gerencia
seus próprios recursos.
Sistemas Operacionais de Rede
Existe a distinção clara que um serviço ou recurso é
executado em outra máquina (servidor).
Exemplo: impressora em rede.
Sistemas Operacionais Distribuı́dos
Para o usuário e suas aplicações, é como se não existisse
uma rede de computadores, mas sim um único sistema
centralizado (cloud computing).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Classificação
Tipos de Sistemas Operacionais
Sistema com múltiplos processadores - Sistemas fracamente acoplados
Dois ou mais sistemas de computação interligados, sendo
que cada sistema possui o seu próprio SO e gerencia
seus próprios recursos.
Sistemas Operacionais de Rede
Existe a distinção clara que um serviço ou recurso é
executado em outra máquina (servidor).
Exemplo: impressora em rede.
Sistemas Operacionais Distribuı́dos
Para o usuário e suas aplicações, é como se não existisse
uma rede de computadores, mas sim um único sistema
centralizado (cloud computing).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Sumário
1
2
3
Introdução
Definições
Funções de um Sistema
Operacional
Máquina estendida
Gerente de recursos
Tipos de Sistemas
Operacionais
Ivanovitch Silva
Evolução
Classificação
4
Estrutura de um Sistema
Operacional
5
Arquiteturas dos Sistemas
Operacionais
6
Referências bibliográficas
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
A principal estrutura de um SO - Kernel
O kernel de um sistema operacional é visto como se fosse
o núcleo, o cérebro do sistema
Oferece serviços (procedimentos):
Para os usuários do sistema e suas aplicações
Para outros procedimentos do sistema
O kernel representa a camada de software mais próxima
ao hardware
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
A principal estrutura de um SO - Kernel
O kernel de um sistema operacional é visto como se fosse
o núcleo, o cérebro do sistema
Oferece serviços (procedimentos):
Para os usuários do sistema e suas aplicações
Para outros procedimentos do sistema
O kernel representa a camada de software mais próxima
ao hardware
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
A principal estrutura de um SO - Kernel
O kernel de um sistema operacional é visto como se fosse
o núcleo, o cérebro do sistema
Oferece serviços (procedimentos):
Para os usuários do sistema e suas aplicações
Para outros procedimentos do sistema
O kernel representa a camada de software mais próxima
ao hardware
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Algumas funções do Kernel
Tratamento de interrupções
Periodicamente, o SO decide interromper a execução de
um processo e iniciar a execução de outro
Criação e eliminação de processos
Quando um usuário clica em uma janela, ativa (cria) um
programa, que por sua vez cria um processo
Fechar uma janela elimina um processo
Gerência de memória
Quando um processo for finalizado, deve-se liberar a
memória utilizado por ele
E se um processo precisar de mais memória do que o
disponı́vel pela memória principal?
Operações de entrada e saı́da, segurança, sistema de
arquivos, escalonamento.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Algumas funções do Kernel
Tratamento de interrupções
Periodicamente, o SO decide interromper a execução de
um processo e iniciar a execução de outro
Criação e eliminação de processos
Quando um usuário clica em uma janela, ativa (cria) um
programa, que por sua vez cria um processo
Fechar uma janela elimina um processo
Gerência de memória
Quando um processo for finalizado, deve-se liberar a
memória utilizado por ele
E se um processo precisar de mais memória do que o
disponı́vel pela memória principal?
Operações de entrada e saı́da, segurança, sistema de
arquivos, escalonamento.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Algumas funções do Kernel
Tratamento de interrupções
Periodicamente, o SO decide interromper a execução de
um processo e iniciar a execução de outro
Criação e eliminação de processos
Quando um usuário clica em uma janela, ativa (cria) um
programa, que por sua vez cria um processo
Fechar uma janela elimina um processo
Gerência de memória
Quando um processo for finalizado, deve-se liberar a
memória utilizado por ele
E se um processo precisar de mais memória do que o
disponı́vel pela memória principal?
Operações de entrada e saı́da, segurança, sistema de
arquivos, escalonamento.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Algumas funções do Kernel
Tratamento de interrupções
Periodicamente, o SO decide interromper a execução de
um processo e iniciar a execução de outro
Criação e eliminação de processos
Quando um usuário clica em uma janela, ativa (cria) um
programa, que por sua vez cria um processo
Fechar uma janela elimina um processo
Gerência de memória
Quando um processo for finalizado, deve-se liberar a
memória utilizado por ele
E se um processo precisar de mais memória do que o
disponı́vel pela memória principal?
Operações de entrada e saı́da, segurança, sistema de
arquivos, escalonamento.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Como o usuário do sistema acessa o kernel?
Chamadas de sistema - System calls
Mecanismo de proteção ao núcleo do sistema e de acesso
aos seus serviços
O usuário (ou aplicação), quando deseja solicitar algum
serviço do sistema, realiza uma chamada a uma de suas
rotinas (ou serviços) através da system calls (chamadas
ao sistema).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Como o usuário do sistema acessa o kernel?
Chamadas de sistema - System calls
Mecanismo de proteção ao núcleo do sistema e de acesso
aos seus serviços
O usuário (ou aplicação), quando deseja solicitar algum
serviço do sistema, realiza uma chamada a uma de suas
rotinas (ou serviços) através da system calls (chamadas
ao sistema).
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Algumas chamadas de sistema
Gerenciamento de processos
fork(), waitpid(), getpid()
Sinais
kill(), pause()
Gerenciamento de arquivos
mkdir(), read, write, rename
Proteção
chmod()
Gerenciamento de tempo
time()
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Sumário
1
2
3
Introdução
Definições
Funções de um Sistema
Operacional
Máquina estendida
Gerente de recursos
Tipos de Sistemas
Operacionais
Ivanovitch Silva
Evolução
Classificação
4
Estrutura de um Sistema
Operacional
5
Arquiteturas dos Sistemas
Operacionais
6
Referências bibliográficas
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Principais arquiteturas de um SO
Sistemas monolı́ticos
Sistemas em camadas
Os sistemas cliente-servidor
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Arquiteturas dos Sistemas Operacionais
Sistemas monolı́ticos
Esta arquitetura poderia muito bem ser denominada “A
grande bagunça”.
Não há estrutura visı́vel.
O SO é escrito como um conjunto de rotinas, cada uma
das quais podendo chamar qualquer uma das outras
sempre que quiser.
Os serviços (system calls) são requisitados através da
colocação dos parâmetros em lugares definidos (pilhas e
registradores) e da execução de uma chamada de sistema
especial (TRAP) ao kernel
read(fd, buffer, nbytes)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Arquiteturas dos Sistemas Operacionais
Sistemas monolı́ticos
Esta arquitetura poderia muito bem ser denominada “A
grande bagunça”.
Não há estrutura visı́vel.
O SO é escrito como um conjunto de rotinas, cada uma
das quais podendo chamar qualquer uma das outras
sempre que quiser.
Os serviços (system calls) são requisitados através da
colocação dos parâmetros em lugares definidos (pilhas e
registradores) e da execução de uma chamada de sistema
especial (TRAP) ao kernel
read(fd, buffer, nbytes)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Arquiteturas dos Sistemas Operacionais
Sistemas monolı́ticos
Esta arquitetura poderia muito bem ser denominada “A
grande bagunça”.
Não há estrutura visı́vel.
O SO é escrito como um conjunto de rotinas, cada uma
das quais podendo chamar qualquer uma das outras
sempre que quiser.
Os serviços (system calls) são requisitados através da
colocação dos parâmetros em lugares definidos (pilhas e
registradores) e da execução de uma chamada de sistema
especial (TRAP) ao kernel
read(fd, buffer, nbytes)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Arquiteturas dos Sistemas Operacionais
Sistemas monolı́ticos
Esta arquitetura poderia muito bem ser denominada “A
grande bagunça”.
Não há estrutura visı́vel.
O SO é escrito como um conjunto de rotinas, cada uma
das quais podendo chamar qualquer uma das outras
sempre que quiser.
Os serviços (system calls) são requisitados através da
colocação dos parâmetros em lugares definidos (pilhas e
registradores) e da execução de uma chamada de sistema
especial (TRAP) ao kernel
read(fd, buffer, nbytes)
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Arquiteturas dos Sistemas Operacionais
Sistemas monolı́ticos
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Arquiteturas dos Sistemas Operacionais
Sistemas em camadas
Camadas sobrepostas
Cada módulo oferece um conjunto de funções que podem
ser utilizadas por outros módulos
Uma camada superior não precisa se preocupar com a
funcionalidade das camadas inferiores
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Arquiteturas dos Sistemas Operacionais
Modelo Cliente-Servidor ou Microkernel
Uma tendência dos SO’s modernos é mover código do
kernel para as camadas superiores (usuário)
Diminuir a complexidade do kernel (microkernel)
Para solicitar um serviço (como ler um bloco de um
arquivo)
Um processo usuário envia uma requisição para um
processo servidor
O processo servidor realiza o trabalho e devolve a resposta
Como o servidor está implementado no modo usuário, se
ele falhar apenas o seu serviço irá falhar e não a máquina
inteira
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Sumário
1
2
3
Introdução
Definições
Funções de um Sistema
Operacional
Máquina estendida
Gerente de recursos
Tipos de Sistemas
Operacionais
Ivanovitch Silva
Evolução
Classificação
4
Estrutura de um Sistema
Operacional
5
Arquiteturas dos Sistemas
Operacionais
6
Referências bibliográficas
Noções básicas sobre Sistemas Operacionais
Introdução
Funções
Tipos
Estrutura
Arquiteturas
Referências bibliográficas
Referências bibliográficas
[Tanenbaum, 2008] Andrew S. Tanenbaum e Albert S.
Woodhull.
Sistemas Operacionais - Projeto e Implementação, 2008.
Capı́tulo 1.
Ivanovitch Silva
Noções básicas sobre Sistemas Operacionais
Download