106
FRANKLIN PORTELA CORREIA SISTEMAS OPERACIONAIS 1ª edição Universidade Braz Cubas - UBC Mogi das Cruzes 2015

sistemas_operacionais_1_2015.pdf

Embed Size (px)

Citation preview

Page 1: sistemas_operacionais_1_2015.pdf

FRANKLIN PORTELA CORREIA

SISTEMAS OPERACIONAIS

1ª edição

Universidade Braz Cubas - UBC

Mogi das Cruzes

2015

Page 2: sistemas_operacionais_1_2015.pdf

Reitor: Prof. Maurício Chermann

DIRETORIA DE UNIDADES EDUCACIONAIS

Coordenação Geral Acadêmica - EaD: Prof.ª Dra. Mara Yáskara Paiva Cardoso

Assessoria Administrativa: Adriane Aparecida Carvalho

Coordenação de Produção: Diego de Castro Alvim

Revisão de Textos: Adrielly Rodrigues, Taciana da Paz

Edição de Arte: Michelle Carrete

Diagramação: Amanda Holanda, Vanessa Lopes

Ilustração: Noel Oliveira Gonçalves

Impressão: Grupo VLS

1ª edição 2015

O autor dos textos presentes neste material didático assume total

responsabilidade sobre os conteúdos e originalidade.

Proibida a reprodução total e/ou parcial.

© Copyright UBC 2015

Av. Francisco Rodrigues Filho, 1233 - Mogilar

CEP 08773-380 - Mogi das Cruzes - SP

Page 3: sistemas_operacionais_1_2015.pdf

Prof. Franklin Portela Correia1*

* Graduado em Tecnologia da Informação e Licenciatura em Informática, Pós-graduado em Metodologia do Ensino

Superior e Mestre em Educação, na linha de pesquisa Políticas e Gestões Educacionais. É autor do livro “Linguagem VRML

- virtual reality modeling language - a realidade virtual na web” e também de quatro cursos interativos: Dreamweaver,

Flash, Photoshop e Corel Draw. Atua há mais de 25 anos na informática, nas áreas de Design, Programação, Sistemas

Operacionais, Multimídia, Animação, Computação Gráfica, Games e Web. É também professor e Coordenador há 14

anos no Ensino Superior, lecionando disciplinas nas áreas: Design para Web, Programação para Web, Animação para

Web, Multimídia, Desenvolvimento de Jogos e Computação Gráfica. Também é Diretor e consultor da Pagework Web

Solutions..

Page 4: sistemas_operacionais_1_2015.pdf
Page 5: sistemas_operacionais_1_2015.pdf

55 SUMÁRIO

SUMÁRIO

APRESENTAÇÃO 9

INTRODUÇÃO 11

U N I D A D E I

INTRODUÇÃO A SISTEMAS OPERACIONAIS 15

1.1 CONCEITOS BÁSICOS 16

1.2 ESTRUTURA DE SISTEMAS OPERACIONAIS 18

1.2.1 SISTEMAS MONOLÍTICOS 18

1.2.2 KERNEL 19

1.2.3 ARQUITETURA DE CAMADAS 20

1.2.4 MÁQUINAS VIRTUAIS 21

1.2.5 VIRTUALIZAÇÃO 21

1.3 FUNCIONALIDADES 30

1.4 INTERFACE DO SISTEMA OPERACIONAL COM O USUÁRIO 31

1.5 CONSIDERAÇÕES DA UNIDADE I 32

U N I D A D E I I

ARQUITETURA DE SISTEMAS OPERACIONAIS 35

2.1 CLASSIFICAÇÃO DO SISTEMA OPERACIONAL 36

2.1.1 MONOTAREFA 36

2.1.2 MULTITAREFA 37

2.2 CLASSIFICAÇÃO DE USUÁRIOS 37

2.2.1 MONOUSUÁRIOS 38

2.2.2 MULTIUSUÁRIOS 38

2.3 PROCESSADORES 38

Page 6: sistemas_operacionais_1_2015.pdf

6 SUMÁRIO

2.3.1 MONOPROCESSADO 38

2.3.2 MULTIPROCESSADO 39

2.4 PROCESSOS 39

2.5 THREADS 40

2.6 ESCALONAMENTO 42

2.6.1 POLÍTICA DE ESCALONAMENTO 42

2.7 DEADLOCKS 43

2.7.1 CONCEITOS DO DEADLOCKS 43

2.7.2 DETECÇÃO DE DEADLOCK 44

2.7.3 COMO EVITAR DEADLOCKS 45

2.8 ENTRADA E SAÍDA 46

2.8.1 PRINCÍPIOS DO HARDWARE 48

2.8.2 PRINCÍPIOS DE SOFTWARE 49

2.8.3 TERMINAIS 51

2.9 CONSIDERAÇÕES DA UNIDADE II 53

U N I D A D E I I I

SISTEMAS DE ARQUIVOS 55

3.1 INTRODUÇÃO A SISTEMAS DE ARQUIVOS 56

3.2 CONCEITOS E USO DE ARQUIVOS 57

3.2.1 NOMEANDO ARQUIVOS 58

3.2.2 TIPOS DE ARQUIVOS 59

3.2.3 ACESSO AOS ARQUIVOS 60

3.2.4 ATRIBUTOS DE ARQUIVOS 61

3.2.5 OPERAÇÕES COM ARQUIVOS 62

3.3 CONCEITOS E USO DE DIRETÓRIOS 63

3.3.1 NÍVEL ÚNICO 63

3.3.2 DOIS NÍVEIS 64

Page 7: sistemas_operacionais_1_2015.pdf

77 SUMÁRIO

3.4 OPERAÇÕES COM DIRETÓRIOS 64

3.5 ALOCAÇÃO DE ESPAÇO EM DISCO 66

3.5.1 ALOCAÇÃO CONTÍGUA 67

3.5.2 ALOCAÇÃO ENCADEADA 69

3.5.3 ALOCAÇÃO INDEXADA 69

3.6 PROTEÇÃO DE ACESSO 70

3.7 IMPLEMENTAÇÃO DE CACHES 72

3.8 ARMAZENAMENTO EM NUVEM 73

3.9 CONSIDERAÇÕES DA UNIDADE III 77

U N I D A D E I V

TIPOS DE SISTEMAS OPERACIONAIS 79

4.1 WINDOWS 80

4.2 LINUX 82

4.3 OS X 89

4.4 SISTEMAS OPERACIONAIS MOBILE 91

4.4.1 ANDROID 91

4.4.2 IOS 95

4.4.3 WINDOWS PHONE 97

4.5 CONSIDERAÇÕES DA UNIDADE IV 100

REFERÊNCIAS 103

Page 8: sistemas_operacionais_1_2015.pdf
Page 9: sistemas_operacionais_1_2015.pdf

99 APRESENTAÇÃO

APRESENTAÇÃO

Caro aluno, é um prazer ter você nesta disciplina! Sou Franklin Portela Correia

e, a partir deste momento, iremos mergulhar em conceitos extremamente importantes

para sua área profissional.

Meu desejo, com este material, é que você aprofunde seus conhecimentos dentro

da informática, bem como saiba diferenciar sistemas operacionais e, principalmente,

saiba utilizá-los corretamente.

A nossa disciplina tem como objetivo, preparar você para compreender os

conceitos de sistemas operacionais, suas funções e características.

Falaremos sobre os conceitos básicos de Sistemas Operacionais, sua estrutura,

funcionalidades, sua arquitetura, entrada e saída, sistemas de arquivos, tipos de

sistemas operacionais, entre outros assuntos relevantes dentro da disciplina Sistemas

Operacionais.

No decorrer desta disciplina, além dos momentos teóricos, extremamente

necessários para entender todos os conceitos e funções de um sistema operacional,

teremos momentos em que mostraremos na prática as principais funcionalidades dos

Sistemas Operacionais.

Page 10: sistemas_operacionais_1_2015.pdf
Page 11: sistemas_operacionais_1_2015.pdf

1111 INTRODUÇÃO

INTRODUÇÃO

Antes de falarmos de Sistemas Operacionais e da sua importância, é necessário

falarmos sobre o que vem a ser um sistema computacional moderno. Um ou mais

processadores, memória, dispositivos de entrada e saída, impressoras, monitor, rede

etc., consistem em um sistema computacional moderno.

É extremamente complexo desenvolver sistemas que controlem todos estes itens

e faça com que funcionem de forma organizada e otimizada. Por isso foi criado um

programa (software) chamado de Sistema Operacional, que tem a responsabilidade

de gerenciar todos estes componentes e fazer com que funcionem de forma adequada,

proporcionando para o usuário uma experiência de uso fácil e simples. Para isso,

chamamos de interface gráfica.

Na figura abaixo, vemos em que escala se encontra o Sistema Operacional:

Navegadores Editor de Texto

Interpretadorde Comandos

SISTEMA OPERACIONAL

LINGUAGEM DE MAQUINA

ARQUITETURA

DISPOSITIVOS FISICOS

Compiladores

Programas de usuário

Programas do Sistema

Programas do Sistema

Parte Física (Hardware)

Parte Física (Hardware)

Parte Física (Hardware)

Figura 1

Fonte: Elaborado pelo autor.

Page 12: sistemas_operacionais_1_2015.pdf

12 INTRODUÇÃO

Podemos perceber, na imagem, que o Sistema Operacional está uma camada

acima da parte física – Hardware. Na última camada, que é o nível mais baixo, estão

os dispositivos físicos (circuitos, fonte, chips etc.).

Na sequência, temos a camada Arquitetura, em que ficam agrupados os

dispositivos físicos que são funcionais (CPU, unidade Lógico-aritmética e caminho dos

dados).

A próxima camada é a Linguagem de máquina, que contém diversas instruções.

Em sua maioria, serve para movimentar os dados por meio da máquina, comparar

valores e fazer diversas operações aritméticas. Neste ponto, os dispositivos de entrada

e saída são controlados por meio de valores que ficam armazenados em registradores

de dispositivo. É possível comandar a leitura de um disco carregando os valores de

endereço deste determinado disco, entre muitas outras funções.

Este controle por intermédio da linguagem de máquina é extremamente

complexo e dificultaria para a maioria das pessoas utilizarem os computadores no seu

dia a dia. Para retirar toda esta complexidade, foi desenvolvido o Sistema Operacional,

a camada seguinte. Aqui, todo o controle do computador e seus dispositivos podem

ser feitos de forma visual e prática.

Logo acima do Sistema Operacional, encontra-se a camada Programas do

Sistema. São os compiladores, interpretador de Comandos, entre outros programas.

Por último, vem a camada Programas de usuários, que são os programas que

estamos mais habituados a usar como editores de texto, planilhas, navegador de

internet, editor de imagem, entre outros.

Este processo, por meio das camadas, permite visualizarmos a importância de

um Sistema Operacional e os motivos pelos quais os computadores deixaram de ser um

equipamento somente para uso de estudiosos e profissionais com grande experiência

na área da informática.

Com o surgimento dos sistemas operacionais com interface gráfica (iremos

detalhar quais os sistemas temos, hoje, em utilização), tornou-se mais simples e

Page 13: sistemas_operacionais_1_2015.pdf

1313 INTRODUÇÃO

organizado todos os controles dos dispositivos de um computador. Por intermédio da

interface gráfica, é possível operar um computador e modificar grande parte de suas

características, como veremos no decorrer do livro didático.

Nas próximas páginas, detalharemos melhor todos os conceitos falados, aqui,

na introdução, além da estrutura e funcionalidades do Sistema Operacional.

O meu desejo é que com este livro, você a partir de agora sabia muito bem

não só identificar a importância de um sistema operacional, mas que conheça suas

funcionalidades e, com isso, utilize-o de forma correta.

Operating System

MouseDisk Drive

PrinterMonitor

Application

Keyboard

Figura 2 - Controle do Sistema Operacional.

Adaptada de: <http://www.ts.avnet.com/uk/products_and_solutions/storage/technology/operating_systems.html>.

Page 14: sistemas_operacionais_1_2015.pdf
Page 15: sistemas_operacionais_1_2015.pdf

1515UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

1U N I D A D E I INTRODUÇÃO A SISTEMAS OPERACIONAIS

OBJETIVOS DA UNIDADE

• Elencar os principais conceitos de Sistemas Operacionais, sua

estrutura e funcionalidades.

HABILIDADES E COMPETÊNCIAS

• Conhecimento dos conceitos de Sistemas Operacionais;

• Compreensão das funções e características de um Sistema Operacional;

• Entendimento da estrutura de um Sistema Operacional.

Page 16: sistemas_operacionais_1_2015.pdf

16 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

1.1 CONCEITOS BÁSICOS

Como já iniciamos falando na introdução, o Sistema Operacional é peça

fundamental para o uso do computador. O Sistema Operacional é uma camada que

gerencia os softwares e o hardware voltados ao usuário final.

Ele é uma estrutura complexa, que introduz aspectos de baixo nível, como tipos

de drives de dispositivos, e que também gerencia a memória física do computador.

Também gerencia programas utilitários e a sua interface visual. Como cada hardware

tem sua particularidade, cabe ao Sistema Operacional determinar a forma de gerenciar

