sistemas operacionais · sistemas operacionais visão geral. organização da apresentação...

24
PROF. BRUNO ALBUQUERQUE SCRIGNOLI Sistemas Operacionais Visão Geral

Upload: dangthuy

Post on 07-Nov-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

PROF. BRUNO ALBUQUERQUE SCRIGNOLI

Sistemas Operacionais

Visão Geral

Organização da Apresentação

� Introdução

� Componentes de um Sistema de Computação

� Conceito de SO

� Objetivos de um SO� Objetivos de um SO

� Posicionamento de um SO

� Serviços oferecidos por um SO

� Diferentes Visões de um SO

� Chamadas e programas de sistema

� Histórico do SO

Introdução

� Sistema Operacional é um programa colocadoentre o hardware do computador e os programas dos usuários de forma a atingir esses quatro objetivos.

Este é responsável por:� Este é responsável por:� Executar os programa dos usuários

� Permitir a solução de problemas

� Tornar o sistema de computação mais conveniente ao uso

� Utilizar o hardware de um modo eficiente

Introdução

� Visão do sistema operacional

Componentes de um Sistema Computacional

� Hardware� Provê os recursos básicos de computação (memória, dispositivos de E/S, CPU).

� Sistema Operacional� Controla e coordena o uso do hardware entre vários programasaplicativos de usuários.aplicativos de usuários.

� Programas aplicativos e de sistema� Define como os recursos de hardware são empregados nasolução de um problema (compiladores, jogos, banco de dados, …)

� Usuários� Pessoas, máquinas, outros computadores.

Usuário1

Usuário2

Usuário3

Usuárion

. . .

Compilador Editor de Browser Matlab

Componentes de um Sistema Computacional

Compilador Editor detexto

Browser Matlab

Sistema Operacional

Hardware

Componentes: Hardware

Componentes: Hardware

� Unidade Central de Processamento (UCP)

� Unicade de Controle (UC)

� Unidade Lógica e Aritmética (ULA)

� Clock� Clock

� Registradores� CI ou PC (contador de instruções)

� AP ou SP (apontador da pilha)

� PSW (registrador de status)

Hardware: Memória

0

2

1

instrução ou dado

Memória principal com 64 Kbytes

célula = 8 bits

ender

eço

s

2 -116

Hardware: Memória

� Volátil

� Alta velocidade

� Pequena capacidade

� Alto custo� Alto custo

� Cache hit (o dado está na cache) e cache miss (o dado está na memória principal)

Hardware: Memória Secundária

Memória Cache

Registradores

maiorcapacidade de

armazenamento

maior custo evelocidadede acesso

Memória Secundária

Memória Principal

Hardware: Dispositivos de Entrada e Saída

� Memória secundária� Discos

� Fitas magnéticas

� CDs

� Interface usuário-máquina� Interface usuário-máquina� Teclados

� Monitores

� Impressoras

� Plotters

Hardware: Barramento

� Barramentos (bus) UCP-memória-E/S

MemóriaPrincipal

UCP

Bus adapter

Barramento processador-memória

Ba

rra

me

nto

de

E/S

Ba

rra

me

nto

de

E/S

Adaptador

Hardware: Arquiteturas RISC e CISC

� Máquina de níveis

Utiltários

AplicativosRISC (Reduced Instruction Set Computer)

CISC (Complex Instruction Set Computer)

Poucas instruções Muitas instruções

Circuitos Eletrônicos

Microprogramação

Linguagem de Máquina

Arq

uitet

ura

RIS

C

Sistema Operacional

Poucas instruções Muitas instruções

Instruções executadas pelo hardware

Instruções executadas por microcódigo

Instr. usam poucos ciclos de máquina

Instr. usam muitos ciclos

Arquitetura com muitos registradores

Arquitetura com poucosregistradores

Sistemas Operacionais: Conceitos

� Sistema operacional� Um programa que controla a execução de programa aplicativos

� Interface entre aplicativos e o hardware

� Duas formas de ver um sistema operacional� Duas formas de ver um sistema operacional� Alocador de recursos – administra e aloca recursos

� Programa de controle – controla a execução dos programasdos usuários e operações dos dispositivos de E/S

� Kernel – o único programa que roda em todos osmomentos (todos os demais são programas de aplicação)

Serviços oferecidos pelo SO

