Upload
buituong
View
220
Download
0
Embed Size (px)
Citation preview
1
Sistemas Operacionais e Sistemas Operacionais e Introdução à Introdução à ProgramaçãoProgramação
Módulo 1 – Sistemas Módulo 1 – Sistemas OperacionaisOperacionais
2
SOPSOPCompetências:Competências:
1. Compreender as abstrações de um sistema operacional e 1. Compreender as abstrações de um sistema operacional e operar um sistema operacional operar um sistema operacional Unix/Linux Unix/Linux como usuário como usuário
avançado.avançado.
2. Desenvolver pequenos programas em linguagem de alto nível, 2. Desenvolver pequenos programas em linguagem de alto nível, acessando a acessando a Interface de Programação de Aplicações (API) Interface de Programação de Aplicações (API) do do
sistema operacional.sistema operacional.
3
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.
4
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
5
Visão geral de um computadorVisão geral de um computador● Elementos básicos de um computador:Elementos básicos de um computador:
6
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)
7
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
8
Visão geral de um computadorVisão geral de um computador● Processador:Processador:
● 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
9
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, ...
10
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● E/S orientada a interrupçãoE/S orientada a interrupção● Acesso direto à memória (DMA)Acesso direto à memória (DMA)
11
Visão geral de um computadorVisão geral de um computador● Resumo do sistema computacional:Resumo do sistema computacional:
12
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
13
Sistema OperacionalSistema Operacional● Camadas de um sistema computacionalCamadas de um sistema computacional
14
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
15
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● 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
16
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
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
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
25
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, ...