Você está na página 1de 11

Sistemas Operacionais

Larissa Rozza Peluso Instituto Federal de Educao, Cincia e Tecnologia Catarinense Campus Cambori, SC, Brasil
larissa.rozza1993@hotmail.com

Abstract. This article aims to present some key concepts about the structure and function of operating systems, resource management and file structure of the O.S, among which we highlight: the file structures of Windows 8, Kubuntu and Android. Resumo. Este artigo tem por objetivo apresentar alguns principais conceitos sobre como funcionam a estrutura de sistemas operacionais, o gerenciamento de recursos e a estrutura de arquivos do S.O, dentre as quais destacamos: as estruturas de arquivos do Windows 8, Kubuntu e Android.

1. Estrutura de Sistemas Operacionais


A estrutura de sistemas operacionais consiste em apresentar a composio dos sistemas, quais suas funcionalidades e objetivos, responsveis por reger o funcionamento dos mesmos. Abordaremos, a seguir, seis grupos de projetos utilizados na prtica: sistemas monolticos, sistemas de camadas, microncleo, sistemas cliente-servidor, mquinas virtuais e exoncleo. 1.1 Sistemas Monolticos Na abordagem de sistema monoltico, todo o sistema operacional tem sua execuo ocorrida como apenas um programa no modo ncleo, onde ele escrito como um conjunto de rotinas ligadas por um linker a um grande programa binrio executvel, tendo uma interface bem definida em cada rotina quanto a parmetros e resultados, sendo cada uma dessas rotinas livres para chamarem qualquer outra, se esta tiver alguma computao til que seja necessrio.

Figura 1. Um modelo de estruturao simples para um sistema monoltico

Todas as rotinas so visveis umas s outras, no havendo ocultao de informao, o oposto de mdulos e pacotes. Estrutura bsica para o sistema operacional: 1. invocada pelo programa principal a rotina do servio requisitado; 2. So executadas as chamadas de sistema por um conjunto de rotinas de servio; 3. As rotinas utilitrias auxiliam as rotinas de servio. 1.2 Sistemas de Camadas O sistema de camadas consiste na organizao do sistema operacional em uma hierarquia de camadas (construda sobre a camada inferior), no qual o primeiro programa desenvolvido dessa maneira foi o THE (Technische Hogeschool Eindhoven), que era um sistema em lote (batch) simples para um computador holands, que possua seis camadas, onde cada uma delas ficava responsvel por uma determinada funo do sistema, como: - Camada 0 (alocao do processador): Quando ocorriam interrupes ou quando eram expirados os temporizadores, realizavam chaveamento de processos; sendo o sistema formado por processos seqenciais acima da camada 0, no precisando se preocupar com o fato de diversos processos executarem em um nico processador, ou seja, era fornecida a multiprogramao bsica da CPU; - Camada 1 (gerenciamento de memria): Era alocado espao na memria principal e em um tambor magntico de 512 k para as partes de processos (pginas) em que no havia espao na memria principal; acima dessa camada os processos no tinham que saber onde se encontravam (tambor magntico ou memria principal), pois a prpria camada se encarregava disso, assegurando que seriam trazidas as pginas para a memria principal se fosse preciso; - Camada 2 (comunicao entre cada processo e o console de operao (usurio)): Cada processo tinha console de operao prprio acima dessa camada; - Camada 3 (gerenciamento de dispositivos de E/S): De forma temporria eram armazenadas os fluxos de informao que iam para estes dispositivos ou que vinham deles, podendo (acima da camada 3), cada processo lidar com dispositivos de E/S abstratos mais amigveis do que os que so com muitos detalhes e peculiaridades; - Camada 4 (programas de usurio): No precisam ter a preocupao com gerenciamento de memria, processo, console ou E/S; - Camada 5 (processo operador).

Tabela 1. Estrutura do sistema operacional THE

Camada 5 4 3 2 1 0

Funo O operador Programas de usurio Gerenciamento de entrada/sada Comunicao operador-processo Memria e gerenciamento de tambor Alocao do processador e multiprogramao

