Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do...

67
1 Introdução à Computação Introdução à Computação Universidade Federal do Maranhão Universidade Federal do Maranhão Departamento de Informática Departamento de Informática Profa. Msc. Maria Auxiliadora Profa. Msc. Maria Auxiliadora Freire Freire [email protected] [email protected]

Transcript of Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do...

Page 1: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

1

Introdução à ComputaçãoIntrodução à Computação

Universidade Federal do MaranhãoUniversidade Federal do Maranhão

Departamento de InformáticaDepartamento de Informática

Profa. Msc. Maria Auxiliadora FreireProfa. Msc. Maria Auxiliadora [email protected]@deinf.ufma.br

Page 2: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

2

SOFTWARESOFTWAREPARTE 1PARTE 1

Universidade Federal do MaranhãoUniversidade Federal do Maranhão

Departamento de InformáticaDepartamento de Informática

Page 3: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

4

• Conjunto de instruções/funções/tarefas que definem o que o computador deve executar para chegar a um determinado resultado.

• Instruções eletrônicas que em geral residem em um meio de armazenamento.

• Um conjunto específico destas instruções é chamado Programa.Programa.

• Quando o computador está usando um programa em particular, dizemos que eles está rodando ou executandoexecutando aquele PROGRAMA.

SOFTWARE

Page 4: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

5

Componentes genéricos - sistema computacional

Page 5: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

6

Componentes genéricos - sistema computacional

Diferentes visões- Sistema computacionalDiferentes visões- Sistema computacional

Page 6: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

7

Programas:Programas:

• Partes componentes do softwaresoftware

• Desenvolvidos utilizando Linguagens de Programação.Linguagens de Programação.

• Analistas de Sistemas e ProgramadoresAnalistas de Sistemas e Programadores – Projetam e desenvolvem programas / software

• Engenharia de Engenharia de SoftwareSoftware– Área de estudo que se preocupa com o desenvolvimento

de software

SOFTWARE

Page 7: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

8

SOFTWARE

Page 8: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

9

• O sistema operacional é softwareO sistema operacional é software: um conjunto de rotinas que são executadas pelo processador para facilitar o acesso aos componentes de hardware (processador, memória, dispositivos de E/S), e gerenciar o uso do sistema de computação (hardware e software).

• Tradicionalmente os S.O. eram escritos em linguagem Assembly. Já faz um certo tempo que a maioria dos S.O. são escritos em linguagens linguagens de alto nívelde alto nível.

Sistemas Operacionais

Page 9: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

10

• Composto por um conjunto de programasprogramas e rotinasrotinas

• Controla a execução de qualquer software utilizado em um computador

• Gerencia os recursos do computador (hardware e software) de modo a:– Possibilitar sua utilização– Aumentar sua eficiência– Permitir a comunicação com outros equipamentos.

Sistemas Operacionais

Page 10: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

11

Sistemas Operacionais

Usuário Programas

Sistema de ArquivosHardware

SO

Page 11: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

Passo 1

A fonte de alimentação fornece energia elétrica para as diferentes partes do sistema

processador

BIO

S

Funções dos Sistemas Operacionais Inicialização

Page 12: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

PassoPasso 22

O processador procura o BIOS

BIOSBasic Input/Output System

Firmware que contém as instruções de inicialização do computador

processador

BIO

S

Funções dos Sistemas Operacionais Inicialização

Page 13: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

Passo 3

A BIOS realiza o POST

POSTPower-On Self Test

Teste mediante o qual são verificados componentes tais como mouse, teclado, conectores e placas de expansão

processador

BIO

S

placas deexpansão

conectores

teclado

drive deCD-ROM

Funções dos Sistemas Operacionais Inicialização

Page 14: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

Passo 4

Os resultados do POST são comparados com os dados armazenados no chip CMOS

Chip CMOS

Complementary Metal Oxyde Semiconductor