Diferem entre sistemas, porém alguns são padrões� Criação de programas

� Editores, depuradores e compiladores

� Execução de programas� Carga de programas em memória

� Acesso a dispositivos de E/S (operações)� Manipulação de arquivos (controle de acesso)� Comunicação entre processos� Alocação de recursos do sistema

� Acesso aos recursos� Proteção entre usuários

� Execução de instruções privilegiadas� Chamadas ao sistema (system calls)

Serviços oferecidos pelo SO

� Contabilização� Estatísticas� Monitoração de desempenho� Sinalizar upgrades necessários de hardware (memória, disco, etc.)� Tarifação de usuários

� Detecção de erros� Erros de hardware

� Erros de memória, falha em dispositivos de E/S, etc.� Erros de programação

� Overflow, acesso não-autorizado a posições de memória, etc.� Erros por falta de recursos

� Aplicação solicita recursos que o SO não pode alocar (segurança, faltado recurso, etc.)

Chamadas dos Programas ao SO

� Forma que programas solicitam serviços ao SO� Análogo a sub-rotinas

� Transferem o controle para o SO ao invés de transferir para outroponto do programa

� É o núcleo (kernel) do SO que implementa as chamadas de � É o núcleo (kernel) do SO que implementa as chamadas de sistema� Existem chamadas de sistema associadas a gerência do processador, de memória, arquivos e de entrada/saída

� Variação: micro-kernel� Serviços básicos são implementados pelo micro-kernel� Kernel implementa demais serviços empregando esses serviçosbásicos

Programas de Sistema

� Programas executados fora do kernel (utilitários) Implementam tarefas básicas

� Muitas vezes confundidos com o próprio sistema operacional� Compiladores, assemblers, ligadores, etc.� Compiladores, assemblers, ligadores, etc.

� Interpretador de comandos� Ativado sempre que o SO inicia uma sessão de trabalho

� bash, tsch, sh, etc.� Interface gráfica de usuário (GUI)

� Família Windows, MacOs, etc.

SO: Histórico

� Primórdios� Sistema operacional inexistente

� Usuário é o programador e operador da máquina

� Alocação do recurso “computador” feito por planilha

� Evolução foi motivada por:� Melhor utilização de recursos

� Avanços tecnológicos (novos tipos de harware)

� Adição de novos serviços

Sistema em Lote (Batch)

� Introdução de operadores profissionais� Usuário não era o operador da máquina

� Job� Programa a ser compilado e executado, acompanhado dos dados de execução (cartões perfurados) dados de execução (cartões perfurados)

� Jobs são organizados em lote (batch)� Agrupamento em tarefas ou necessidades semelhantes (p.ex. mesmo compilador)

� Passagem entre diferentes jobs continua sendo manual

� Evolução - Sequenciamento automático de tarefas, isto é, a transferência do controle de uma tarefa para outra é feitaautomaticamente.

Sistema em Lote (Batch)

Processamento(a)

fita de entrada

cartões perfurados

job 2

job n

job 1

Processamento

Processamento

(b)

(c)

fita de entrada fita de saída

relatórios

fita de saídarelatório 1

relatório 2

relatório n

Monitor Residente

� Evolução� Sequenciamento automático de jobs, transferindo o controle de um job a outro

� Primeiro sistema operacional (rudimentar)

� Monitor residente� Programa que fica permanentemente em memóriaControle inicial no Monitor � Controle inicial no Monitor

� Controle é transferido para o job� Como o monitor sabe a respeito da natureza da tarefa(i.e., Fortran X Assembler) ou qual programa a executar ou como distinguir umatarefa de outra??

� Solução: Cartões de controle� Quando o job termina, o controle retorna ao monitor� Centraliza as rotinas de acesso a periféricos disponibilizando-as aosprogramas dos usuários

Sistema batch multiprogramados

� Monitor residente permite a execução de apenas um programa a cada vez

� Desperdício de tempo de CPU com operações de E/S

� Evolução� Manter diversos programas na memória ao mesmo tempo e a CPU é multiplexada entre eles.

� Enquanto um programa realiza E/S, outro pode ser executadoDesperdício CPU Multiprogramação

RequisiçãoE/S

TérminoE/S

RequisiçãoE/S

TérminoE/S

tempo tempo

CPU

E/S