aula19-infi - instituto de computaçãobianca/informatica1-20062/index_arquivos/aula19... · •...
TRANSCRIPT
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 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 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.