Aula 19 - IC/UFF

Propaganda
Informática I
Aula 19
http://www.ic.uff.br/~bianca/informatica1/
Aula 19 -20/11/06
1
Ementa
•
•
•
•
•
•
•
•
•
•
•
Histórico dos Computadores
Noções de Hardware e Software
Microprocessadores
Sistemas Numéricos e Representação de Dados
Estrutura e Organização da Informação
Linguagens de Programação
Sistemas Operacionais
Redes de Computadores e Internet
Engenharia de Software
Softwares Aplicativos
Aspectos Legais do Software
Aula 19 -20/11/06
2
Conceito de
Sistema Operacional
• O sistema operacional é uma
camada de software intermediária
entre o hardware e os softwares
aplicativos.
• Gerencia de recursos de hardware,
como:
– CPU, memória e discos
• Suporta softwares aplicativos como:
– Compiladores, gerenciadores de banco
de dados e softwares de redes.
• Estabelece uma interface com o
usuário.
– Determina como o usuário
interage com o sistema.
Aula 19 -20/11/06
3
Kernel (Núcleo)
• Um sistema operacional é formado por um conjunto de
programas.
– O kernel é o programa mais importante.
• O kernel é carregado do disco rígido para a memória
quando o computador é inicializado.
• O kernel carrega do armazenamento em disco outros
programas do sistema operacional, quando necessário.
– Outros programas são chamados de não-residentes.
• Tarefas básicas do kernel:
– Compartilhamento da CPU.
– Gerenciamento da memória RAM.
– Gerenciamento de periféricos (comunicação com os drivers).
Aula 19 -20/11/06
4
Compartilhamento da CPU
• Em sistemas operacionais
modernos, o kernel é
responsável por compartilhar
a CPU entre os diversos
processos que são
executados.
• A cada processo é designada
uma fração de segundos
(quantum) em que a CPU fica
dedicada somente a ele.
• Quando acaba o tempo, o
kernel passa a CPU para
outro processo e assim
sucessivamente.
Aula 19 -20/11/06
5
Gerenciamento da Memória
• Para serem executados pela CPU, os
programas devem ser carregados do disco para
a memória principal.
• O sistema de gerenciamento de memória:
– Divide a memória em partições distintas.
– Aloca partições de memória para programas.
– Mantém os programas mutuamente separados para
evitar que interfiram no funcionamento um do outro.
• Em sistemas modernos, normalmente utiliza-se
um esquema de memória virtual.
Aula 19 -20/11/06
6
Memória Virtual
•
Os programas que estão atualmente em execução
são armazenados em disco.
– Partes do programa são levadas para a memória
conforme a necessidade.
– Permite a execução de mais programas simultaneamente do
que caberia somente na memória RAM.
•
Pode ser implementado por meio de paginação.
– Divide a memória em páginas pequenas, de tamanho fixo.
– A tabela de páginas (page table) controla as localizações na
memória.
Aula 19 -20/11/06
7
Programas Utilitários
• São os programas do sistema operacional que
ficam fora do kernel.
• Exemplos:
– Interface com o usuário
• Shell (linha de comando)
• Interface gráfica
– Gerenciamento de arquivos
• Mantém a árvore de diretórios e controlam o acesso aos
arquivos no disco.
– Drivers de dispositivos
• Realizam a comunicação com cada periférico instalado.
– Utilitários para desfragmentação do disco.
Aula 19 -20/11/06
8
Exemplos de
Sistemas Operacionais
•
•
•
•
•
Unix
Linux
MS-DOS
MS-Windows
Mac OS (hoje em dia usa o Unix como
base)
Aula 19 -20/11/06
9
Sistema Operacional Unix
• O Unix foi desenvolvido na década de 1970 por
programadores da AT&T e do Bell Labs.
– Escrito originalmente em Assembly e destinado a
funcionar em máquinas PDP-7, com o objetivo de dar
respostas rápidas.
• A partir da década de 1980 uma versão na
linguagem C foi distribuída comercialmente.
• É utilizado em equipamentos de médio porte e
em equipamentos de arquitetura RISC.
– Servidores Sun (Solaris), IBM (AIX)
• Também é a base do sistema Mac OS X.
• Hoje em dia existem versões livres (FreeBSD).
Aula 19 -20/11/06
10
Evolução do Unix
Aula 19 -20/11/06
11
Principais características
do Unix
• Multiusuário
– Vários usuários podem utilizar o sistema ao mesmo tempo a
partir de diferentes consoles.
– Cada usuário deve logar-se no sistema para poder utilizá-lo.
• Multiprogramável (ou multitarefa)
– Pode executar diversos programas que compartilham os
recursos do sistema.
• Estrutura hierárquica de arquivos
– Possibilita a criação de subdiretórios
– Permite desenvolver mecanismo de proteção dos dados.
• Possibilidade de redirecionamento de entrada e saída
de dados.
Aula 19 -20/11/06
12
Principais características
do Unix (cont.)
• Possui rotinas de gerenciamento de
memória que utilizam a técnica de
paginação ou swapping (memória virtual).
• Possui rotinas de gerenciamento de
processos cuja prioridade de execução é
dada pelo administrador do sistema.
– Usa a técnica de time sharing (tempo
compartilhado).
– Permite que cada processo tenha um
quantum de execução diferente.
Aula 19 -20/11/06
13
Estrutura interna do Unix
• A estrutura interna do Unix divide-se em
duas partes:
– Kernel: é o núcleo do sistema operacional e
contém todas as rotinas de gerenciamento e
execução dos programas.
– Shell (interpretador de comandos): armazena
as rotinas de tratamento de interface do
sistema, identificando e encaminhando para
execução os comandos pedidos pelo usuário.
Aula 19 -20/11/06
14
Gerência de arquivos
• O sistema Unix possui três tipos de arquivo:
– Arquivos simples: utilizados para armazenamento de
dados e programas dos usuários.
– Arquivos especiais: constituem a interface entre
programa de aplicação e os periféricos.
• Para escrever ou ler de um periférico, se escreve ou lê de
arquivos especiais.
– Arquivos diretórios: são aqueles cujo conteúdo é
formado por um conjunto de arquivos simples,
especiais e diretórios.
Aula 19 -20/11/06
15
Gerência de arquivos (cont.)
• Ao formatar um disco, o Unix divide-o logicamente em
blocos de 512 bytes, criando uma estrutura dividida em
quatro partes:
– Bloco de inicialização
• Armazena o programa de carga do sistema operacional.
– Superbloco
• Contém informações gerais sobre os arquivos existentes, tais como
quantidade e espaço total ocupado.
– L-Lista
• Contém informações sobre cada arquivo armazenadas em
estruturas chamadas “Inode”, tais como nome do arquivo, data e
hora de criação, identificação do proprietário, bits de proteção e a
lista de identificadores dos blocos do arquivo.
– Área de dados
• Área utilizada para armazenar o conteúdo dos arquivos.
Aula 19 -20/11/06
16
Estrutura de arquivos
Aula 19 -20/11/06
17
Sistema Operacional Linux
• O Linux é um sistema operacional baseado no Unix,
criado como uma alternativa barata e funcional.
– O Linux é um software livre, isto é, seu código fonte é aberto.
– Utilizar o Linux é 95% igual a usar o Unix.
– O Linux pode ser rodado em PCs.
• O kernel do Linux for escrito por Linus Torvalds com a
ajuda de programadores voluntários, que participaram
pela internet.
• Ele baseou o sistema no Minix, um sistema operacional
educacional escrito por Andrew Tanenbaum.
Aula 19 -20/11/06
18
Distribuições Linux
• O Linux na verdade é só o kernel (núcleo) do
sistema com alguns comandos básicos.
• No início, o próprio usuário devia encontrar os
outros programas, compilá-los e configurá-los.
• O Projeto GNU usou então o Linux como kernel
e criou uma distribuição de sistema operacional
completa chamada de GNU/Linux.
• Hoje em dia existem várias distribuições do
GNU/Linux (Red Hat, Debian, Mandrake,
Debian, etc.)
Aula 19 -20/11/06
19
Características do Linux
• Sistema multitarefa de 32 ou 64 bits.
• Sistema gráfico Xwindow.
• Suporte a diversas linguagens como Java, C,
C++, Pascal, Lisp e 177 Prolog.
• Suporte aos protocolos de rede: TCP/IP, IPX,
AppleTalk, Samba.
• Memória virtual
• Código-fonte do kernel disponível.
• Centenas de programas em GPL, incluindo
compiladores, editores, multimídia e outros.
• Permissão de arquivos.
Aula 19 -20/11/06
20
Termos de
Licenciamento do Linux
• GPL = General Public License
• Essa licença permite a distribuição e
mesmo a venda de versões possivelmente
modificadas do Linux.
– Mas requer que todas as cópias sejam
lançadas dentro da mesma licença e
acompanhadas do código fonte.
Aula 19 -20/11/06
21
Sistema Operacional MS-DOS
• Foi desenvolvido pela Microsoft no início da década de
1980 (Microsoft Disk Operating System).
• Teve como objetivo atender a linha de computadores
IBM-PC desenvolvidos pela IBM.
• Principais características:
– Sistema monousuário – um usuário por vez
– Monoprogramável – não permite compartilhamento de alguns
recursos, como processador, arquivos e outros.
– Estrutura hierárquica dos dados – diretórios e subdiretórios.
– Redirecionamento de Entrada e Saída padrão.
Aula 19 -20/11/06
22
MS-DOS
•
Usa uma interface de linha de comando.
– A tela apresenta prompts ao usuário.
– O usuário digita comandos.
• Amplamente substituído pelas interfaces gráficas.
Aula 19 -20/11/06
23
MS-DOS
• Modos de Operação (como o usuário
realiza suas tarefas):
– Interativo – executa imediatamente o
comando digitado via teclado.
– Batch – representado por uma seqüência de
comandos armazenados em um arquivo, com
extensão BAT. Este modo de operação pode
usar os comandos do modo interativo
acrescido dos comandos condicionais e de
desvios.
Aula 19 -20/11/06
24
MS-DOS
• Gerenciamento de Memória
– O sistema operacional MS-DOS divide a memória em
diversos tipos, para melhor gerenciá-la:
• Memória convencional – os primeiros 640 kbytes
• Área de Memória Superior – os 385 kbytes localizados acima
da memória convencional (rotinas de gerenciamento dos
dispositivos periféricos)
• Memória Estendida (XMS)
• Área de Memória Alta – os primeiros 64Kbytes da memória
estendida, onde pode ser instalado o DOS
• Memória expandida (EMS) – adicional à memória
convencional
Aula 19 -20/11/06
25
MS-DOS
• Recursos adicionais do DOS
– Redirecionamento
• > Redirecionamento de Saída, eliminado o conteúdo
anterior
• >> Redirecionamento de Saída, adicionando ao conteúdo
anterior
• < Redirecionamento de Entrada
– Exemplos
•
•
•
•
dir > PRN
dir > arqdir.dat
dir >> arqdir.dat
prog < arq1.dat
Aula 19 -20/11/06
26
Sistema Operacional
MS/DOS(8)
• Recursos adicionais do DOS
– Canalização – realiza a transferência de dados entre
programas, para isso, utiliza arquivos temporários
• TYPE ABC.DAT | MORE
– Filtros
• SORT (ordenação)
– SORT <nome-arq> <opções>
– Opções:
» /R – ordenar decrescente
» / +n – ordenar a partir da posição n
Aula 19 -20/11/06
27
Microsoft Windows
• Iniciou-se como um ambiente operacional para o MSDOS.
– Não era um sistema operacional completo; necessitava do
MS-DOS.
– A partir da versão Windows 95, passou a ser independente do
MS-DOS.
•
Usa uma interface gráfica.
– Os usuários podem usar os comandos e a interface do DOS.
• Só passou a ser realmente multi-tarefa a partir da
versão Windows 95.
– Antes utilizava multi-tarefa cooperativa: os próprios aplicativo
da MS se responsabilizavam em chavear o processador entre
outros aplicativos.
Aula 19 -20/11/06
28
Interface Gráfica do Windows
• O usuário dá um
clique em um ícone
para executar tarefas.
• O menu Iniciar no
canto inferior
esquerdo abre
programas.
• Usa menus para
ativar comandos.
Aula 19 -20/11/06
29
Mac OS
• Projetado para o computador
Macintosh.
• Primeira GUI bem sucedida
comercialmente.
– Serviu como modelo para o
Windows e outros produtos GUI
desenvolvidos a partir de então.
• A partir da versão Mac OS X,
passou a ter o kernel
baseado no Unix BSD.
Aula 19 -20/11/06
30
Download