34
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

Embed Size (px)

Citation preview

Page 1: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Sistema OperacionalIntrodução

WebDesign Redes de Computadores

Aula 08

Page 2: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Introdução• Um sistema operacional é um programa que:

• Atua como intermediário entre o hardware e o usuário;

• Gerencia o hardware do computador;

• Oferece uma base para os programas aplicativos;

• A finalidade do SO é prover um ambiente no qual o usuário possa executar programas de forma conveniente(facilidade de uso) e eficiente.

Page 3: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Objetivos de um Sistema Operacional

• Fornecer ao programador/usuário uma forma mais conveniente para a operação do computador– Esconde complexidade e detalhes internos inerentes à manipulação e controle dos componentes de hardware.– Reduz tempo de preparação de um programa.– Permite várias aplicações trabalharem simultaneamente• Utilizar o Hardware e demais recursos de um computador de forma eficiente– Potencial maior de utilização de recursos em decorrência da implementação de boas políticas de distribuição de recursos

Page 4: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

E afinal o que é um sistema operacional ?

•Uma máquina virtual– Esconde aspectos de Hardware de modo a facilitar a vida do programador, apresentando uma interface simplificada• A interface do usuário não corresponde ao hardware existente.

• Um Gerente/Alocador de Recursos– Decide que pedidos devem ser atendidos de modo que o sistema possa trabalhar de forma eficiente

• Um Programa de Controle– Controla a execução de programas do usuário para evitar erros e inconsistência.

Page 5: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

• Sistemas em Lote (batch) – 1955-1965• Uma máquina era usada para gravar as várias tarefas

(jobs) em fita magnética.• Outras máquinas eram usadas para realizar a

computação a partir dessas fitas.• Um programa (S.O.) lia os jobs, executava e guardava o

resultado numa fita magnética até que todos os jobs fossem processados.

• As fitas com resultados dos processamentos eram impressas.

Revisão Histórica dos SO

Page 6: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

• Sistemas em Lote (batch) – 1955-1965

• Sistemas monoprogramáveis• Somente um programa (job) pode estar em execução por vez;

• Os recursos computacionais (processador, memória e dispositivos de E/S), são utilizados de forma pouco eficiente;

• O processador é subutilizado permanecendo livre grande parte do tempo

• Ex. Acesso a um dispositio de I/O em um sistema monoprogramável

livre

E/S

CPU

Sistema monoprogramável tempo

Page 7: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

• Sistemas em Lote (batch) – 1965-1980

• Surgimento da técnica de multiprogramação

• Sistemas multiprogramáveis• Vários programas estão armazenados na memória e concorrem pela

utilização do processador.

• Quando um programa solicita uma operação de E/S outros programas poderão utilizar o processador.

• A CPU permanece menos tempo ociosa e a memória é utilizada de forma mais eficiente

1 2 1

1E/S

CPU

Sistema multiprogramáveltempo

Page 8: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

• Sistemas em Lote multiprogramáveis

JOB 1

JOB 2

JOB 3

Sistema Operacional

Partições de memória

• Nos sistemas multiprogramáveis a memória é particionada e completamente utilizada com as tarefas (jobs) a serem processados.

• Não há desperdício dos recursos memória e processador.

Page 9: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Sistemas de tempo compartilhado (Time Sharing)

• Variante da multiprogramação que permite a interação do usuário com o sistema de computação;

• Divisão do tempo de processamento entre os vários usuários;

• Requer tempo de resposta curto;• São mais complexos que os sistemas operacionais

multiprogramados;• A idéia básica surgiu com o Sistema Multics (sistema de

computação e informação multiplexada) desenvolvido pelos laboratórios Bells e a General Electric.

• Antecessor do sistema UNIX – MULTICS monousuário

Page 10: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Sistemas de Computadores pessoais

• Os computadores pessoais (PCs) apareceram nos anos 70.

• Os sistemas nessa época eram baseados em linhas de comando (MS-DOS).

• Steve Jobs criou o Apple Macintosh