estas particularidades do hardware.

Hoje, ele está presente, não só em computadores, mas também em smartphones,

aviões, dispositivos de tecnologia vestível, entre muitos outros dispositivos de usos

diários.

Por meio do sistema operacional, é possível instalar diversos aplicativos

(softwares) com finalidades específicas, como: editor de texto, planilhas, jogos,

sistemas de controle, antivírus etc.

Quando o computador é ligado, o sistema operacional torna-se apto a controlar

todos os recursos do hardware. A partir deste momento, é carregado conjuntos de

comandos de sistema que é imediatamente armazenado na memória ROM (Read-

Only-Memory).

Page 17: sistemas_operacionais_1_2015.pdf

1717UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Usuários

Sistema Operacional

Hardware

Outros Usuários

Memória

Processador

Impressoras

Discos

Fitas

Terminais

Programadorese Analistas

Programas,Sistemas eAplicativos

Figura 3 - Sistema Operacional.

Adaptada de: <http://www.ebah.com.br/content/ABAAAAgpcAF/sistemas-operacionais>.

Todas estas instruções fazem a verificação se o hardware está em perfeito

funcionamento. Caso esteja tudo em ordem, ativa os dispositivos do computador

como unidades de discos, etc. Junto com estes conjuntos, são carregados, também, os

principais elementos do sistema operacional e os programas de inicialização. Ao final,

a interface para o usuário final é liberada e o sistema está pronto para seu uso. Este

procedimento é denominado Boot.

Page 18: sistemas_operacionais_1_2015.pdf

18 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Figura 4 - Boot.

Adaptada de: <http://1.bp.blogspot.com/_mRd80N7THP8/TLXZQdCsL3I/AAAAAAAAAJA/-drCCBrEd00/s1600/07.JPG>.

1.2 ESTRUTURA DE SISTEMAS OPERACIONAIS

Já tivemos uma ideia sobre a parte externa de um sistema operacional, ou seja,

do seu funcionamento e da sua interface. Agora, vamos ver a sua estrutura interna e

seu funcionamento. Para isso, vamos citar algumas estruturas do sistema operacional.

1.2.1 SISTEMAS MONOLÍTICOS

O sistema monolítico é considerado o mais comum. Neste sistema não existe

uma estruturação, ou seja, o sistema operacional é determinado por uma coleção de

etapas, em que cada um pode acionar os demais sempre que for solicitado.

No sistema monolítico, os serviços determinados no sistema operacional são

requisitados, determinando os seus parâmetros e inserindo em um local bem definido.

Este local pode ser, por exemplo, uma pilha. A partir daí, são executados instruções

Page 19: sistemas_operacionais_1_2015.pdf

1919UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

de controle em que o sistema operacional aciona e executa as chamadas solicitadas.

1.2.2 KERNEL

O Kernel é o núcleo do sistema. Ele é responsável direto por controlar tudo ao

redor do sistema operacional, desde os dispositivos, como: unidades de discos, portas,

hardware, entre muitos outros itens.

O Kernel é formado por conjuntos de processos que determinam serviços aos

usuários e as aplicações do sistema operacional. Ele faz diretamente a comunicação

entre o sistema e o hardware. Por intermédio do Kernel, pode-se gerir um sistema

operacional com melhor performance. Sabendo usá-lo corretamente, pode-se ter

ótimos resultados.

Sabendo desenvolver um Kernel que utilize de forma correta todo o sistema e

suas funcionalidades, irá economizar o consumo de memória do sistema. Com isso, se

ganha uma melhor performance para o seu sistema.

Page 20: sistemas_operacionais_1_2015.pdf

20 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Other programs

Other programs

Hardware

Kernel

sh

ed

nroffnroff

as

id wc

vi grep

compdate

a.outcpp

CC

Figura 5 - Kernel.

Adaptada de: <http://www.appunix.com.br/wp-content/uploads/2011/05/Kernel.png>.

1.2.3 ARQUITETURA DE CAMADAS

Cada camada provê um determinado conjunto de funções que pode ser

executado apenas pelas camadas superiores do sistema operacional.

A estruturação de camadas tem a grande vantagem de isolar as funções do

sistema operacional. Isso facilita a depuração e a manutenção, além de criar uma

estrutura de níveis para acesso. Estes níveis protegem as camadas.

Page 21: sistemas_operacionais_1_2015.pdf

2121UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

1.2.4 MÁQUINAS VIRTUAIS

Todo sistema computacional é composto por níveis, onde o hardware é o nível

mais baixo e o sistema operacional, o nível logo em seguida. Já uma máquina virtual,

consiste em gerar um nível a parte entre o hardware e o sistema operacional.

Este nível chamamos de “gerencia de máquinas virtuais”. Este nível

intermediário, que é gerado pela máquina virtual, cria uma cópia virtual do hardware

e suas características, incluindo todos os processos de acessos, interrupções, entre

outros. A máquina virtual torna-se independente, e é possível ter outros sistemas

operacionais e aplicações independentes do seu sistema operacional principal.

Por meio disso, cada máquina virtual torna-se independente. Isso garante uma

grande segurança para o sistema, pois, em caso de problemas em uma máquina

virtual, não ocasiona problemas para seu sistema operacional principal.

Código-Fonte Compilador

Máquina Virtual Java

Qualquer Sistema Operacional

Byte-Code

Figura 6 - Máquina Virtual.

Adaptada de: <http://1.bp.blogspot.com/-NcMQ43Nibqw/T-ehbLrZ0mI/AAAAAAAAAI8/jXjQSuXhAYI/s1600/maquina+virtual+java.jpg>.

1.2.5 VIRTUALIZAÇÃO

Virtualizar um sistema operacional é uma técnica que consiste em simular por

intermédio de um sistema computacional, junto com todos os seus dispositivos, um

Page 22: sistemas_operacionais_1_2015.pdf

22 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

sistema operacional. Por meio desta virtualização, é possível executar vários sistemas

operacionais diferentes dentro de um único computador físico.

Figura 7 - Virtualização.

Disponível em: <http://www.catabits.com.br/2011/01/trabalhando-com-virtualizacao-de.html>.

Esta virtualização é feita por intermédio de softwares específicos, que permitem

gerar estes sistemas operacionais diferentes em um único computador. Veremos, na

sequência, um exemplo de como criar uma máquina virtual.

É fundamental que, tanto o hardware como o sistema operacional, permitam o

suporte à virtualização. Isso irá garantir o funcionamento de todos os dispositivos do

sistema, permitindo o uso das camadas por meio deste nível de sistema.

Vamos aprender, agora, como criar máquinas virtuais de uma forma prática. Às

vezes, torna-se necessário ter um ou mais sistemas operacionais em uma máquina,

e, com esta virtualização, isso se transforma em uma tarefa bem menos complicada.

Para este exemplo, utilizaremos o programa de Virtualização chamado

VirtualBox. Ele é um software gratuito, desenvolvido pela Sun Microsystems, e que

hoje é mantida pela Oracle Corporation.

Page 23: sistemas_operacionais_1_2015.pdf

2323UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

OUTRAS MÍDIAS

O VirtualBox está disponível para diversos sistemas operacionais, e você

pode baixá-lo por meio do links:

https://www.virtualbox.org/wiki/Downloads e http://www.oracle.com/

technetwork/pt/server-storage/virtualbox/downloads/index.html.

Após efetuar o download do VirtualBox, execute o arquivo baixado e instale

deixando as configurações de tela da instalação padrão.

Após a instalação, abra o VirtualBox e clique em NOVA para iniciar o processo

de Criação.

Figura 8 - Criando Máquina Virtual.

Fonte da imagem: Elaborado pelo autor.

Depois disso, aparecerá uma tela em que você deve digitar o nome para identificar

esta máquina virtual. Depois, em OS TYPE, selecione qual sistema operacional você

deseja criar, bem como a versão.

Page 24: sistemas_operacionais_1_2015.pdf

24 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Figura 9 - Criando Máquina Virtual.

Fonte da imagem: Elaborado pelo autor.

Na próxima tela, aloque o quanto de memória que você deve utilizar para este

novo sistema operacional.

Importante: Lembre-se que, ao alocar memória para a máquina virtual, ela não

estará disponível para o seu sistema operacional enquanto a máquina virtual estiver

ligada.

Page 25: sistemas_operacionais_1_2015.pdf

2525UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Figura 10 - Criando Máquina Virtual.

Fonte da imagem: Elaborado pelo autor.

Agora, o VirtualBox solicitará a criação de um novo disco virtual, que será

determinado como um arquivo para o sistema.

Page 26: sistemas_operacionais_1_2015.pdf

26 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Figura 11 - Criando Máquina Virtual.

Fonte da imagem: Elaborado pelo autor.

Nesta próxima tela, no item Tipo de Arquivo, selecione o VDI (VirtualBox Disk

Image). As demais opções são utilizadas para finalidades específicas.

Figura 12 - Criando Máquina Virtual.

Fonte da imagem: Elaborado pelo autor.

Page 27: sistemas_operacionais_1_2015.pdf

2727UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Na tela Detalhes do armazenamento de disco virtual, você tem duas opções a

escolher:

• Dinamicamente alocado: que irá aumentar o espaço do seu disco virtual

conforme for utilizando a máquina virtual.

• Tamanho fixo: você determina o tamanho exato que seu disco virtual terá.

Figura 13 - Criando Máquina Virtual.

Fonte da imagem: Elaborado pelo autor.

Agora, determine o tamanho máximo que o disco virtual deverá ter.

Page 28: sistemas_operacionais_1_2015.pdf

28 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Figura 14 - Criando Máquina Virtual.

Fonte da imagem: Elaborado pelo autor.

Na próxima tela será mostrado um sumário das suas configurações escolhidas.

Se tudo estiver da forma que escolher, basta, apenas, clicar em Criar.

Figura 15 - Criando Máquina Virtual.

Fonte da imagem: Elaborado pelo autor.

Page 29: sistemas_operacionais_1_2015.pdf

2929UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Após este processo, a máquina virtual está criada. Na tela, o status irá aparecer

como Desligada. É somente selecionar sua máquina virtual e clicar em INICIAR, no

VirtualBox, que seu sistema operacional virtual irá subir.

Figura 16 - Ativando o sistema operacional virtual

Fonte da imagem: Elaborado pelo autor)

Tela com sistema operacional principal executando o sistema operacional virtual.

Figura 17 - Ativando o sistema operacional virtual.

Disponível em: <http://www.techguidefortravel.com/2010/01/12/free-alternative-software-for-digital-nomads-part-3/>.

Page 30: sistemas_operacionais_1_2015.pdf

30 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

1.3 FUNCIONALIDADES

Vamos falar, agora, sobre como o sistema operacional faz o gerenciamento de

armazenamento e memória. Quando o sistema operacional é solicitado a executar

este gerenciamento, duas tarefas importantes são definidas. Cada processo deve ter

memória suficiente para executar o que está sendo solicitado. Não tem como o sistema

utilizar a memória que está sendo manipulada por outro processo, e vice-versa.

Para determinar a primeira tarefa, o sistema operacional precisa definir quais se-

rão os limites de memória para cada tipo de aplicativo, ou software, que será utilizado.

Figura 18 - Gerenciamento de Memória.

Disponível em: <http://images.slideplayer.com.br/2/367558/slides/slide_21.jpg>.

Quando os aplicativos são carregados na memória, eles são carregados em

blocos. É o sistema operacional que determina o tamanho desses blocos. Se, por

exemplo, o tamanho do bloco é de 1 megabyte, todo processo carregado receberá um

pedaço desta memória que é múltiplo de 1 megabyte e os aplicativos são carregados

nestes blocos fixados.

Quando a memória é totalmente ocupada pelos processos, podem ser feitas duas

coisas: adquirir mais memória física para seu computador, possibilitando o aumento

real de espaço em memória; ou aumentando a memória virtual. Este procedimento é

conhecido como mover a informação da memória RAM para o disco rígido, e isso não

ocasiona custo. Porém, esta memória é mais lenta.

Page 31: sistemas_operacionais_1_2015.pdf

3131UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Temos, também, as memórias caches de alta velocidade. Elas são pequenas

quantidades de memória disponível para a CPU, por meio de conexões mais velozes. Os

controladores desta memória cache preveem quais os tipos de dados a CPU vai utilizar

e os transferem da memória principal para esta memória cache de alta velocidade. Isso

faz com que aumente o desempenho do sistema. Por isso, na hora da compra de um

microcomputador, é muito importante verificar o tamanho da memória cache dele.

Quanto mais memória, mais performance você terá.

A memória secundária é uma forma de armazenamento magnético rotativo.

Ela mantém os softwares e dados prontos para serem usados. Serve, também,

como memória RAM virtual, que é gerenciada pelo sistema operacional. O sistema

operacional gerencia a sua necessidade e encaminha os diversos processos para esta

memória virtual, conforme a necessidade.

1.4 INTERFACE DO SISTEMA OPERACIONAL COM O USUÁRIO

Uma interface do sistema operacional nada mais é do que possibilitar a

interação entre usuário e o computador. Na última década, praticamente todo o

