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

Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

Embed Size (px)

Citation preview

Page 1: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

1

Sistemas Operacionais e Sistemas Operacionais e Introdução à Introdução à ProgramaçãoProgramação

Módulo 1 – Sistemas Módulo 1 – Sistemas OperacionaisOperacionais

Page 2: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

2

Sistema computacionalSistema computacionalSistemas feitos para resolver problemasSistemas feitos para resolver problemas

● Problema:Problema: como obter determinado resultado, com base como obter determinado resultado, com base em dados fornecidosem dados fornecidos

● Sistema computacional composto por hardware e Sistema computacional composto por hardware e softwaresoftware● HardwareHardware: parte “rígida”; circuitos e componentes : parte “rígida”; circuitos e componentes

físicos físicos ● Ex: Processador, memória, mouse, teclado, Ex: Processador, memória, mouse, teclado,

monitor, ...monitor, ...● SoftwareSoftware: dados e instruções sobre como resolver o : dados e instruções sobre como resolver o

problemaproblema● Determinam o que o hardware deve fazerDeterminam o que o hardware deve fazer● Ex: Sistema operacional, programas, ...Ex: Sistema operacional, programas, ...

Page 3: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

3

Sistema computacionalSistema computacional

SoftwareSoftwareSoftwareSoftwareHardwareHardware

UsuárioUsuário

Page 4: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

4

Computadores atuaisComputadores atuais

Unidade Central de Processamento

Registra-dores ULA

Unidadede Controle

Dispositivosde Entrada

Dispositivosde Saída

Dispositivos de

Armazenamento

BarramentosBarramentos

Page 5: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

5

Visão geral de um computadorVisão geral de um computadorComputador comum: máquina que executa programasComputador comum: máquina que executa programas

● Programas são receitas com instruçõesProgramas são receitas com instruções

Início do programa:

Leia linha do teclado;Compare texto lido com usuários cadastrados;Se encontrou um usuário então mostre seus dados na tela,senão mostre mensagem de “Usuário desconhecido”;

Fim do programa.

Page 6: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

6

Visão geral de um computadorVisão geral de um computadorModelo de ComputadorModelo de Computador

● Baseado no modelo definido por Alfred von Neumann Baseado no modelo definido por Alfred von Neumann em 1945em 1945● Conceito de Conceito de programa armazenado em memóriaprograma armazenado em memória

Page 7: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

7

Visão geral de um computadorVisão geral de um computador● Elementos básicos de um computador atual:Elementos básicos de um computador atual:

Page 8: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

8

Visão geral de um computadorVisão geral de um computadorElementos básicos de um computador:Elementos básicos de um computador:● Processador:Processador: controla a operação do computador e controla a operação do computador e

processa os dados (executa as instruções)processa os dados (executa as instruções)● Memória principal:Memória principal: armazena dados e programas; armazena dados e programas;

tipicamente volátiltipicamente volátil● E/S:E/S: transfere dados entre o computador e seu ambiente transfere dados entre o computador e seu ambiente

externo (ex: discos, monitor, teclado, mouse, ...)externo (ex: discos, monitor, teclado, mouse, ...)● Interconexão do sistema: Interconexão do sistema: estruturas e mecanismos para estruturas e mecanismos para

comunicação entre os componentes acimacomunicação entre os componentes acima● ... ou ... ou barramentosbarramentos do sistema do sistema

Page 9: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

9

Visão geral de um computadorVisão geral de um computador● Estrutura típica de um PC:Estrutura típica de um PC:

Page 10: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

10

Visão geral de um computadorVisão geral de um computador● Estrutura típica de um PC: placa-mãeEstrutura típica de um PC: placa-mãe

Page 11: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

11

Visão geral de um computadorVisão geral de um computador● Memória principal:Memória principal:

● Armazenamento de dadosArmazenamento de dados● Fundamental para o processamentoFundamental para o processamento● Volátil:Volátil: perde dados ao ser desenergizada perde dados ao ser desenergizada

● RAMRAM● Não-volátil:Não-volátil: não perde os dados não perde os dados

● Flash, ROM, EPROMFlash, ROM, EPROM

