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
2
SOFTWARESOFTWAREPARTE 1PARTE 1
Universidade Federal do MaranhãoUniversidade Federal do Maranhão
Departamento de InformáticaDepartamento de Informática
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
5
Componentes genéricos - sistema computacional
6
Componentes genéricos - sistema computacional
Diferentes visões- Sistema computacionalDiferentes visões- Sistema computacional
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
8
SOFTWARE
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
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
11
Sistemas Operacionais
Usuário Programas
Sistema de ArquivosHardware
SO
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
39
Funções dos Sistemas Operacionais Gerenciamento de Arquivo
• Os sistemas operacionais agrupam os dados em compartimentos lógicos para armazená-los em disco
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
57
Funções dos Sistemas Operacionais Gerenciamento de Arquivo
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
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
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
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
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
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
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
65
Alocando um arquivo c/ 2 blocos
Worst-fit
Best-fit
First-fit
Situação inicial
Funções dos Sistemas Operacionais Gerenciamento de Arquivo
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
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
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
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
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
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
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
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
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
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
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
85
• Executam tarefas secundárias.• Exemplos:
– Gerenciador de arquivos (Windows Explorer)
– Compactação de arquivos (Winzip)– Recursos de Impressão – Outros
Programas Utilitários
Top Related