700 likes | 777 Views
Informática aplicada à Ciência da Informação. Software e Redes. Software. Software Séries de instruções codificadas em linguagem computacional destinadas a informar o computador como desenvolver tarefas Categorias Software Básico Software Aplicativo (ou de Aplicação). SO.
E N D
Informática aplicada à Ciência da Informação SoftwareeRedes
Software • Software • Séries de instruções codificadas em linguagem computacional destinadas a informar o computador como desenvolver tarefas • Categorias • Software Básico • Software Aplicativo (ou de Aplicação)
SO Funções dos Sistemas Operacionais Interfaceamento com o Usuário Programação de Tarefas Gestão da Memória Configuração de Dispositivos Inicialização do Computador Controle da Rede Monitoração do Desempenho Gestão de Programas
Sistemas Operacionais • Funções do Sistema Operacional • Inicialização do Computador • Gestão de Programas • Gestão da Memória • Programação de Tarefas • Configuração de Dispositivos • Acesso à Web • Segurança do Sistema • Controle da Rede • Monitoração do Desempenho • Interfaceamento com o Usuário
Sistemas Operacionais • Localização • Residente no disco rígido do computador (maioria dos casos) • Possibilidade de armazenamento em um chip ROM (handhelds) • Computadores de diferentes portes possuem tipicamente diferentes sistemas operacionais • Tipos similares de computadores podem possuir sistemas operacionais diferentes • Diversos sistemas operacionais não são compatíveis entre si
Cold Boot Ativação de um Warm Boot computador após seu desligamento total Reinicialização de um computador que já se encontra ligado Funções dos Sistemas Operacionais • Booting • Processo de inicialização ou reinicialização de um computador
Residentenamemória • Permanece na memória enquanto o computador estiver executando • O kernel é residente na memória • NãoResidentenamemória • Instruções permanecem no disco rígido até que sejam necessárias • Outras partes do SO são não residentes Funções dos Sistemas Operacionais • Kernel • Núcleo de um SO • Gestão de memória e dispositivos • Manutenção dos relógios do computador • Inicialização de aplicativos • Compartilhamento de recursos computacionais (programas, dispositivos, dados, informação) • A cada inicialização do computador, o kernel e outras instruções de uso frequente do SO são carregadas
processador BIOS Funções dos Sistemas Operacionais • Inicialização de um sistema computacional Passo1 A fonte de alimentação fornece energia elétrica para as diferentes partes do sistema
processador BIOSBasicInput/OutputSystem Firmware que contém as instruções de inicialização do computador BIOS Funções dos Sistemas Operacionais • Inicialização de um sistema computacional Passo2 O processador procura o BIOS
drive de CD-ROM processador POSTPower-On SelfTest Teste mediante o qual são verificados componentes tais como mouse, teclado, conectores e placas de expansão conectores BIOS placas de expansão teclado Funções dos Sistemas Operacionais • Inicialização de um sistema computacional Passo3 A BIOS realiza o POST
drive de CD-ROM chip CMOS processador conectores BIOS Chip CMOS Complementary Metal OxydeSemiconductor Armazena informações de configuração do computador e também detecta novos dispositivos conectados placas de expansão Funções dos Sistemas Operacionais • Inicialização de um sistema computacional Passo4 Os resultados do POST são comparados com os dados armazenados no chip CMOS
drive de disco flexível drive de CD-ROM chip CMOS processador disco rígido conectores BIOS Arquivos do sistema Arquivos específicos do sistema operacional, carregados durante a inicialização placas de expansão Funções dos Sistemas Operacionais • Inicialização de um sistema computacional Passo5 O BIOS procura os arquivos do sistema no drive A (disco flexível) e, em seguida, no drive C (disco rígido)
drive de disco flexível drive de CD-ROM chip CMOS processador disco rígido conectores módulos de memória RAM BIOS placas de expansão Funções dos Sistemas Operacionais • Inicialização de um sistema computacional Passo6 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
Pasta Iniciar(StartUp) Contêiner de uma lista de programas que são automaticamente iniciados quando o computador é inicializado Step 7 Funções dos Sistemas Operacionais • Inicialização de um sistema computacional Passo7 O SO carrega informações de configuração, exibe a área de trabalho (desktop) na tela e executa programas na pasta Iniciar (StartUp)
Funções dos Sistemas Operacionais • Interfaceamento com o Usuário • Controle do modo de entrada de dados e do modo de apresentação das informações na tela do monitor Interface orientada a caractere Interface gráfica (GUI ou WIMP)
Aplicação em foreground Aplicações embackground (listadas na barra de ferramentas) Funções dos Sistemas Operacionais • Ambiente Multi-Tarefas • Usuário trabalha ao mesmo tempo com duas ou mais aplicações residentes na memória
Multi-processamento SO pode suportar a execução simultânea de programas por dois ou mais processadores Multi-usuário SO permite a execução simultânea de programas por dois ou mais usuários Computador Tolerante a Falhas Continua a operar mesmo se um ou ou mais de seus componentes falhar (duplicação de componentes, tais como processadores, memórias e drives de disco) Funções dos Sistemas Operacionais • Outras características de gestão de programas
Funções dos Sistemas Operacionais • Gestão da Memória Virtual • 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) RAM (memória física)
swap out de página Disco (memória virtual) RAM (memória física) Funções dos Sistemas Operacionais • Gestão da Memória Virtual Passo1 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
swap out de página Disco (memória virtual) RAM (memória física) swap in de página Funções dos Sistemas Operacionais • Gestão da Memória Virtual Passo2 O SO transfere os dados e as instruções de programas do disco rígido para a memória quando necessários
Funções dos Sistemas Operacionais • Gestão da Memória Virtual - Síntese
driver de dispositivo Funções dos Sistemas Operacionais • Driver de Dispositivo • Programa que possibilita a comunicação do SO com um dispositivo de E/S • Cada dispositivo requer um driver próprio
SISTEMAS OPERACIONAIS São programas que controlam os computadores, coordenam o hardware e suas tarefas e gerenciam a utilização dos diversos dispositivos de sistema computacional, como: impressoras, monitores, etc. Os sistemas operacionais além de fazerem o interfaceamento entre o hardware e os programas, fazem também a conexão lógica entre o homem e a máquina. Os aplicativos necessitam de um sistema operacional para funcionar, e são desenvolvidos especificamente para ele. Geralmente pode-se dizer que a cada família de CPU, ou geração de computadores, usa-se um sistema operacional diferente. Exemplos: a) MS-DOS (Disk Operating System)Antigo sistema operacional da Microsoft usado nos computadores PCs e compatíveis (clones); b) Windows 95, 98, Me, 2000, XP, 2003 Sistema operacional para PCs compatíveis; c) Linux Sistema operacional para PCs compatíveis e principal rival do Windows; d) Unix Sistema operacional usado nos médios e grandes computadores.
O sistema operacional DOS MS-DOS acrônimo de Microsoft Disk Operating System é um sistema operacional, comprado pela Microsoft para ser usado na linha de computadores IBM PC. O dono, e criador original do projeto QDOS - Quick and Dirty Operating System, é a empresa Seattle Computer Systems, que foi inicialmente uma tentativa de criar um concorrente do estabelecido Sistema Operacional CP/M que rodasse no recém-lançado processador 8086 da Intel.
O sistema operacional WINDOWS • É um sistema operacional monousuário, multitarefa (possibilidade de realizar várias tarefas “ao mesmo tempo”) com interface gráfica. • Exemplos de operações executadas pelo Windows: • Carrega o sistema operacional, gerenciando todo o computador; • Acessa os programas compatíveis com essa plataforma; • Permite o gerenciamento de seus arquivos: cópia, exclusão, recuperação, backups, impressão, formatação de discos (fixos ou flexíveis), entre outras tarefas.
DOIS GRANDES MERCADOS PARA OS SISTEMAS OPERACIONAIS • Mercado dos servidores – computadores de maior porte, rápidos, seguros, e de grande responsabilidade (se eles pararem, a empresa toda pára). Neste mercado, o uso do Unix e do Linux é predominante. • Mercado dos desktops – onde se situam os micros, de menor porte e menor responsabilidade. Neste mercado, a maioria dos micros usam o sistema Windows.
HISTÓRIA DOS SISTEMAS OPERACIONAIS • Um dos primeiros sistemas operacionais foi o Unix (década de 60), hoje um dos mais usados, tanto em mainframes como micros. • Com o surgimento dos micros, foi criado inicialmente o DOS, e depois o Windows (com recursos para multimídia e conexão em rede). • Na década de 90, foi criado o Linux, por um estudante finlandês (Linus Torvalds). Linus era pobre e não tinha dinheiro para comprar um sistema operacional. Então resolveu criar um para si mesmo. Ele também colocou gratuitamente o sistema na internet para quem quisesse usá-lo.
LINUX X WINDOWS 1. Preço (Linux) Uma cópia do Windows XP custa us$ 270. Uma empresa com 1.000 micros, vai gastar us$ 270.000 para poder usá-lo. O Linux é de graça. 2. Facilidade de uso (Windows) Windows é um pouco mais fácil de usar.
LINUX X WINDOWS 3. Segurança (Linux) A concepção do Windows permite fácil invasão pelo hackers. O Linux foi criado para ser seguro (com base no Unix). 4. Confiabilidade (L) Windows contém muitos bugs, e está sempre sendo consertado (atualizações). Linux é estável, e uma nova versão demora anos, pois tem poucos bugs.
LINUX X WINDOWS 5. Mercado de desktops (Windows) Dominado pelo Windows, pois foi feito para agradar ao usuário, além de ter surgido antes do Linux. 6. Compatibilidade (Windows) Como a maioria usa Windows, seus arquivos são usados por todos. Se você usar outro sistema, vai criar arquivos que poderão não ser lidos pela maioria.
LINUX X WINDOWS 7. Aplicativos (Windows) Os fabricantes de aplicativos (editores gráficos, jogos, etc.) desenvolvem seus produtos para os sistemas operacionais dominantes. 8. Documentação (Windows) A Microsoft tem mais dinheiro para desenvolver manuais e helps (ajudas). 9. Assistência técnica (Windows) Idem, a Microsoft tem mais recursos.
LINUX X WINDOWS 10. Sistema aberto (Linux) Um sistema aberto é aquele no qual qualquer técnico pode saber exatamente o que ele faz. Um sistema fechado pode estar espionando a empresa ou o usuário e enviando os dados para o fabricante. Na área militar isso é critico. O Linux é um sistema aberto (você tem acesso ao programa fonte). Windows é fechado (você só recebe o executável - .Exe).
LINUX X WINDOWS 11. Alto volume de transações (Linus) O Windows foi feito para PCs e não suporta um volume elevado de transações. Por isso, os servidores usam mais Unix e Linux. 12. Personalização (Linux) É a possibilidade de adequar o sistema às necessidades especificas da empresa ou do usuário. Nos sistemas fechados, é muito restrita essa possibilidade. Você tem que usar do jeito que o fabricante decidiu. No Linux, os técnicos da empresa podem adequá-lo às necessidades da empresa, customizando e eliminando módulos desnecessários.
LINUX X WINDOWS Nos 12 itens acima, o Windows mostrou-se melhor em seis casos, e o Linux em outros seis. Ou seja, empataram. Mas essa análise não deve ser quantitativa. Por exemplo, o exército americano resolveu trocar o Windows pelo Macintosh unicamente pela falta de segurança do Windows. Neste caso, apenas um item pesou na decisão.
MÁQUINAS VIRTUAIS • Um recurso recente, que só existia em mainframes, está disponível para os micros: as “máquinas virtuais” (a mais famosa é o software da www.vmware.com). • Com ela, você pode ter vários sistemas operacionais instalados: unix, linux, dos, windows, etc. • Com um click do mouse, você pode mudar de um sistema para outro, sem ter que dar a partida novamente no computador. A comunicação entre os vários sistemas pode se dar por uma área comum do disco, formatada de modo a ser compatível com todos os sistemas instalados no computador.
MÁQUINAS VIRTUAIS • COMO SE USA UMA MÁQUINA VIRTUAL? • Por exemplo, você pode usar o linux para acessar a internet (é mais seguro) e realizar projetos de engenharia e científicos (é muito mais rápido). Depois voltar ao windows para elaborar relatórios com os resultados, via office, e distribuir.
Software Aplicativo • Software usado para solucionar um problema em particular ou realizar uma tarefa específica.
Adquirindo Software • Software customizado • Escrito por programadores contratados pela organização. • Software empacotado (comercial) • Comprado em uma loja, por meio de catálogo, ou por um site Web.
Software Customizado • Feito sob medida, especificamente para as necessidades de uma organização. • A organização contrata programadores de computador para projetar, escrever, testar e implementar software. • Pode ser extremamente complexo e demandar anos para ser escrito.
Software Empacotado • Vendido em lojas, catálogos ou sites Web. • Às vezes, é baixado da Internet. • O pacote contém um ou mais CDs ou DVDs, que contêm o software. • Tipicamente, contém a documentação do software. • Projetado para ter usabilidade
Usabilidade • Fácil de usar: • Deve ser intuitivo até mesmo para o usuário iniciante. • Pode ser usado com um mínimo de treinamento e documentação. ISSO 9241-11 Guidance on Usability (1998) Usabilidade é a capacidade de um produto ser usado por usuários específicos para atingir objetivos específicos com eficácia, eficiência e satisfação em um contexto específico de uso.
Linguagens de Programação Usadas para: • Descrever algoritmos, isto é, sequências de passos que levam à solução de um problema. • Permitir que os usuários especifiquem como estes passos devem ser sequenciados para resolver um problema. • Especificar algoritmos com precisão.
Linguagem de Programação • O que é linguagem? • “O uso da palavra articulada ou escrita como meio de expressão e de comunicação entre pessoas.” • E Linguagem de programação? • Software através do qual podemos desenvolver programas para informarmos ao computador o que queremos que seja feito. Pensamento Humano (não-estruturado) Programa Computador
Linguagem de Programação • Definições • Notação para escrever programas, através dos quais podemos nos comunicar com o hardware e dar as ordens adequadas para a realização de um determinado processo. • Conjunto de regras que providencia a maneira de dizer a um computador que operações executar. • Conjunto de símbolos (vocabulário) e regras (gramática) que especifica como transmitir informações entre usuários e computador.
Tipos de Linguagem • Linguagens de baixo nível • Restritas a linguagem de máquina. • Forte relação entre as operações implementadas pela linguagem e as operações implementadas pelo hardware. • Linguagens de alto nível • Aproximam-se das linguagens utilizadas por humanos para expressar problemas e algoritmos. • Cada declaração numa linguagem de alto nível equivale a várias declarações numa linguagem de baixo nível.
Primeiras Linguagens • Programadores usavam linguagem de máquina • Sequências de dígitos binários (0s e 1s). • Por exemplo, a instrução “some 1 + 1” deveria ser representada como: 10100100 • Muitas desvantagens: • Grande probabilidade de erro em todos os estágios do processo de programação. • Mesmo sendo com algoritmos simples resulta em longos programas, o que dificulta o processo de validação e detecção de erros. • O cálculo de endereços de memória devem ser feitos manualmente, com um árduo trabalho e uma grande probabilidade de erros.
Linguagens Básicas – Assembly • Algumas das desvantagens podem ser superadas fazendo com que o computador seja o responsável pelo estágio de tradução. • O programa ainda é escrito em termos de operações básicas de máquina, mas a tradução em código binário é feita pelo computador. • O programa que faz essa tradução é chamado de assembler • Exemplo: ADD 1,1 • Trata do problema de cálculo de endereço, usando nomes em formato de texto para endereçar os dados.
Linguagem de Máquina Linguagem de Máquina Significado Linguagem de Baixo Nível 0010 0001 1110 LOAD R1, val1 0010 0001 1110 carrega no registrador 1 o conteúdo da posição de memória 14 0010 0010 1111 LOAD R2, val2 0001 0001 0010 ADD R1, R2 0010 0010 1111 carrega no registrador 2 o conteúdo da posição de memória 15 0011 0001 1111 STORE R1, val2 0001 0001 0010 soma o conteúdo do registrador 1 com o conteúdo do registrador 2 e coloca no registrador 1 0011 0001 1111 armazena o conteúdo do registrador 1 na posição de memória 15 Linguagem de Baixo Nível
Linguagens de Alto Nível x Linguagens de Baixo Nível • Alto nível • Minimiza as dificuldades da programação em Linguagem de Baixo Nível pois se aproxima da linguagem humana • Problemas podem ser solucionados muito mais rapidamente e com muito mais facilidade. • A solução do problema não necessita ser obscurecida pelo nível de detalhes necessários em um programa em linguagem de baixo nível. • O programa em linguagem de alto nível é normalmente fácil de seguir e entender cada passo da execução. • Fácil portabilidade em diferentes CPUs.
Linguagens de Alto Nível x Linguagens de Baixo Nível • Baixo nível • Indicada para funções que precisam implementar instruções de máquina específicas que não são suportadas por linguagens de alto nível. • Impossibilidade de uso de linguagens de alto nível (hardware simples). • Difícil portabilidade em diferentes CPUs. • Minimiza as dificuldades de programação em notação binária já que faz uso de códigos mnemônicos ao invés da notação binária.