Baixe o app para aproveitar ainda mais
Prévia do material em texto
. 1 UFPB 1. Conceitos e fundamentos básicos.................................................................................................... 1 2. Conhecimento e utilização dos principais softwares utilitários (compactadores de arquivos, chat, clientes de e-mails, reprodutores de vídeo, visualizadores de imagem, antivírus). ................................... 8 3. Identificação e manipulação de arquivos........................................................................................ 15 4. Backup de arquivos. ...................................................................................................................... 30 5. Conceitos básicos de Hardware (Placa mãe, memórias, processadores (CPU) e disco de armazenamento HDs, CDs e DVDs). ..................................................................................................... 42 6. Periféricos de computadores. ......................................................................................................... 61 7. Ambientes operacionais: utilização dos sistemas operacionais Windows 7 e Windows 10. ........... 80 8. Conceitos básicos sobre Linux e Software Livre. ......................................................................... 154 9. Utilização de ferramentas de texto, planilha e apresentação do pacote Microsoft Office (Word, Excel e PowerPoint) – versões 2010, 2013 e 2016. ....................................................................................... 178 10. Utilização de ferramentas de texto, planilha e apresentação do pacote LibreOffice (Writer, Calc e Impress) - versões 5 e 6. ...................................................................................................................... 408 11. Utilização e configuração de e-mail no Microsoft Outlook. ......................................................... 503 12. Conceitos de tecnologias relacionadas à Internet e Intranet, busca e pesquisa na Web, mecanismos de busca na Web. ................................................................................................................................ 535 13. Navegadores de internet: Internet Explorer, Mozilla Firefox, Google Chrome. ........................... 554 14. Segurança na internet; vírus de computadores; Spyware; Malware; Phishing e Spam. ............. 593 15. Transferência de arquivos pela internet. .................................................................................... 625 Candidatos ao Concurso Público, O Instituto Maximize Educação disponibiliza o e-mail professores@maxieduca.com.br para dúvidas relacionadas ao conteúdo desta apostila como forma de auxiliá-los nos estudos para um bom desempenho na prova. As dúvidas serão encaminhadas para os professores responsáveis pela matéria, portanto, ao entrar em contato, informe: - Apostila (concurso e cargo); - Disciplina (matéria); - Número da página onde se encontra a dúvida; e - Qual a dúvida. Caso existam dúvidas em disciplinas diferentes, por favor, encaminhá-las em e-mails separados. O professor terá até cinco dias úteis para respondê-la. Bons estudos! 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 1 Caro(a) candidato(a), antes de iniciar nosso estudo, queremos nos colocar à sua disposição, durante todo o prazo do concurso para auxiliá-lo em suas dúvidas e receber suas sugestões. Muito zelo e técnica foram empregados na edição desta obra. No entanto, podem ocorrer erros de digitação ou dúvida conceitual. Em qualquer situação, solicitamos a comunicação ao nosso serviço de atendimento ao cliente para que possamos esclarecê-lo. Entre em contato conosco pelo e-mail: professores@maxieduca.com.br INFORMÁTICA – CONCEITOS BÁSICOS A palavra informática é derivada do francês informatique1, a partir do radical do verbo francês informer, por analogia com mathématique, électronique, etc. Em português, podemos considerar a união das palavras informação + automática, ou seja, a informação sendo processada de forma automática. Existem ainda pontos de vista que consideram "informática" união dos conceitos "informação" e "matemática". O conceito de Informática, apesar de ser amplo, em termos gerais, pode ser definido como a ciência cujo objetivo é o tratamento da informação, estudando seus meios de armazenamento, transmissão e processamento em meios digitais, tendo como seu principal instrumento realizador, o equipamento eletrônico chamado computador, dispositivo que trata estas informações de maneira automática, que armazena e processa essas informações. O termo computação tem origem no vocábulo latim computatio, que permite abordar a noção de cômputo enquanto conta, mas é geralmente usada como sinónimo de informática. Sendo assim, podemos dizer que a computação reúne os saberes científicos e os métodos. A informática hoje em dia se aplica a diversas áreas de atividade social, como por exemplo, aplicações multimídia, jogos, investigação, telecomunicações, robótica de fabricação, controle de processos industriais, gestão de negócios, etc., além de produzir um custo mais baixo nos setores de produção e o incremento da produção de mercadorias nas grandes indústrias. Com o surgimento das redes mundiais (internet - a rede das redes), a informação é vista cada vez mais como um elemento de criação e de intercâmbio cultural altamente participativo. Os Componentes Básicos de um Computador2 A função de um computador é processar dados. Para processá-los é preciso movê-los até a unidade central de processamento, armazenar resultados intermediários e finais em locais onde eles possam ser encontrados mais tarde para controlar estas funções de transporte, armazenamento e processamento. Portanto, tudo que um computador faz pode ser classificado como uma destas quatro ações elementares: mover dados, processar, armazenar, e controlar estas atividades. Por mais complexas que pareçam as ações executadas por um computador, elas nada mais são que combinações destas quatro funções básicas: - Mover dados: é executada através do fluxo da corrente elétrica ao longo de condutores que ligam os pontos de origem e destino e não depende de elementos ativos. - Controle: são igualmente executadas através de pulsos de corrente, ou "sinais", propagados em condutores elétricos (estes pulsos são interpretados pelos componentes ativos, fazendo-os atuar ou não dependendo da presença ou ausência dos sinais). Portanto estas duas funções, transporte e controle, para serem executadas só dependem da existência de condutores elétricos (fios, cabos, filetes metálicos nas placas de circuito impresso, etc.) e não exigem o concurso de componentes ativos. - Processar: consiste basicamente em tomar decisões lógicas do tipo "faça isso em função daquilo". Por exemplo: "compare dois valores e tome um curso de ação se o primeiro for maior, um curso diferente se ambos forem iguais ou ainda um terceiro curso se o primeiro for menor". Todo e qualquer processamento de dados, por mais complexo que seja, nada mais é que uma combinação de ações 1 Philippe Dreyfus (1962) 2 Fonte Análise De Sistemas Vol. 3 Por Flavia Reisswitz 1. Conceitos e fundamentos básicos. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 2 elementares baseadas neste tipo de tomada de decisões simples. O circuito eletrônico elementar capaz de tomar decisões é denominado "porta lógica" (logical gate), ou simplesmente "porta". - Armazenar: consiste em manter um dado em um certo local enquanto ele for necessário, de tal forma que ele possa ser recuperado quando o sistema precisar dele. O circuito lógico elementar capaz de armazenar umdado (expresso sob a forma do elemento mínimo de informação, o "bit", que pode exprimir apenas os valores numéricos "um" ou "zero" ou ainda os valores lógicos equivalentes, "verdadeiro" ou "falso") é a célula de memória – um dispositivo capaz de assumir um dentre dois estados possíveis e manter-se nesse estado até que alguma ação externa venha a alterá-lo (dispositivo "bi- estável"). Tendo isto em vista, pode-se concluir que todo computador digital, por mais complexo que seja, pode ser concebido como uma combinação de um número finito de apenas dois dispositivos básicos, portas lógicas e células de memória, interligados por condutores elétricos. Resta ver como é possível implementar estes dispositivos usando componentes eletrônicos. Sistema Binário Os computadores utilizam internamente o sistema binário (sistema numérico posicional de base 2). A característica mais notável deste sistema numérico é a utilização exclusiva dos algarismos "1" e "0", os chamados "dígitos binários". Através do sistema binário, todos os valores de quaisquer variáveis poderão ser expressos usando uma combinação de um determinado número de dígitos binários, ou seja, usando apenas os algarismos "1" e "0". O uso do sistema binário pelos computadores decorre do fato dessas máquinas se basearem em circuitos elétricos ou eletrônicos. Isto porque a grande maioria dos componentes de circuitos elétricos podem assumir apenas um dentre dois estados. Por exemplo: interruptores podem estar fechados ou abertos, capacitores carregados ou descarregados, lâmpadas acesas ou apagadas, circuitos energizados ou desenergizados e assim por diante. Isto facilita extremamente a representação de grandezas expressas no sistema binário usando estes componentes. Toda e qualquer grandeza do mundo real, desde as cores e posições dos pontos que formam a imagem da Mona Lisa, os compassos, timbres e notas musicais que compõem a Aria da Quarta Corda, o conjunto de caracteres que consubstanciam a Divina Comédia até a sucessão ordenada de aminoácidos que formam o DNA dos seres vivos, em suma: toda e qualquer criação humana ou da natureza, seja ela qual for, pode ser codificada e representada (com maior ou menor precisão) sob a forma de um conjunto de números. E estes números podem ser expressos no sistema binário. É por isso que o computador é uma máquina tão versátil e se presta a atividades tão disparatadas como calcular, escrever, desenhar, reproduzir músicas ou vídeo. Medição de Volume de Dados por Bits e Bytes Os computadores interpretam impulsos elétricos, que recebem o nome de bit (binary digit), cujo conjunto de 8 deles reunidos formam um byte. Estes impulsos podem ser positivos ou negativos, representados por 0 e 1. Sendo o bit representado por dois tipos de valores e o byte representando 8 bits, dois (bit) elevado a 8 (byte) = 256 números binários, número suficiente para que possamos lidar com a máquina. Os bytes representam letras, acentos, caracteres, comandos enviados por dispositivos de entrada de dados, instruções, etc. A tabela ASCII - American Standard Code for Information Interchange (Código Americano Padrão para o Intercâmbio de Informações) abrange um conjunto de valores que representam caracteres e códigos de controle armazenados ou utilizados em computadores. No que se refere aos bits e bytes, tem-se as seguintes medidas: 1 Byte = 8 bits 1 kilobyte (KB ou Kbytes) = 1024 bytes 1 megabyte (MB ou Mbytes) = 1024 kilobytes 1 gigabyte (GB ou Gbytes) = 1024 megabytes 1 terabyte (TB ou Tbytes) = 1024 gigabytes 1 petabyte (PB ou Pbytes) = 1024 terabytes 1 exabyte (EB ou Ebytes) = 1024 petabytes 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 3 1 zettabyte (ZB ou Zbytes) = 1024 exabytes 1 yottabyte (YB ou Ybytes) = 1024 zettabytes É também por meio dos bytes que se determina o comprimento da palavra de um computador, ou seja, a quantidade de bits que o dispositivo utiliza na composição das instruções internas, exemplo: 8 bits => palavra de 1 byte 16 bits => palavra de 2 bytes 32 bits => palavra de 4 bytes Quando é feita entre dispositivos, a transmissão de dados geralmente usa medições relacionadas a bits e não a bytes, também existindo os seguintes termos: 1 kilobit (Kb ou Kbit) = 1024 bits 1 megabit (Mb ou Mbit) = 1024 Kilobits 1 gigabit (Gb ou Gbit) = 1024 Megabits 1 terabit (Tb ou Tbit) = 1024 Gigabits Em relação às transmissões, a medição mais comum é dada em bits por segundo (Kb/s, Mb/s) 1 Kb/s = 1 kilobit por segundo 1 Mb/s = 1 megabit por segundo 1 Gb/s = 1 gigabit por segundo Também é comum o uso de Kbps, Mbps ou Gbps para expressar a quantidade de bits transferidos, com a terminação "ps" se referindo a "per second (por segundo)". No entanto, "ps" é uma sigla para picossegundo, de acordo com o Sistema Internacional de Unidades, assim, o uso de "/s" é mais adequado para expressar bits transferidos por segundo. Sistema Computacional3 Um sistema computacional consiste num conjunto de dispositivos eletrônicos (hardware) capazes de processar informações de acordo com um programa (software). O software mais importante é o sistema operacional, porque ele fornece as bases para a execução das aplicações, às quais o usuário deseja executar. Exemplos de sistemas operacionais são o Windows, o Macintosh e o Linux, dentre outros. Um dos mais utilizados por usuários domésticos é o Windows, produzido pela Microsoft. Pode ser composto de rede de computadores, servidores e cluster, dependendo da situação e das necessidades. Sistema computacional é aquele que automatiza ou apoia a realização de atividades humanas através do processamento de informações. Um sistema baseado em computador é caracterizado por alguns elementos fundamentais. - Hardware; - Software; - Informações; - Usuários; - Procedimentos ou Tarefas; - Documentação. Classificação dos Computadores Quanto aos tipos de computadores podemos classifica-los em: Grande Porte – Mainframes Os mainframes são responsáveis por processar um volume gigantesco de informações, possuem grande poder de processamento, podendo oferecer serviços a milhares de usuários por rede ou terminais conectados diretamente. O nome remete ao gabinete principal que abrigava a unidade central de 3 Fonte: análise de sistemas vol. 3 por Flavia Reisswitz 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 4 processamento dos primeiros computadores. São utilizados em ambientes comerciais e grandes empresas, como bancos, operadoras de energia e telefonia, empresas de aviação, etc. Necessitam de ambiente especial, tanto pelo tamanho quanto pela necessidade de refrigeração especial. Médio Porte – Minicomputador/Workstation/Servidor Minicomputadores apresentam porte intermediário entre o mainframe e um microcomputador Direcionado à empresas de médio porte, ainda são utilizados principalmente em servidores e workstations mas, com a evolução dos microcomputadores, estão perdendo espaço cada vez mais. Workstation Estação de trabalho (do inglês Workstation) são os computadores situados entre o computador pessoal e o computador de grande porte. Algumas destas máquinas eram vocacionadas para aplicações com requisitos gráficos acima da média, podendo então ser referidas como Estação gráfica ou Estação gráfica de trabalho (Graphical workstation). Destinados principalmente a usos profissionais específicos, tais como arquitetura, desenho industrial, criação de filmes 3D, laboratórios de física etc. Servidor Consiste em um sistema de computação centralizado fornecedor de serviços a uma rede de computadores, serviços estes que podem ser de armazenamento de arquivos,de páginas de um determinado site, de envio e de recebimento de correio eletrônico, de controle de fila de impressão, de manipulações de informações em um banco de dados, etc. Chamam-se Clientes os computadores que acessam este serviço e as redes que os utilizam são do tipo Cliente-Servidor. Um servidor não precisa necessariamente ser um computador completo, pode se resumir a uma máquina que não seja necessariamente um computador, ou então a um software, etc. Assim como em relação a computadores interligados em rede, a comunicação entre clientes e servidores é feita através de protocolos, ou seja, regras do modo como se dará a comunicação entre as partes. Conceitualmente todos eles realizam funções internas idênticas, mas em escalas diferentes. Pequeno Porte: Microcomputadores Os microcomputadores de pequeno porte são destinados ao uso pessoal ou a pequenos grupos denominados de (PC - Personal Computer ou computador pessoal). Podemos dividi-lo em Desktops (computadores de mesa) ou portáteis, como notebooks ou laptops, tablets, smartphones, PDAs, etc. Estas maquinas utilizam os mais variados sistemas operacionais, em relação aos Desktops, os principais deles são o Microsoft Windows, as distribuições baseadas em Linux (Debian, Ubuntu, Fedora) e o MacOs X e em relação aos portáteis, os mais utilizados são o Google Android, o IOS e o MSWindows. A arquitetura dos microcomputadores é baseada em processadores x86 (32 bits), X64 (64 bits) e Power PCs. No qual os mais utilizados serão abordados abaixo: Desktops Os microcomputadores mais utilizados ainda são os desktops, pois atendem a várias aplicações. São eles o PC – Personal Computer ou computador pessoal e o Macintosh, da Apple, em diversos modelos, com diferentes configurações. Na maioria das vezes, é composto por: Gabinete, Monitor, Mouse, Teclado. Todos os componentes são interligados por cabo ou ainda por transmissão via ondas de rádio (RF- Radiofrequência) e bluetooth, no caso dos periféricos sem fio, que possuem seus respectivos receptores normalmente no padrão USB. All in one São microcomputadores semelhantes a desktops, só que sem gabinete, com placas, processador, drives, portas de comunicação todos embutidos no monitor. Estruturalmente a disposição das peças se assemelha mais a um notebook, com tudo embutido em uma única estrutura, só que, ao contrário dos portáteis, teclado e mouse são conectados externamente. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 5 Nettop São desktops em miniatura, muito compactos, que executam tarefas mais simples, que não exigem muito processamento, como navegar na internet, executar mídias, etc. Possuem baixo consumo de energia e são mais baratos que um desktop convencional. NUCS Os NUCs da Intel são igualmente compactos, mas possuem processamento superior, semelhante aos mais avançados processadores de desktops, como os mais recentes da 5ª geração do processador Intel Core i5-5250U. Computadores Portáteis Computador portátil é todo aquele que é facilmente transportado, possuindo todo o conjunto de periféricos padrão necessários para seu funcionamento integrados ao equipamento e possui uma fonte de energia, como uma bateria que necessita periodicamente ser recarregada. Sua principal vantagem perante os outros tipos de computadores é em relação à sua mobilidade, acompanhando o usuário em qualquer lugar. As desvantagens em relação aos desktops são o custo elevado em relação à desempenhos inferiores e a pouca flexibilidade em relação ao hardware do equipamento, exceto pelos periféricos, onde não podemos fazer muitos “upgrades” (atualizações), como podemos fazer em um desktop, por exemplo uma placa gráfica de um notebook é embutida na placa mãe ou no processador (APU - Accelerated Processing Unit), não sendo possível altera-la. Sendo assim, usuários de aplicações gráficas, tanto para manipulação de vídeos quanto jogos, para citar alguns exemplos, devem escolher notebooks já com placa gráfica dedicada. Apesar de limitado também em relação a seu monitor embutido, os portáteis em geral tem saídas para conexão em televisores e monitores diversos, podendo utilizar o mesmo como monitor principal, extensão do monitor, etc. O recurso Wireless ou Wi-Fi, presente em praticamente todos os portáteis, torna simples o acesso à internet em diversos ambientes, como aeroportos, restaurantes, etc., além de interligar diversos dispositivos diferentes em um mesmo ambiente. Um portátil deve ser pensado, principalmente, por pessoas que precisam de espaço ou mobilidade. Notebook O notebook, também denominado laptop ou computador portátil, é projetado para ser facilmente transportado para diferentes lugares. Geralmente, é composto por uma tela de cristal líquido (LED), teclado, um touchpad, dispositivo sensível ao toque que faz o papel de mouse, drive gravador de cd/dvd, disco rígido/HD (em alguns casos até com SSD-Solid State Disk, muito mais rápidos que os HDs convencionais), portas para conectividade via rede local e portas USB, além de conectores VGA (RGB) e/ou HDMI para conectar-se monitores e/ou tvs. Netbooks São versões menores e mais baratas dos notebooks convencionais, com hardware limitado e baixa performance. Não possuíam drive de cd/dvd em contrapartida eram mais leves e tinham maior autonomia em relação à bateria, além de possuírem as mesmas funcionalidades padrão de um notebook. Começaram a perder mercado com a popularização dos Tablets e o surgimento dos ultrabooks. Tablet Dispositivo portátil, fino, em forma de prancheta com uma tela sensível ao toque como dispositivo de entrada (touchscreen), possuindo as mesmas funcionalidades de outros portáteis, guardadas as devidas proporções. Podemos citar como exemplo o Ipad, da Apple, que utiliza o sistema operacional IOS e o Samsung Galaxy Tab que, como a grande maioria dos dispositivos, utiliza o sistema operacional do Google, o Android. Smartphones Etimologicamente, “smart” do inglês “esperto” e phone, telefone, consiste em um celular com funções avançadas, graças a seus sistemas operacionais completos que possuem aplicativos (APPs), que executam as mais diversas funcionalidades. Podem possuir hardware mais básico, com redes de dados para acesso à internet e intercomunicação com computadores pessoais. Podem também possuir hardware avançado, com processamento 3d para jogos avançados e possibilidade de filmar em 4k, telas 2k e até mesmo sensores de batimentos cardíacos. Os principais sistemas operacionais presentes nos 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 6 smartphones são o IOS da Apple (IPhone), o Android da Google (Samsung Galaxy S9) e o Windows (Lumia). PDA – Personal Digital Assistant O Personal Digital Assistant ou assistente pessoal digital pode ser considerado um pequeno computador, que cumpre as funções de agenda e instrumento complementar de informática, com interconexão a computadores e acesso a rede sem fios. A maioria utiliza o sistema operacional Windows Mobile (baseado no Windows CE da Microsoft). Hardware O hardware abrange a parte física, ou seja, todos os componentes presentes em um computador, sejam eles internos (placas, drives) ou externos (periféricos). De forma geral, um microcomputador é composto por: - Gabinete; - Fonte de Energia; - Placa Mãe; - Disco Rígido (HD - Hard Drive ou Winchester); - Drive CD/DVD; - Periféricos. Software Software é todo programa instalado no computador, inclusive o sistema operacional, que é o principal programa instalado no computador, é ele que controla todas as funções e processos dos outros programas que foram instalados após ele. Podemos citar como exemplo de software: sistemaoperacional Windows, processador de texto (Word), software para elaboração de planilhas eletrônicas (Excel), software para elaboração de slides e apresentações (PowerPoint), software para gerenciamento de banco de dados (Access), software para edição e tratamento de imagens (Photoshop), software antivírus etc. Um software pode ser desenvolvido ou personalizado sob demanda, visando atender as necessidades e particularidades de uma empresa ou instituição, por exemplo. Existem diversas nomenclaturas utilizadas para caracterizar um software: programa, sistema, aplicação, entre outros. Consiste, portanto, em um agrupamento de comandos escritos em uma linguagem de programação. Estes comandos, ou instruções, criam as ações dentro do programa, e permitem seu funcionamento. Questões 01. (Prefeitura de Itapema/SC - Técnico Contábil - MS CONCURSOS/2016) O computador é uma máquina com uma grande capacidade para processamento de informações, tanto em volume de dados quanto na velocidade das operações que realiza sobre esses dados. Basicamente, o computador é organizado em três funções, as quais são: entrada de dados, processamento de dados e saída de dados. De acordo com o texto, marque a alternativa que preenche as lacunas corretamente. ____________ é o nome que se dá para a parte física do computador. É tudo que você pode tocar (mouse, teclado, componentes em geral). ____________ é o nome que se dá a toda parte lógica do computador. (A) Software - Programas (B) Hardware - Drivers (C) Hardware – Software (D) Software - Hardware 02. (TER/GO - Técnico Judiciário - CESPE) Com relação a conceitos de informática, assinale a opção correta. (A) A memória ROM permite leitura e escrita de informações. (B) As impressoras jato de tinta são classificadas como unidade de entrada. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 7 (C) O pen drive é um tipo de memória de massa que permite que os dados sejam lidos, gravados e regravados. (D) A memória RAM permite apenas leitura das informações. 03. (FUNPRESP-EXE - Nível Superior – IADES) Em relação aos conceitos de informática básica, assinale a alternativa correta. (A) Uma memória de 1 megabyte possui 1.000.000 bytes. (B) O barramento de endereço é responsável pelo transporte de dados. (C) Um monitor com tela touch é considerado dispositivo de saída de dados. (D) A memória cache é a principal memória de um computador. (E) Para conectar o computador a uma rede de dados, deve-se utilizar uma placa de rede, podendo ser sem fio ou por cabo. 04. (BRDE - Analista de Sistemas – AOCP) Sobre Processadores, analise as assertivas e assinale a alternativa que aponta a(s) correta(s). I. A CPU é o 'cérebro' do computador, sua função é executar programas armazenados na memória principal, buscando suas instruções, examinando-as e então executando-as uma após a outra. II. Barramentos podem ser externos à CPU, conectando-a à memória e aos dispositivos E/S, mas também podem ser internos à CPU. III. A CPU é composta por várias partes distintas. A unidade de controle é responsável por buscar instruções na memória principal e determinar seu tipo. IV. A unidade de aritmética e lógica efetua operações como adição AND (E) booleano para executar as instruções. (A) Apenas I. (B) Apenas I, II e III. (C) Apenas I, III e IV. (D) Apenas II, III e IV. (E) I, II, III e IV. 05. (SEFAZ/PB - Auditor Fiscal de Tributos Estaduais – FCC) O BIOS de um microcomputador é basicamente: (A) um sistema de controle de rotinas de entrada e saída. (B) uma memória de massa. (C) um slot de memória regravável. (D) um chip de memória de acesso randômico. (E) um sistema operacional de interface gráfica. Gabarito 01. C / 02. C / 03. E / 04. E / 05. A Comentários 01. Resposta: C Hardware – é o nome que se dá para a parte FISICA do computador. É tudo que você pode tocar (mouse, teclado, componentes em geral). Software - é o nome que se dá a toda parte LÓGICA do computador. 02. Resposta: C (A) Errada. Memória ROM é somente leitura, portanto não permite a escrita de novos dados. (B) Errada. A impressora jato de tinta é um periférico de saída de dados. (C) Correta. O pen drive é uma memória de armazenamento removível, do tipo FlashRAM, que pode guardar informações sem 'bateria' por um determinado tempo, permitem gravações, exclusões e regravações, até o limite de sua vida útil. A vida útil é determinada pela quantidade de escritas na 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 8 memória. OFF Por isto que um pen drive velho pode ser usado para ouvir música no USB do carro. Feita a gravação, a leitura não vai 'gastar' as células de memória. (D) Errada. A memória RAM permite a leitura e escrita de novos dados. 03. Resposta: E (A) Megabyte (MB) = 1024 (milhão de bytes) (B) Barramento (BUS) é a "estrada" por onde trafegam os dados e não o "barramento de endereço". (C) Um monitor com tela touch é considerado dispositivo de entrada e saída de dados. (D) A memória RAM (DRAM) é a principal memória de um computador. 04. Resposta: E A CPU (Central Processing Unit), também conhecido como processador, é a parte de um sistema computacional, que realiza as instruções de um programa de computador, para executar a aritmética básica, lógica, e a entradas e saída de dados. A CPU tem um papel parecido ao do cérebro no computador. A CPU é composta de duas partes: UAL - Unidade Aritmética e Lógica - tem por função a efetiva execução das instruções. UC - Unidade de Controle - tem por funções a busca, interpretação e controle de execução das instruções, e o controle dos demais componentes do computador. 05. Resposta: A BIOS (Basic Input-Output System). Além do microprocessador e da memória, o computador precisa de algumas instruções que lhe indiquem o que fazer. Essas instruções estão gravadas em um chip de memória ROM especial chamado BIOS. COMPACTADORES DE ARQUIVOS São softwares especializados em gerar uma representação mais eficiente de vários arquivos dentro de um único arquivo de modo que ocupem menos espaço na mídia de armazenamento ou o tempo de transferência deles sobre uma rede seja reduzido. Os compactadores foram muito utilizados no passado quando as mídias de armazenamento tinham preços elevados e era necessário economizar espaço para armazenamento. Atualmente o uso deles é mais voltado a transferência de arquivos pela Internet para reduzir a massa de dados a ser transferida pela rede. Os compactadores de arquivo utilizam algoritmos de compressão de dados sem perdas para gerar a representação mais eficiente combinando diversas técnicas conhecidas para um melhor desempenho. Uma das técnicas usadas por estes algoritmos é reduzir a redundância de sequências de bits recorrentes contidas nos arquivos gerando uma representação que utiliza menos bits para representar estas sequências. Um exemplo de processo para reduzir a redundância é a Codificação de Huffman. Alguns formatos de arquivo incluem esquemas de compressão com perda de dados como os vídeos em DVD e as músicas armazenadas no formato MP3. Porém os esquemas utilizados nestes casos são diferentes dos compactadores de arquivos pois possibilitam perdas que se refletem na redução da qualidade da imagem ou do som. Esquemas com perdas não podem ser utilizados pelos compactadores pois provocariam a corrupção dos dados. Formatos Cada esquema de compressão gera um formato próprio de arquivo compactado que só pode ser descompactado pelo mesmo compactador que o gerou ou por outro compactador que também seja capaz de compreender o mesmo esquema. Atualmente existem compactadores suportando uma grande variedade de esquemas de compressãodisponíveis para todos os sistemas operacionais. Exemplos de compactadores: ARJ 7zip B1 Free Archiver 2. Conhecimento e utilização dos principais softwares utilitários (compactadores de arquivos, chat, clientes de e-mails, reprodutores de vídeo, visualizadores de imagem, antivírus). 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 9 gzip tar Winrar Winzip CHAT Um chat (abreviatura de “chatroom”, ou “sala de conversação”, em português) é um local online destinado a juntar várias pessoas para conversarem. Este local pode ser de índole generalista, ou pode destinar-se à discussão de um tema em particular (por exemplo, um chat sobre ecologia). Os chatrooms permitem que várias pessoas troquem opiniões por escrito em simultâneo, em tempo real. Quando um utilizador escreve algo no chatroom, as suas palavras ficam disponíveis no painel para todos lerem, dando assim oportunidade aos restantes elementos presentes de responder da mesma forma. O que é um IM? Um IM (ou “Instant Messaging”, ou “mensagens instantâneas”, em português) é uma forma fácil de manter contato com alguém sem ter que esperar por um e-mail. Alguns exemplos de IMs são o MSN Messenger, o Google Talk, o Yahoo! Messenger e o Skype, sendo que este último privilegia a utilização da voz como meio de comunicação. Os IMs são muito utilizados para manter contatos lúdicos e informais, sendo também uma plataforma comum para a troca de informação por funcionários de empresas, enquanto ferramenta de trabalho. Para tal, basta que as pessoas envolvidas se encontrem online. Este método de conversação via Internet é cada vez mais utilizada por jovens para conversar com os seus pares ou conhecer gente nova. Dadas as suas características (ser uma forma de contato que não decorre frente-a-frente), muitos jovens sentem-se protegidos e, confiando em desconhecidos, podem discutir assuntos ou partilhar informação com mais à-vontade do que se fosse “ao vivo”. Como funciona um Chat? Cada chat tem o seu conjunto de regras particulares, as quais se espera que sejam respeitadas (por exemplo, não ser permitido falar de música nos tópicos de ecologia). Para assegurar que tal acontece, alguns chats têm a presença de um moderador, que é uma pessoa responsável pelas atividades/temas/utilizadores que se encontram nesse local cibernético. Cabe ao moderador manter o bom funcionamento da “sala de conversa”, podendo expulsar aqueles que considere estarem a agir de modo impróprio. É ao moderador que deve reportar alguma ocorrência que sinta ser incorreta. Um dado importante a reter é que, apesar de, nestes chats, as conversas serem públicas, há também a possibilidade de se conversar em privado (“private chats”) com terceiros. Estas conversas já não são moderadas e, consequentemente, podem apresentar alguns perigos, sobretudo para os cibernautas mais jovens (por exemplo, um menor pode, inadvertidamente, conversar com um pedófilo, ou com alguém que se queira apropriar da sua identidade ou da dos seus familiares, ou até obter informações que lhe permitam planear um roubo). Como funciona um IM? O sistema de mensagens instantâneas junta as funcionalidades do chat, dos telefones e do e-mail e permite a troca de informação e dados de forma quase imediata, a todos os utilizadores na lista de amigos desse utilizador que se encontrem online. Para tal, basta que escrevamos a mensagem, cliquemos em “enviar” e a mensagem é recebida quase instantaneamente pelo destinatário, onde quer que se encontre. É possível trocar mensagens instantâneas por computador, smartphone ou por outro meio que possua ligação à Internet. Um telemóvel pode receber uma mensagem instantânea vinda de um computador e vice-versa. Há programas de IM que permitem ao cibernauta comunicar além da forma escrita, recorrendo à voz, ao vídeo ou às imagens, desde que possua as ferramentas necessárias (um microfone, ou uma webcam, por exemplo). Software e protocolos - Internet Relay Chat (IRC) - AOL Instant Messenger (AIM) - Chatroulette 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 10 - Gadu-Gadu - Google Talk - Grunhido - ICQ (OSCAR) - Jabber (XMPP) - MUD - Pichat - SILC - Skype - TeamSpeak (TS) - Wikia - Windows Live Messenger - Yahoo! Messenger - Terrachat (JAVA/FLASH) - xat (xat.com) - ChatPoint (www.chatpoint.tv) CLIENTES DE E-MAILS Quando falamos em clientes de e-mail, logo o Outlook nos vem à cabeça, por se tratar do aplicativo mais famoso do gênero, já que é o padrão em muitas versões do Windows. A função de aplicativos desta categoria é agrupar os e-mails do usuário, facilitando sua organização. A integração é feita diretamente com suas contas de correio eletrônico, colocando tudo de forma organizada e em um mesmo local. Para quem lida com diversos endereços simultaneamente, fazer uso de um cliente de e-mail é altamente recomendado. eM Client Esta é uma nova alternativa para você ter todas as possibilidades de um bom cliente de e-mail em seu computador, sem pagar um centavo por isso. O programa é muito leve e funcional, além de inserir suas contas de uma forma muito automatizada, ideal para quem não domina o uso de aplicativos deste tipo. Além das funções de envio e recebimento de e-mails, ele também conta com um calendário completo, com a possibilidade de inclusão de tarefas e eventos, além de um mensageiro instantâneo, como ocorre no e-mail do Google. Sua versão gratuita suporta até duas contas e pode ser utilizada apenas para fins pessoais. O aplicativo oferece suporte a 18 idiomas, incluindo o português do Brasil (inclusive no corretor ortográfico). Ele pode também ser uma ótima alternativa ao Mozilla Thunderbird, por exemplo, principalmente porque conta com recursos que este último não possui, pelo menos não nativamente (como calendário e tarefas, por exemplo). O eM Client também conta com suporte ao Gmail e ao iCloud, além do Microsoft Exchange. Um prático wizard no momento da instalação detecta rapidamente todas as configurações da conta de e-mail. Detalhes como por exemplo servidores POP, SMTP e IMAP, além das portas, são descobertos automaticamente, bastando ao usuário inserir os dados de login (o programa inclusive realiza testes para se certificar de que está tudo certinho). 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 11 Inseridos os dados iniciais a sincronização já é iniciada, incluindo sincronização com o Google Calendar, com o Google Tasks e com Google Contacts. Contas IMAP são sincronizadas rapidamente, também, e para usuários de dispositivos da Apple, é possível até mesmo trabalhar com o iCloud, sendo que também neste caso tudo é sincronizado perfeitamente. Há uma sidebar bastante útil no eM Client, a qual tem sua função alterada e adequada de acordo com o que o usuário está fazendo no momento (agenda, e-mail, contatos etc). É possível obter rapidamente detalhes a respeito dos contatos que estão ligados a um e-mail recém aberto, por exemplo, e até mesmo consultar possíveis entradas na agenda que estejam relacionadas com a mensagem. Os compromissos mais urgentes e/ou os próximos também aparecem nesta útil barra lateral, a qual também oferece acesso a bate-papo (Facebook, Google, etc). Usuários de outros clientes de e-mail podem também ficar despreocupados. O eM Client é capaz de importar dados de programas como, por exemplo, Mozilla Thunderbird, Outlook, Outlook Express, Windows Live Mail, e outros. Também podemos definir alertas pop-up e sons diferentes para uma série de eventos, incluindo recebimento de e-mails, mensagens de bate-papo, recebimento de e-mailscom anexos, feriados, lembretes (tanto da agenda quanto da listagem de tarefas), etc. O software também permite a criação de filtros, para o devido tratamento de cada mensagem recebida, caso o usuário deseje (por exemplo, mensagem recebida do cliente “X” deve ser sempre encaminhada à pasta “Y” e marcada como lida). Assinaturas personalizadas, inclusive com a utilização de imagens, podem ser criadas e já atribuídas às suas respectivas contas. Assim, quando o usuário enviar uma mensagem à partir de seu e-mail profissional, digamos, a assinatura correta será automaticamente escolhida e aplicada. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 12 O eM Client é um software leve e extremamente amigável, além de tudo. Quem já trabalhou com algum cliente de e-mail se adaptará a ele facilmente. Quem deixou de usar este tipo de aplicativo deve pelo menos dar uma olhadinha na solução da eM Client, INC, devido principalmente a seus “extras”: calendário, contatos, tarefas e chat, lembrando mais uma vez que estes recursos todos podem trabalhar de forma integrada ao envio e recebimento de e-mails. Trata-se também de uma maneira muito boa de organizarmos nossos compromissos. E-mails recebidos podem ser facilmente transformados em compromissos na agenda (ou em simples tarefas), e eles também podem ser transformados em uma nova entrada na lista de contatos (automaticamente ou não). E-mails, contatos e diversos tipos de dados no eM Client também podem ser exportados, para diversos formatos: .eml, .vcf, .ics, .xml, etc. Também podem ser criadas listas de distribuição, com a respectiva seleção de vários destinatários. O software é bastante versátil, sendo também capaz de se adaptar aos mais diversos estilos e gostos. O usuário pode alterar diversos elementos de seu layout, e também escolher várias opções de visualização para o calendário, por exemplo (modos “dia”, “semana”, “mês”). Eventos recorrentes, percentual de conclusão, busca rápida e poderosa, compartilhamento de tarefas e calendários com outras pessoas e backup das informações inclusive com possibilidade de agendamento: estas são algumas outras características bastante interessantes do eM Client. APLICATIVOS DE ÁUDIO, VÍDEO E MULTIMÍDIA Aplicativos para Criação Os principais aplicativos para criação de conteúdo multimídia são o Microsoft PowerPoint, do pacote Microsoft Office e o Impress, do pacote LibreOffice. Esse conteúdo, normalmente no formato de slides, pode conter texto, áudio e vídeo4. Aplicativos para Execução Os principais aplicativos para execução de conteúdo multimídia são: 4 HUNECKE, Márcio. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 13 Windows Media Player É um programa reprodutor de mídia digital, ou seja, áudio e vídeo em computadores pessoais. Produzido pela Microsoft, está disponível gratuitamente para o Microsoft Windows, além de outras plataformas, como o Mac OS. Windows Media Center É um aplicativo feita pela Microsoft projetado para servir como um centro de entretenimento doméstico, incluído no Windows XP Media Center Edition, nas versões Home Premium e Ultimate do Windows Vista, Home Premium, Professional e Ultimate do Windows 7. RealPlayer É um tocador de mídia de código fechado desenvolvido pela RealNetworks destinado à execução de vídeos, músicas e programas de rádio via Internet. Ele reproduz uma série de formatos multimídia, incluindo MP3, MPEG 4, QuickTime, Windows Media e várias versões de codecs. QuickTime É uma estrutura de suporte (framework) multimídia, marca registrada, desenvolvida pela Apple, capaz de executar formatos de vídeo digital, mídia clips, som, texto, animação, música e vários tipos de imagens panorâmicas interativas. Principais Extensões de Arquivos Imagens/Fotos/Figuras: BMP, PNG, JPG, JPEG GIF. Apresentações: PPT E PPTX (Microsoft PowerPoint) e ODP (LibreOffice Impress). Somente áudio: WMA (Windows Media Audio) e MP3 (MPEG layer 3). Vídeo: WMV (Windows Media Video), MP4 (MPEG layer 4), AVI, MPEG, MOV (QuickTime). Animações Flash: SWF (Shockwave Flash). Tipos de Mídias Mídias Discretas (ou estáticas) Os tipos de mídia estáticos, também chamados de discretos ou espaciais, são constituídos por elementos de informação independentes do tempo, que apenas variam na sua dimensão espacial5. 5 http://multimediaolpat.blogspot.com 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 14 Por exemplo: texto e imagens, que não dependem do tempo, mas variam no espaço (mudam de dimensão e/ou localização). Isto significa que qualquer um destes elementos pode ser apresentado independentemente do tempo, sem perder o seu significado. Mídias Contínuas (ou dinâmicas) Os tipos de mídia dinâmicos, também designados de temporais ou contínuos, dependem do tempo. A sua apresentação exige uma reprodução contínua, à medida que o tempo passa. Por outras palavras, o tempo, ou mais exatamente as dependências temporais entre os elementos que constituem a informação, faz parte do próprio conteúdo. Por exemplo, as animações, os vídeos e os sons. Estes tem de ser vistos do início até o fim para não perder o seu significado. Mídias Capturadas Os áudios, vídeos e fotografias retirados diretamente do mundo real. Mídias Sintetizadas São representações baseadas em informações do mundo real, como textos, gráficos e animações. Conceitos Importantes Codec São dispositivos de software ou hardware capazes de codificar e/ou decodificar dados e sinais digitais. A sigla nada mais é do que a junção das palavras em inglês coder e decoder (codificador e decodificador). A sigla nada mais é do que a junção das palavras em inglês coder e decoder (codificador e decodificador). Estes dispositivos são usados em programas que gravam e reproduzem vídeos, sons e imagens. Imagine uma carta escrita em português. Para alguém entender esta carta em qualquer outro lugar do mundo, é necessário que a pessoa entenda português. Quem não sabe ler neste idioma, precisará encontrar uma pessoa que traduza o que está escrito. É assim que os codecs funcionam, eles são os responsáveis pela tradução do conteúdo. Setraming É uma tecnologia que envia informações multimídia, através da transferência de dados, utilizando redes de computadores, especialmente a Internet, e foi criada para tornar as conexões mais rápidas. Um grande exemplo de streaming é o site Youtube, que utiliza essa tecnologia para transmitir vídeos em tempo real. Questões 01. (STJ - Técnico Judiciário - CESPE/2018) No que diz respeito aos vários formatos de gravação de áudio e vídeo, julgue o item que se segue. Formato de áudio mais popular, o MP3 é compatível com a maioria dos software e players de mídia e sua principal característica é minimizar as perdas de qualidade em músicas e arquivos de áudio. Esse formato utiliza a codificação perceptual, que codifica somente as frequências sonoras captadas pelo ouvido humano. ( ) Certo ( ) Errado 02. (UFG - Técnico em Telecomunicações - CS-UFG/2017) Na comunicação multimídia pode-se classificar as mídias como estáticas e dinâmicas. São exemplo dessas mídias, respectivamente: (A) fotografia e texto. (B) áudio e vídeo. (C) texto e gráfico. (D) fotografia e vídeo. 03. (Banco do Brasil - Escriturário – CESGRANRIO) Um software de reprodução de áudio e vídeo, como o Windows Media Center, utiliza outros programas de computador para traduzir o vídeo e o áudio 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOSJUNIOR . 15 empacotados dentro de um arquivo multimídia, permitindo que sejam apresentados na tela e no dispositivo de áudio. Normalmente, cada formato exige um programa específico. Como é conhecido esse tipo de programa de computador? (A) reader (B) modem (C) burner (D) codec (E) driver Gabarito 01. Certo / 02. D / 03. D Comentários 01. Resposta: Certo A sigla MP3 vem de MPEG Audio Layer-3, um formato de arquivo que permite ouvir músicas no computador com ótima qualidade. A grosso modo, pode-se dizer que o MP3 corta as partes inúteis da música, deixando apenas as frequências perceptíveis pelo ouvido humano. Isto permitiu que os arquivos ficassem menores, pois não há “excesso de informações”, apenas o que realmente interessa. 02. Resposta: D (A) fotografia e texto. (ambos estáticos) (B) áudio e vídeo. (ambos dinâmicos) (C) texto e gráfico. (ambos estáticos) (D) fotografia e vídeo. (estático e dinâmico, respectivamente) 03. Resposta: D Codec é um acrônimo para codificador/decodificador. Eles são um dispositivo de hardware ou software que codifica e decodifica sinais. Existem codecs sem perdas, que comprimem o arquivo original garantindo que o processo de descompressão reproduz o som ou imagem originais, e temos os codecs com perdas, que quando codificam o arquivo geram certa perda de qualidade com finalidade de alcançar maiores taxas de compressão. GERENCIAMENTO DE ARQUIVOS E PASTAS Representação e armazenamento de informação. Organização lógica e física de arquivos. Métodos de acesso6 Arquivos Desde os primórdios da computação, percebeu-se a necessidade de armazenar informações para uso posterior, como programas e dados. Hoje, parte importante do uso de um computador consiste em recuperar e apresentar informações previamente armazenadas, como documentos, fotografias, músicas e vídeos. O próprio sistema operacional também precisa manter informações armazenadas para uso posterior, como programas, bibliotecas e configurações. Geralmente essas informações devem ser armazenadas em um dispositivo não-volátil, que preserve seu conteúdo mesmo quando o computador estiver desligado. Para simplificar o armazenamento e busca de informações, surgiu o conceito de arquivo, que será discutido a seguir. 6 Fonte: http://dainf.ct.utfpr.edu.br/~maziero/lib/exe/fetch.php/ 3. Identificação e manipulação de arquivos. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 16 O conceito de arquivo Um arquivo é basicamente um conjunto de dados armazenados em um dispositivo físico não-volátil, com um nome ou outra referência que permita sua localização posterior. Do ponto de vista do usuário e das aplicações, o arquivo é a unidade básica de armazenamento de informação em um dispositivo não- volátil, pois para eles não há forma mais simples de armazenamento persistente de dados. Arquivos são extremamente versáteis em conteúdo e capacidade: podem conter desde um texto ASCII com alguns bytes até sequências de vídeo com dezenas de gigabytes, ou mesmo mais. Como um dispositivo de armazenamento pode conter milhões de arquivos, estes são organizados em estruturas hierárquicas denominadas diretórios (conforme ilustrado na Figura 1 e discutido mais detalhadamente na Seção 3.1). A organização física e lógica dos arquivos e diretórios dentro de um dispositivo é denominada sistema de arquivos. Um sistema de arquivos pode ser visto como uma imensa estrutura de dados armazenada de forma persistente em um dispositivo físico. Existe um grande número de sistemas de arquivos, dentre os quais podem ser citados o NTFS (nos sistemas Windows), Ext2/Ext3/Ext4 (Linux), HPFS (MacOS), FFS (Solaris) e FAT (usado em pen drives USB, máquinas fotográficas digitais e leitores MP3). A organização dos sistemas de arquivos será discutida na Seção 4. Atributos Conforme apresentado, um arquivo é uma unidade de armazenamento de informações que podem ser dados, código executável, etc. Cada arquivo é caracterizado por um conjunto de atributos, que podem variar de acordo com o sistema de arquivos utilizado. Os atributos mais usuais são: Figura 1: Arquivos organizados em diretórios dentro de um dispositivo. Nome: string de caracteres que identifica o arquivo para o usuário, como “foto1.jpg”, “relatório.pdf”, “hello.c”, etc.; Tipo: indicação do formato dos dados contidos no arquivo, como áudio, vídeo, imagem, texto, etc. Muitos sistemas operacionais usam parte do nome do arquivo para identificar o tipo de seu conteúdo, na forma de uma extensão: “.doc”, “.jpg”, “.mp3”, etc.; Tamanho: indicação do tamanho do conteúdo do arquivo, em bytes ou registros; Datas: para fins de gerência, é importante manter as datas mais importantes relacionadas ao arquivo, como suas datas de criação, de último acesso e de última modificação do conteúdo; Proprietário: em sistemas multiusuários, cada arquivo tem um proprietário, que deve estar corretamente identificado; Permissões de acesso: indicam que usuários têm acesso àquele arquivo e que formas de acesso são permitidas (leitura, escrita, remoção, etc.); Localização: indicação do dispositivo físico onde o arquivo se encontra e da posição do arquivo dentro do mesmo; Outros atributos: vários outros atributos podem ser associados a um arquivo, por exemplo para indicar se é um arquivo de sistema, se está visível aos usuários, se tem conteúdo binário ou textual, etc. Cada sistema de arquivos normalmente define seus próprios atributos específicos, além dos atributos usuais. Nem sempre os atributos oferecidos por um sistema de arquivos são suficientes para exprimir todas as informações a respeito de um arquivo. Nesse caso, a “solução” encontrada pelos usuários é usar o 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 17 nome do arquivo para exprimir a informação desejada. Por exemplo, em muitos sistemas a parte final do nome do arquivo (sua extensão) é usada para identificar o formato de seu conteúdo. Outra situação frequente é usar parte do nome do arquivo para identificar diferentes versões do mesmo conteúdo: relat- v1.txt, relat-v2.txt, etc. Operações. As aplicações e o sistema operacional usam arquivos para armazenar e recuperar dados. O uso dos arquivos é feito através de um conjunto de operações, geralmente implementadas sob a forma de chamadas de sistema e funções de bibliotecas. As operações básicas envolvendo arquivos são: Criar: a criação de um novo arquivo implica em alocar espaço para ele no dispositivo de armazenamento e definir seus atributos (nome, localização, proprietário, permissões de acesso, etc.); Abrir: antes que uma aplicação possa ler ou escrever dados em um arquivo, ela deve solicitar ao sistema operacional a “abertura” desse arquivo. O sistema irá então verificar se o arquivo existe, verificar se as permissões associadas ao arquivo permitem aquele acesso, localizar seu conteúdo no dispositivo de armazenamento e criar uma referência para ele na memória da aplicação; Ler: permite transferir dados presentes no arquivo para uma área de memória da aplicação; Escrever: permite transferir dados na memória da aplicação para o arquivo no dispositivo físico; os novos dados podem ser adicionados no final do arquivo ou sobrescrever dados já existentes; Mudar atributos: para modificar outras características do arquivo, como nome, localização, proprietário, permissões, etc. Fechar: ao concluir o uso do arquivo, a aplicação deve informar ao sistema operacional que o mesmo não é mais necessário, a fim de liberar as estruturas de gerência do arquivo na memória do núcleo; Remover: para eliminar o arquivo do dispositivo, descartando seusdados e liberando o espaço ocupado por ele. Além dessas operações básicas, outras operações podem ser definidas, como truncar, copiar, mover ou renomear arquivos. Todavia, essas operações geralmente podem ser construídas usando as operações básicas. Formatos. Em sua forma mais simples, um arquivo contém basicamente uma sequência de bytes, que pode estar estruturada de diversas formas para representar diferentes tipos de informação. O formato ou estrutura interna de um arquivo pode ser definido – e reconhecido – pelo núcleo do sistema operacional ou somente pelas aplicações. O núcleo do sistema geralmente reconhece apenas alguns poucos formatos de arquivos, como binários executáveis e bibliotecas. Os demais formatos de arquivos são vistos pelo núcleo apenas como sequências de bytes sem um significado específico, cabendo às aplicações interpretá-los. Os arquivos de dados convencionais são estruturados pelas aplicações para armazenar os mais diversos tipos de informações, como imagens, sons e documentos. Uma aplicação pode definir um formato próprio de armazenamento ou seguir formatos padronizados. Por exemplo, há um grande número de formatos públicos padronizados para o armazenamento de imagens, como JPEG, GIF, PNG e TIFF, mas também existem formatos de arquivos proprietários, definidos por algumas aplicações específicas, como o formato PSD (do editor Adobe Photoshop) e o formato XCF (do editor gráfico GIMP). A adoção de um formato proprietário ou exclusivo dificulta a ampla utilização das informações armazenadas, pois somente aplicações que reconheçam aquele formato conseguem ler corretamente as informações contidas no arquivo. Arquivos de registros Alguns núcleos de sistemas operacionais oferecem arquivos com estruturas internas que vão além da simples sequência de bytes. Por exemplo, o sistema OpenVMS [Rice, 2000] proporciona arquivos baseados em registros, cujo conteúdo é visto pelas aplicações como uma sequência linear de registros de tamanho fixo ou variável, e também arquivos indexados, nos quais podem ser armazenados pares {chave/valor}, de forma similar a um banco de dados relacional. A Figura 2 ilustra a estrutura interna desses dois tipos de arquivos. Figura 2: Arquivos estruturados: registros em sequência e registros indexados. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 18 Nos sistemas operacionais cujo núcleo não suporta arquivos estruturados como registros, essa funcionalidade pode ser facilmente obtida através de bibliotecas específicas ou do suporte de execução de algumas linguagens de programação. Por exemplo, a biblioteca Berkeley DB disponível em plataformas UNIX oferece suporte à indexação de registros sobre arquivos UNIX convencionais. Arquivos de texto Um tipo de arquivo de uso muito frequente é o arquivo de texto puro (ou plain text). Esse tipo de arquivo é muito usado para armazenar informações textuais simples, como códigos-fonte de programas, arquivos de configuração, páginas HTML, dados em XML, etc. Um arquivo de texto é formado por linhas de caracteres ASCII de tamanho variável, separadas por caracteres de controle. Nos sistemas UNIX, as linhas são separadas por um caractere New Line (ASCII 10 ou “\n”). Já nos sistemas DOS/Windows, as linhas de um arquivo de texto são separadas por dois caracteres: o caractere Carriage Return (ASCII 13 ou “\r”) seguido do caractere New Line. Por exemplo, considere o seguinte programa em C armazenado em um arquivo hello.c (os caracteres “” indicam espaços em branco): O arquivo de texto hello.c seria armazenado da seguinte forma em um ambiente UNIX: Por outro lado, o mesmo arquivo hello.c seria armazenado da seguinte forma em um sistema DOS/Windows: Essa diferença na forma de representação da separação entre linhas pode provocar problemas em arquivos de texto transferidos entre sistemas Windows e UNIX, caso não seja feita a devida conversão. Arquivos executáveis Um arquivo executável é dividido internamente em várias seções, para conter código, tabelas de símbolos (variáveis e funções), listas de dependências (bibliotecas necessárias) e outras informações de configuração. A organização interna de um arquivo executável ou biblioteca depende do sistema operacional para o qual foi definido. Os formatos de executáveis mais populares atualmente são [Levine, 2000]: ELF (Executable and Linking Format): formato de arquivo usado para programas executáveis e bibliotecas na maior parte das plataformas UNIX modernas. É composto por um cabeçalho e várias seções de dados, contendo código executável, tabelas de símbolos e informações de relocação de código. PE (Portable Executable): é o formato usado para executáveis e bibliotecas na plataforma Windows. Consiste basicamente em uma adaptação do antigo formato COFF usado em plataformas UNIX. A Figura 3 ilustra a estrutura interna de um arquivo executável no formato ELF, usado tipicamente em sistemas UNIX (Linux, Solaris, etc.). Esse arquivo é dividido em seções, que representam trechos de código e dados sujeitos a ligação dinâmica e relocação; as seções são agrupadas em segmentos, de forma a facilitar a carga em memória do código e o lançamento do processo. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 19 Figura 3: Estrutura interna de um arquivo executável em formato ELF [Levine, 2000]. Além de executáveis e bibliotecas, o núcleo de um sistema operacional costuma reconhecer alguns tipos de arquivos não convencionais, como diretórios, atalhos (links), dispositivos físicos e estruturas de comunicação do núcleo, como sockets, pipes e filas de mensagens (vide Seção 1.5). Identificação de conteúdo Um problema importante relacionado aos formatos de arquivos é a correta identificação de seu conteúdo pelos usuários e aplicações. Já que um arquivo de dados pode ser visto como uma simples sequência de bytes, como é possível saber que tipo de informação essa sequência representa? Uma solução simples para esse problema consiste em indicar o tipo do conteúdo como parte do nome do arquivo: um arquivo “praia.jpg” provavelmente contém uma imagem em formato JPEG, enquanto um arquivo “entrevista.mp3” contém áudio em formato MP3. Essa estratégia, amplamente utilizada em muitos sistemas operacionais, foi introduzida nos anos 1980 pelo sistema operacional DOS. Naquele sistema, os arquivos eram nomeados segundo uma abordagem denominada “8.3”, ou seja, 8 caracteres seguidos de um ponto (“.”) e mais 3 caracteres de extensão, para definir o tipo do arquivo. Outra abordagem, frequentemente usada em sistemas UNIX, é o uso de alguns bytes no início de cada arquivo para a definição de seu tipo. Esses bytes iniciais são denominados “números mágicos” (magic numbers), e são usados em muitos tipos de arquivos, como exemplificado na Tabela 1: Nos sistema UNIX, o utilitário file permite identificar o tipo de arquivo através da análise de seus bytes iniciais e do restante de sua estrutura interna, sem levar em conta o nome do arquivo. Por isso, constitui uma ferramenta importante para identificar arquivos desconhecidos ou com extensão errada. Além do uso de extensões no nome do arquivo e de números mágicos, alguns sistemas operacionais definem atributos adicionais no sistema de arquivos para indicar o conteúdo de cada arquivo. Por exemplo, o sistema operacional MacOS 9 definia um atributo com 4 bytes para identificar o tipo de cada arquivo (file type), e outro atributo com 4 bytes para indicar a aplicação que o criou (creator application). Os tipos de arquivos e aplicações são definidos em uma tabela mantida pelo fabricante do sistema. Assim, quando o usuário solicitar a abertura de um determinado arquivo, o sistema irá escolher a aplicaçãoque o criou, se ela estiver presente. Caso contrário, pode indicar ao usuário uma relação de aplicações aptas a abrir aquele tipo de arquivo. Recentemente, a necessidade de transferir arquivos através de e-mail e de páginas Web levou à definição de um padrão de tipagem de arquivos conhecido como Tipos MIME (da sigla Multipurpose Internet Mail Extensions) [Freed and Borenstein, 1996]. O padrão MIME define tipos de arquivos através de uma notação uniformizada na forma “tipo/subtipo”. Alguns exemplos de tipos de arquivos definidos segundo o padrão MIME são apresentados na Tabela 2. O padrão MIME é usado para identificar arquivos transferidos como anexos de e-mail e conteúdos recuperados de páginas Web. Alguns sistemas operacionais, como o BeOS e o MacOS X, definem atributos de acordo com esse padrão para identificar o conteúdo de cada arquivo dentro do sistema de arquivos. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 20 Arquivos especiais O conceito de arquivo é ao mesmo tempo simples e poderoso, o que motivou sua utilização de forma quase universal. Além do armazenamento de código e dados, arquivos também podem ser usados como: Abstração de dispositivos de baixo nível: os sistemas UNIX costumam mapear as interfaces de acesso de vários dispositivos físicos em arquivos dentro do diretório /dev (de devices), como por exemplo: /dev/ttyS0: porta de comunicação serial COM1; /dev/audio: placa de som; /dev/sda1: primeira partição do primeiro disco SCSI (ou SATA). Abstração de interfaces do núcleo: em sistemas UNIX, os diretórios /proc e /sys permitem consultar e/ou modificar informações internas do núcleo do sistema operacional, dos processos em execução e dos drivers de dispositivos. Por exemplo, alguns arquivos oferecidos pelo Linux: /proc/cpuinfo: informações sobre os processadores disponíveis no sistema; /proc/3754/maps: disposição das áreas de memória alocadas para o processo cujo identificador (PID) é 3754 ; /sys/block/sda/queue/scheduler: definição da política de escalonamento de disco (vide Seção ??) a ser usada no acesso ao disco /dev/sda. Canais de comunicação: na família de protocolos de rede TCP/IP, a metáfora de arquivo é usada como interface para os canais de comunicação: uma conexão TCP é apresentada aos dois processos envolvidos como um arquivo, sobre o qual eles podem escrever (enviar) e ler (receber) dados entre si. Vários mecanismos de comunicação local entre processos de um sistema também usam a metáfora do arquivo, como é o caso dos pipes em UNIX. Em alguns sistemas operacionais experimentais, como o Plan 9 [Pike et al., 1993, Pike et al., 1995] e o Inferno [Dorward et al., 1997], todos os recursos e entidades físicas e lógicas do sistema são mapeadas sob a forma de arquivos: processos, threads, conexões de rede, usuários, sessões de usuários, janelas gráficas, áreas de memória alocadas, etc. Assim, para finalizar um determinado processo, encerrar uma conexão de rede ou desconectar um usuário, basta remover o arquivo correspondente. Embora o foco deste texto esteja concentrado em arquivos convencionais, que visam o armazenamento de informações (bytes ou registros), muitos dos conceitos aqui expostos são igualmente aplicáveis aos arquivos não-convencionais descritos nesta seção. Uso de arquivos Arquivos são usados por processos para ler e escrever dados de forma não-volátil. Para usar arquivos, um processo tem à sua disposição uma interface de acesso, que depende da linguagem utilizada e do sistema operacional subjacente. Essa interface normalmente é composta por uma representação lógica de cada arquivo usado pelo processo (uma referência ao arquivo) e por um conjunto de funções (ou métodos) para realizar operações sobre esses arquivos. Através dessa interface, os processos podem localizar arquivos no disco, ler e modificar seu conteúdo, entre outras operações. Na sequência desta seção serão discutidos aspectos relativos ao uso de arquivos, como a abertura do arquivo, as formas de acesso aos seus dados, o controle de acesso e problemas associados ao compartilhamento de arquivos entre vários processos. Abertura de um arquivo Para poder ler ou escrever dados em um arquivo, cada aplicação precisa antes “abri-lo”. A abertura de um arquivo consiste basicamente em preparar as estruturas de memória necessárias para acessar os dados do arquivo em questão. Assim, para abrir um arquivo, o núcleo do sistema operacional deve realizar as seguintes operações: 1. Localizar o arquivo no dispositivo físico, usando seu nome e caminho de acesso (vide Seção 3.2); 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 21 2. Verificar se a aplicação tem permissão para usar aquele arquivo da forma desejada (leitura e/ou escrita); 3. Criar uma estrutura na memória do núcleo para representar o arquivo aberto; 4. Inserir uma referência a essa estrutura na lista de arquivos abertos mantida pelo sistema, para fins de gerência; Devolver à aplicação uma referência a essa estrutura, para ser usada nos acessos subsequentes ao arquivo recém-aberto. Concluída a abertura do arquivo, o processo solicitante recebe do núcleo uma referência para o arquivo recém-aberto, que deve ser informada pelo processo em suas operações subsequentes envolvendo aquele arquivo. Assim que o processo tiver terminado de usar um arquivo, ele deve solicitar ao núcleo o fechamento do arquivo, que implica em concluir as operações de escrita eventualmente pendentes e remover da memória do núcleo as estruturas de gerência criadas durante sua abertura. Normalmente, os arquivos abertos são automaticamente fechados quando do encerramento do processo, mas pode ser necessário fechá-los antes disso, caso seja um processo com vida longa, como um daemon servidor de páginas Web, ou que abra muitos arquivos, como um compilador. As referências a arquivos abertos usadas pelas aplicações dependem da linguagem de programação utilizada para construí-las. Por exemplo, em um programa escrito na linguagem C, cada arquivo aberto é representado por uma variável dinâmica do tipo FILE*, que é denominada um ponteiro de arquivo (file pointer). Essa variável dinâmica é alocada no momento da abertura do arquivo e serve como uma referência ao mesmo nas operações de acesso subsequentes. Já em Java, as referências a arquivos abertos são objetos instanciados a partir da classe File. Na linguagem Python existem os file objects, criados a partir da chamada open. Por outro lado, cada sistema operacional tem sua própria convenção para a representação de arquivos abertos. Por exemplo, em sistemas Windows os arquivos abertos por um processo são representados pelo núcleo por referências de arquivos (filehandles), que são estruturas de dados criadas pelo núcleo para representar cada arquivo aberto. Por outro lado, em sistemas UNIX os arquivos abertos por um processo são representados por descritores de arquivos (file descriptors). Um descritor de arquivo aberto é um número inteiro não-negativo, usado como índice em uma tabela que relaciona os arquivos abertos por aquele processo, mantida pelo núcleo. Dessa forma, cabe às bibliotecas e ao suporte de execução de cada linguagem de programação mapear a representação de arquivo aberto fornecida pelo núcleo do sistema operacional subjacente na referência de arquivo aberto usada por aquela linguagem. Esse mapeamento é necessário para garantir que as aplicações que usam arquivos (ou seja, quase todas elas) sejam portáveis entre sistemas operacionais distintos. Formas de acesso Uma vez aberto um arquivo, a aplicação pode ler os dados contidos nele, modificá-los ou escrever novos dados. Há várias formas de se ler ou escrever dados em um arquivo, que dependem da estrutura interna do mesmo. Considerandoapenas arquivos simples, vistos como uma sequência de bytes, duas formas de acesso são usuais: o acesso sequencial e o acesso direto (ou acesso aleatório). No acesso sequencial, os dados são sempre lidos e/ou escritos em sequência, do início ao final do arquivo. Para cada arquivo aberto por uma aplicação é definido um ponteiro de acesso, que inicialmente aponta para a primeira posição do arquivo. A cada leitura ou escrita, esse ponteiro é incrementado e passa a indicar a posição da próxima leitura ou escrita. Quando esse ponteiro atinge o final do arquivo, as leituras não são mais permitidas, mas as escritas ainda o são, permitindo acrescentar dados ao final do mesmo. A chegada do ponteiro ao final do arquivo é normalmente sinalizada ao processo através de um flag de fim de arquivo (EoF - End-of-File). A Figura 4 traz um exemplo de acesso sequencial em leitura a um arquivo, mostrando a evolução do ponteiro do arquivo durante uma sequência de leituras. A primeira leitura no arquivo traz a string “Qui scribit bis”, a segunda leitura traz “legit”, e assim sucessivamente. O acesso sequencial é implementado em praticamente todos os sistemas operacionais de mercado e constitui a forma mais usual de acesso a arquivos, usada pela maioria das aplicações. Figura 4: Leituras sequenciais em um arquivo de texto. 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 22 Por outro lado, no método de acesso direto (ou aleatório), pode-se indicar a posição no arquivo onde cada leitura ou escrita deve ocorrer, sem a necessidade de um ponteiro. Assim, caso se conheça previamente a posição de um determinado dado no arquivo, não há necessidade de percorrê-lo sequencialmente até encontrar o dado desejado. Essa forma de acesso é muito importante em gerenciadores de bancos de dados e aplicações congêneres, que precisam acessar rapidamente as posições do arquivo correspondentes ao registros desejados em uma operação. Na prática, a maioria dos sistemas operacionais usa o acesso sequencial como modo básico de operação, mas oferece operações para mudar a posição do ponteiro do arquivo caso necessário, o que permite então o acesso direto a qualquer registro do arquivo. Nos sistemas POSIX, o reposicionamento do ponteiro do arquivo é efetuado através das chamadas lseek e fseek. Uma forma particular de acesso direto ao conteúdo de um arquivo é o mapeamento em memória do mesmo, que faz uso dos mecanismos de memória virtual (paginação). Nessa modalidade de acesso, um arquivo é associado a um vetor de bytes (ou de registros) de mesmo tamanho na memória principal, de forma que cada posição do vetor corresponda à sua posição equivalente no arquivo. Quando uma posição específica do vetor ainda não acessada é lida, é gerada uma falta de página. Nesse momento, o mecanismo de paginação da memória virtual intercepta o acesso à memória, lê o conteúdo correspondente no arquivo e o deposita no vetor, de forma transparente à aplicação. Escritas no vetor são transferidas para o arquivo por um procedimento similar. Caso o arquivo seja muito grande, pode-se mapear em memória apenas partes dele. A Figura 5 ilustra essa forma de acesso. Finalmente, alguns sistemas operacionais oferecem também a possibilidade de acesso indexado aos dados de um arquivo, como é o caso do OpenVMS [Rice, 2000]. Esse sistema implementa arquivos cuja estrutura interna pode ser vista como um conjunto de pares chave/valor. Os dados do arquivo são armazenados e recuperados de acordo com suas chaves correspondentes, como em um banco de dados relacional. Como o próprio núcleo do sistema implementa os mecanismos de acesso e indexação do arquivo, o armazenamento e busca de dados nesse tipo de arquivo costuma ser muito rápido, dispensando bancos de dados para a construção de aplicações mais simples. Figura 5: Arquivo mapeado em memória. Controle de acesso Como arquivos são entidades que sobrevivem à existência do processo que as criou, é importante definir claramente o proprietário de cada arquivo e que operações ele e outros usuários do sistema podem efetuar sobre o mesmo. A forma mais usual de controle de acesso a arquivos consiste em associar os seguintes atributos a cada arquivo e diretório do sistema de arquivos: Proprietário: identifica o usuário dono do arquivo, geralmente aquele que o criou; muitos sistemas permitem definir também um grupo proprietário do arquivo, ou seja, um grupo de usuários com acesso diferenciado sobre o mesmo; Permissões de acesso: define que operações cada usuário do sistema pode efetuar sobre o arquivo. Existem muitas formas de se definir permissões de acesso a recursos em um sistema computacional; no caso de arquivos, a mais difundida emprega listas de controle de acesso (ACL - Access Control Lists) associadas a cada arquivo. Uma lista de controle de acesso é basicamente uma lista indicando que 1532948 E-book gerado especialmente para JOAO MONTEIRO DOS SANTOS JUNIOR . 23 usuários estão autorizados a acessar o arquivo, e como cada um pode acessá-lo. Um exemplo conceitual de listas de controle de acesso a arquivos seria: No entanto, essa abordagem se mostra pouco prática caso o sistema tenha muitos usuários e/ou arquivos, pois as listas podem ficar muito extensas e difíceis de gerenciar. O UNIX usa uma abordagem bem mais simplificada para controle de acesso, que considera basicamente três tipos de usuários e três tipos de permissões: Usuários: o proprietário do arquivo (User), um grupo de usuários associado ao arquivo (Group) e os demais usuários (Others). Permissões: ler (Read), escrever (Write) e executar (eXecute). Dessa forma, no UNIX são necessários apenas 9 bits para definir as permissões de acesso a cada arquivo ou diretório. Por exemplo, considerando a seguinte listagem de diretório em um sistema UNIX (editada para facilitar sua leitura): Nessa listagem, o arquivo hello-unix.c (linha 4) pode ser acessado em leitura e escrita por seu proprietário (o usuário maziero, com permissões rw-), em leitura pelos usuários do grupo prof (permissões r--) e em leitura pelos demais usuários do sistema (permissões r--). Já o arquivo hello-unix (linha 3) pode ser acessado em leitura, escrita e execução por seu proprietário (permissões rwx), em leitura e execução pelos usuários do grupo prof (permissões r-x) e não pode ser acessado pelos demais usuários (permissões ---). No caso de diretórios, a permissão de leitura autoriza a listagem do diretório, a permissão de escrita autoriza sua modificação (criação, remoção ou renomeação de arquivos ou sub-diretórios) e a permissão de execução autoriza usar aquele diretório como diretório de trabalho ou parte de um caminho. No mundo Windows, o sistema de arquivos NTFS implementa um controle de acesso bem mais flexível que o do UNIX, que define permissões aos proprietários de forma similar, mas no qual permissões complementares a usuários individuais podem ser associadas a qualquer arquivo. É importante destacar que o controle de acesso é normalmente realizado somente durante a abertura do arquivo, para a criação de sua referência em memória. Isso significa que, uma vez aberto um arquivo por um processo, este terá acesso ao arquivo enquanto o mantiver aberto, mesmo que as permissões do arquivo sejam alteradas para impedir esse acesso. O controle contínuo de acesso aos arquivos é pouco frequentemente implementado em sistemas operacionais, porque verificar as permissões de acesso a cada operação de leitura ou escrita em um arquivo teria um impacto negativo significativo sobre o desempenho do sistema. Gerenciamento de Pastas e Arquivos Um arquivo é um item que contém informações, por exemplo, texto, imagens ou música. Quando aberto, um arquivo pode ser muito parecido com um documento de texto
Compartilhar