desenvolvimento de interfaces foi feita na área de interface gráfica, conhecido como

GUI - Graphical user interface.

Os três sistemas operacionais mais conhecidos, hoje, são: Mac OS, Microsoft

Windows e o Linux. Este último, conhecido como sistema operacional de código

aberto.

Page 32: sistemas_operacionais_1_2015.pdf

32 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Figura 19 - Tela do Sistema Operacional Linux.

Disponível em: <http://alinetux.blogspot.com.br/2011/09/telas-do-ubuntu-1110-oneiric-ocelot.html>.

Ainda existem outras interfaces de usuário para sistemas operacionais, e várias

delas não são gráficas. Por exemplo, o Sistema Operacional Unix tem uma interface

chamada de Shell, que é mais poderosa e flexível do que as interfaces que são utilizadas

em forma de texto dos sistemas operacionais padrão.

1.5 CONSIDERAÇÕES DA UNIDADE I

Nesta primeira unidade, falamos, de uma forma geral, sobre sistemas operacio-

nais e o que vem a ser um sistema computacional moderno.

Vimos que o Sistema Operacional é uma camada fundamental para a

comunicação entre o hardware e os aplicativos específicos, além de controlar os

dispositivos do computador.

Por intermédio dos conceitos básicos, ficou claro que o sistema operacional

é uma peça fundamental para o uso do computador, e que ele é uma camada que

gerencia os softwares e o hardware voltados ao usuário final.

Page 33: sistemas_operacionais_1_2015.pdf

3333UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

Conhecemos, também, a estrutura de sistemas operacionais por meio dos

sistemas monolíticos, o Kernel, a arquitetura de camadas e máquinas virtuais.

Aprendemos como trabalhar com as máquinas virtuais por meio da virtualização.

Vimos, na prática, como utilizar a virtualização por intermédio do software

VirtualBox. Aprendemos a instalar e a utilizar mais de um sistema operacional em um

único computador.

Por último, conhecemos as funcionalidades do sistema operacional por meio

do seu gerenciamento de armazenamento e memória, além da interface do sistema

operacional com o usuário.

Page 34: sistemas_operacionais_1_2015.pdf

34 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS

TESTE SEU CONHECIMENTO

Page 35: sistemas_operacionais_1_2015.pdf

3535UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 35

2U N I D A D E I I ARQUITETURA DE SISTEMAS OPERACIONAIS

OBJETIVOS DA UNIDADE

• Conhecer a arquitetura de Sistemas Operacionais.

HABILIDADES E COMPETÊNCIAS

• Compreensão para a estrutura de um Sistema Operacional;

• Entendimento dos processos dentro de um sistema operacional.

aplicativos

hardware

discos memória redeportasUSB

editor detextos

reprodutorde mídia

editorgrá�co

Sistema Operacional

Na na na na na na na na na Na na na na na na na na na Na na na na na na na na na Na na na na na na na na na Na na na na na na na na na Na na na na na na na na na Na na na na na na na na na Na na na na na na na na na

Page 36: sistemas_operacionais_1_2015.pdf

36 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS36

2.1 CLASSIFICAÇÃO DO SISTEMA OPERACIONAL

Existem duas classificações que o sistema operacional pode ser desenvolvido.

Vamos conhecer estas classificações:

2.1.1 MONOTAREFA

O sistema operacional que usa a classificação Monotarefa é aquele que consegue

executar uma tarefa de cada vez. Neste caso, ao ser executado um determinado

aplicativo, ele somente trabalhará com os processos referentes a este aplicativo aberto.

Assim, não é possível executar outros programas ao mesmo tempo.

Hoje, é praticamente inviável utilizar sistemas operacionais que utilizem a

classificação monotarefa.

As informações necessitam que sejam executadas em mais de um aplicativo

devido à demanda que é solicitada, hoje, no mercado profissional. Esta classificação

era muito usada nos mainframes.

UPC

Memória

Dispositivosde E/S

Programa / Tarefa

Figura 20 - Monotarefa.

Adaptada de: <http://images.slideplayer.com.br/1/90071/slides/slide_14.jpg>.

Page 37: sistemas_operacionais_1_2015.pdf

3737UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 37

2.1.2 MULTITAREFA

O sistema multitarefa veio para substituir o monotarefa. Este é mais eficiente

e complexo. Neste caso, no sistema multitarefa, o sistema operacional executa vários

programas ao mesmo tempo, e eles dividem os mesmos recursos.

Desse modo, os programas estão se revezando na CPU. Com isso, você pode

imaginar que os programas estão usando a CPU ao mesmo tempo, mas, na verdade,

eles estão intercalando o uso da CPU. Ou seja, não estão rodando paralelamente,

estão se revezando.

CPU

MemóriaPrincipal

Sistema Multiprogramável / Multitarefa

Programa / Tarefa

Programa / Tarefa

Programa / Tarefa

Programa / Tarefa

DispositivosE/S

Figura 21 - Multitarefa.

Adaptada de: <http://4.bp.blogspot.com/_anZk5qp34jQ/TQpkdEIPC_I/AAAAAAAAABE/Fh4P1GNFPno/s400/SO2.jpg>.

2.2 CLASSIFICAÇÃO DE USUÁRIOS

Existem, também, duas classificações de usuários para o sistema operacional.

Vamos conhecê-las:

Page 38: sistemas_operacionais_1_2015.pdf

38 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS38

2.2.1 MONOUSUÁRIOS

A classificação monousuário é o sistema que aceita somente um único usuário

de cada vez. Isso significa que, se temos um usuário utilizando o sistema operacional,

nenhuma outra pessoa poderá usar este sistema operacional.

2.2.2 MULTIUSUÁRIOS

Já a classificação Multiusuários é aquele que aceita diversos usuários

simultaneamente. Neste caso, podemos ter vários usuários conectados ao mesmo

tempo, em tempo real, no sistema operacional.

2.3 PROCESSADORES

Vamos falar, agora, sobre a quantidade de processadores que o sistema

operacional pode utilizar:

2.3.1 MONOPROCESSADO

Quando um sistema operacional trabalha somente com um processador, isso

significa que estamos com um sistema operacional Monoprocessado. Claro que, neste

caso, as aplicações não serão processadas simultaneamente, pois só temos um único

processador sendo utilizado no sistema operacional.

Desse modo, é muito importante conhecer o hardware para verificar quantos

processadores existem.

Page 39: sistemas_operacionais_1_2015.pdf

3939UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 39

2.3.2 MULTIPROCESSADO

Quando estamos diante de um equipamento que contém mais de um núcleo de

processamento, sabemos que este é um sistema operacional que utiliza a classificação

multiprocessado.

Esta é a melhor opção para se trabalhar junto ao sistema operacional, pois, desta

forma, o sistema operacional obterá uma performance melhor e poderá trabalhar

simultaneamente com os seus processos junto a CPU.

2.4 PROCESSOS

Todo sistema operacional trabalha com processos. Um processo é um local

onde um programa é executado.

Neste local, que chamamos de processo, contém o quanto de recursos cada

programa poderá utilizar na solicitação feita ao sistema operacional. Exemplos:

endereçamento na área do disco, tempo de processador etc.

Com o processo, um determinado programa pode alocar os recursos solicitados,

trocar e compartilhar informações etc. No caso dos processos serem executados em

um sistema multitarefa, os processos serão executados de forma concorrente. Assim,

eles compartilham o uso da memória, processador, dispositivos, entre outros.

O processo é composto por três partes: contexto de software, contexto de

hardware e espaço de endereçamento.

No contexto de software, são determinados os limites e características de cada

recurso que deve ser alocado pelo processo, como, por exemplo, o número máximo de

arquivos que podem ser abertos simultaneamente, tamanho do buffer, entre outras

ações.

Page 40: sistemas_operacionais_1_2015.pdf

40 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS40

Já no contexto de hardware, o processo armazena as informações dos

registradores gerais da CPU. Neste caso, quando um processo está sendo executado,

ele armazenará nos registradores do processador.

O espaço de endereçamento é a área de memória em que as instruções e dados

do programa serão armazenados para sua execução.

Cada processo determina seu próprio espaço de endereçamento na memória.

Ele deve proteger este acesso dos demais processos que estão em execução no sistema

operacional.

Executando

Pronto

1

4

2 3

Bloqueado

Fila de Processos Prontos

Figura 22 - Processos.

Adaptada de: <http://www.boscojr.com/so/figuras/estados-processos.png>.

2.5 THREADS

Podemos definir uma Thread como uma sub-rotina de um programa, que de

forma assíncrona, pode ser executada. Ou seja, ela é executada paralelamente ao

processo que foi solicitado.

Page 41: sistemas_operacionais_1_2015.pdf

4141UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 41

A principal vantagem, ao utilizar threads, é minimizar a alocação de recursos

do sistema. Isso permite uma diminuição do overhead (processo/armazenamento em

excesso) e, também, na eliminação dos processos.

As threads são criadas porque o uso de muitos processos nas aplicações

demanda um consumo muito grande dos diversos recursos do sistema. Sempre que é

gerado um novo processo, o sistema aloca os recursos para cada processo, desta forma,

consumindo tempo de processador. Ao término do processo, o sistema necessita de

tempo para desalocar os recursos previamente reservados para o processo.

Outro ponto importante para ser utilizado as threads, é em relação ao espaço

de endereçamento que o processo solicita. Como cada processo determina seu uso de

espaço de endereçamento, esta comunicação entre os processos fica difícil e também

lenta.

Figura 23 - Threads.

Disponível em: <http://e.cdn-hardware.com.br/static/20110103/m438da1d5.jpg>.

Page 42: sistemas_operacionais_1_2015.pdf

42 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS42

2.6 ESCALONAMENTO

Vamos falar sobre o escalonamento no sistema operacional.

Como funciona a política de escalonamento:

2.6.1 POLÍTICA DE ESCALONAMENTO

A política de escalonamento é feita por parâmetros estabelecidos para

determinar quais processos estão prontos e, assim, o processo deverá ser escolhido

pelo sistema operacional para fazer uso do processador.

Este escalonamento é feito por meio do sistema operacional, que gera uma

rotina. Este processo não é uma tarefa fácil, e o sistema operacional deve estar

preparado para exercer este escalonamento.

Existem alguns pontos importantes para que o sistema operacional utilize o

Escalonamento:

• Maximizar o número de tarefas que serão processadas;

• Diminuir o tempo de resposta para os usuários;

• Evitar que recursos sejam desperdiçados;

• Manter todos os recursos trabalhando, evitando ociosidade;

• Determinar que todos os processos sejam tratados de forma igual;

Page 43: sistemas_operacionais_1_2015.pdf

4343UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 43

Execução(Processador)

Pronto

EscalonadorProcesso

Processo

Processo

Processo

ProcessoProcesso

Espera

Figura 24 - Escalonamento.

Adaptada de: <http://www.soffner.com.br/img60.gif>.

2.7 DEADLOCKS

Quando temos vários processos trabalhando em conjunto, é imprescindível que

estejam em suas filas adequadas. Caso isso não aconteça, pode ocasionar o deadlocks.

Vamos conhecer o que isso significa:

2.7.1 CONCEITOS DO DEADLOCKS

Os processos utilizam inúmeros recursos do sistema, e estes processos são

executados um de cada vez. Dentro destes vários recursos que temos, podem ser

processos solicitando utilizar o HD, impressoras, entre muitos outros. Se dois processos

tentarem, por exemplo, escrever simultaneamente no HD, haverá um conflito.

Page 44: sistemas_operacionais_1_2015.pdf

44 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS44

Esta tentativa de usar o mesmo dispositivo em processos diferentes ao mesmo

tempo, gerará um sistema corrompido. Por isso, é muito importante que o sistema

operacional seja capaz de garantir o acesso exclusivo de um processo aos seus recursos.

Figura 25 - Deadlocks.

Adaptada de: <http://csunplugged.org/sites/default/files/cartoons/deadlock.jpg?1286488735>.

2.7.2 DETECÇÃO DE DEADLOCK

Como já identificamos que um deadlock ocorre quando duas ou mais tarefas

tentam utilizar, ao mesmo tempo, um determinado recurso de sistema, ocorre um

bloqueio permanente em uma das duas solicitações.

Vamos mostrar um exemplo de estado de deadlock:

Page 45: sistemas_operacionais_1_2015.pdf

4545UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 45

T1 T2

R1 R2

Figura 26 - Deadlocks.

Adaptada de: <http://images.slideplayer.com.br/7/1718062/slides/slide_7.jpg>.

T1 significa o PROCESSO 1.

Este processo, conforme a imagem mostra, já tem um bloqueio no recurso (R1).

Ao mesmo tempo, este processo solicita um bloqueio no recurso (R2).

Já o T2, que é o PROCESSO 2, tem um bloqueio no recurso (R2) e solicitou um

bloqueio no recurso (R1).

Como nenhum processo pode continuar até que um recurso esteja disponível,

e, ao mesmo tempo, nenhum recurso pode ser liberado até que a tarefa prossiga,

ocorre um estado de Deadlock, ou seja, um conflito entre os processos.

2.7.3 COMO EVITAR DEADLOCKS

