View
28
Download
0
Category
Preview:
Citation preview
FRANKLIN PORTELA CORREIA
SISTEMAS OPERACIONAIS
1ª edição
Universidade Braz Cubas - UBC
Mogi das Cruzes
2015
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
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..
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
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
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
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.
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.
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
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>.
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.
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).
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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/>.
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.
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.
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.
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.
34 UNIDADE I - INTRODUÇÃO A SISTEMAS OPERACIONAIS
TESTE SEU CONHECIMENTO
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
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>.
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:
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.
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.
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.
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>.
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;
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.
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:
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.
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.
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>.
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.
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.
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.
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.
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.
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ê!
54 UNIDADE II - ARQUITETURA DE SISTEMAS OPERACIONAIS54
TESTE SEU CONHECIMENTO
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.
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.
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!
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.
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.
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.
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.
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.
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>.
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
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>.
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.
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;
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>.
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.
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.
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>.
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>.
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.
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.
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>.
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.
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á!
78 UNIDADE III - SISTEMAS DE ARQUIVOS
TESTE SEU CONHECIMENTO
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.
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>.
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>.
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.
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
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.
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.
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.
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:
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.
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
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.
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>.
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.
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.
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>.
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>.
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.
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>.
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.
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.
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á!
101101UNIDADE IV - TIPOS DE SISTEMAS OPERACIONAIS
TESTE SEU CONHECIMENTO
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.
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.
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.
Recommended