Armazena informações de configuração do computador e também detecta novos dispositivos conectados

processador

BIO

S

placas deexpansão

conectores

drive de CD-ROM

chipCMOS

Funções dos Sistemas Operacionais Inicialização

Page 15: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

Passo 5

O BIOS procura os arquivos do sistema no drive A (disco flexível) e, em seguida, no drive C (disco rígido)

Arquivos do sistema

Arquivos específicos do sistema operacional, carregados durante a inicialização

processador

BIO

S

placas deexpansão

conectores

drive de CD-ROM

chipCMOS

discorígido

drive dedisco flexível

Funções dos Sistemas Operacionais Inicialização

Page 16: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

Passo 6

O programa de boot carrega na RAM o kernel do SO (armazenado no HD), o qual assume, a partir de então, o controle do computador

processador

BIO

S

placas deexpansão

conectores

drive de CD-ROM

chipCMOS

discorígido

drive dedisco flexível

módulos dememória RAM

Funções dos Sistemas Operacionais Inicialização

Page 17: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

Step 7

Passo 7

O SO carrega informações de configuração, exibe a área de trabalho (desktop) na tela e executa programas na pasta Iniciar (StartUp)

Pasta Iniciar (StartUp)

Contêiner de uma lista de programas que são automaticamente iniciados quando o computador é inicializado

Funções dos Sistemas Operacionais Inicialização

Page 18: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

25

RAM(memória física)

O SO aloca uma porção de um meio de armazenamento (usualmente o disco rígido) para atuar como RAM adicional

Disco(memória virtual)

Funções dos Sistemas Operacionais Gestão da Memória Virtual

Page 19: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

26

Passo 1

O SO transfere os dados e as instruções de programas menos usados recentemente para o disco rígido, uma vez que a memória é necessária para outros propósitos

RAM(memória física)

Disco(memória virtual)

swap out de página

Funções dos Sistemas Operacionais Gestão da Memória Virtual

Page 20: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

27

Passo 2

O SO transfere os dados e as instruções de programas do disco rígido para a memória quando necessários

RAM(memória física)

Disco(memória virtual)

swap out de página

swap in de página

Funções dos Sistemas Operacionais Gestão da Memória Virtual

Page 21: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

29

• Salvar arquivos em disco.

• Ler arquivos do disco para a memória.

• Verificar o espaço disponível em disco e memória.

• Alocar memória para armazenar dados e programas.

• Ler toques de teclas do teclado e exibir caracteres ou gráficos na tela.

• Os programas trazem incorporados a si instruções que solicitam ao sistema operacional estes serviços (chamadas ao sistema operacional).

Funções dos Sistemas Operacionais Gestão de Programas

Page 22: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

31

• O uso de um computador potente com múltiplas CPUs.

• Múltiplos programas rodam simultaneamente.– Cada um é executado em seu próprio processador

• Dois ou mais programas executados concorrentemente.– Os programas se alternam na utilização da CPU.– Baseada em eventos.

• Uma interrupção suspende o processamento para permitir a execução de um outro programa.

• Depois que o segundo programa é executado, o sistema operacional retorna a CPU a outro programa.

• Geralmente é usada em programas em lote que não exigem entrada do usuário.

Funções dos Sistemas Operacionais Multiprogramação

Page 23: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

32

• Do ponto de vista do usuário, o que faz ou prejudica um sistema operacional é a qualidade da interface com o usuário

• Às vezes, a interface com o usuário é denominada shellshell, sugerindo a idéia de que a interface com o usuário (o shell) “envolve” o sistema operacional (o kernel dentro do shell).

• Os três tipos de interfaces com o usuário são:• Interface de linha de comandoInterface de linha de comando,• Interface baseada em menus Interface baseada em menus e• Interface gráficaInterface gráfica.

Funções dos Sistemas Operacionais Interface com o Usuário

Page 24: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

33

