aula19-infi - instituto de computaçãobianca/informatica1-20062/index_arquivos/aula19... · •...

30
Aula 19 -20/11/06 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/

Upload: duongxuyen

Post on 21-Jan-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Aula 19 -20/11/06 1

Informática I

Aula 19

http://www.ic.uff.br/~bianca/informatica1/

Aula 19 -20/11/06 2

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 3

Conceito de Sistema Operacional

• O sistema operacional é uma camada de software intermediáriaentre 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 4

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óriaquando 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 5

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 6

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 7

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 8

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 9

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 10

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 11

Evolução do Unix

Aula 19 -20/11/06 12

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 13

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 14

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 15

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 16

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 17

Estrutura de arquivos

Aula 19 -20/11/06 18

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 19

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 20

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 21

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 22

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 23

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 24

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 25

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 26

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 27

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 28

Microsoft Windows

• Iniciou-se como um ambiente operacional para o MS-DOS.– 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 29

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 30

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.