1.3 Microncleo Com base no sistema de camadas possvel que projetistas tracem a fronteira ncleousurio, sendo que, todas as camadas, de forma tradicional, entram no ncleo, porm, sem ter necessidade. So apresentados fortes argumentos para que sejam colocados o mnimo possvel em modo ncleo, para que no ocorram erros no ncleo, pois, estes, podem derrubar o sistema instantaneamente. O microncleo tem como idia bsica ser mais confivel, por meio do sistema operacional ser dividido em pequenos mdulos, sendo que somente um desses mdulos (microncleo) executado no modo ncleo e o restante executado como processos de usurio comuns que relativamente no tem potncia, isto , se cada driver de dispositivo e cada sistema de arquivos forem executados como um processo de usurio separadamente, o erro em um deles pode destruir o componente, porm, no todo o sistema (o erro no fatal). 1.4 Modelo Cliente-Servidor A idia de distinguir as duas classes de processos, os servidores, que fazem a prestao de servio, e os clientes, que utilizam esses servios, chamada de modelo clienteservidor, sendo essencialmente importante a presena de processos clientes e servidores, no qual a comunicao entre estes ocorre, muitas vezes, por troca de mensagens. Para obteno de servio, construda uma mensagem pelo processo cliente, informando o que deseja e enviando ao servio apropriado, onde este faz o trabalho e retorna a resposta. Na comunicao entre clientes e servidores com o envio de mensagens, eles no precisam saber se as mensagens so localmente entregues nas suas prprias mquinas ou se o envio ocorre atravs de uma rede servidores em uma mquina remota. Quanto aos clientes, o mesmo acontece em ambos os casos: solicitaes enviadas e respostas devolvidas. 1.5 Mquinas Virtuais As mquinas virtuais so cpias exatas do hardware, onde cada uma delas pode executar qualquer sistema operacional, e ter sua execuo diretamente sobre o hardware, servindo para a virtualizao de abstraes, transformando estas em algo mais real.

1.6 Exoncleo Exoncleo um programa que se encontra na camada mais inferior, executando em modo ncleo, responsvel por alocao de recursos s mquinas virtuais e verificao das tentativas de us-los para assegurar-se de que nenhuma mquina tente usar recursos de outra.

2. Gerenciamento de Recursos
de suma importncia o gerenciamento de recursos de hardware e software no sistema operacional, pois vrios mtodos de entradas de dados e programas disputam a ateno da CPU (Unidade Central de Processamento), demandando memria, espao em disco e largura de banda de E/S (entrada/sada), e esse sistema (S.O) fica responsvel por cuidar de cada aplicativo, para que tenham os recursos que necessitam ao funcionamento, gerenciando a capacidade limitada deste para que todos os usurios e aplicativos sejam atendidos. 2.1 Gerenciamento do Processador O gerenciamento do processador tem como principais funes: dar garantia de que cada processo e aplicativo recebam do processador tempo suficiente para funcionar de forma correta; usar a quantidade necessria de ciclos possvel para realizao das tarefas. 2.2 Gerenciamento de Memria preciso cumprir duas tarefas ao gerenciar a memria do computador pelo sistema operacional, onde uma delas possuir memria suficiente para ser executado, no podendo, este, utilizar a memria de outro processo, como tambm, outro processo no poder utilizar sua memria. Alm de que, devem ser bem utilizados os diferentes tipos de memria no sistema para que cada processo tenha eficcia em sua execuo. 2.3 Gerenciamento de Dispositivos O driver um programa especial que fornece o caminho entre todo o hardware e o sistema operacional, funcionando como tradutor entre hardware e linguagem de programao de alto nvel do sistema operacional e dos aplicativos. Para os drivers funcionarem depende do tipo de hardware, porm a maior parte deles so executados ao ser acionado o dispositivo, funcionando de maneira semelhante a qualquer outro processo, onde o sistema operacional os priorizam para que liberem o recurso do hardware e disponibilizem o mais rapidamente possvel. O gerenciamento de entrada/sada relaciona-se com o gerenciamento de filas e buffers, onde funes especiais de armazenamento pegam os bits de um dispositivo (como um teclado, ou uma porta USB), e fazem a distribuio destes para a CPU, em taxa lenta suficientemente para que sejam absorvidos, sendo esta funo importante em caso de sobrecarga no processador.

2.4 Gerenciamento de Processos Pode ser classificado em: * Monotarefa: pode-se executar apenas um processo de cada vez. Exemplo: MS-DOS. * Multitarefa: alm do Sistema Operacional, vrios processos de utilizador (tarefas) esto carregados em memria, sendo que um pode estar ocupando o processador e outros ficam enfileirados, aguardando a sua vez. O compartilhamento de tempo no processador feito de modo que o usurio tenha a impresso que vrios processos esto sendo executados simultaneamente. Cada processo recebe um tempo para ser executado. Ao final desse tempo, outro processo executado. Essa alternncia de processos chamase concorrncia. Exemplo: OS/2, Windows, Linux, FreeBSD e o Mac OS X. Cabe destacar que processos s podem executar simultaneamente caso o sistema seja multiprocessado, j que, em que cada instante de tempo, apenas um processo estar em execuo em um processador ou ncleo de processamento (core). * Multiprocessamento: o Sistema Operacional distribui as tarefas entre dois ou mais processadores. Se os processadores estiverem na mesma mquina fisica, o sistema chama-se Sistema Multiprocessado Fortemente Acoplado. Caso esteja em mquinas diferentes, trata-se de um Sistema Multiprocessado Fracamente Acoplado.

