• Nenhum resultado encontrado

TErmo do glossário: O sistema operacional (SO) é o software que facilita a comunicação entre o usuário e o hardware (TANENBAUm, 2009)

um terceiro usuário acesse, altere ou exclua arquivos que não lhe pertencem. Os sistemas operacionais possuem sistemas de arquivos distintos. Como exemplo, o sistema de arquivos do Windows chama-se NTfs e o do Linux chama-se ext4, mas existe grande diversidade de opções. Entre os exemplos mais comuns de arquivos, estão programas, mp3, fotos e textos salvos no disco rígido do computador.

O gerenciamento de memória é peça fundamental de um sistema operacio- nal. Mesmo com a redução do custo e ampliação da capacidade de memória dos computadores, é primordial o gerenciamento eficiente deste recurso, pois impacta diretamente na performance. Com base nessas informações o sistema aloca e libera memória para os processos (programas em execução) e administra a troca (swap) entre memória principal e secundária. O gerenciador de memória usa um sistema de endereçamento para localizar cada parte da memória rAm (conhecida também como memória principal) alocando ou removendo processos conforme demandado com base nesses endereços. Há situações em que a demanda pela memória rAm extrapola sua capacidade física. Para evitar problemas, o gerenciador de memória do sistema operacional usa uma técnica chamada swapping, que nada mais é do que usar uma área do disco rígido reservada para swap e descarregar uma parte dos dados contidos na memória rAm. Assim, minimiza-se de forma significativa o risco do computador ter seu funcionamento interrompido por falta de espaço na memória principal.

Gerenciar Entrada/Saída (Input/Output) é outra função primordial do sistema operacional, cujo objetivo é fazer a cpU se comunicar com os componentes do hardware (processador, memória, disco rígido) e periféricos (impressora, monitor, teclado, mouse) de forma integrada (sTUArT, 2011). A comunicação acontece através de controladores de dispositivos, que é um componente eletrônico (ex. placa de vídeo) responsável por fazer o meio de campo entre a cpU e o hardware (ex. moni- tor de vídeo). Os controladores de dispositivos são gerenciados por uma camada de software, geralmente de baixo nível, conhecido como device driver (acionador de dispositivo). Os dispositivos de Entrada/Saída podem ser classificados em dois grupos: dispositivos de blocos e dispositivos de caracteres. A diferença entre esses grupos de dispositivos consiste na forma de armazenamento dos dados em blocos de tamanho fixo e permite a leitura ou gravação em apenas um desses blocos para o primeiro grupo. No segundo, o dispositivo usa um sistema de filas sem a definição de nenhuma estrutura de bloco. Uma característica que se destaca é a impossibi- lidade de ler ou fazer operações de busca já que o dispositivo não é endereçável.

A Figura 97 apresenta dois modelos para facilitar a visualização de como o sis- tema operacional está inserido no contexto usuário-computador de forma macro. Nesta imagem, (a) são considerados o hardware, o sistema operacional e o usuário, enquanto na imagem (b) o hardware, o sistema operacional, a aplicação e o usuário. É possível observar que cada uma das camadas tem acesso ao nível imediatamente superior ou inferior e que, de acordo com o modelo (a), o usuário interage de forma direta com o sistema operacional ou, conforme o modelo (b), é possível que exista

ATENção: A principal tarefa do gerenciador de memória é monitorar o seu tamanho, quais partes estão ocupadas e quais estão disponíveis.

uma camada intermediária entre o usuário e o sistema operacional, aqui represen- tada pela aplicação. Ambos os modelos são possíveis, pois em alguns momentos o usuário pode interagir direto com o sistema operacional ou pode usar aplicações, que, por sua vez, têm interação com o sistema operacional. Um exemplo típico de interação, conforme (a), ocorre quando o usuário utiliza comandos que são exe- cutados diretamente pelo kernel (núcleo) do sistema, também conhecidos como comandos internos. A imagem (b) exemplifica quando o usuário está editando um texto que precisa ser salvo num determinado formato de arquivo, em que o editor de textos aciona o sistema operacional e solicita uma operação de gravação de um arquivo no disco rígido do seu computador.