Page 12: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

12

Visão geral de um computadorVisão geral de um computador● Memória principal:Memória principal:

● Como uma tabela onde estão guardadas palavras de Como uma tabela onde estão guardadas palavras de tamanho fixo (em bits)tamanho fixo (em bits)

● Cada palavra possui seu endereço: linha da tabela onde Cada palavra possui seu endereço: linha da tabela onde está a palavraestá a palavra

985600FFE3712024A6F0DE71006411985B394501886A2355

Palavra “00641198”: endereço 3Palavra “985600FF”: endereço 0

• Palavras são números (aqui em hexadecimal)

Page 13: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

13

Visão geral de um computadorVisão geral de um computador● Hierarquia de memória:Hierarquia de memória:

● Velocidade x Custo X CapacidadeVelocidade x Custo X Capacidade

● Mais veloz:Mais veloz:● Mais caraMais cara● Menor capacidadeMenor capacidade

● Maior capacidade:Maior capacidade:● Menor velocidadeMenor velocidade● Mais barataMais barata

Page 14: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

14

Visão geral de um computadorVisão geral de um computador● Processador: cérebro do computadorProcessador: cérebro do computador

● Executa instruções que estão Executa instruções que estão armazenadas em memória principalarmazenadas em memória principal

● Cada instrução é buscada (“Cada instrução é buscada (“fetchfetch”) da ”) da memória sequencialmentememória sequencialmente

● Um registrador especial contém Um registrador especial contém endereço da próxima instrução a ser endereço da próxima instrução a ser buscadabuscada

Page 15: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

15

Visão geral de um computadorVisão geral de um computador● Processador:Processador:

● Circuito densamente Circuito densamente integradointegrado

Velho Intel 8086Velho Intel 8086

Page 16: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

16

Visão geral de um computadorVisão geral de um computador● E/S:E/S:

● Dispositivos para entrada e saída de dadosDispositivos para entrada e saída de dados● Discos, teclado, mouse, monitor, placa de rede, Discos, teclado, mouse, monitor, placa de rede,

scanner, ...scanner, ...

Page 17: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

17

Visão geral de um computadorVisão geral de um computador● E/S:E/S:

● Primeiro mousePrimeiro mouse

Page 18: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

18

Visão geral de um computadorVisão geral de um computador● E/S:E/S:

● Primeiro disco rígido (HD):Primeiro disco rígido (HD):

Page 19: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

19

Visão geral de um computadorVisão geral de um computador● Diversas técnicas de E/S:Diversas técnicas de E/S:

● E/S programadaE/S programada::● Comanda-se todas as ações de E/S de um Comanda-se todas as ações de E/S de um

dispositivodispositivo● E/S orientada a interrupçãoE/S orientada a interrupção

● Inicia-se uma operação de E/S no dispositivo, que Inicia-se uma operação de E/S no dispositivo, que avisa quando a concluiravisa quando a concluir

● Acesso direto à memória (DMA)Acesso direto à memória (DMA)● Inicia-se uma operação de E/S no dispositivo, que Inicia-se uma operação de E/S no dispositivo, que

movimenta por conta própria os dados entre RAM e movimenta por conta própria os dados entre RAM e E/SE/S

Page 20: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

20

Visão geral de um computadorVisão geral de um computador● Resumo do sistema computacional:Resumo do sistema computacional:

Page 21: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

21

Sistema OperacionalSistema Operacional● Conceituação básica:Conceituação básica:

● Um programa que controla a execução de programas Um programa que controla a execução de programas aplicativosaplicativos

● Uma interface entre o usuário e a máquinaUma interface entre o usuário e a máquina● Esconde os detalhes do hardwareEsconde os detalhes do hardware

Exemplos de sistemas operacionais atuais:Exemplos de sistemas operacionais atuais:● Linux (PCs e diversos outros computadores)Linux (PCs e diversos outros computadores)● IBM AIX (computadores IBM)IBM AIX (computadores IBM)● Sun Solaris (PCs e computadores Sun)Sun Solaris (PCs e computadores Sun)● Microsoft Windows (PCs)Microsoft Windows (PCs)● MacOS (Apple Macintosh)MacOS (Apple Macintosh)