• A Microsoft desenvolveu o Windows ainda executado em cima do DOS.

• Os sistemas foram evoluindo (Windows 95, 98, NT,...)

Page 11: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Ativação do sistema• Quando o computador é ligado não há sistema

operacional carregado na memória da máquina.

• Em geral o sistema operacional reside em um disco rígido, podendo também estar armazenado em um CD ou DVD.

• Os componentes do sistema devem ser carregados para a memória principal toda vez que o computador é ligado por intermédio de um procedimento denominado ativação do sistema ou boot.

Page 12: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Procedimento de boot• A ativação do SO inicia com a execução de um programa

chamado bootloader, que se localiza em uma memória ROM da máquina.

• O bootloader chama a execução de um outro programa que identifica possíveis problemas no hardware.

• Após esta fase, o procedimento de ativação verifica se há no sistema computacional algum dispositivo de armazenamento, onde há um sistema operacional residente.

• Se o SO for encontrado, este é carregado para a memória principal .

Page 13: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Procedimento de boot

boot

Ativação do sistema

Page 14: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Conceitos sobre sistemas operacionais

• Processos

• Memória

• Arquivos

Page 15: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Processos• Um programa é um conjunto de instruções executadas na

CPU.

• Um programa em execução pode ser considerado um processo.

• Um programa de processamento de textos executado por um usuário em um PC é um processo.

• Uma tarefa de envio de dados para a impressora é um processo.

Page 16: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Processos• Um processo precisa de recursos (tempo de CPU,

memória, arquivos e dispositivos de I/O) para realizar sua tarefa;

• Associado a cada processo está o espaço de endereçamento, uma lista de posições de memória que o processo pode ler e escrever.

• O espaço de endereçamento contém o programa executável, os dados do programa, os registradores de hardware e as demais informações necessárias à execução do programa.

Page 17: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Processos• Quando um processo é suspenso temporariamente, ele

deverá ser iniciado mais tarde do mesmo ponto em que estava quando foi interrompido.– Todas as informações referentes ao processo devem

ser salvas.– As informações são salvas em uma tabela

denominada tabela de processo.• Assim um processo é constituído pelo espaço de

endereçamento e por sua entrada na tabela de processo.

Page 18: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Processos• O sistema operacional é responsável pelas seguintes

atividades:

• Criar e remover os processos de usuário e de sistema;

• Suspender e retornar os processos;

• Prover mecanismos para o sincronismo de processos;

• Prover mecanismos para a comunicação entre processos;

• Prover mecanismos para o tratamento de deadlock;

Page 19: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Memória• A memória tem um papel fundamental na operação de

um computador moderno.

• Para melhor utilizar a CPU e a velocidade de resposta do computador, vários programas são mantidos na memória.

• Desta forma, cria-se a necessidade de um gerenciamento de memória.

Page 20: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Memória• O sistema operacional é responsável pelas seguintes

atividades referentes ao gerenciamento de memória:

• Registrar quais partes da memória estão sendo utilizadas atualmente e por quem.

• Decidir quais processos devem ser carregados para a memória quando o espaço de memória se tornar disponível.

• Alocar e desalocar espaço de memória conforme a necessidade.

• Proteger o espaço de endereçamento dos processos

• Implementar a técnica de memória virtual

Page 21: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Arquivos• Os computadores armazenam informações por diversos

meios físicos (disco magnético, fitas magnéticas, discos óticos), cada um com suas características e organização física.

• O sistema operacional oferece uma visão lógica do armazenamento de informações – os arquivos.

• Um arquivo é uma coleção de informações relacionadas.

• Os arquivos são organizados em diretórios para facilitar o uso.

Page 22: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Arquivos• O sistema operacional é responsável por:

• Criação e remoção de arquivos.

• Criação e remoção de diretórios.

• Manipulação de arquivos e diretórios.

• Mapeamento de arquivos em armazenamento secundário.

Page 23: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Entrada e saída• Uma das funções do SO é ocultar do usuário as