• Interface de linha de comandoInterface de linha de comando

• A comunicação é feita via digitação de palavras (limitadas) e símbolos no teclado do computador;

• O usuário controla os programas através da digitação de comandos no aviso de comando (prompt), Exemplo: c> ;

• Exige que o usuário digite os comandos utilizando palavras-chave que instruem o sistema operacional sobre o que fazer (Ex.: “format” e “copy”).

• Usuário deve conhecer as regras de sintaxe.

• Pouco utilizados pelos usuários porque exigem memorização e é muito fácil cometer um erro de digitação.

• Preferido pelos usuários experientes.

Funções dos Sistemas Operacionais Interface com o Usuário

Page 25: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

34

• Interface Baseada em MenusInterface Baseada em Menus

• Permitem que o usuário evite a memorização das palavras-chave e sintaxe. Os menus baseados em texto na tela mostram todas as opções disponíveis em um determinado ponto.

• Alguns sistemas permitem que o usuário clique a opção desejada com o mouse.

Funções dos Sistemas Operacionais Interface com o Usuário

Page 26: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

35

• Interface gráfica Interface gráfica

• Também conhecida por GUI GUI (Graphical User Interface);

• Possibilita o trabalho em termos visuais;

• Desenvolvimento do conceito de Menus, ícones e caixas de diálogos

• Facilidade de utilização medida pela intuitividade da interface

• Tipo de interface chamada amigável

• Utiliza o conceito de desktop - desktop - área de trabalho digital: Mesa de trabalho digital

• Calculadora, bloco de notas, pastas, lixeira, etc...

Funções dos Sistemas Operacionais Interface com o Usuário

Page 27: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

36

Driver de Dispositivo - Programa que possibilita a comunicação do SO com um dispositivo de E/S

Cada dispositivo requer um driver próprio

driver de dispositivo

Funções dos Sistemas OperacionaisComunicação SO - dispositivo de E/S

Page 28: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

37

Plug’n Play (PNP ou Plug and Play)

Reconhecimento de novos dispositivos pelo computador, instalação automática de drivers para esses dispositivos e verificação de conflitos com outros dispositivos.

Suportado pela maioria dos dispositivos e SO atuais. Quando se liga um sistema Plug/Play, o principal

árbitro entre o software e o hardware, o BIOS é o primeiro componente a assumir o controle.

Sistemas Operacionais

Page 29: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

39

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

• Os sistemas operacionais agrupam os dados em compartimentos lógicos para armazená-los em disco

Page 30: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

40

Como os Dados São OrganizadosSetor ou Segmento

Trilhas

1 2

3

4

56

7

8

9

Cluster

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 31: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

41

• Trilha– A porção circular da superfície

do disco que passa sob a cabeça de leitura/gravação.

• Um disco flexível tem 80 trilhas em cada superfície.

• O disco rígido pode ter 1.000 ou mais trilhas em cada superfície de cada lâmina.

Como os Dados São Organizados

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 32: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

42

• Setor– Cada trilha é dividida em setores que

contêm um número fixo de bytes.• Tipicamente, 512 bytes por setor.

– A gravação por zonas atribui mais setores às trilhas que estão nas zonas externas do que àquelas que estão nas zonas internas.

– Usa o espaço de armazenamento de maneira mais completa.

Como os Dados São Organizados

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 33: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

43

• Cilindro – A trilha sobre cada superfície, que

está sob a cabeça de leitura/gravação, em determinada posição das cabeças de leitura/gravação.

– Quando o arquivo é maior do que a capacidade de uma única trilha, o sistema operacional armazena-o em trilhas que fazem parte do mesmo cilindro.

Como os Dados São Organizados

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 34: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

44

Formatação Física - os discos são divididos em trilhas, setores e cilindro e são gravadas as marcações servo, que permitem que a placa lógica posicione corretamente as cabeças de leitura.