O deadlock até pode ser evitado, mas o sistema operacional deve adotar esta

estratégia. Ele é o responsável por alocar os processos junto aos recursos, portanto

deve ser feito de forma cuidadosa. Ele deve ser capaz de verificar e tomar a decisão

de liberar, ou não, um recurso.

Page 46: sistemas_operacionais_1_2015.pdf

46 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS46

Por isso, vemos a importância e complexidade que é para o desenvolvimento de

um sistema operacional. É necessário que todos estes processos caminhem de forma

independente e com total precisão para evitar danos constantes junto ao sistema

operacional.

P

R

Requested

P

R

Allocated

P1

P2

R1 R2

Deadlocked

Figura 27 - Deadlocks.

Adaptada de: <https://cs.nyu.edu/~gottlieb/courses/2000-01-spring/os/lectures/figs/resource-alloc.png>.

2.8 ENTRADA E SAÍDA

O sistema operacional, entre muitas outras funções que é de sua responsabilidade,

deve controlar todos os dispositivos de entrada e saída (E/S) de um computador. É seu

papel enviar comando para os dispositivos, verificar interrupções e tratar os erros

informados.

Page 47: sistemas_operacionais_1_2015.pdf

4747UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 47

Monitor

Teclado

Dispositivo USBMouseControlador de IDMControlador de SISC

Placa de Vídeo

Placa de Som

Ethernet

Portas Paralelas Portas Seriais

CD / DVD

Disco Flexível

Figura 28 - Entrada e Saída.

Disponível em: <http://www.gta.ufrj.br/grad/08_1/virtual/NotesImages/Topic13NotesImage3.jpg>.

É fundamental, também, que ele forneça uma interface entre os dispositivos de

E/S e o restante do sistema.

Dispositivos deE/S

Dispositivos deArmazenamento

SistemaOperacional

Memória Hardware

transfere dados

são tipos de

é compostopor vários

realiza

trata

interage

gerência

é um

abstraem

são

Drivers

Interrupções

RAID

OutrosDispositivos

Figura 29 - Dispositivos E/S.

Adaptada de: <http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Definicoes_Gerais.png/480px-Definicoes_Gerais.png>.

Page 48: sistemas_operacionais_1_2015.pdf

48 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS48

2.8.1 PRINCÍPIOS DO HARDWARE

Existem diversas formas de se enxergar o hardware.

No nosso caso, em sistemas operacionais, iremos somente falar sobre como o

hardware é programado e interpretado pelo sistema operacional.

Estes dispositivos podem ser classificados em duas grandes categorias:

dispositivos de bloco e dispositivos de caracteres.

Um dispositivo de bloco deve armazenar informações em determinados blocos

de tamanhos fixos, e cada um deve ter seu próprio endereço.

O ponto principal do dispositivo de bloco é a possibilidade de escrever ou ler

bloco a bloco, independente de todos os outros. Um exemplo de disposto de bloco é

o HD.

Já o dispositivo de caracteres libera uma fila de caracteres sem a necessidade de

definir estrutura de bloco, ou seja, ele não é endereçável e, por isso, não aceita que

sejam feitas operações de busca. Um exemplo para este dispositivo são as impressoras.

Muitos destes controladores, principalmente os que são em blocos, suportam o

Acesso Direto à Memória (DMA).

Vamos entender como os discos operam sem o DMA. Primeiro, o controlador

do dispositivo lê o determinado bloco, e isso é feito bit a bit, até que ele, o bloco,

esteja transferido para o buffer interno do controlador. Depois disso, o controlador

verifica a operação para certificar que o bloco está livre de erros.

Esse processo é cíclico, em que o sistema operacional trabalha junto à CPU,

ocasionando um grande tráfego de informações.

Com este ciclo, consome-se um bom tempo da CPU.

Page 49: sistemas_operacionais_1_2015.pdf

4949UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 49

O DMA foi criado exatamente para liberar a CPU desta tarefa. Quando ele é

utilizado, a CPU fornece duas informações ao controlador: o endereço de memória,

informando para onde o bloco deve ser copiado, e o número de bytes a serem

transferidos.

2.8.2 PRINCÍPIOS DE SOFTWARE

O principal objetivo dos softwares de E/S é organizá-lo de forma que a

complexidade do hardware seja apresentada de forma mais simples possível para o

usuário.

Neste caso, o principal conceito de software de E/S é a independência dos

dispositivos. Os programas que utilizam arquivos devem trabalhar independentemente

do local onde este arquivo se encontra armazenado.

Outro ponto muito importante é a manipulação de erros. O ideal é que os erros

sejam manipulados o mais próximo possível do hardware. Por isso, se o controlador

encontra um erro, ele deve ser capaz de corrigi-lo. Caso não seja possível, o driver do

dispositivo entra em ação para tentar corrigi-lo.

Também deve ser observado o uso em relação aos dispositivos compartilhados

e dedicados. Alguns tipos de dispositivos de E/S, como HD, por exemplo, podem ser

utilizados por muitos usuários ao mesmo tempo. Já dispositivos como impressoras,

devem ser dedicados a um único usuário, e somente podem ser utilizados por outros

ao final da operação do primeiro usuário.

Todo dispositivo de entrada e saída contem seu driver. Este driver é capaz de

manipular o dispositivo ou uma determinada classe de dispositivos relacionados a ele.

O driver tem o papel de enviar comandos para os registradores do dispositivo

e testá-los se foram carregados adequadamente. De uma forma geral, a função de

um driver é aceitar as solicitações de um software de alto nível, encaminhar para o

hardware o pedido solicitado e garantir que ele seja atendido.

Page 50: sistemas_operacionais_1_2015.pdf

50 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS50

Resumindo: Um driver atua como uma espécie de tradutor entre o dispositivo e

os programas ou o sistema operacional.

Figura 30 - Driver.

Disponível em: <http://mytechquest.com/blog/wp-content/uploads/2008/12/drivermax-search-unknown-device.jpg>.

Por isso que, sempre que instalamos algum periférico novo em nosso computador

e o nosso sistema operacional é um sistema Plug and Play (reconhecimento automático

de periférico), automaticamente ao acessar o sistema operacional pela primeira vez,

após inserir o periférico, ele busca instalar o driver deste determinado dispositivo. Caso

ele não encontre, solicitará a você que faça a instalação manual do driver diretamente

pelo fabricante.

Page 51: sistemas_operacionais_1_2015.pdf

5151UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 51

Figura 31 - Driver.

Disponível em: <http://imagens.canaltech.com.br/45972.63436-Drivers.jpg>.

CONHEÇA MAIS

O que é Plug and Play?

A tecnologia Plug and Play (PnP) , que significa “ligar e usar”, foi desen-

volvida para que o computador identifique e configure automaticamente

qualquer dispositivo que seja conectado nele. Facilitando, assim, a instala-

ção segura nos computadores e evitando a configuração manual. Para que

esta tecnologia funcione adequadamente, são necessários quatro itens:

• Suporte pela BIOS;

• Barramentos compatíveis;

• Suporte do sistema operacional e

• Suporte do periférico.

Disponível em: <http://www.logoarena.com/contestimages/public_new/2383/thumb_226_1363702475_plug.png>.

2.8.3 TERMINAIS

Todo computador, em geral, tem no mínimo um teclado e um monitor de vídeo,

os quais são utilizados para uma comunicação.

Page 52: sistemas_operacionais_1_2015.pdf

52 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS52

Existem diversos tipos de terminais. Vamos falar dos três mais comuns:

• Terminais Independentes para uso em computadores de grande

porte. Estes terminais são dispositivos de hardware que contêm tanto

um teclado quanto um monitor de vídeo e que fazem a comunicação por

meio de uma interface serial, utilizando um bit de cada vez. Estes tipos de

terminais ainda são bastante utilizados em computadores de grande porte,

pois permitem que um usuário remoto se comunique com o computador

de grande porte.

• Interfaces gráficas para o usuário. Hoje, a maioria dos sistemas opera-

cionais usam uma interface gráfica do usuário, conhecida como Graphical

User Interface (GUI). Uma GUI tem quatro elementos fundamentais: janelas,

ícones, menus e apontador. O software de uma interface gráfica pode ser

implementado de forma visual, ou por intermédio de código, como é feito

nos sistemas Unix.

• Terminais de Rede. São usados para conectar, por meio de uma rede, um

usuário remoto ao computador, seja esta rede local ou mesmo de longa

distância. Este processo é permitido por intermédio de autorizações no

sistema operacional e, também, feito por programas desenvolvidos por

terceiros.

Page 53: sistemas_operacionais_1_2015.pdf

5353UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS 53

2.9 CONSIDERAÇÕES DA UNIDADE II

Nesta unidade, falamos sobre a arquitetura de sistemas operacionais. Come-

çamos ao identificar a classificação do sistema operacional, falando da classificação

monotarefa e multitarefa.

Na sequência, compreendemos as diferenças das classificações de usuários

do sistema operacional, como os Monousuários e os Multiusuários, e, também,

identificamos os processadores como Monoprocessado e Multiprocessador.

Desmistificamos os conceitos e a complexidade dos Processos. Conhecemos

seus conceitos, formatação e como é composto. Identificamos os conceitos de Threads

e a sua importância. Aprendemos, também, sobre a política de escalonamento e como

ela trabalha junto ao sistema operacional. Obtivemos conhecimentos sobre o que

significa Deadlocks e o que ocasiona. Vimos, também, como identificar e evitar os

Deadlocks.

Para encerrar, observamos como o sistema operacional identifica os dispositivos

de entrada e saída, bem como identificá-los. Conhecemos os princípios do hardware

e de software, drivers dos dispositivos e o significado da tecnologia Plug and Play.

Analisamos como o sistema operacional trabalha com terminais.

Aproveite, agora, e acesse o seu Ambiente Virtual de Aprendizagem (AVA) para

assistir às teleaulas e também participar dos Fóruns para uma melhor compreensão

dos conteúdos. Esperamos por você!

Page 54: sistemas_operacionais_1_2015.pdf

54 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS54

TESTE SEU CONHECIMENTO

Page 55: sistemas_operacionais_1_2015.pdf

5555UNIDADE III - SISTEMAS DE ARQUIVOS

3U N I D A D E I I I SISTEMAS DE ARQUIVOS

OBJETIVOS DA UNIDADE

• Conhecer gerenciamento de arquivos.

HABILIDADES E COMPETÊNCIAS

• Compreensão para a estrutura de gerenciamento de arquivos;

• Conhecimento sobre os sistemas de arquivos.

Page 56: sistemas_operacionais_1_2015.pdf

56 UNIDADE III - SISTEMAS DE ARQUIVOS

3.1 INTRODUÇÃO A SISTEMAS DE ARQUIVOS

Todos os programas necessitam armazenar informações e recuperá-las. No

processo de execução, o programa armazena uma quantidade limitada de informação

dentro do seu espaço de endereçamento. Para algumas determinadas aplicações, o

tamanho determinado pode ser adequado, mas para outras, como, por exemplo,

sistemas corporativos, sistemas bancários etc., torna-se muito pequeno.

Outro detalhe importante é manter a informação dentro do espaço de

endereçamento do processo, pois quando ele termina, as informações são perdidas.

Em diversas aplicações, as informações necessitam ficar retidas por muito tempo ou,

até mesmo, para sempre.

Devemos verificar, também, que geralmente é necessário alguns processos

acessarem informações ao mesmo tempo. Para este caso, a única solução é tornar as

informações independentes de qualquer tipo de processo.

Desta forma, existe a necessidade de três requisitos importantes para fazer o

armazenamento de informação por um longo período:

• Possibilidade de armazenamento de grande quantidade de informação;

• Toda informação deve estar disponível, mesmo ao término de cada processo;

• Vários processos devem ser capazes de acessar as informações de forma

simultânea.

Desta forma, hoje é utilizada a solução em que se armazena a informação em

discos e, também, em outros meios externos denominados ARQUIVOS. Assim, todo

processo pode ler ou criar estes arquivos em caso de necessidade.

Toda informação armazenada em arquivos deve ser do tipo persistente, ou seja,

não pode sofrer alteração pela criação ou também pelo término de um processo. O

padrão é: um arquivo só pode ser removido quando o proprietário (quem criou este

arquivo) efetuar esta solicitação.

Page 57: sistemas_operacionais_1_2015.pdf

5757UNIDADE III - SISTEMAS DE ARQUIVOS

O sistema operacional é o que gerencia os arquivos. Como eles devem

ser estruturados, nomeados, usados, protegidos e implementados, ficam sob a

responsabilidade do sistema operacional. Esta função dentro do sistema operacional é

identificada como Sistema de Arquivos.

Figura 32 - Sistema de Arquivos.

Disponível em: <http://img.ibxk.com.br/materias/10307/42756.jpg>.

3.2 CONCEITOS E USO DE ARQUIVOS

Arquivos são mecanismos de abstração. Eles permitem armazenar informações

em disco e efetuar a leitura a qualquer momento. A forma que isso é feita deve afastar

o usuário final de como e onde estas informações estão armazenadas. Lembre-se: elas

devem estar acessível de forma fácil!

