Você está na página 1de 7

QUALIDADE DE SERVIO EM SISTEMAS OPERACIONAIS

Gilberto Marchioro 1 <giba@ulbra.tch e.br > Roland Teodorowitsc h 2 <rola n d@ulbra.tche.br >
Universidade Luterana do Brasil (Ulbra) Cursos de Informtica Cmpus Canoas Av. Farroupilha, 8.001 Bairro Lus CEP 92420 - 280 Canoas RS

RESUMO
A qualida de de servios (QoS) em siste ma s operacionais direciona da gerncia da execuo de aplicaes, nor malme n t e crticas a nvel de dese m p e n ho ou segura na, que necessita m de regras rgidas relaciona da s ao seu tempo de execuo na arquitetur a do comp u t a d o r. A qualida de de servios no que se refere s redes de compu t a d or e s um tpico bem funda me n t a d o e docu me n t a d o , entreta nt o, no que se refere aos siste ma s operacionais, ainda muito s desafios esto em aberto. Desta forma, os siste ma s operacionais tradicionais no incluem, neste contexto, a qualida de de servios como funcionalida de interna disponvel. A qualida de de servios torna - se necess ria principalme n te em siste ma s embarca d os complexos, em aplicaes de temp o real ou com forte intera o com o usurio. Este artigo aprese nta o proble ma, relaciona n d o as solue s a nvel de algoritmo de escalona me n t o, objetivando vislumb r a r a impleme n ta o da qualida de de servio em uma arquitetur a real de hardw ar e e software. Palavras - chaves: Qualidad e de Servio; QoS; Sistema Operacional.

ABSTRACT
Title: Quality of Service in Operating Syste ms The Quality of Service in Operating Syste ms (QoS) is related to the execution of applications, usually critical in terms of perform a nce or security, which needs definition of its processor execution time. The quality of service related to computer networks is a well known and docu me n te d topic, mean w hile, related to operating syste ms, a lot of challenges are unsolved. This way the traditional operating syste ms do not in this context support quality of service as an available internal function. The quality of service is needed usually in a complex embedded system, in real time or strong user interactive applications. This article presents the problem, indicating solutions adapting the scheduling algorith m, allowing managing the quality of service implem e n ta tion in a real hardwa re software architecture. Key - words: Quality of Service; QoS; Operating Syste m.

INTRODUO

A qualida de do servio presta d o por um siste m a operacional no controle da execuo de uma aplicao est relaciona d a garan tia de certas mtricas de desem p e n h o infor ma da s pela aplicao. Caso o siste m a operacional inclua em sua estru t u r a o supo rt e qualida de de servio, este tem condies de, previame n te, antes do incio da execuo da aplicao, garantir ou no o cum pri m e n t o das mtricas especificadas pelo usurio. A dificulda de desta tarefa encon t ra - se em supor ta r a qualidad e de servio no apenas na execuo do cdigo de uma simples aplicao, mas levar em considerao os sub - sistem a s e recursos envolvidos na sua execuo. No esquecen d o que diferen te s aplicaes pode m estar em execuo, junto ao processa d o r, possuin d o ou no exigncias de qualidade de servio embutida s. Neste contexto, a funo do siste ma operacion al passa a no ser apenas executar de forma eficiente as aplicaes no que se refere utilizao do processa dor, memria (primria e secun d ria), I/O e demais sub - siste ma s
1 2 Professor das disciplinas da rea de Arquitetura de Computadores dos cursos de Inform tica da Ulbra Canoas. Professor das disciplinas da rea de Sistemas Operacionais dos cursos de Informtica da Ulbra Canoas e Ulbra Gravata.