Formatação Lógica - organizado à maneira do sistema operacional, preparado para receber dados. A esta organização damos o nome de “sistema de arquivos”.

Formatação - Processo de preparação de um disco para leitura e escrita (gravação).

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 35: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

45

FAT – “File Alocation Table” ou “tabela de alocação de arquivos”. localizado no setor “0” do disco.A função da FAT é servir como um índice, armazenando informações sobre cada cluster do disco Comparando o FAT com um livro.

as páginas clusters; a FAT as legendas e numeração das páginas;

o diretório raiz índice, com o nome de cada capítulo e a página onde ele começa.

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 36: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

46

Organização de arquivos

0 1 2 3 4 5 6 7

?

readme.txt

0 1 2

prova.doc

0 1 2 3 4 5 6 7

aula.pdf

0 1 2 3 4

Dispositivofísico

Vetor deblocoslógicos

Arquivos

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 37: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

47

Organização de arquivos

/raiz

arquivos windows docs temp

java Winzip help system32 aulas pedro

carta

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 38: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

48

Gravando o arquivo ”carta”

Arquivo cluster

Despesas.xls 1

Relatorio anual.doc

2

Disponível 3Novo orcamento.xls

4

FAT

ENDEREÇO DO CLUSTERCLUSTER TRILHA SETORE

S

3 1 2,3,4,5

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 39: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

49

• Técnicas de alocação

– Formas de mapear os blocos dos arquivos em posições no vetor de blocos lógicos

– Alocação contígua de arquivos

– Alocação em listas encadeadas• listas diretas ou listas indexadas

– Alocação indexada

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 40: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

50

readme.txt 010 003prova.doc 002 008Aula.pdf 017 005

arquivo inicio #blocos

0 1 2 3 4 5 6 7

Alocação contígua Cada arquivo ocupa um conjunto de blocos lógicos consecutivos. Não há blocos vazios entre os blocos de um mesmo arquivo. Para cada arquivo, o diretório informa seu bloco de início e o no de blocos.

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 41: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

51

• Alocação contígua– Vantagens:

• Simplicidade de implementação.• Rapidez de acesso aos arquivos:

– todos os blocos do arquivo estão próximos.• Facilidade de acesso seqüencial e aleatório:

– sequencial: basta ler os blocos consecutivos– aleatório: posições internas podem ser facilmente calculadas a partir da

posição do bloco inicial.

– Desvantagens:• Pouca flexibilidade no crescimento dos arquivos.• Tamanho máximo do arquivo deve ser conhecido no momento da alocação.• Ocorrência de fragmentação externa.• Necessidade de desfragmentação periódica

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 42: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

52

• Alocação encadeada

– Os arquivos são armazenados como listas de blocos

– cada bloco aponta para o próximo– diretório aponta para o bloco inicial– os blocos podem estar espalhados

– Base de funcionamento da FAT• sistema de arquivos Windows

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 43: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

53

readme.txt 010 003prova.doc 002 008Aula.pdf 017 005

arquivo inicio #blocos

Alocação encadeada

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 44: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

54

• Alocação encadeada

– Vantagens– não há fragmentação externa– todo o disco pode ser usado– tamanho dos arquivos pode ser mudado facilmente

– Desvantagens– acesso aleatório é mais demorado– maior fragilidade em caso de problemas

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 45: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

55

• Alocação indexada

– Baseada em tabelas de blocos• um bloco especial guarda a tabela de blocos do

arquivo: index-node (i-node)• diretório aponta para os i-nodes• blocos podem estar espalhados

– Base de funcionamento do UNIX

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 46: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

56

Alocação indexadareadme.txt 010 003prova.doc 002 008Aula.pdf 017 005

arquivo inicio #blocos

I-node

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 47: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

57

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 48: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

58

• Alocação indexada

– Vantagens– não há fragmentação externa– todo o disco pode ser usado– acesso rápido– robustez em caso de problemas