Page 22: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

22

Sistema OperacionalSistema Operacional● Camadas de um sistema computacionalCamadas de um sistema computacional

Page 23: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

23

Sistema OperacionalSistema Operacional● Objetivos de um sistema operacionalObjetivos de um sistema operacional

● Conveniência:Conveniência: tornar um computador mais fácil de tornar um computador mais fácil de usarusar

● Eficiência: Eficiência: aproveitar de forma eficiente os recursos aproveitar de forma eficiente os recursos do hardwaredo hardware

● Capacidade de evoluir: Capacidade de evoluir: poder incorporar novas poder incorporar novas funcionalidadesfuncionalidades

Page 24: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

24

Sistema OperacionalSistema Operacional● Serviços providos por um SO:Serviços providos por um SO:

● Criação e execução de programasCriação e execução de programas● Acesso a dispositivos de E/SAcesso a dispositivos de E/S● Acesso controlado a arquivosAcesso controlado a arquivos● Comunicação em redeComunicação em rede● Acesso ao próprio sistemaAcesso ao próprio sistema● Detecção e tratamento de erros (hardware e software)Detecção e tratamento de erros (hardware e software)● Contabilização para monitoramento de desempenho e Contabilização para monitoramento de desempenho e

de uso de recursosde uso de recursos

Page 25: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

25

Sistema OperacionalSistema Operacional● SO é também um programa (software):SO é também um programa (software):

● Dirige o processador no uso dos recursos da máquinaDirige o processador no uso dos recursos da máquina● Dirige o processador para a execução de programasDirige o processador para a execução de programas

Page 26: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

26

Sistema OperacionalSistema Operacional● Abstrações típicas de SO:Abstrações típicas de SO:

● ProcessosProcessos: programa em execução: programa em execução● Arquivos e diretóriosArquivos e diretórios: repositórios de dados : repositórios de dados

identificados por nomesidentificados por nomes● Memória virtualMemória virtual: memória secundária (disco) usada : memória secundária (disco) usada

como se fosse memória principalcomo se fosse memória principal● E/SE/S: dispositivos vistos como se fossem arquivos : dispositivos vistos como se fossem arquivos

especiaisespeciais● RedeRede: conexões de rede e facilidades para envios de : conexões de rede e facilidades para envios de

mensagensmensagens

Page 27: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

27

Sistema OperacionalSistema Operacional● Estrutura de um sistema operacional Unix Estrutura de um sistema operacional Unix

tradicional:tradicional:

Page 28: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

28

Sistema OperacionalSistema Operacional● Estrutura de um sistema operacional LinuxEstrutura de um sistema operacional Linux

Page 29: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

29

Sistema OperacionalSistema Operacional● Estrutura de um sistema operacional Windows:Estrutura de um sistema operacional Windows:

Page 30: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

30

Sistema OperacionalSistema Operacional● História dos sistemas operacionaisHistória dos sistemas operacionais

● 1a geração: 1945-19551a geração: 1945-1955

● Válvulas e painéis de programaçãoVálvulas e painéis de programação

● 2a geração: 1955-19652a geração: 1955-1965

● Transistores e sistemas em lote (Transistores e sistemas em lote (jobsjobs))

● 3a geração: 1965-19803a geração: 1965-1980

● CIs e multiprogramação (CIs e multiprogramação (timesharingtimesharing))

● 4a geração: 1980 – 19954a geração: 1980 – 1995

● Computadores pessoaisComputadores pessoais

● 5a geração: 1995 – presente5a geração: 1995 – presente

● Computadores em rede e InternetComputadores em rede e Internet

Page 31: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

31

Sistema OperacionalSistema Operacional● História dos sistemas operacionaisHistória dos sistemas operacionais

● Antigos sistemas em loteAntigos sistemas em lote

● Insere cartões perfurados na leitora de fitaInsere cartões perfurados na leitora de fita

● Lê cartões para a fitaLê cartões para a fita

● Coloca fita na CPU para processamentoColoca fita na CPU para processamento