Page 58: sistemas_operacionais_1_2015.pdf

58 UNIDADE III - SISTEMAS DE ARQUIVOS

Figura 33 - Sistema de Arquivos.

Adaptada de: <http://blog.grancursosonline.com.br/wp-content/uploads/2013/10/ARQUIVOLOGIA_MARCOS.jpg>.

3.2.1 NOMEANDO ARQUIVOS

Quando um programa abre um processo para criar um arquivo, ele obrigatoria-

mente dá um nome para ele. Quando o processo é finalizado, este arquivo continua

existindo, pois é armazenado no HD. Com isso, outros processos podem ter acesso a

ele somente efetuando uma busca pelo nome.

Cada sistema operacional determina as regras com a finalidade de originar

um nome de arquivo. O mais comum para todos os sistemas operacionais é criar um

conjunto de caracteres que vai de um até oito letras ou números (alfanuméricos).

Alguns sistemas operacionais permitem criar nomes de arquivos com caracteres

especiais, como: nome.1, falcão3 etc.

Um ponto bastante importante é que alguns sistemas operacionais fazem

separação entre letras minúsculas e maiúsculas. Outros, não. Por exemplo, o sistema

operacional UNIX faz esta separação.

Neste caso, é possível, neste sistema operacional, ter arquivos com informações

diferentes, mas com seus nomes iguais: trabalho, Trabalho e TRABALHO. O sistema

operacional identifica cada caractere pelo seu código, assim, a letra “t” é diferente da

letra “T”. Já em sistemas como o nosso antigo MS-DOS, isso não é possível.

Page 59: sistemas_operacionais_1_2015.pdf

5959UNIDADE III - SISTEMAS DE ARQUIVOS

Geralmente, os sistemas operacionais geram arquivos com duas partes que são

separadas por um “.” (ponto).

Exemplo: trabalho.txt

Assim, temos a primeira parte como o nome dado ao arquivo e, após o “ponto”,

temos a extensão deste arquivo, que se refere ao programa que o criou.

Na grande parte dos sistemas operacionais, a extensão utiliza três caracteres.

Já em sistemas operacionais como o UNIX, a extensão fica a critério do usuário que

gerou o arquivo.

Na tabela a seguir, temos exemplos de extensão de arquivos:

EXTENSÃO SIGNIFICADO

arquivo.jpg Arquivo de imagem do tipo JPG

arquivo.exe Arquivo compilado do tipo executável

arquivo.html Arquivo de internet (hypertext mark-up language)

arquivo.txt Arquivo do tipo Texto

arquivo.mp3 Arquivo do tipo música

arquivo.bat Arquivo de sistema

Tabela 1 - Tabela de extensão.

Fonte: Elaborado pelo autor.

3.2.2 TIPOS DE ARQUIVOS

Grande parte dos sistemas operacionais suportam diversos tipos de arquivos.

Existem os arquivos que são do tipo ASCII. Eles são criados por meio de linhas

de textos. Os arquivos do tipo ASCII podem ser exibidos e impressos exatamente como

são, e podem ser, também, editados.

Page 60: sistemas_operacionais_1_2015.pdf

60 UNIDADE III - SISTEMAS DE ARQUIVOS

Outro tipo é o binário. Este tipo de arquivo é mais complexo, pois contém,

em sua estrutura interna, informações somente conhecidas pelos programas que os

gerou.

Todos os sistemas operacionais devem reconhecer os seus tipos de arquivos

suportados. No Windows, por exemplo, ao abrir um arquivo, o programa associado

a ele é carregado. Isso é o sistema operacional que determina, com base na extensão

do arquivo.

3.2.3 ACESSO AOS ARQUIVOS

Nas primeiras versões dos sistemas operacionais, geralmente o acesso feito aos

arquivos é somente sequencial. Neste tipo de sistema, o processo pode ler todos os

bytes de um determinado arquivo, partindo do seu início, não sendo possível saltar e ler

em ordem diferente. Neste tipo de acesso era conveniente quando o armazenamento

era feito ainda em fitas magnéticas.

Com o surgimento dos discos de armazenamento (HD), foi possível efetuar a

leitura de bytes de um determinado arquivo fora da ordem. Isso pode ser feito, por

intermédio ao seu registro, pela chave de identificação, e não pela sua posição.

Este tipo de acesso é chamado de arquivos de acesso aleatório e é fundamental

para diversas aplicações como sistemas bancários, entre muitos outros.

Hoje, os sistemas operacionais trabalham todos os seus arquivos com o acesso

aleatório.

Page 61: sistemas_operacionais_1_2015.pdf

6161UNIDADE III - SISTEMAS DE ARQUIVOS

Figura 34 - Acesso aos arquivos.

Disponível em: <http://www.fusaowebsites.com.br/wp-content/uploads/2013/08/arquivos_digitais13.jpg>.

3.2.4 ATRIBUTOS DE ARQUIVOS

Em todo arquivo criado, além do seu nome e dados, são associadas várias

informações, como: data e horário em que foi criado, tamanho do arquivo etc. Estes

itens são chamados de Atributos do arquivo. Estes atributos variam conforme seu

sistema operacional.

A seguir, vamos conhecer os principais atributos de um arquivo:

ATRIBUTO SIGNIFICADO

Senha Senha obrigatória para obter acesso ao arquivo

Proteção Quem poderá ter acesso ao sistema

Criador Identificação de quem criou o arquivo

Proprietário Quem é o atual proprietário do arquivo

Tamanho Atual Número de bytes referentes ao arquivo

Tamanho Máximo Número de byte que o arquivo pode ter

Último Acesso Data e horário do último acesso ao arquivo

Última Alteração Data e horário da última alteração feita no arquivo

Tabela 2 - Tabela de atributos.

Fonte: Elaborado pelo autor.

Page 62: sistemas_operacionais_1_2015.pdf

62 UNIDADE III - SISTEMAS DE ARQUIVOS

3.2.5 OPERAÇÕES COM ARQUIVOS

Os sistemas operacionais oferecem diversas formas de armazenamento e

recuperação de informações. Vamos ver na sequência como são feitas estas chamadas

de sistema em relação aos arquivos:

• Create: Neste ponto, o arquivo é somente criado, sem nenhum dado

inserido, mas ele já existe no sistema com seus atributos;

• Open: Para que o arquivo seja utilizado, é necessário que exista o processo de

abertura. Esta chamada define que o sistema efetue a abertura do arquivo;

• Delete: Esta chamada determina a remoção do arquivo quando ele não é

mais necessário;

• Close: Toda vez que os processos em relação ao arquivo são finalizados, ele

deve ser fechado para liberar espaço na tabela interna;

• Read: Esta chamada permite efetuar a leitura dos dados do arquivo;

• Write: Esta chamada efetua a escrita dos dados no arquivo. Geralmente em

seu ponto atual, e não no final do arquivo;

• Append: Efetua a escrita, no arquivo, de forma restrita;

• Seek: Esta chamada reposiciona o ponteiro de arquivo para um determinado

local específico, a fim de obter um acesso aleatório a ele;

• Get Attributes: Esta chamada permite que os processos tenham acesso a

todos os dados de atributos relacionados ao arquivo;

• Set Attributes: Permite a alteração de atributos do arquivo pelo usuário ou

por meio do processo que está em execução;

• Rename: Esta chamada permite renomear um determinado arquivo.

Page 63: sistemas_operacionais_1_2015.pdf

6363UNIDADE III - SISTEMAS DE ARQUIVOS

3.3 CONCEITOS E USO DE DIRETÓRIOS

Para que seja necessário controlar os arquivos, os sistemas operacionais

gerenciam por intermédio de diretórios ou de pastas. Vamos conhecer os níveis de

diretórios.

3.3.1 NÍVEL ÚNICO

O nível único (single-level directory) é uma maneira mais simplificada de

implementação de diretórios. Existe um único diretório, em que ficam armazenados

todos os arquivos em disco.

Este sistema era usado antigamente e é bastante limitado, pois não permite

que os usuários criem novos arquivos com nomes idênticos, pois isso acarretaria em

um conflito nos acessos.

Diretótio-raiz

A A B C

Figura 35 - Nível único.

Adaptada de: <http://images.slideplayer.com.br/2/353906/slides/slide_22.jpg>.

Page 64: sistemas_operacionais_1_2015.pdf

64 UNIDADE III - SISTEMAS DE ARQUIVOS

3.3.2 DOIS NÍVEIS

Para evitar o problema de diferentes usuários escolherem nomes idênticos para

seus arquivos, a solução encontrada foi a de oferecer a cada usuário um diretório

privado.

Desta forma, os nomes que forem escolhidos por um determinado usuário,

não irão interferir nos nomes escolhidos de outros usuários. Neste caso, o sistema

operacional sabe exatamente qual usuário está efetuando a solicitação de um

determinado arquivo. Assim, ao solicitar a abertura, por exemplo, o sistema operacional

sabe exatamente a qual usuário o arquivo pertence.

Diretório de dois níveis

master�ledirectory

user �ledirectory

user 1

cat bo a test a a axdata datatest

user 2 user 3 user 4

Figura 36 - Dois níveis.

Adaptada de: <http://images.slideplayer.com.br/2/353906/slides/slide_22.jpg>.

3.4 OPERAÇÕES COM DIRETÓRIOS

Para gerenciar os diretórios, cada sistema operacional utiliza sua forma de

acessos. Esses gerenciamentos variam para cada Sistema Operacional. Abaixo segue

exemplos de comando que o sistema operacional (UNIX) utiliza no gerenciamento de

Page 65: sistemas_operacionais_1_2015.pdf

6565UNIDADE III - SISTEMAS DE ARQUIVOS

diretórios:

• Create: Criar um Diretório;

• Delete: Remover um diretório;

• Opendir: Ler diretórios;

• Closedir: Fechar o diretório;

• Readdir: Retornar a próxima entrada de um diretório em aberto;

• Rename: Trocar o nome do diretório;

• Link: Possibilitar um arquivo aparecer em mais de um diretório;

• Unlink: Remover uma entrada de diretório.

Figura 37 - Diretórios.

Disponível em: <http://upload.wikimedia.org/wikipedia/commons/2/21/FilesAndFolders.png>.

Page 66: sistemas_operacionais_1_2015.pdf

66 UNIDADE III - SISTEMAS DE ARQUIVOS

3.5 ALOCAÇÃO DE ESPAÇO EM DISCO

Como os arquivos geralmente são armazenados em disco, o gerenciamento

do espaço em disco é uma das grandes preocupações de quem desenvolve sistemas

operacionais.

Todo esse controle é feito com uma estrutura de dados que organizam e

armazenam as informações. Assim, possibilita que o sistema de gerenciamento de

arquivos possa gerenciar todo o espaço livre do disco.

Existem formas diferentes de efetuar implementações para controle dos espaços

livres.

A forma mais simples é chamada de mapa de bits.

Isso é feito por meio de uma tabela, em que cada entrada em uma tabela é

ligada a um determinado bloco, sendo representado por um único bit, que pode ter

valor igual a zero (bloco vazio) ou um (bloco sendo utilizado).

Outra maneira de implementar, é por intermédio da realização do controle por

meio de ligação encadeada de todos os blocos livres. Assim, cada bloco pode separar

uma área reservada para armazenar o respectivo endereço solicitado ao próximo bloco

livre. Desse modo, por meio do primeiro bloco, pode-se ter um acesso sequencial aos

outros, de uma forma encadeada.

Page 67: sistemas_operacionais_1_2015.pdf

6767UNIDADE III - SISTEMAS DE ARQUIVOS

Inicio

110011011000011101110100

11100000

4

10

13

25

50

2

1

7

20

5

Bloco Contador

(a) Mapa de bits (b) Lista encadeada (c) Tabela de blocos livres

Figura 38 - Alocação de Espaço em Disco.

Adaptada de: <http://4.bp.blogspot.com/-Y9t81vuxwcY/T_NduEeiWvI/AAAAAAAAAoM/lSr4xne2vbU/s1600/memoriaextra.png>.

É fundamental, também, que o controle de espaços alocados aos arquivos seja

gerenciado de forma adequada. Para isso, existem algumas técnicas de alocação que

veremos a seguir.

3.5.1 ALOCAÇÃO CONTÍGUA

Esta técnica permite armazenar arquivos em blocos, sequencialmente. Desta

forma, o sistema operacional identifica um arquivo, por meio do seu endereço,

referente ao primeiro bloco e, também, de sua extensão em blocos.

As principais estratégias para esta técnica são:

• First-fit: Neste caso, a busca na lista é sequencial, sendo interrompida assim

que for encontrado o segmento procurado;

Page 68: sistemas_operacionais_1_2015.pdf

68 UNIDADE III - SISTEMAS DE ARQUIVOS

• Best-fit: É feito uma busca em toda a lista para selecionar o segmento

desejado, a não ser que a lista já esteja ordenada por tamanho;

• Worst-fit: Aqui, o maior segmento é alocado e também é feita a busca pela

lista completa, a menos que já tenha uma ordenação por tamanho.

A. TXT

B. TXT

C. TXT

4

10

13

Arquivo Bloco0 1 2

3 4 5

6 7 8

