Conceitos Básicos sobre Sistemas Operacionais

Documentos relacionados
Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. Professor Leslier Soares Corrêa

Introdução à Computação: Sistemas de Computação

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Introdução a Computação

Noções básicas de Informática: Software

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

História dos SOs. Tópicos

Nível do Sistema Operacional

Sistemas Operacionais

Arquitetura dos Sistemas Operacionais

Introdução a Sistemas Operacionais Aula 04. Prof. Msc. Ubirajara Junior biraifba@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Operacionais

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Fundamentos de Sistemas Computacionais Introdução

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Sistemas Operacionais Introdução. Professora: Michelle Nery

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Classificação Quanto. Sistemas de Lotes (2) Sistemas de Lotes (3)

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Sistemas Operacionais

Introdução à Informática

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

Programador Web - Pronatec

Sistemas Operacionais

Figura 01 Kernel de um Sistema Operacional

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Uma visão estrutural hardware & software. Prof. MSc.

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Professor: Gládston Duarte

Everson Scherrer Borges João Paulo de Brito Gonçalves

Montagem e Manutenção. Luís Guilherme A. Pontes

SISTEMAS OPERACIONAIS

Sistemas Operacionais Conceitos Básicos

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

Apresentação da disciplina. Sistemas Operacionais I N. A disciplina. O Professor. Áreas de atuação na pesquisa. Referências bibliográficas básicas

SISTEMAS OPERACIONAIS

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Sistema Operacional Correção - Exercício de Revisão

Edeyson Andrade Gomes.

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

8 Threads. 8.1 Introdução

Sistemas Operacionais

SISTEMAS OPERACIONAIS

Introdução. Software (Parte I)

Introdução aos Sistemas

SISTEMAS OPERACIONAIS

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva /msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

O processador é um dos elementos componentes do computador moderno, sendo responsável pelo gerenciamento de todo o computador.

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

SISTEMAS OPERACIONAIS

Computador Digital Circuitos de um computador (Hardware)

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Infra-Estrutura de Software. Introdução. (cont.)

Sistemas Operacionais

Visão Geral de Sistemas Operacionais

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

Sistemas Operacionais

Sistema Operacional. História Sistema Operacional 1. QI Escolas e Faculdades Apostila de Linux

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Laboratório de Hardware

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

1

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

Sistemas Operacionais. Prof. André Y. Kusumoto

Estruturas do Sistema de Computação

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

Sistemas Operacionais

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Entradas/Saídas. Programação por espera activa Programação por interrupções

4 Estrutura do Sistema Operacional Kernel

6 - Gerência de Dispositivos

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Programação Concorrente Processos e Threads

Transcrição:

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

Sumário 1 Introdução Definições 2 Funções de um Sistema Operacional Máquina estendida Gerente de recursos 3 Tipos de Sistemas Operacionais Evolução Classificação 4 Estrutura de um Sistema Operacional 5 Arquiteturas dos Sistemas Operacionais 6 Referências bibliográficas

Sumário 1 Introdução Definições 2 Funções de um Sistema Operacional Máquina estendida Gerente de recursos 3 Tipos de Sistemas Operacionais Evolução Classificação 4 Estrutura de um Sistema Operacional 5 Arquiteturas dos Sistemas Operacionais 6 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).

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).

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).

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).

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).

Definições Exemplos de Sistemas Operacionais

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

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

Definições Uma definição para Sistema Operacional

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

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

Definições Outra definição para Sistema Operacional

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.

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.

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.

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.

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)

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.

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.

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.

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.

Sumário 1 Introdução Definições 2 Funções de um Sistema Operacional Máquina estendida Gerente de recursos 3 Tipos de Sistemas Operacionais Evolução Classificação 4 Estrutura de um Sistema Operacional 5 Arquiteturas dos Sistemas Operacionais 6 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).

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).

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).

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).

Máquina estendida O sistema operacional como uma máquina estendida Ler ou escrever um dado no disco magnético

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)

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.

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)

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)

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)

Sumário 1 Introdução Definições 2 Funções de um Sistema Operacional Máquina estendida Gerente de recursos 3 Tipos de Sistemas Operacionais Evolução Classificação 4 Estrutura de um Sistema Operacional 5 Arquiteturas dos Sistemas Operacionais 6 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).

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).

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).

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).

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).

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.

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.

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.

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.

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.

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.

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.

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)

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)

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)

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)

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)

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.

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.

Evolução Evolução dos Sistemas Operacionais Geração 4: A era dos computadores pessoais Computador pessoal brasileiro (1982) utilizando o CP/M

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.

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.

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.

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.

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.

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.

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.

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.

Classificação Tipos de Sistemas Operacionais

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

Classificação Tipos de Sistemas Operacionais Sistemas monopragramáveis ou monotarefa

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

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

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

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

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

Classificação Tipos de Sistemas Operacionais Sistema multiprogragramáveis ou multitarefa

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

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

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

Classificação Tipos de Sistemas Operacionais Sistema com múltiplos processadores

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

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

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

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).

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).

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).

Sumário 1 Introdução Definições 2 Funções de um Sistema Operacional Máquina estendida Gerente de recursos 3 Tipos de Sistemas Operacionais Evolução Classificação 4 Estrutura de um Sistema Operacional 5 Arquiteturas dos Sistemas Operacionais 6 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

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

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

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.

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.

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.

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.

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).

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).

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()

Sumário 1 Introdução Definições 2 Funções de um Sistema Operacional Máquina estendida Gerente de recursos 3 Tipos de Sistemas Operacionais Evolução Classificação 4 Estrutura de um Sistema Operacional 5 Arquiteturas dos Sistemas Operacionais 6 Referências bibliográficas

Principais arquiteturas de um SO Sistemas monolíticos Sistemas em camadas Os sistemas cliente-servidor

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)

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)

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)

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)

Arquiteturas dos Sistemas Operacionais Sistemas monolíticos

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

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

Sumário 1 Introdução Definições 2 Funções de um Sistema Operacional Máquina estendida Gerente de recursos 3 Tipos de Sistemas Operacionais Evolução Classificação 4 Estrutura de um Sistema Operacional 5 Arquiteturas dos Sistemas Operacionais 6 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.