– Desvantagens– gerência mais complexa– espaço em disco perdido com os i-nodes

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 49: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

59

• Fragmentação interna

– Arquivos são alocados em blocos:– Os blocos têm tamanho fixo.– Entre 512 bytes e 8 Kbytes.– Um bloco não pode ser alocado parcialmente.

– Se usarmos blocos de 4096 bytes:– um arquivo de 5700 bytes ocupará 2 blocos.– 2492 bytes serão perdidos no último bloco.

– Em média, perde-se 1/2 bloco por arquivo.

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 50: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

60

• Fragmentação externa

– Espaços vazios entre blocos de arquivos.

– À medida que o sistema evolui:• arquivos são criados e removidos• mais espaços vazios aparecem.• os espaços vazios ficam menores.

– Alocar novos arquivos torna-se difícil !

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 51: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

61

Evolução da fragmentação

t

aloca aloca

aloca aloca

Agora, como alocar um arquivo com 4 blocos ?

remove remove

remove

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 52: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

62

• Desfragmentação

– Mover arquivos para reagrupar os fragmentos em espaços maiores

– Visa permitir alocar arquivos maiores– Deve ser feita periodicamente– Uso de algoritmos para minimizar

movimentação de arquivos (rapidez)

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 53: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

63

Estratégias de desfragmentação

Situação inicial

Moveu 6 blocos

Moveu 4 blocos

Moveu 2 blocos

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 54: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

64

• Estratégias de alocação

– First-fit: usar o primeiro espaço livre– maior rapidez de alocação– pouca preocupação com fragmentos

– Best-fit: usar o menor espaço livre– usar o melhor possível os espaços em disco– fragmentos residuais são pequenos

– Worst-fit: usar o maior espaço livre– fragmentos residuais são maiores (mais úteis)

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 55: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

65

Alocando um arquivo c/ 2 blocos

Worst-fit

Best-fit

First-fit

Situação inicial

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 56: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

66

• Tamanho dos blocos– A escolha do tamanho dos blocos é importante

para a eficiência do sistema.

– Blocos pequenos:– menor perda por fragmentação interna– mais blocos por arquivo: maior custo de gerência

– Blocos grandes:– maior perda por fragmentação interna– menos blocos por arquivo: menor custo de gerência

Funções dos Sistemas Operacionais Gerenciamento de Arquivo

Page 57: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

68

PrimórdiosPrimórdios

– Sistema operacional inexistente– Usuário é o programador e o operador da

máquina– Evolução foi motivada por:

• Melhor utilização de recursos• Avanços tecnológicos (novos tipos de

hardware)• Adição de novos serviços

Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação

Page 58: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

69

Sistemas Mono-usuárioSistemas Mono-usuário– Projetados para serem usados por um único usuário de Projetados para serem usados por um único usuário de

cada vez, multi-tarefa (quando existente) limitada.cada vez, multi-tarefa (quando existente) limitada.– Exemplo: MS- DOS, Windows 3.x, Windows 9x, MilleniumExemplo: MS- DOS, Windows 3.x, Windows 9x, Millenium

Sistemas Multi-usuárioSistemas Multi-usuário– Suportam várias sessões de usuário em um computador.Suportam várias sessões de usuário em um computador.– Exemplo: UNIX, Windows-NT, Windows 2000, “Windows Exemplo: UNIX, Windows-NT, Windows 2000, “Windows

XP”, Vista, Win 7XP”, Vista, Win 7– Programas e arquivos de dados em um único computador Programas e arquivos de dados em um único computador

((hosthost), contas de usuário, gerencia o uso comum de ), contas de usuário, gerencia o uso comum de periféricos compartilhados.periféricos compartilhados.

Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação

Page 59: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

70

Sistemas Mono-tarefa (Mono-programáveis)– Podem executar apenas uma tarefa de cada vez.– Exemplo: MS-DOS