3. Estrutura de Arquivos
Estrutura de arquivos a forma como os arquivos podem ser organizados, existindo trs possibilidades comuns de estrutur-los, conforme segue abaixo: 1) Sequncia desestruturada de bytes: O sistema operacional no identifica o que contm no arquivo ou no tem interesse por isso. Tudo o que visto por ele so bytes; devendo ser imposto pelos programas, qualquer significado, em nvel de usurio; sendo que o tratamento de arquivos atravs do sistema operacional em sequncia de bytes oferece flexibilidade mxima, pois os usurios podem fazer modificaes, acrescentando algo nos arquivos e dando um nome a ele sem que isso afete o sistema operacional ou seu funcionamento. Essa caracterstica pode ter muita importncia para usurios que possivelmente queiram fazer coisas incomuns. 2) Sequncia de registros de tamanho fixo: Cada um possui uma estrutura interna. retornado pela operao de leitura um registro e a operao de escrita anexa ou sobrepe um registro.

3) rvore de registros: Consiste em um arquivo ser constitudo de rvore de registros, no precisando que todos sejam do mesmo tamanho; cada um deles possuindo um campo-chave na posio fixa do registro.

Figura 2. Trs tipos de arquivos. (a) Sequncia de bytes. (b) Sequncia de registros. (c) rvore.

3.1 Estrutura de Arquivos do Sistema Operacional Windows 8 O Windows 8 tem um novo sistema de arquivos, chamado Protogon, que incorpora, aparentemente, alguns conceitos utilizados por banco de dados (como por exemplo: cursores, tabelas, colunas e transaes). O driver especfico desse sistema de arquivos o NT Protogon FS driver. includa no Protogon uma string que parece indicar que este ir substituir ou emular o sistema de arquivos NTFS. O Protogon parece similar ao conceito original da Microsoft para o Windows Future Storage (WinFS), no qual este um sistema de arquivos que estava sendo desenvolvido para o Longhorn (que tornou-se Windows Vista), sendo o WinFS demonstrado em 2003 pela primeira vez durante a Professional Developers Conference (PDC), com a promessa deste ser um sistema de arquivos avanado e responsvel por gerenciar arquivos como se fosse um banco de dados. Foi descontinuado o projeto do WinFS antes mesmo de ser lanado a verso final do Windows Vista.

Figura 3. Sistema de arquivos Protogon no Windows 8

3.2 Estrutura de Arquivos do Sistema Operacional Kubuntu /bin: Arquivos binrios de comandos fundamentais do sistema. /boot: Arquivos de boot (boot-loader; inicializao; Grub); kernel do Linux. /dev: Dispositivos (devices) de entrada/sada: floppy, hardisk, cdrom, modem. /etc: Arquivos de configurao (scripts) e inicializao. /home: Diretrio local (home) de usurios. /lib: Bibliotecas e mdulos (drivers): compartilhadas com freqncia. /mnt: Diretrio de montagem de dispositivos, sistemas de arquivos e partio. /opt: Para instalao de programas no oficiais da distribuio. /proc: Diretrio virtual (RAM) onde rodam os processos ativos. /root: Diretrio local do superusurio (root). /sbin: Arquivos de sistema essenciais (binrios do superusurio). /tmp: Arquivos temporrios gerados por alguns utilitrios. /usr: Arquivos de usurios nativos da distribuio. /usr/local: Para instalao de programas no oficiais da distribuio. /usr/src: Arquivos fontes do sistema necessrios para compilar o kernel. /var: Arquivos de log e outros arquivos variveis.

Figura 4. Estrutura de Diretrios do Linux

3.3 Estrutura de Arquivos do Sistema Operacional Android src: uma pasta que contm as classes Java. gen: Possui a classe R.java, gerada de forma automtica, permitindo que a aplicao possa acessar qualquer recurso, como arquivos e imagens, com a utilizao de constantes desta classe. assets: Possui arquivos opcionais ao projeto criado, como uma fonte customizada. res: Possui recursos da aplicao, como, por exemplo, layouts de tela, imagens e arquivos de internacionalizao. drawable: Contm as imagens da aplicao na pasta. layout: Consta arquivos XML de layouts para construo de telas. values: Consta arquivos XML que so utilizados para internacionalizao da aplicao e outras configuraes.

Figura 5. Estrutura de Diretrios do Android