9 10 11

12 13 14

3

1

2

Extensão

Figura 39 - Alocação contigua.

Adaptada de: <http://4.bp.blogspot.com/- http://4.bp.blogspot.com/-V0K-kmIM5ig/Trm6xiSNWtI/AAAAAAAABdQ/buueI7HPN3k/

s1600/Untitled.png>.

Page 69: sistemas_operacionais_1_2015.pdf

6969UNIDADE III - SISTEMAS DE ARQUIVOS

3.5.2 ALOCAÇÃO ENCADEADA

No caso da alocação encadeada, a fragmentação dos espaços livres não

representa nenhum problema para a alocação, pois os blocos que estão livres,

alocados para um arquivo, não necessitam ser contíguos. O que acontece, neste caso,

é a fragmentação dos arquivos em diversos pedaços e, com isso, damos o nome de

extents.

0 1 2 3 4 5

6 7 8 9 10 11

12 13 14 15 16 17

18 19 20 21 22 23

24 25 26 27 28 29

30 31 32 33 34 35

...

B

...

...

1

...

Nome Bloco inicial Comprimento

File Allocation Table

... ...

...

5

...

...

Figura 40 - Alocação encadeada.

Adaptada de: <http://image.slidesharecdn.com/fat-20271/95/fat-3-728.jpg?cb=1164548618>.

3.5.3 ALOCAÇÃO INDEXADA

A alocação indexada soluciona um grande problema de limitação da alocação

encadeada, que é a impossibilidade de acesso direto aos blocos de um determinado

arquivo.

A regra principal, desta técnica, é manter os ponteiros dos blocos de um

determinado arquivo em uma estrutura única, que chamamos de bloco de índice.

Page 70: sistemas_operacionais_1_2015.pdf

70 UNIDADE III - SISTEMAS DE ARQUIVOS

0 1 2

3 4 5

6 7 8

9 10 11

12 13 14

3

7

10 Bloco de índice11

Figura 41 - Alocação indexada.

Adaptada de: <http://images.slideplayer.com.br/2/345668/slides/slide_28.jpg>.

3.6 PROTEÇÃO DE ACESSO

Em um sistema operacional é fundamental que exista um controle e formas

de proteção de acessos aos arquivos. Temos, basicamente, dois tipos de proteção de

acesso: por grupos de usuários e pela lista de controle de acesso.

A proteção por grupos de usuários permite a proteção baseada por grupos.

Esta forma de proteção tem como base associar cada usuário do sistema a

um determinado grupo. A implementação é feita por três tipos de proteção: owner

(dono), group (grupo) e all (todos). Ao criar o arquivo, são especificados quem e qual

serão os tipos de acesso aos níveis de proteção.

Page 71: sistemas_operacionais_1_2015.pdf

7171UNIDADE III - SISTEMAS DE ARQUIVOS

Owner

DADOS TXT

Group

All

LeituraEscrita

ExecuçãoEliminação

Leitura

Nível de Proteção Tipos de Acesso

Figura 42 - Proteção de Acesso.

Adaptada de: <http://images.slideplayer.com.br/3/1268848/slides/slide_34.jpg>.

Já o ACL (Access Control List) permite verificar quem tem permissões de acessos

a determinados serviços. É uma lista ordenada de princípios com os acessos definidos

para cada grupo ou usuário.

Esta estrutura deve ser ampla, caso um arquivo tenha que ser compartilhado

com diversos usuários.

Usuário: MaiaAcesso: Leitura + Escrita + Execução

Usuário: MachadoAcesso: Eliminação

Usuário: MaiaAcesso: Leitura + Escrita

Usuário: MachadoAcesso: Leitura

Figura 43 - Proteção de Acesso.

Adaptada de: <http://images.slideplayer.com.br/3/1268848/slides/slide_35.jpg>.

Page 72: sistemas_operacionais_1_2015.pdf

72 UNIDADE III - SISTEMAS DE ARQUIVOS

3.7 IMPLEMENTAÇÃO DE CACHES

Como a leitura em disco é muito lenta em relação à memória principal, acaba

se tornando um grande problema para o desempenho do sistema operacional. Para

minimizar o problema, grande parte dos sistemas operacionais implementam a técnica

de buffer cache. Esta técnica permite ao sistema operacional reservar uma área na

memória para que se tornem disponíveis caches utilizados em operações que acessam

o disco.

Para este caso, são necessários alguns cuidados, pois, caso os dados permaneçam

por um tempo maior na memória e ocorram, por exemplo, problemas de energia

elétrica, resultariam em perda de processos já executados e já entendidos como salvos

em disco. Para resolver isso, o sistema pode implementar uma rotina de procedimentos

que executa, em determinados espaços de tempo, atualizações, em disco, dos blocos

alterados em cache. Esta técnica é usada por grande parte dos sistemas operacionais.

Figura 44 - Implementação de Cache.

Adaptada de: <http://images.slideplayer.com.br/3/1268848/slides/slide_35.jpg>.

Page 73: sistemas_operacionais_1_2015.pdf

7373UNIDADE III - SISTEMAS DE ARQUIVOS

3.8 ARMAZENAMENTO EM NUVEM

Como estamos falando de gerenciamento de arquivos, é fundamental falarmos,

também, sobre o conceito e utilização de computação nas nuvens. Quando falamos

deste conceito, significa que temos a possibilidade de acessar e gerenciar arquivos,

bem como de executar diferentes tarefas pela internet, ou seja, você não tem a

necessidade de instalar aplicativos em seu computador, pois pode acessar diferentes

serviços on-line, já que os arquivos não se encontram em um computador específico,

mas, sim, em uma rede.

A grande vantagem destes serviços é que uma vez conectados, é possível

aproveitar todas as ferramentas e armazenar todo seu trabalho que foi feito e, depois,

acessá-lo de qualquer lugar e de qualquer plataforma, ou seja, computador, tablets,

smartphones etc. Somente é necessário ter uma conexão com a internet.

Hoje, temos diversos serviços de armazenamento e gerenciamento de arquivos

em nuvem e alguns gratuito. Vamos conhecer:

Dropbox – O Dropbox é um dos primeiros serviços de armazenamento em

nuvem que surgiu. Até hoje, atende perfeitamente as necessidades dos usuários. Pode

ser acessado via browser, pode também ser instalado um aplicativo no computador

para um gerenciamento mais dinâmico e, também, acessado por meio de tablets

e smartphones. É possível também compartilhar determinados arquivos com outros

usuários, isso facilita muito o trabalho em equipe. Este sistema é gratuito até um

determinado tamanho de armazenamento.

Page 74: sistemas_operacionais_1_2015.pdf

74 UNIDADE III - SISTEMAS DE ARQUIVOS

Figura 45 - Dropbox (www.dropbox.com).

Disponível em: <http://cdn.ilovefreesoftware.com/wp-content/uploads/2009/08/Get_DropBox_Free.png>.

OneDrive (antigo SkyDrive) - O Sistema OndeDrive foi desenvolvido pela

Microsoft. Este serviço foi adicionado aos seus usuários do Hotmail/Outlook. Também

é acessado de todas as plataformas: computador, tablets e smartphones. É gratuito

até um determinado tamanho de espaço utilizado.