Sistemas Multi-tarefa (Multi-programáveis)– Permitem executar várias tarefas “simultaneamente”

• Modo cooperativo. Exemplo: Windows 9x (aplicativos de 16 bits)

• Modo preemptivo. Exemplo: Windows NT, UNIX, OS/2, Windows 9x (aplicativos de 32 bits)

Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação

Page 60: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

Cooperação e Preempção

• Multi-tarefa Cooperativa - cada aplicativo ocupa seu próprio endereço de memória e recursos do sistema. Cabe a cada processo liberar voluntariamente a utilização do processador para que outro processo possa ser executado

• Multi-tarefa Preemptiva – o SO gerencia o escalonamento dos processos, podendo interromper um processo em favor de outro, de maior prioridade

Page 61: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

72

Sistemas em Lote (Batch)

- Primeiros sistemas multi-programáveis- Caracterizados por terem seus jobs armazenados em disco

ou fita, até o momento de serem executados de forma seqüencial.

- Os jobs não possuem interação com o usuário (Ex.: primórdios – compiladores, linkedições, backups).

- Início: passagem entre jobs - manual- Evolução: Sequenciamento automático de jobs, transferindo

o controle de um job a outro.

Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação

Page 62: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

73

Sistemas em Lote (Batch) - Histórico

• Introdução da multi-programação

– Acesso direto aos jobs - escala de jobs em uma determinada ordem, de modo a aproveitar os tempos de cpu ociosa.

– A idéia é manter vários programas em memória ao mesmo tempo. Enquanto um programa aguarda E/S, outro pode ser executado

Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação

Page 63: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

74

Sistemas Multi-programáveis de Tempo Compartilhado (Time sharing)

• Fornecem serviços a diversos usuários concorrentemente

• Usuários possuem um terminal– Interação com o programa em execução

• Usuário - Ilusão de possuir a máquina dedicada à execução de seu programa– Divisão do tempo de processamento entre usuários– Tempo de resposta é importante

Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação

Page 64: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

75

Sistemas Multi-programáveis de Tempo Real• Quanto à construção, são bem semelhantes aos

sistemas de tempo compartilhado. Porém, os objetivos e exigências são diferentes.

• Em geram, atendem (monitoram) processos externos que requerem tempos de resposta dentro de limites rígidos. Ex.: experimentos científicos, tratamento de imagens médicas, controle de processos, etc

• O processo realimenta o computador.• Em geral não existe o conceito de fatia de tempo

alocada a um processo.• Noção de tempo real é dependente da aplicação

(segundos, minuto, horas, etc).

Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação

Page 65: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

76

Sistemas com Múltiplos Processadores• Caracterizam-se por possuir 2 ou mais CPUs interligadas,

trabalhando conjuntamente.• No desenvolvimento desses sistemas, o mais importante

é a forma de comunicação entre os processadores e o grau de compartilhamento da memória e dos dispositivos de E/S, o que leva a seguinte classificação:– sistemas fortemente acoplados (assimétricos e

simétricos)– sistemas fracamente acoplados (SO de rede e SO

distribuído).

Sistemas Operacionais - ClassificaçãoSistemas Operacionais - Classificação

Page 66: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

77

Tipos de Sistemas Operacionais

• Plataforma: combinação de hardware de computador e software de sistema operacional.– Wintel (Microsoft Windows que roda em um PC baseado em

Intel) é a mais comum.

• Plataformas Comuns:– MS-DOS– Windows– MAC OS– Unix– Linux

Page 67: Maria Auxiliadora H. L. Capron / J. A. Johnson1 Introdução à Computação Universidade Federal do Maranhão Departamento de Informática Profa. Msc. Maria.

85

• Executam tarefas secundárias.• Exemplos:

– Gerenciador de arquivos (Windows Explorer)

– Compactação de arquivos (Winzip)– Recursos de Impressão – Outros

Programas Utilitários