● Coloca fita na leitora de fita que imprime a saídaColoca fita na leitora de fita que imprime a saída

Page 32: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

32

Sistema OperacionalSistema Operacional● História dos sistemas operacionaisHistória dos sistemas operacionais

● Multiprogramação – 3a geraçãoMultiprogramação – 3a geração

● Sistema com 3 jobs na memóriaSistema com 3 jobs na memória

● Uso de interupçõesUso de interupções

● Surgimento de discos magnéticosSurgimento de discos magnéticos

Page 33: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

33

Sistema OperacionalSistema Operacional● História dos sistemas operacionaisHistória dos sistemas operacionais

● Uniprogramação: apenas um processo executa por vez (e Uniprogramação: apenas um processo executa por vez (e até o fim)até o fim)

● Uso ineficiente dos recursos da máquinaUso ineficiente dos recursos da máquina

● Processo em espera por E/S prende o processadorProcesso em espera por E/S prende o processador

Page 34: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

34

Sistema OperacionalSistema Operacional● História dos sistemas operacionaisHistória dos sistemas operacionais

● Multiprogramação: vários processos executam por vezMultiprogramação: vários processos executam por vez

● Uso eficiente dos recursos da máquinaUso eficiente dos recursos da máquina

● Processo em espera por E/S libera o processador para Processo em espera por E/S libera o processador para outro processooutro processo

Page 35: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

35

Sistema OperacionalSistema Operacional● História dos sistemas operacionaisHistória dos sistemas operacionais

● Características de SO para multiprogramaçãoCaracterísticas de SO para multiprogramação

● Deve saber escolher algum dos processos ativos para Deve saber escolher algum dos processos ativos para usar o processadorusar o processador

● Deve cuidar para que um processo não interfira no Deve cuidar para que um processo não interfira no funcionamento de outros processosfuncionamento de outros processos

● Deve alocar a memória da melhor forma entre os Deve alocar a memória da melhor forma entre os processosprocessos

● Deve coordenar o acesso dos processos aos dispositivos Deve coordenar o acesso dos processos aos dispositivos de E/Sde E/S

Page 36: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

36

Sistema OperacionalSistema Operacional● História dos sistemas operacionaisHistória dos sistemas operacionais

● Computadores pessoais – 4a geraçãoComputadores pessoais – 4a geração

● Dispositivos de E/S: mouse, impressora, teclado, monitorDispositivos de E/S: mouse, impressora, teclado, monitor

● Baseado em microprocessadorBaseado em microprocessador

● Microprocessador Intel 8080 (CP/M): 1974Microprocessador Intel 8080 (CP/M): 1974

● IBM PC-DOS (MS-DOS): 1980IBM PC-DOS (MS-DOS): 1980

● Pode rodar diferentes tipos de SO: Windows, Linux, MS-Pode rodar diferentes tipos de SO: Windows, Linux, MS-DOSDOS

Page 37: Sistemas Operacionais e Introdução à Programaçãomsobral/SOP/slides/aula1.pdf · Memória virtual: memória secundária (disco) usada como se fosse memória principal ... Uso

37

Sistema OperacionalSistema Operacional● História dos sistemas operacionaisHistória dos sistemas operacionais

● Computadores em rede – 5a geraçãoComputadores em rede – 5a geração

● Comunicação em rede incorporada ao computador e ao Comunicação em rede incorporada ao computador e ao sistema operacionalsistema operacional

● SO com funcionalidades de sistemas distribuídosSO com funcionalidades de sistemas distribuídos

● Acesso a dispositivos remotos: discos de rede Acesso a dispositivos remotos: discos de rede (compartilhamentos), impressoras(compartilhamentos), impressoras

● Execução de processos remota: Terminal Service, X11Execução de processos remota: Terminal Service, X11

● Aplicações cliente-servidor: web, FTP, email, ...Aplicações cliente-servidor: web, FTP, email, ...

● Aplicações P2P: BitTorrent, eMule, ...Aplicações P2P: BitTorrent, eMule, ...

● SOs: Linux, Windows, MacOS, Sun Solaris, ...SOs: Linux, Windows, MacOS, Sun Solaris, ...