Figura 46 - OneDrive (https://onedrive.live.com).

Disponível em: <https://blog.onedrive.com/wp-content/uploads/2014/01/OneDrive-Logo.png>.

Google Drive – Um dos principais sistemas de armazenamento e gerenciamento

de arquivos. Além do gerenciamento de arquivos, o Google Drive integra diversas

ferramentas para o usuário, como: gerar arquivos de textos, planilhas, formulários,

banco de dados, entre outros. Também é gratuito até um determinado tamanho de

espaço utilizado.

Page 75: sistemas_operacionais_1_2015.pdf

7575UNIDADE III - SISTEMAS DE ARQUIVOS

Figura 47 - GoogleDrive (www.google.com/Drive).

Disponível em: <http://www.blogcdn.com/www.engadget.com/media/2013/03/google-drive-masthead-620.jpg>.

Amazon CloudDrive – A Amazon também disponibiliza seus serviços de com-

putação em nuvem, por meio do Amazon ClouDrive. É gratuito até um determinado

tamanho de espaço utilizado. Não tem suporte para Linux, mas tem suporte para

tablets e smartphones.

Figura 48 - Amazon CloudDrive (www.amazon.com/clouddrive).

Disponível em: <https://images-na.ssl-images-amazon.com/images/G/01/00/00/13/67/93/74/1367937430.gif>.

iCloud – Criado pela Apple, é um gerenciador de arquivos na nuvem exclusivo

para usuários de equipamentos Apple. Propõe uma facilidade maior para compartilhar

fotos, localizações, calendários entre família e amigos. Uma das grandes vantagens é

que, se você perder seu dispositivo, o iCloud ajuda a encontrá-lo por intermédio da

geolocalização. Também é gratuito até um determinado espaço utilizado.

Figura 49 - iCloud (https://www.icloud.com/).

Disponível em: <http://media.bestofmicro.com/J/C/313032/original/icloud-apple.png>.

Page 76: sistemas_operacionais_1_2015.pdf

76 UNIDADE III - SISTEMAS DE ARQUIVOS

Existem diversos outros serviços de armazenamento e gerenciamento de

arquivos em nuvem, basta utilizar aqueles que melhor atendem à sua necessidade. E

com tantas opções, acabamos utilizando mais de um destes serviços, e gerenciar todas

as contas torna-se algo complexo e trabalhoso.

Para isso, vem surgindo, no mercado, sistemas que ajudam a gerenciar várias

contas de armazenamento em nuvem em um único sistema. Vamos conhecer algumas

opções:

CloudMesh – O CloudMesh é um gerenciador de arquivos universal que ajuda

na organização dos arquivos em diversos sistemas de armazenamento em nuvem,

como: Dropbox, Onedrive, Google Drive, entre outros.

Figura 50 - CloudMesh (http://www.windowsphone.com/pt-br/store/app/cloudmesh/49be62e7-

4090-4ce8-929c-4c50b1246f01).

Disponível em: <http://media.bestofmicro.com/J/C/313032/original/icloud-apple.png>.

CloudBuckit – Também como CloudMesh. Funciona como um organizador de

serviços de armazenamento em nuvem. É necessário acessar o site e criar uma conta.

Page 77: sistemas_operacionais_1_2015.pdf

7777UNIDADE III - SISTEMAS DE ARQUIVOS

Ao acessar, você poderá cadastrar todas as suas contas de armazenamento em nuvem,

como: o Google Drive, OneDrive, Dropbox, Box, Amazon, Evernote, entre outros. Ele

também permite suporte para pastas em FTP.

Figura 51 - CloudBuckit (http://cloudbuckit.com).

Disponível em: <http://cloudbuckit.com>.

3.9 CONSIDERAÇÕES DA UNIDADE III

Nesta unidade, falamos sobre os sistemas de arquivos. Compreendemos seus

conceitos e formas de uso de arquivos. Conhecemos as principais extensões e tipos

de arquivos, bem como acesso aos arquivos e seus atributos de arquivos. Observamos

também os processos de operações de arquivos e seus conceitos.

Aprendemos sobre os conceitos e o uso de diretórios, os níveis hierárquicos e

também as operações com os diretórios. Na sequência, adquirimos conhecimentos

sobre alocação de espaço em disco e a importância das técnicas utilizadas.

Falamos sobre a proteção de acesso e a necessidade de organização da proteção

por meio de grupos de usuários e, também, sobre o Access Control List.

Por fim, falamos sobre a computação em nuvem. Vimos seus conceitos, formas

de utilização e estrutura. Conhecemos diversos sistemas que utilizam a computação

em nuvem e suas características de uso, ferramentas e aplicabilidade.

Vimos, também, sistemas que gerenciam as diversas contas de armazenamento

e gerenciamento de arquivos, e como implementar todas as contas em um único

aplicativo centralizado, facilitando o uso e manuseio dos arquivos.

Aproveite, agora, e acesse o seu Ambiente Virtual de Aprendizagem (AVA) para

assistir às teleaulas e também para participar do Fórum de Dúvidas. Espero você, lá!

Page 78: sistemas_operacionais_1_2015.pdf

78 UNIDADE III - SISTEMAS DE ARQUIVOS

TESTE SEU CONHECIMENTO

Page 79: sistemas_operacionais_1_2015.pdf

7979UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

4U N I D A D E I V TIPOS DE SISTEMAS OPERACIONAIS

OBJETIVOS DA UNIDADE

• Conhecer os principais sistemas operacionais do mercado.

HABILIDADES E COMPETÊNCIAS

• Compreensão dos tipos de sistemas operacionais;

• Conhecimento do funcionamento e das características dos principais

sistemas operacionais.

Page 80: sistemas_operacionais_1_2015.pdf

80 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

4.1 WINDOWS

Iniciaremos esta Unidade, falando do sistema operacional mais conhecido e

utilizado em geral, o Windows.

O principal trunfo, na época em que deu seu início no sucesso da informática,

foi a interface gráfica, facilitando para operar os computadores. Antes, não existia

uma interface visual e de fácil usabilidade. Este recurso proporcionou aos usuários de

computadores, principalmente aos que tinham pouco conhecimento em informática,

usarem os desktops de forma fácil e ágil.

Por meio das janelas, tudo ficou mais simples e fácil de operar e efetuar

os comandos. E, até hoje, a interface gráfica é o principal trunfo da Microsoft,

desenvolvedora deste Sistema Operacional.

Figura 52 - Windows.

Disponível em: <http://pplware.sapo.pt/wp-content/uploads/2012/10/winmetro-00-pplware.jpg>.

Page 81: sistemas_operacionais_1_2015.pdf

8181UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Hoje, a grande evolução do Windows é a integração da sua interface gráfica com

dispositivos móveis (tablets e smartphones). Devido aos equipamentos com o sistema

operacional Windows dominarem a grande parte do mercado de computadores, tem

a vantagem de existir mais programas comerciais, jogos, entre outros, compatíveis

com este sistema operacional. Claro que, em contrapartida, os riscos de segurança

aumentam muito, tendo a necessidade de se ter antivírus sempre atualizado e funcional

para evitar problemas.

O Windows foi desenvolvido com a linguagem C. Algumas partes são

desenvolvidas com C++ e Assembly. Hoje, temos versões que rodam em 32 bits e 64

bits. Isso significa que, se o processador trabalha com 64 bits, o Windows irá usá-lo

desta forma, ou seja, utilizará os dados na ordem de 264. A vantagem também de

utilizar 64 bits, é que o sistema operacional usará uma maior quantidade de memória

RAM para endereçamentos.

Hoje, com a nova versão em lançamento, a versão 10, a Microsoft procurou

manter o menu “Iniciar”, pois os usuários já estavam acostumados, nas versões

anteriores, mas que tinha sido ocultado na versão 8.

Figura 53 - Windows 10.

Disponível em: <http://s2.glbimg.com/jCbxBqEZ3rXkruB8uk8NRgZLi0I=/0x0:741x362/695x340/s.glbimg.com/po/tt2/f

original/2014/09/30/windows_10.1.png>.

Page 82: sistemas_operacionais_1_2015.pdf

82 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Em relação ao design, houve poucas mudanças em relação à versão 8.1.

Um dos recursos disponíveis é a Live Tiles, que é uma janela que pode ser

inserida ao lado do menu “Iniciar” e dimensioná-la, além de inserir os aplicativos mais

utilizados. Este recurso já existia na versão 8.1.

Figura 54 - Windows 10.

Disponível em: <http://www.extremetech.com/wp-content/uploads/2014/10/windows-10-start-menu-orange-640x353.jpg>.

4.2 LINUX

O Linux começou a ter mais popularidade, na década de 90, como uma

alternativa de software livre em relação aos demais sistemas operacionais.

O sistema ficou mais conhecido na época, principalmente, pela possibilidade de

ter gratuitamente servidores web e de banco de dados com segurança.

Hoje, o Linux já está bem mais difundido e é amplamente utilizado, principal-

mente por não ter custo e também pela sua robustez e estabilidade.

Page 83: sistemas_operacionais_1_2015.pdf

8383UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Figura 55 - Linux.

Disponível em: <http://s.glbimg.com/po/tt/f/original/2012/03/22/captura-de-tela-2012-03-20-as-222951.png>.

Como o sistema operacional Linux é de código aberto, atualmente existem

diversas versões adaptadas às várias necessidades de mercado e de utilizações. É

possível o usuário efetuar mudanças ou propor melhorias no sistema.

O Linux possui total compatibilidade com os principais periféricos, como: placa

de vídeo, DVD, entre muitos outros dispositivos.

Principais vantagens do Linux:

• Gratuito;

• Multiusuário;

• Aceita nomes extensos de pastas e arquivos;

• Conecta com outras plataformas;

• Carrega, somente para a memória RAM, o que está sendo utilizado no

momento do processamento, liberando a memória totalmente;

• Sistema leve, podendo ser utilizado em computadores mais antigos, sem

Page 84: sistemas_operacionais_1_2015.pdf

84 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

perda de performance;

• Menos vulnerável a vírus em relação ao sistema operacional Windows;

• Tem suporte a vários periféricos e dispositivos disponíveis no mercado;

• Tem interface gráfica e também prompt para linhas de comandos.

Principais desvantagens:

• Alguns periféricos mais antigos possuem drivers somente para o sistema

operacional Windows, dificultando sua instalação;

• Apesar de ter uma interface visual bem organizada e fácil de operar, para os

usuários acostumados com o sistema operacional Windows, será necessário

uma adaptação;

• Apesar de hoje existir grande compatibilidade, parte dos programas de

terceiros são desenvolvidos para plataforma Windows.

Um ponto importante a ressaltar, é que o Linux trabalha de forma Case Sensitive,

ou seja, ele diferencia caracteres maiúsculos de minúsculos. Portanto, é possível criar

pastas ou arquivos do tipo, MARIA ou Maria. O Linux trata como pastas diferentes.

Hoje, o Linux funciona em diversas plataformas, desde computadores de grande

porte (mainframes) até um relógio, além de ser utilizado em outras plataformas como

consoles de jogos, celulares, TVs etc.

Page 85: sistemas_operacionais_1_2015.pdf

8585UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Figura 56 - Linux.

Disponível em: <http://s.glbimg.com/po/tt/f/original/2011/01/03/electroluxlinuxfridgeengadget.jpg>.

O Linux tem uma forma bem organizada dos seus diretórios de sistemas. Vamos

conhecer as principais distribuições deste Sistema.

/dev – onde ficam os drives dos dispositivos;

/bin e /usr/bin – principais comandos padrões do Linux;

/lib e /usr/lib – onde ficam as bibliotecas do Linux;

/var – arquivos de logs e configurações;

/etc – onde ficam os arquivos padrões de configurações;

/usr/local/bin – onde ficam comandos que são acrescentados pelo

administrador;

/tmp – onde ficam os arquivos temporários;

/sbin e /usr/sbin – onde ficam os comandos de administração de sistema.

Page 86: sistemas_operacionais_1_2015.pdf

86 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Por ser um software livre e de código aberto, surgiram muitas distribuições do

Linux para diversas finalidades. Abaixo, veremos as principais versões.

Distribuições com o foco na interface gráfica, permitindo aos usuários uma

realidade mais próxima dos sistemas operacionais utilizados:

• AriOS;

• Fusio Linux;

• Joli OS;

• Linux Mint;

• PCLinuxOS;

• SuperX;

• Ubuntu;

• BRLix;

• BigLinux;

• Kororaç

• Kubuntu;

• Zorin OS;

• Unity Linux;

• Entre outras.

Distribuições para deficientes visuais:

• Linux Acessível.

Distribuições voltadas para crianças:

• Quimo4kids;

• Edubuntu;

• Arch Linux.

Page 87: sistemas_operacionais_1_2015.pdf

8787UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Outras distribuições:

• Debian;

• Freedows;

• gNewSense;

• trisquel;

• Insigne GNU Linux;

• Rxart;

• Tucunaré;

• Satux;

• Skolelinux;

• Gentoo;

• Fedora;

• Mandriva;

• SuSE;

• Entre muitas outras distribuições.

Para você se familiarizar, mostro, abaixo, alguns principais comandos de

manipulação no Linux:

Page 88: sistemas_operacionais_1_2015.pdf

88 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

mkdir Criar diretóriormdir Excluir diretório (vazio)rm –rf Excluir um diretório e todos seus arquivoscd Acessar um determinado diretóriocd - Voltar para o último diretório acessadopwd Exibir local do diretório atualls Listar conteúdos do diretóriodu –msh Exibir o tamanho do diretório em Mbcat Exibir o conteúdo de um arquivo texto ou binárioless Exibir o conteúdo de um arquivo com controlescp Copia diretóriosmv Mover ou renomear arquivos ou diretórioschod Alterar permissões de arquivos e diretóriosadduser Adicionar usuáriosaddgroup Adicionar gruposdf Informar o uso do espaço em disco (sistema de arquivos)dmesg Exibir as mensagens de Logsdu Exibir ocupação dos discosfind Buscaruserdel Remover usuáriospasswd Modificar senhas de usuáriosps Exibir os processos correntesifconfig Exibir as interfaces de redes ativasroute Exibir informações referentes as rotasnmap Listar as portas de sistemas remotosnetstat Mostrar as portas e protocolos abertosiptraf Analisar o trafego de rede com interface gráficatraceroute Traçar uma rota do host local até seu destino

Tabela 3 - Tabela de comandos.

Fonte: o Autor.

Page 89: sistemas_operacionais_1_2015.pdf

8989UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

4.3 OS X

Desenvolvido pela Apple, é o sistema operacional para os computadores

produzidos pela empresa. A sua primeira versão foi lançada em 1984 e, hoje, encontra-

se na décima versão.

O OS X foi pioneiro a utilizar, em seu sistema operacional, a representação em

ícones, como: programas, pastas, arquivos etc. Utilizou, desde seu início, o conceito

de Área de Trabalho com seus principais ícones de acessos, como: lixeira, documentos,

pastas etc., simulando um ambiente de escritório.

Figura 57 - OS X.

Disponível em: <http://img.ibxk.com.br/2014/08/07/07111013463136.jpg?w=1040>.

O núcleo do sistema operacional OS X é certificado Unix, construído em torno

do núcleo XNU.

O OS X, por meio de linhas de comandos, permite inserir recursos Unix por

intermédio do prompt. Hoje, o OS X está implantado em grande parcela do mercado

Page 90: sistemas_operacionais_1_2015.pdf

90 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

de computadores devido à sua interface gráfica avançada, facilidade de recursos,

entre outras características.

Vantagens do OS X:

• Design arrojado e de fácil usabilidade;

• Ferramenta Finder para localização, de forma rápida, de aplicativos, pastas,

documentos etc.;

• Menos vulnerável a vírus;

• Total personalização do ambiente de trabalho;

• Fácil integração com dispositivos;

• Sistema robusto com muita estabilidade;

• Funções de rápido acesso por meio de mouse e teclado.

Desvantagens:

• Preço mais elevado. Devido à sua plataforma de hardware exclusiva, torna-

se um equipamento mais caro em relação aos demais;

• Compatibilidade com programas de terceiros. Apesar de este problema ter

diminuído muito atualmente, ainda existem incompatibilidades.

O Sistema Operacional OS X conta com o recurso Launchpad. Esta tela é de fácil

acesso aos usuários e, de forma simples, localizam-se todos os aplicativos instalados

por meio da busca ou pelos ícones na tela.

Page 91: sistemas_operacionais_1_2015.pdf

9191UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Figura 58 - OS X.

Disponível em: <http://cloudbuckit.com>.

4.4 SISTEMAS OPERACIONAIS MOBILE

Com o grande avanço tecnológico por intermédio dos dispositivos móveis

(tablets, smartphones etc.), foi necessário a criação de um sistema operacional que

apresentasse uma interface gráfica de fácil usabilidade, sem perder a performance

para estes dispositivos. Vamos conhecer os principais sistemas operacionais mobile

existentes no mercado, hoje.

4.4.1 ANDROID

Figura 59 - Android.

Disponível em: <http://www.brandemia.org/sites/default/files/logo_principal_1.jpg>.

Page 92: sistemas_operacionais_1_2015.pdf

92 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

O Android, da empresa Google, é, hoje, um dos principais sistemas operacionais

mobile utilizados no mercado. Além de estar presente nos smartphones e tablets, está

inserido em diversas plataformas, como: TVs, Carros, relógios de pulso, consoles de

videogames, câmeras digitais, entre outras.

As principais características deste sistema operacional mobile é a praticidade

da manipulação de suas telas e aplicativos, e, também, pela robustez do sistema.

Deslizando por uma barra no topo do aparelho para baixo, abrem-se as notificações

para acesso rápido a várias funcionalidades do sistema.

Ao ser acessado, abre diretamente a uma tela inicial com o conceito de área

de trabalho em que podem ser inserido os aplicativos favoritos, os widgets, que são

aplicativos com diversas funcionalidades em processo, entre outras funcionalidades.

Esta tela inicial pode ser utilizada com mais de uma tela, assim, de forma fácil, pode-se

acessar diversos aplicativos.

Figura 60 - Android.

Disponível em: <https://androideeu.files.wordpress.com/2014/10/2014-10-21-23-52-00.png>.

Outra grande funcionalidade deste sistema operacional é a possibilidade de

mudar a interface padrão por meio de aplicativos de terceiros. Existem, hoje, inúmeros

aplicativos com esta funcionalidade, proporcionando aos usuários escolher o visual

que melhor se adapte.

Page 93: sistemas_operacionais_1_2015.pdf

9393UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Grande parte dos aplicativos de terceiros, desenvolvidos para Android, são criados

por meio da linguagem Java, principalmente utilizando o SDK do Android. Existem

diversas outras ferramentas e consoles de desenvolvimento para esta plataforma,

como: o APPInventor, Good Barber, BiznessApps, entre outros. Esta grande variedade

de opções de desenvolvimento proporcionou ao Android, hoje, ser um dos sistemas

operacionais mobile que mais aplicativos existem desenvolvidos para ele no mercado.

O Android trabalha com seu processo gerindo uma grande quantidade de

memória, procurando economizar a bateria que, hoje, ainda é um grande desafio

para os sistemas mobile. Outra grande vantagem para esta economia é que, quando

um aplicativo não está sendo utilizado, o sistema suspende o mesmo da memória,

liberando-a, assim, para o aplicativo que está em processo, no momento.

Como um dos principais sistemas operacionais mobile de hoje, o Android gerencia

com robustez todos os hardwares opcionais, como: GPS, câmeras, acelerômetros,

giroscópios, barômetros, termômetros, touch screen, entre muitos outros.

Devido ao seu grande domínio de mercado e pelo acesso livre ao seu código,

tornou-se um sistema operacional mais vulnerável a vírus, necessitando sempre ter um

monitoramento de antivírus para evitar perdas e problemas no sistema operacional.

A forma de instalação de aplicativos é muito simples. Mas, antes, o usuário pre-

cisa ter uma conta do Google para poder acessar a área de aplicativos para baixá-los.

Após este acesso, o usuário poderá baixar de forma muito simples os mais diversos

aplicativos.

Page 94: sistemas_operacionais_1_2015.pdf

94 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Figura 61 - Android.

Disponível em: <http://static.ziggi.com.br/imagens_programas/screenshots/big_0a691097040723b16a87bcb4f93b6df3_google_play.jpg>.

Outra grande vantagem do Android é o acesso a configurações personalizadas

do aparelho e, também, a possibilidade de instalação de aplicativos que não estejam

na Google Play. Basta o aparelho estar em modo desenvolvedor.

Claro que, para estes casos, é necessário muito cuidado e conhecimento

sobre configurações para não instalar arquivos maliciosos e prejudicar todo o sistema

operacional, perdendo todas as informações.

Figura 62 - Android.

Disponível em: <http://img.ibxk.com.br/2012/5/materias/34242357724153718.jpg?w=1040>.

Page 95: sistemas_operacionais_1_2015.pdf

9595UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

4.4.2 IOS

Figura 63 - iOS.

Disponível em: <http://fc02.deviantart.net/fs71/i/2014/166/a/3/ios_8_logo_psd__official__by_simalary44-d7mge28.png>.

O iOS é o sistema operacional da Apple para seus dispositivos móveis.

Baseado em conceitos do tipo manipulação direta, como deslizar o dedo, toque

de tela, movimento “pinça”, entre outros, tornou-se rapidamente o principal sistema

operacional do mercado, principalmente pela sua performance e praticidade de uso.

O sistema operacional já oferece uma gama de aplicativos nativos, que

proporciona uma comodidade maior ao usuário. Além disso, por intermédio da

AppStore, é possível adquirir uma infinidade de aplicativos desenvolvidos por

terceiros. Esta é uma grande vantagem deste sistema operacional. Como proporciona

oportunidades financeiras para os desenvolvedores, cada vez mais aparecem novos

aplicativos, em sua loja, disponibilizados aos usuários.

Figura 64 - iOS.

Disponível em: <http://visitaamiga.com.br/blog/wp-content/uploads/2012/08/instalar-smartphones e tablets-plus-app-store-ipad.png>.

Page 96: sistemas_operacionais_1_2015.pdf

96 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

A cada atualização do iOS, a Apple procura trazer novidades, mesmo que sejam

melhorias internas, como: melhor endereçamento de memória, velocidade etc.

Uma das grandes novidades lançadas foi o Siri. O Siri é uma assistente pessoal

inteligente, desenvolvido para auxiliar os usuários por meio do comando de voz. Com

este assistente, é possível fazer diversas tarefas, como abrir um aplicativo, enviar

mensagens de texto, encontrar algum local, entre outros, tudo por intermédio da voz.

A cada versão lançada, a Apple procura aperfeiçoar o Siri para uma melhor

interação com o usuário. Esta última atualização possui uma voz mais parecida com a

voz humana, proporciona respostas mais ágeis e suporte para redes sociais, bem como

buscas na internet.

Figura 65 - Siri do iOS.

Disponível em: <http://mobilexpert.com.br/public/materias/8439/banner/grd.jpg>.

O grande trunfo do iOS é, exatamente, proporcionar ao usuário uma interface

simples, com inúmeros recursos, segurança e integração com as suas plataformas,

trazendo um conforto muito maior. Além disso, busca apresentar uma interface

intuitiva, facilitando também o seu uso.

Page 97: sistemas_operacionais_1_2015.pdf

9797UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Figura 66 - iOS.

Disponível em: <http://1.bp.blogspot.com/-sXUqJM27fPU/Ucejh64JtnI/AAAAAAAAXZg/pFHlBCVbfPI/s1600/IMG_2817.jpg>.

Claro que toda esta comodidade esbarra no preço dos aparelhos exclusivos

da Apple. Outro ponto importante a verificar, é que este sistema operacional é mais

fechado do que os demais. Por exemplo, não é possível, na versão original, efetuar

transferência de arquivos via bluetooth.

O bluetooth é somente liberado para periféricos, como: fones de ouvidos,

caixas de som etc. Isso faz com que o usuário fique preso ao que a Apple determina

como o melhor para o usuário, sem proporcionar opções de escolhas.

4.4.3 WINDOWS PHONE

Figura 67 - Windows Phone.

Disponível em: <http://www.logoeps.com/wp-content/uploads/2012/12/windows-phone-8-logo-vector.png>.

Page 98: sistemas_operacionais_1_2015.pdf

98 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Após a Microsoft ter a grande chance de ganhar todo o mercado mobile com

o Windows Mobile 5.0 e, na sequência, com o Windows Mobile 6.0, em que não

existiam ainda sistemas operacionais mobile com a flexibilidade e com fácil usabilidade

(e ele já tinha isso ao ser lançado), foi totalmente engolida pelo iOS e na sequência

pelo Android, alguns anos depois. Após este desastre, retomou há pouco tempo com

um novo conceito com o Windows Phone. Claro que é necessário ganhar a confiança

do mercado mobile novamente, mas conhecemos o poder da Microsoft para isso.

Hoje, está com a versão 8.1. Sua grande vantagem é a integração dos dispositivos

móveis com os desktops.

Figura 68 - Windows Phone.

Disponível em: <http://res1.windows.microsoft.com/resbox/pt/6.2/2013-win81ga/969e1160-e9a2-4757-9945-4b8840e1ecee_23.png>.

Grande parte dos aplicativos de mercado estão também disponíveis em sua

loja de aplicativos. Seguindo a linha da Apple, A Microsoft também desenvolveu um

assistente de voz pessoal como o Siri. Possui também integração nativa com o Office.

Mudando o conceito de ícones, a tela inicial é feita por “mosaicos dinâmicos”.

Estes mosaicos são atalhos para os principais aplicativos e funções do sistema

operacional.

Page 99: sistemas_operacionais_1_2015.pdf

9999UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

Figura 69 - Windows Phone.

Disponível em: <http://pplware.sapo.pt/wp-content/uploads/2014/01/LumiaBlack_1.jpg>.

A loja de aplicativos do Windows Phone é chamada de MarketPlace.

Lá, além de aplicativos, é possível também encontrar e baixar músicas, vídeos,

podcasts, entre outros.

Para quem deseja desenvolver aplicativos para esta plataforma, deve utilizar a

linguagem XNA. Para isso, pode ser usada as próprias ferramentas da Microsoft, como:

Visual Studio, ou Visual Studio Express. Da mesma forma que a Apple, é necessário

enviar o aplicativo para aprovação. Somente após a aprovação, fica liberado na loja

exclusiva da Microsoft.

Os recursos mínimos para rodar o Windows Phone são: tela multitoque com

pelo menos quatro polegadas e resolução mínima WVGA (480 x 800 px), processador

ARM V7, placa gráfica com renderização DirectX 9, 256 MB de RAM e, pelo menos,

4 GB de Memória Flash, Acelerômetro com bússola, sensor de luminosidade e sensor

de profundidade.

Percebemos que, para poder rodar o sistema operacional Windows Phone,

é necessário possuir um dispositivo móvel com algumas características atuais de

mercado. Não é possível instalar em dispositivos móveis mais antigos.

Page 100: sistemas_operacionais_1_2015.pdf

100 UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

4.5 CONSIDERAÇÕES DA UNIDADE IV

Nesta última unidade, falamos sobre os tipos de sistemas operacionais.

Conhecemos os principais sistemas operacionais do mercado e suas principais

características.

Tratamos, inicialmente, do sistema operacional Windows. Distinguimos sua

forma de trabalho, conceitos e como está inserido no mercado profissional das pessoas

e empresas, atualmente.

Na sequência, abordamos também sobre o sistema operacional Linux. Discor-

remos sobre sua atuação no mercado, sobre software livre, principais vantagens e

desvantagens. Conhecemos, também, a estrutura de diretórios do Linux e falamos das

diversas distribuições que existem, hoje, no mercado.

Depois, estudamos sobre o OS X, sistema operacional da Apple, bem como sua

representação e forma de trabalho. Falamos, também, das vantagens e desvantagens

do sistema operacional OS X.

Por último, vimos os principais sistemas operacionais mobile: Android, iOS

e o Windows Phone. Diante disso, analisamos as suas características e as suas

funcionalidades.

Chegamos ao final da nossa jornada em Sistemas Operacionais. Para um

completo aprendizado, é muito importante o acompanhamento das teleaulas, pois,

além da teoria, estamos mostrando, de forma prática, aquilo que vimos no decorrer das

unidades, oferecendo dicas sobre sistemas operacionais. Também é muito importante

a sua participação no nosso Ambiente Virtual de Aprendizagem (AVA) e no nosso

Fórum.

Espero você lá!

Page 101: sistemas_operacionais_1_2015.pdf

101101UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS

TESTE SEU CONHECIMENTO

Page 102: sistemas_operacionais_1_2015.pdf
Page 103: sistemas_operacionais_1_2015.pdf

103103 REFERÊNCIAS

REFERÊNCIAS

BIBLIOGRAFIA BÁSICA

LAUREANO, Marcos Aurelio Pchek. Sistemas Operacionais. São Paulo: LTC, 2012.

MACHADO, Francis Berenger; MAIA, Luiz Paulo. Fundamentos de Sistemas

operacionais. São Paulo: LTC, 2011.

TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3. ed. Pearson

Prentice-Hal. 2009.

BIBLIOGRAFIA COMPLEMENTAR

DEITEL, H. M. Sistemas Operacionais. 3. ed. Pearson Prentice Hall, 2005.

MACHADO, Francis Berenger; MAIA, Luiz Paulo. Arquitetura de Sistemas

Operacionais. 5. ed. São Paulo: LTC, 2013.

MARZULLO, Fabio Perez. IPhone na prática. São Paulo: Novatec, 2012

NEMETH, Evi; SNYDER, Garth; HEIN, Trend R. Manual Completo do Linux. Guia do

Administrador. 2. ed. Pearson Prentice Hall, 2007.

TOSCANI, Simao Sirineo; OLIVEIRA, Romulo Silva de; CARISSIMI Alexandre da Silva.

Sistemas Operacionais. 4. ed. v. 11. São Paulo: Bookman, 2010.

Page 104: sistemas_operacionais_1_2015.pdf
Page 105: sistemas_operacionais_1_2015.pdf

105105 RESPOSTAS COMENTADAS 105

RESPOSTAS COMENTADAS

UNIDADE I

1. e)

A interface do sistema operacional foi desenvolvida para proporcionar uma melhor interação entre o

usuário e o computador.

2. a)

A memória Cache é a memória mais veloz. Por isso é muito importante que seja verificado quanto tem

de memória cache ao comprar um computador.

3. b)