O sistema operacional é composto por diversos programas para que alcance seus objetivos. Lembrando que, entre os objetivos de um sistema operacional, está o gerenciamento de recursos do hardware e também servir de intermediário entre o usuário e o computador. Portanto, para que um sistema atenda a esses requisitos é necessário um conjunto bastante amplo de programas para que possa realizar suas funções. Com o objetivo de organizar todos esses programas que compõem o SO, usualmente eles são divididos em dois modos: modo usuário e modo administrador (ou root, conforme o SO utilizado). Os programas que pertencem ao modo usuário podem ser executados por usuários ditos “normais” enquanto que os programas pertencentes ao modo administrador somente podem ser executados pelo usuário administrador do sistema operacional. É bem fácil perceber quando precisamos utilizar o usuário administrador, pois, quando estamos trabalhando com o compu- tador e precisamos instalar um aplicativo, normalmente o sistema nos apresenta uma mensagem pedindo a senha do administrador para que o mesmo possa ser instalado. Isso ocorre porque existem áreas (pastas e outros recursos) do sistema operacional que são de acesso restrito ao administrador do sistema.

O objetivo de dividir os programas que compõem o sistema operacional nestes dois modos, administrador e usuário, é garantir a segurança. Com essa estrutura é

figUrA 97: Contextualização do sistema operacional (a) e (b).

possível limitar o que cada usuário tem permissão para acessar, como pastas, arqui- vos específicos e recursos do hardware. Isso evita que um usuário mal-intencionado ou desatento altere, exclua ou danifique arquivos de outros usuários ou até mesmo do próprio sistema operacional. Se isso acontecer, há o risco de o computador não funcionar corretamente e, em casos mais graves, impossibilitar que o sistema entre em operação e, consequentemente, impedindo o uso do computador.

Existem vários sistemas operacionais no mercado, para diversos cenários possí- veis. Assim, alguns autores criaram classificações para os sistemas operacionais, pois cada cenário de uso pode exigir especificidades diferentes. Entre as classificações estão os sistemas multitarefas, sistemas de servidores, sistemas para computadores de grande porte, sistemas para dispositivos portáteis, sistemas operacionais de computadores pessoais, entre muitos outros. Neste estudo focamos nos sistemas operacionais de computadores pessoais. Entre os sistemas operacionais para com- putadores pessoais mais usados e conhecidos estão: o sistema operacional Windows, o Linux e o os x. Ainda antes de iniciar nosso estudo sobre os sistemas operacionais Windows e Linux, se faz necessário compreender como o SO é licenciado, pois a es- colha pelo uso de um determinado sistema passa por uma série de requisitos legais. Dessa forma, vamos primeiro compreender a diferença entre software proprietário (ou comercial) e software livre (livre, não necessariamente gratuito).

Conforme apresentado anteriormente, os sistemas operacionais podem ser clas- sificados de acordo com as necessidades técnicas para cada contexto em que será usado, com relação às suas características como multitarefa, multiusuário e mul- tiplataforma, ou ainda como sistema embarcado ou intermediário entre usuário e computador. Contudo, é primordial compreender o que é o licenciamento de software, os modelos de licenciamento mais utilizados atualmente, suas principais características e implicações legais. Esse conhecimento é requisito para todo profis- sional da área de computação, pois decisões corretas sobre o tipo de licenciamento a adotar, bem como o conhecimento das obrigações resultantes dessas escolhas, contribuem para a formação de um profissional ético e responsável.

Quando um programador ou uma empresa desenvolve um software tem o direito de decidir sobre a maneira como este software é registrado, impactando na forma como poderá ser licenciado às pessoas que o adquirirem. Ou seja, se ele será um software proprietário e/ou comercial ou, ainda, se será um software livre. Quando adquirimos um programa para usar em computador, apenas utilizamos uma licença de uso, pois o direito autoral permanece da pessoa ou empresa que o desenvolveu. Quando adquirimos e instalamos no computador um software proprietário esta- mos nos submetendo às regras especificadas pelo desenvolvedor ou fabricante do software. Geralmente entre essas regras estão: restrições de uso, validade da licença, a não responsabilidade do fabricante caso algum dano ocorra resultante de seu uso e principalmente a restrição quanto a fazer cópias deste software sem autorização do desenvolvedor (wAslAwick, 2016). Se o usuário que comprou um software pro- prietário fizer cópias não autorizadas pelo fabricante estará cometendo pirataria. Por outro lado, existe o software livre, muito conhecido por ser gratuito – uma das suas características. Mas existem outros fatores que devemos compreender sobre software livre, possivelmente mais importantes do que a gratuidade. O software livre respeita as chamadas “4 liberdades”, que tem como guardiã a Free Software Foundation (fsf).