peculiaridades dos dispositivos de hardware.

• As peculiaridades dos dispositivos de entrada e saída são ocultadas através do subsistema de entrada e saída.

• O subsistema de entrada e saída consiste em:

• Um componente de gerenciamento de memória.

• Uma interface controladora de dispositivos.

• Drivers para dispositivos de hardware.

Page 24: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Armazenamento secundário• Os discos são o principal meio de armazenamento de

programas e dados.

• Os programas são armazenados em disco até que sejam carregados para a memória.

• O gerenciamento correto do armazenamento em disco é de importância vital para o computador.

Page 25: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Armazenamento secundário• O sistema operacional é responsável por:

• Gerenciar o espaço livre;

• Alocação de armazenamento;

Page 26: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Proteção• O computador pode possuir diversos usuários e permitir a

execução de diversos processos, então esses processos precisam ser protegidos um do outro.

• Os arquivos, segmentos de memória, CPU e outros recursos são operados somente pelos processos que tiverem autorização do sistema operacional.

• A proteção é o mecanismo que controla o acesso dos programas, processos ou usuários aos recursos definidos por um sistema computadorizado.

Page 27: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

O kernel

• O sistema operacional é formado por um conjunto de rotinas que oferecem serviços aos usuários e às suas aplicações.

• O conjunto de rotinas é chamado núcleo do sistema, ou kernel.

Page 28: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

O kernel• As principais funções do núcleo são:

• Tratamento de interrupção ou exceção;

• Criação e eliminação de processos;

• Sincronização e comunicação entre processos;

• Escalonamento de processos;

• Gerencia de memória;

• Gerencia do sistema de arquivos;

• Gerencia de dispositivos de entrada e saída ...

Page 29: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Rotinas do SO• As rotinas do sistema operacional compõem o

núcleo(kernel) do sistema, oferecendo serviços aos usuários e aplicações.

• Existem instruções privilegiadas que só podem ser executadas pelo kernel e não por uma aplicação comum.

• Ex. Uma aplicação que atualize um arquivo em disco não deve especificar as instruções que acessam seus dados no disco. Como o disco é um recurso compartilhado, sua utilização deverá ser gerenciada unicamente pelo sistema operacional.

Page 30: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Rotinas do SO• Os processadores, em geral, possuem dois modos de

acesso:

• Modo usuário e modo kernel.

• Com o processador trabalhando no modo usuário, uma aplicação só pode executar instruções não privilegiadas.

• Com o processador trabalhando no modo kernel, uma aplicação pode ter acesso ao conjunto total de instruções do processador.

Page 31: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

System calls• Todo controle de execução das rotinas é executada pelo

mecanismo conhecido como system call.

• Toda vez que uma aplicação desejar chamar uma rotina do sistema operacional, o mecanismo de system call é ativado.

• O sistema operacional verificará se a aplicação possui privilégios para executar a rotina desejada.

• Em caso negativo o sistema operacional impedirá o desvio para a rotina do sistema, sinalizando ao programa que a operação não é possível.

• Este é um mecanismo de proteção por software.

Page 32: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

System calls• Se a aplicação possuir privilégios para executar a

rotina desejada:

• O sistema operacional salva o conteúdo corrente

dos registradores, troca o modo de acesso do

processador de usuário para kernel e vai executar

a rotina do sistema operacional.

Page 33: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Syste

m ca

ll

Chamada a uma rotina do SO

Page 34: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistema Operacional Introdução WebDesign Redes de Computadores Aula 08

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

System calls• Exemplo:

• Para um programa atualizar um arquivo em disco, a aplicação deve solicitar a operação de E/S ao sistema operacional por meio de uma chamada a uma rotina do sistema. O mecanismo de system call verificará se a aplicação possui privilégio para a operação e, em caso afirmativo, irá alterar o modo de acesso do processador de usuário para kernel. Após executar a rotina de escrita em disco, o modo de acesso volta ao estado usuário para continuar a execução do programa.