Caractersticas do Android: - Cdigo fonte open source; - Foi baseado no kernel 2.6 do Linux (que gerencia memria, processos, threads e segurana); - Contm um kit de desenvolvimento Java chamado Android SDK; - H um SGBD nativo, o SQLite; - Tem suporte para grficos 3D com base na especificao 1.0 da OpenGL ES.

4. Novidades e Caractersticas do Sistema Operacional Windows 8


Os programas do Windows 7 rodam de forma nativa no Windows 8, tendo compatibilidade integral, e no sendo necessrio a instalao de nenhum programa adicional para o funcionamento destes no novo sistema.

Figura 6. Windows 8 Developer Preview

Abaixo seguem as novidades e caractersticas do sistema operacional: - Notificaes de atualizao e segurana: Se encontram minimizados no lado direito da tela de login, no canto inferior. As notificaes so recebidas, no Windows 7, com a sesso em andamento, ao lado do relgio, no canto inferior direito. - Gerenciador de Tarefas: No Windows 8 foi remodelado, suspendendo aplicativos que no esto em execuo na tela, consumindo, teoricamente, menos memria e bateria no dispositivo. - Novas funes (Reset PC e Refresh PC): Permitem o sistema reiniciar e restaurar rapidamente. - Hyper-V (software de virtualizao): No Windows 8 o Hyper-V vem carregado. - Suporte Multitouch: Funciona com Internet Explorer 10, pois est habilitado para isso.

- Lupa aprimorada, para melhorar seu uso na rea de trabalho. - Thumb-by-thumb (novo modo de entrada de dados): Tem como funo facilitar a digitao das informaes pelos polegares, podendo ser utilizado em tablets ou smartphones que possuem o Windows 8. - Suporte para mais de um monitor: Pode-se habilitar, para todos os monitores, uma nica tela de fundo, alm de cada monitor possuir barras de tarefas especficas, ampliando a funcionalidade e a organizao para os usurios que trabalham com mais de uma tela, e que executam diferentes atividades.

Figura 7. Windows 8 Developer Preview

- Interface Metro: Possibilita atualizar informaes (fotos, e-mails, contatos e calendrio) em seus hubs, pelo Windows Live ID, estando, esta interface, previamente ativa no ncleo do processador, o que torna mais rpida a inicializao do sistema e os aplicativos que so executados. - Novo recurso de sincronizao: Sincroniza diversos dispositivos (preferencialmente com o Windows 8) de um mesmo usurio, sendo que as mesmas configuraes definidas no desktop estaro no tablet, smartphone ou ultrabook. Os usurios que instalarem o Windows 8 Developer Preview Beta iro ter Suporte de atualizao contnuo. - Suporte para SkyDrive: Armazena aplicativos baseados em nuvem. - Chip NFC: Os dispositivos que possuem o Windows 8 e so equipados com este tipo de chip podero utilizar um recurso chamado tap-to-share para compartilhamento de contedos com outro dispositivo que tem o Windows 8, ou tambm, podem ser usados para recepo de contedos de dispositivos com NFC. - Login: Ser utilizado um sistema de identificao com base em foto.

- Software antivrus integrado ao Windows 8. - Aplicativos aptos conexo web: Se conectam de maneira nativa e fazem a identificao de outros aplicativos que esto sendo executados.

Referncias
TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3 ed. So Paulo: Pearson Prentice Hall, 2009. MOREIRA, Eduardo. Windows 8 em detalhes: principais caractersticas, novidades e como testar. 2011. Disponvel em: <http://www.techtudo.com.br/artigos/noticia/2011/09/windows-8-em-detalhesprincipais-caracteristicas-novidades-e-como-testar.html>. Acesso em: 25 mar. 2012. BABOO. Windows 8 ter novo sistema de arquivos. 2011. Disponvel em: <http://www.baboo.com.br/conteudo/modelos/Windows-8-tera-novo-sistema-dearquivos_a41937_z396.aspx>. Acesso em: 25 mar. 2012. [R.CASTALDELLI.INFO]. Gerenciamento de Recursos e Sistemas do Sistema Operacional. 2010. Disponvel em: <http://rcastaldelli.blogspot.com.br/2010/12/gerenciamento-de-recursos-e-sistemasdo.html>. Acesso em: 29 mar. 2012. FERRARI, Sandro R. Estrutura de diretrios do Linux. 2004. Disponvel em: <http://www.vivaolinux.com.br/dica/Estrutura-de-diretorios-do-Linux>. Acesso em: 24 mar. 2012. WIKIPEDIA. Sistema Operativo. 2012. Disponvel em: <http://pt.wikipedia.org/wiki/Sistema_operativo>. Acesso em: 27 mar. 2012. DIAS, Ana Dolores L. Android. Disponvel em: <http://www.slideshare.net/AnaDoloresLimaDias/android-9149956>. Acesso em: 24 mar.2012.