O sistema operacional é a camada que gerencia os programas e os dispositivos físicos do computador,

fazendo com que funcionem adequadamente.

UNIDADE II

1. e)

Existem duas classificações do sistema operacional: a Monotarefa, que executa uma tarefa de cada vez,

e a Multitarefa, que executa vários programas ao mesmo tempo.

2. b)

Quando temos um equipamento que contém mais de um núcleo de processamento, chamamos de

multiprocessado.

3. d)

É uma sub-rotina de um programa. Definimos uma Thread como uma sub-rotina de um programa que,

de forma assíncrona, pode ser executada.

Page 106: sistemas_operacionais_1_2015.pdf

106 RESPOSTAS COMENTADAS106

UNIDADE III

1. c)

O Atributo Proteção faz parte dos principais atributos de um arquivo. Neste caso, identifica quem

poderá ter acesso ao sistema.

2. e)

A operação Read permite efetuar a leitura dos dados do arquivo.

3. a)

Nesta técnica, o sistema operacional localiza um arquivo por meio do endereço referente ao primeiro

bloco e, também, da sua extensão de blocos.

UNIDADE IV

1. a)

O sistema operacional que foi desenvolvido com a linguagem C foi o Windows.

2. d)

O Sistema operacional que utiliza esta estrutura de pastas é o Linux.

3. b)

O sistema operacional que trabalha com o conceito Mosaico Dinâmico é o Windows Phone. É o primeiro

sistema operacional do mercado que sai do conceito de ícones.