In: Seminrio de Informtica RS (SEMINFO- RS'2006) Torres, 3 a 5 de novembro de 2006

11

12

SEMINFO- RS'2006

envolvidos, mas executar com a eficcia especificada. Uma vez que esta rea ainda apresen ta muitos desafios no soluciona d o s e encontra - se em fase de descober ta s, impor ta n t e que o siste ma operacional a ser adapta do, ou a ser constr u do, seja de fcil adap tao a fim de per mitir a assimilao de novos servios que tornare m - se necess rios. Os siste m a s operacionais atuais organiza m a fila de execuo de process os basead a principal m e n t e na priorida d e de execuo. Entreta nt o, a qualidade de servio necessita incluir a reserva de recurso s do siste ma para a garantia do dese m pe n h o necessrio, fator este difcil de modelar nos algorit m o s de escalona m e n t o existent es, mecanis m o s de interru p es e protocolo s de comu nicao. Um fator inicial impor ta n t e relativo ao supor te qualidad e de servio, refere - se deciso entre adapt ar o kernel de um siste ma operacion al existen te, ou optar no desenvolvimen t o de um novo kernel de siste ma operacional que possua a qualida d e de servio como requisito bsico de sua arquite t u r a. Esta deciso deve basear - se em profun d o estu do de viabilida de por parte do projetista. Adaptar um siste ma operacional existe nte pode exigir profun da s alterae s em seus algorit m o s e estru t u r a s bsicas do kernel , enqua n t o que desenvolver o kernel (ou o microkernel ) de um siste m a operacio nal conten do qualidade de servio em suas razes, mes m o parecen d o atraen te, torna - se um grande desafio. A qualidade de servio tem sido ampla me n t e discutid a nas reas das telecom u nicaes e nas redes de comp u t a d o r e s. Nestas reas, a qualida de de servio refere - se probabilida de de estabelecer uma conexo a um destino ou garantia de uma largura de banda mnima. Da mes ma forma que ocorre nos siste m a s operacionais de uso geral, a Internet no foi projetada para prever a qualida de de servio em seus prot ocolos de base, funcionan do no regime de melho r esforo, como ocorre nos algorit m o s de escalona m e n t o (KUROSE, 2003). No que se refere s redes de comp u t a d o r e s, as tcnicas utilizada s tem sido garantir recurso s suficientes para suport a r os picos espera d os de utilizao da rede, levando em consider ao uma marge m de segura na definida. Entreta nt o esta tcnica muitas vezes despe r dia recur so s aguar da n d o o pico de utilizao.

D ESAFIOS ATUAIS

Os siste m a s operacionais cump re m a nobre misso de gerenciar os recurs o s de um compu t a d o r a fim de permi tir a execuo de aplicaes de forma organiza d a. Estes recurs os inclue m o processa do r, a mem ria principal e secun d ria, os dispo sitivos de entrada e sada, entre outros. O estad o atual de evoluo dos siste ma s operacionais j apresen ta algorit m os estveis e otimi za d o s para o controle de aplicaes concorre n t e s (TANENBAUM, 2000). Os trabalhos atuais relaciona d o s a esta rea se direciona m a otimizaes de cdigo e a adequao a novas tecnologias disponibilizad a s pelos processa do r e s, como processa do re s de 64 bits, tecnologias Hyper - Threading e Dual Core, por exemplo. Os siste m a s operacionais poss ue m um kernel que concent ra as suas funes principais, como escalona m e n t o, comu nicao de processos, controle de mem ria e protoc olos. Estas funes so imple me n t a d a s com base em procedi m e n t o s, com seus par me t r o s. A forte integrao entre estes procedi me n t o s aumen ta o dese m p e n h o do conjunt o, mas dificulta a substit uio de alguma de suas funes por outras, com caracters tica s particulares, como no caso da qualida de de servio. A noo de interface, encaps ula m e n t o, herana e polimorfis m o das linguagen s orienta d a s a objeto vo ao encontr o da necessida de de flexibilizar o kernel facilitan d o a incluso de novas funcionalida de s. Uma vez que os siste ma s operacionais conhecido s no foram pensa d o s para incluir a qualida de de servio, torna - se um desafio oferecer este benefcio sem uma

Seminrio de Informtica RS (SEMINFO- RS'2006)

13

muda n a radical em sua estrut u r a interna. Um siste ma operacional ideal, que supor te qualida de de servio, poderia, por exemplo, per mitir a seleo ou a substituio de algorit mo s internos em tempo de execuo a fim de se adapta r a um novo servio requisita do. Ou seja, as funes internas do siste ma operacional poderia m adap ta r - se ao tipo de aplicao a ser executa da. Outra dificulda de de controle do temp o real de execuo nos siste ma s operacionais atuais est na fila de execuo de processo s. O algorit mo de escalona m e n t o conce de a cada processo um perodo de execuo junto ao proces sa d o r, principal me n t e com base na sua priorida de. Entretan t o, uma dificulda d e conhecida nos siste m a s de tem po real, ocorre quando os processo s realiza m chama d a s de siste m a. Estas chama da s no pode m ser interro m pi d a s, uma vez que nor mal m e n t e executa m cdigo do pr prio kernel do siste ma operacional. Isto significa que process o s, mes mo possuin d o baixa priorida de ou no sujeitos a qualidade de servio, no so interro m p i d o s duran te a execuo de chama da s ao siste ma. A Qualidade de Servio torna - se tamb m necessria uma vez que estes esto intima me n t e ligados ao ambiente (sensores e atua dor es), e algorit mo s de controle que devem Entreta nt o, somen te siste m a s embarca d o s complexos pode m um sistem a operacional, mes m o com um microker nel em sua aos siste ma s embarca d o s, atravs de suas interfaces respeitar severas mtricas. se dar ao luxo de inclure m arquitet u r a.

Os siste m a s operacionais basead o s em microkernel facilita m o supo rt e de novos servios, uma vez que este kernel prove apenas as funes bsicas do sistem a operacional, enqua nt o que os demais servios so dispo nibiliza d o s pelos progra m a s a nvel de usurio. O ajuste destes siste m a s operacio nais, por exemplo, para supor ta r qualida de de servio, poderia se concent ra r nestas funes bsicas provida s pelo kernel .

IDENTIFICAO

DO PROBLEMA

O principal algorit m o do kernel o escalona do r de processo s. Este atribui um tem po de execuo aos process os que se encon t ra m na fila de execuo. Basicame n t e existe m trs classes de aplicaes, necessita n d o diferen te s nveis de exigncia: best effort (melhor esforo) forma padro de execuo dos processo s; soft real- time (tempo real leve) garante m requisitos de temp o real de forma estatstica; hard real - time (tempo real forte) quando impera tivo que a atividade reaja em um temp o deter mi n a d o. Os siste ma s operacionais tradicion ais impleme n t a m o algorit mo de escalona m e n t o chama do de Round Robin . Este larga me n t e utiliza d o, um dos mais antigos e simples algorit mo s de escalona m e n t o, especialme n t e projeta d o para sistem a s time - sharing . Os processos so arma ze na d o s em uma fila circular e o escalona d o r percorre a fila, alocan d o para cada process o uma fatia de temp o do processa d o r. Este algorit m o no se preocu p a com controle de tem po. Em aplicaes que necessita m real- time , este algorit m o simples me n t e atribui priorida de mxima ao processo, preju dican d o a execuo dos demais que se encont r a m em execuo. Para este tipo de aplicao foram desenvolvidos outros algorit mos de escalona m e n t o, como SQF (Start - time Fair Queuing ), EDF (Earliest Deadline First ) e RMA (Rate Monotonic Algorith m ). Cada um destes algorit m os direciona - se a uma categoria de aplicao. O desafio est em encontra r uma forma de co- existencia entre os vrios algorit m o s existen te s ou outros que se mostr a re m necessrios.

QUALIDADE

DE

SERVIO
que imple me n t e a qualida de de servio deve supor ta r uma srie deve ser realiza da a parametrizao dos recursos da arquitetura . deve identificar os recurso s dispo nveis para a execuo das sero alocado s para realizar os servios necessrios a cada

Uma arquitet u r a de etapas. Inicialme nt e, O siste m a operacional tarefas. Estes recursos

14

SEMINFO- RS'2006

aplicao. Normal me n t e esta etapa de identificao de recurs o s realiza da duran te a inicializao do siste ma. A complexida de aumen ta quand o pensa m o s em um sistem a operacional que permita a incluso de novas funcionalid a d es em temp o de execuo, necessitan d o reestr u t u r a o dos par me t r o s intern o s das polticas de qualida de de servio. A ativao da aplicao necessita, alm do cdigo executvel e infor ma es de priorida de e privilgios, como ocorre nos siste ma s operacionais tradicionais, de uma srie de par me t r o s adicionais que define m os requisitos de qualidad e. J existe m trabalhos publicados relativos a protocolos de negociao que especificam os requisito s da qualida de de servio desejada (CAMPBELL, 1996). Cabe ao siste m a operacional realizar a difcil tarefa de co- relacionar os par me t r o s definidos no protocolo com os recurso s identificados na etapa anterior, levando em considerao o estado atual de execuo do siste ma. Desta forma, cada necessida d e descrita a nvel da aplicao do usurio, atravs de par me t r o s junto especificao de qualida de, deve se co- relaciona r com cada um dos recursos envolvidos. Na fase de negociao o provedo r de qualida de de servio deve verificar se possui condio de executar a aplicao respeita n d o as mtricas fixadas. O siste ma operacional deve verificar a disponibilidade de seus recurso s, uma vez que diferen t es aplicaes normal m e n t e compa r tilha m estes recurso s, e verificar a viabilidade de reservar parte do tem po destes recursos para a aplicao. A fase de negociao realizada de forma centraliza da, uma vez que este algorit m o deve ter conhecime n t o do estado dos vrios recurs os do sistem a. Pode ocorrer que o siste ma no tenha condies de executar a aplicao respeita n d o a qualida de de servio solicitada, por exemplo, quand o o siste ma est sobrecarrega do, ou as exigncias forem muito fortes, cabend o ao solicitante toma r alguma deciso (esperar, reavaliar as exigncias, pensa r em up - grade de algu m recur so). Caso seja deferido, o siste ma se encarregar de reservar recurso s, para me t ri z a r o algorit mo de escalona m e n t o, controle de interr u p es e protocolos a fim de mante r a qualida de de servio. Esta reserva de recurso s pode ocasionar outro s proble ma s, como dead - lock , por exemplo. O siste m a operacional deve dispor de um gerenciado r de recurso. Este tem como finalidade garantir que as requisie s solicitada s pela aplicao sejam cump rid a s pelo algorit mo de escalona m e n t o, reservan d o os recurso s necessrios. Aprovada a execuo do process o baseada na dispo nibilidade do hardware, o provedor de recurs os do siste m a operacio nal deve monitorar internamente seus compone n t e s. Da mes m a forma, os fatores extern os relaciona do s ou no ao usurio (fluxo de dados, por exemplo) devem respeitar os par me t r o s definidos. O no respeito pode acarretar uma simples notificao ou at a suspe n s o do servio de qualida de. O siste m a operacional identifica, para cada conju n t o de instr u es, a categoria de servio necessria, infor ma n d o ao escalona do r de recurso s. Podem ser necessrios diferent e s algorit m os de escalona m e n t o, assim como guardar um percent u al de reserva de recurs o para as situaes mais crticas. Em caso de sobrecarga, o siste ma operacio nal pode, caso progra m a d o para tal, se reestr u t u r a r, alteran d o par me t r o s de seus algorit m o de escalona m e n t o ou de seu algorit m o de alocao de recurs o s. O supo rte qualida de de servio invariavelme n te ocasiona uma sobrecarga de gerncia e de controle, ocasiona d o uma reduo no dese m pe n h o global do siste ma. Ao trmino da execuo da aplicao, ou aps respeita d o s os par me t r o s da qualida de de servio, o siste ma operacional pode liberar os recursos previame n te alocados.

Seminrio de Informtica RS (SEMINFO- RS'2006)

15

ESCALONADOR

DE PROCESSOS

O desafio de supor t a r difere n te s algorit m o s de escalona m e n t o adap ta d o s a diferent e s classes de aplicaes foi inicialme n t e estu d a d o por Goyal (GOYAL, 1996). Este divide o tempo de execuo do proces sa d o r, de forma hierrq uica, entre vrios algorit mo s de escalona m e n t o, por exemplo, pertence n t e s s classes de aplicaes acima apresen ta d a s (Round Robin, SQF, EDF e RMA ). Por sua vez, os algorit m o s de escalona m e n t o compa r tilha ro o tem p o de execuo que lhes cabe entre os processo s controla dos por estes. O gerencia dor da qualidade de servio se encarrega de, depen d e n d o da classe de cada aplicao, entreg - la ao algorit mo de escalona m e n t o aprop ria d o. A percen tag e m do tem po do processa d or que cada algorit m o de escalona me n t o ter depen d e da quanti da de, das caracters ticas e da necessida d e das aplicaes por eles respo n s veis. Pode ser interessa n t e disponibiliza r a opo de, depen d e n d o do anda m e n t o da execuo das aplicaes, alterar dina mica me n t e o algorit m o de escalona m e n t o utilizad o para um dado process o. Por exemplo, encerra da a rotina que exigia qualida de de servio em uma aplicao, esta pode passar a ser controla da por um algorit mo de escalona m e n t o do tipo Round Robin (REGEHR, 2001). O cdigo executvel das atividad es que exigem caracters ticas especiais de qualida de de servio, ou de temp o real, necessita acomp a n h a r infor ma es adicionais a fim de para me t ri za r os algorit m o s de escalona m e n t o. Estas infor ma e s pode m ser anexada s ao cdigo da aplicao atravs da anlise din mica de dese m p e n h o, tamb m conhecida como profiling . Da forma oposta anlise esttica de cdigo, anlise din mica depen d e n t e da arquitet u r a de execuo e guard a infor mae s duran te uma prvia execuo da aplicao. Estas infor m ae s relaciona d a s freqncia e ao tem po de execuo de funes ou md ulos, so arma ze n a d a s na forma de um fluxo de dados estatsticos. Esta etapa impor ta n t e uma vez que infor ma e s inadequa d a s pode m ocasionar uma degra dao na qualidad e de servio oferta d a.

A RQUITETURA

DE PROVISO DE

QO S

Cada subsiste m a da arquite t ur a necessita de um forma t o particula r de descrio dos par me t r o s da qualida de de servio. Por exemplo, o algorit m o de escalona m e n t o necessita de infor m aes quanto ao percen t u al de uso do processa d o r e quanto s instrue s de mquina que devem ser executa d a s na arquite t u r a em um dado intervalo de tem po. Estes par me t r o s esto dispos to s em uma hierar q uia, onde os par me t r o s de um nvel supe rior so mapeado s a um nvel inferior, menos abstrat o. A fim de aumen ta r a flexibilidad e, os recurso s do siste ma pode m ser modelado s na forma de recursos virtuais, como ilustra a Figura 1. Estes recurso s virtuais tm suas utilizaes compa r tilha da s entre os processo s executa do s pelo usurio. Os algorit m o s de escalona m e n t o baseia m - se nos recurso s virtuais que modela m os recurso s reais. Este nvel de abstrao permi te que novos recurs o s sejam includos no siste ma e/o u excludos dura nte a execuo (MORENO, 2002). Desta forma, cada escalona d o r, respo n svel por cada categoria de servio presta do, se encarrega de realiza r a relao entre os recursos virtuais alocados aos processos e os recurs os reais. Os recurso s devem ser trata d o s pela arquitet u ra de forma integrada, permitin do o controle como um todo. Os mecanis mo s de escalona me n t o e alocao do siste ma operacional trabalha m junto s.

16

SEMINFO- RS'2006

Figura 1 Exemplo de arquitetura para suporte a QoS Definido este modelo simplificado de arquitet u r a genrica de funciona m e n t o do siste ma operacional, adapta do qualida de de servios, pode - se passar para a imple me n t a o de um estudo de caso simplificado. Para tanto objetiva - se integrar este modelo ao Sistema Operacional S (MELLO, 2000), um siste ma operacional simplificad o e de cdigo aberto desenvolvido para fins didticos. Este possui um kernel bem simplificado, facilitando a incluso destas novas potencialida d es.

CONCLUSO

Este artigo apresent o u, de forma sinttica, os desafios e as caracte rs ticas relacionado s qualida de de servios em siste ma s operacionais. Como visto, os siste m a s operacionais atuais no inclue m facilidade s necess rias ao gerencia me n t o de recurs os de uma arquitet u r a de hardware necessrias a certos tipos de aplicao que manip ule m, por exemplo, fluxos contnuos de dados em temp o real. Entretan t o, devido ao aumen t o da velocidade dos processa dor e s e dos demais dispositivos da arquite t u r a, oferecer recurs o s de qualida de de servio a aplicaes torno u - se vivel. Neste contexto, este trabalho objetiva dar subsdios etapa de implan t ao da qualida de de servios em um siste ma operacional simplificado desenvolvido com fins didticos.

REFERNCIAS
BRUNO, J., GABBER, E.; ZDEN, B., SILBERSCHATZ, A., The Eclipse Operating System: Providing Quality of Service via Reservation Domains , Proceedings of the USENIX 1998 Annual Technical Conference, New Orleans, Louisiana", June 1998. CAMPBELL, Andrew. A quality of service Depart me n t, Lancaster University, 1996. architecture. PhD thesis, Comp u ting

GOYAL, Pawan; GUO, Xingang; VIN, Harrick. A hierarchical CPU scheduler for multimedia operating systems. Proceedings of 2nd Symposiu m on Operating System Design and Impleme n t a ti on (OSDI'96), p. 107 - 122, 1996. KUROSE, James F.; ROSS, Keith W. Redes de Computadores e a Internet: uma nova abordagem . Ed. Addison Wesley, 2003. MELLO, Paulo L. S., SOS - Sistema Operacional S. Trabalho de concluso do curso de Cincia da Compu ta o da Universida de Luterana do Brasil (Ulbra Canoas), 2000. MORENO, Marcelo Ferreira, Um Framework para Proviso Operacionais. Dissertao de Mestra d o. PUC- RJ, 2002 de QoS em Sistemas

REGEHR, John. Using hierarchical scheduling to support soft real- time applications in general - purpose operating systems . PhD thesis, University of Virginia, 2001.

Seminrio de Informtica RS (SEMINFO- RS'2006)

17

REGEHR, John. Using hierarchical scheduling to support soft real- time applications in general - purpose operating systems. PhD thesis, University of Virginia, 2001. TANENBAUM, Andrew S.; WOODHILL, Albert S. Sistemas Implementao . 2 ed. Porto Alegre: Bookma n, 2000. Operacionais, Projeto e