AQuoSA
AQuoSA (સર્વિસ આર્કિટેક્ચરની અનુકૂલનશીલ ગુણવત્તા) એ લિનક્સ કર્નલમાં સર્વિસ કાર્યક્ષમતાની અનુકૂલનશીલ ગુણવત્તાની જોગવાઈ માટે એક ખુલ્લું માળખું છે. આ પ્રોજેક્ટમાં લિનક્સ તરીકે સામાન્ય હેતુની ઓપરેટિંગ સિસ્ટમની ટોચ પર ક્યુ. ઓ. એસ. સંબંધિત સેવાઓને ટેકો આપવા માટે લવચીક, પોર્ટેબલ, હલકો અને ખુલ્લું આર્કિટેક્ચર છે. આર્કિટેક્ચર ઔપચારિક સુનિશ્ચિત વિશ્લેષણ અને નિયંત્રણ સૈદ્ધાંતિક પરિણામો પર સારી રીતે આધારિત છે. AQuoSA ની મુખ્ય વિશેષતા એ રિસોર્સ રિઝર્વેશન લેયર છે જે તેમની રન-ટાઇમ જરૂરિયાતોને આધારે QoS જાગૃત એપ્લિકેશનો માટે CPU ફાળવણીને ગતિશીલ રીતે સ્વીકારવામાં સક્ષમ છે. આવી કાર્યક્ષમતા પ્રદાન કરવા માટે, AQuoSA અર્લીએસ્ટ ડેડલાઇન ફર્સ્ટ (EDF) પર આધારિત CPU માટે સંસાધન આરક્ષણ પદ્ધતિનો અમલ કરતા કર્નલ-સ્તરના CPU શેડ્યૂલરને એમ્બેડ કરે છે. આ લિનક્સ કર્નલને સિસ્ટમમાં ચાલતા કાર્યો વચ્ચે (આંશિક રીતે) અસ્થાયી અલગતાને સમજવાની ક્ષમતા આપે છે. AQuoSA એ અમુક પ્રોજેક્ટમાંથી એક છે જે યોગ્ય રીતે રચાયેલ ઍક્સેસ-કંટ્રોલ મોડેલના માધ્યમથી નિયંત્રિત રીતે બહુ-વપરાશકર્તા પ્રણાલી પર વંચિત વપરાશકર્તાઓને વાસ્તવિક સમય સુનિશ્ચિત કરવાની ક્ષમતાઓ પ્રદાન કરે છે. વર્ણન પ્રોજેક્ટના આર્કિટેક્ચરને નીચે પ્રમાણે સારાંશિત કરી શકાય છેઃ લિનક્સ કર્નલમાં પેચ સૌથી નીચા સ્તરે, લિનક્સ કર્નલમાં પેચ કોઈપણ સંબંધિત સુનિશ્ચિત ઇવેન્ટને ગતિશીલ રીતે લોડ કરેલા મોડ્યુલોને સૂચિત કરવાની ક્ષમતા ઉમેરે છે. આ કાર્યોની રચના અથવા મૃત્યુ, તેમજ બ્લોક અને અનબ્લોક ઇવેન્ટ્સમાં ઓળખવામાં આવ્યા છે. આ પેચ ઓછામાં ઓછો આક્રમક છે, જેમાં તેમાં મુખ્યત્વે લિનક્સ શેડ્યૂલર કોડ (sched.c) માં યોગ્ય રીતે દાખલ કરેલા કોડની કેટલીક રેખાઓ હોય છે. તેને "સામાન્ય સમયપત્રક પેચ" કહેવામાં આવે છે, કારણ કે તે સંભવિત રીતે કોઈપણ સમયપત્રક નીતિને અમલમાં મૂકવાની મંજૂરી આપે છે. સંસાધન આરક્ષણ સંસાધન આરક્ષણ સ્તર ત્રણ ઘટકોથી બનેલું છે. મુખ્ય ઘટક ગતિશીલ રીતે લોડ કરી શકાય તેવું કર્નલ મોડ્યુલ છે જે સામાન્ય શેડ્યૂલર પેચ દ્વારા લિનક્સ કર્નલમાં રજૂ કરવામાં આવેલી કાર્યક્ષમતાનો ઉપયોગ કરીને CPU માટે રિસોર્સ રિઝર્વેશન શેડ્યુલિંગ નમૂનાનો અમલ કરે છે. બીજું, વપરાશકર્તા-સ્તરની લાઈબ્રેરી (ક્યુ. આર. ઇ. એસ. લાઈબ્રેરી) એપ્લિકેશનને API કૉલ્સના સંપૂર્ણ અને સારી રીતે રચાયેલ સમૂહ દ્વારા નવી સુનિશ્ચિત નીતિનો ઉપયોગ કરવાની મંજૂરી આપે છે. અનિવાર્યપણે, આ કૉલ્સ એપ્લિકેશનને સિસ્ટમને તેમની પ્રક્રિયાઓ માટે સીપીયુની ચોક્કસ ટકાવારી અનામત રાખવા માટે કહેવાની મંજૂરી આપે છે. ત્રીજું, કર્નલ-સ્તરનો ઘટક (સુપરવાઇઝર) ક્યુ. આર. ઇ. એસ. લાઈબ્રેરી દ્વારા અરજીઓ દ્વારા કરવામાં આવેલી તમામ વિનંતીઓમાં મધ્યસ્થી કરે છે, જેથી વિનંતી કરાયેલ સી. પી. યુ. શેરનો કુલ સરવાળો શેડ્યૂલરની સુનિશ્ચિતતાની સ્થિતિનું ઉલ્લંઘન ન કરે (ઓવરહેડને કારણે એક કરતા ઓછો અથવા એક કરતા થોડો ઓછો). સુપરવાઇઝરની વર્તણૂક સિસ્ટમ એડમિનિસ્ટ્રેટર દ્વારા સંપૂર્ણપણે રૂપરેખાંકિત કરી શકાય છે, જેથી CPU પર કરવામાં આવેલા રિઝર્વેશન માટે વપરાશકર્તા દીઠ/જૂથ દીઠ, લઘુતમ બાંયધરીકૃત અને મહત્તમ માન્ય મૂલ્યો સ્પષ્ટ કરવા શક્ય બને. AQuoSA સાથે, એપ્લિકેશનો સીધા જ રિસોર્સ રિઝર્વેશન લેયરનો ઉપયોગ કરી શકે છે, જે તેમને જરૂરી સુનિશ્ચિત બાંયધરીઓ સાથે ચલાવવા માટે CPUનો અપૂર્ણાંક અનામત રાખવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, મલ્ટિમીડિયા એપ્લિકેશન ઓપરેટિંગ સિસ્ટમને દર પી મિલિસેકન્ડમાં ઓછામાં ઓછા ક્યૂ મિલિસેકન્ડ માટે સુનિશ્ચિત થવાની બાંયધરી સાથે એપ્લિકેશન ચલાવવા માટે કહી શકે છે, જ્યાં ક્યૂ અને પી એપ્લિકેશનની પ્રકૃતિ પર આધાર રાખે છે. રિસોર્સ રિઝર્વેશન લેયર સાથે એપ્લિકેશનની નોંધણી કરતી વખતે, ન્યૂનતમ બાંયધરીકૃત આરક્ષણનો ઉલ્લેખ કરવો શક્ય છે કે જે સિસ્ટમ હંમેશા એપ્લિકેશનને બાંયધરી આપે. લઘુતમ બાંયધરીકૃત આરક્ષણની વિનંતીઓના આધારે, સ્તર પ્રવેશ નિયંત્રણ કરે છે, એટલે કે. તે નવી એપ્લિકેશનને ત્યારે જ મંજૂરી આપે છે જ્યારે, તેના ઉમેરા પછી, ચાલી રહેલી એપ્લિકેશનોનો નવો સમૂહ CPU સંતૃપ્તિ મર્યાદાને પાર ન કરે. ઉચ્ચ સંકોચન તકનીકોનો ઉપયોગ કરતી લાક્ષણિક મલ્ટીમીડિયા એપ્લિકેશન માટે, CPU પર નિશ્ચિત આરક્ષણ સાથે આવી એપ્લિકેશનો ચલાવવાનું ખૂબ મુશ્કેલ, અવ્યવહારુ અથવા અસુવિધાજનક હોઈ શકે છે. હકીકતમાં, સૌથી કાર્યક્ષમ આરક્ષણ કે જેનો ઉપયોગ થવો જોઈએ તે વિવિધ સંકોચન સ્તરને કારણે સમય જતાં બદલાઈ શકે છે જે વિવિધ પ્રતિસંકોચન સમયમાં પરિણમે છે. પરંપરાગત રીઅલ-ટાઇમ સિસ્ટમો WCET (વર્સ્ટ કેસ એક્ઝેક્યુશન ટાઇમ) વિશ્લેષણ તકનીકોનો ઉપયોગ મહત્તમ સમયની ગણતરી કરવા માટે કરે છે, ઉદાહરણ તરીકે, આગામી ઉદાહરણની રાહ જોતા પહેલા CPU પર સામયિક કાર્ય ચલાવી શકાય છે. આજના જટિલ મલ્ટીમીડિયા કાર્યક્રમોમાં આ પ્રકારનું વિશ્લેષણ ખૂબ જ મુશ્કેલ છે, ખાસ કરીને જ્યારે પ્રમાણભૂત પીસી જેવા સામાન્ય હેતુના હાર્ડવેર પર ચાલે છે, જ્યાં મલ્ટી-લેવલ કેશ, સીપીયુ એક્ઝેક્યુશન પાઇપલાઇન, ઓન-બસ બફર, મલ્ટી-માસ્ટર બસ જેવી તકનીકો મેમરી એક્સેસ માટે જરૂરી સમય નક્કી કરવામાં ઘણા અણધારી ચલ રજૂ કરે છે. આવી સિસ્ટમો પર, એપ્લિકેશનના સરેરાશ અપેક્ષિત ભારના આધારે સિસ્ટમ ડિઝાઇનને ટ્યુન કરવું વધુ અનુકૂળ છે. નહિંતર, રનટાઇમ દરમિયાન સિસ્ટમનો નોંધપાત્ર રીતે ઓછો ઉપયોગ થઈ શકે છે. પહેલેથી જ ઉલ્લેખ કર્યો છે તેમ, મલ્ટિમીડિયા એપ્લિકેશન્સના અમુક વર્ગો માટે, જેમ કે વિડિયો પ્લેયર, એપ્લિકેશન દ્વારા પ્રક્રિયા કરવામાં આવી રહેલા વાસ્તવિક ડેટાના આધારે લોડના ભારે વધઘટને કારણે, રન-ટાઇમ પર એપ્લિકેશન દ્વારા જરૂરી CPUના અપૂર્ણાંક માટે યોગ્ય નિશ્ચિત મૂલ્ય શોધવું તદ્દન અશક્ય છે. સરેરાશ જરૂરિયાતો પર આધારિત નિશ્ચિત આરક્ષણ, અથવા તેનાથી થોડું વધારે, રનટાઇમ દરમિયાન નબળી ગુણવત્તાના ક્ષણિક સમયગાળામાં પરિણમે છે (દા. ત. ફિલ્મ પ્લેબેક). બીજી બાજુ, મહત્તમ અપેક્ષિત ભારના આધારે નિશ્ચિત આરક્ષણ મોટાભાગના સમય માટે સીપીયુના બિનજરૂરી વધુ આરક્ષણમાં પરિણમે છે, સિવાય કે તે સમયગાળા કે જેમાં ભાર ખરેખર મહત્તમ અપેક્ષિત મૂલ્ય સુધી પહોંચે છે. એપ્લિકેશનોના આ વર્ગો માટે, એડેપ્ટિવ રિઝર્વેશન તકનીકોનો ઉપયોગ કરવો વધુ અનુકૂળ છે, જેમ કે AQuoSA ના એડેપ્ટિવ રિઝર્વેશન લેયર દ્વારા પ્રદાન કરાયેલ, જે એપ્લિકેશન પ્રક્રિયાઓની કોમ્પ્યુટેશનલ આવશ્યકતાઓનું સતત ઓન-લાઇન મોનિટરિંગ કરે છે, જેથી તે મોનિટર્ડ ડેટાના આધારે CPU પર કરવામાં આવેલા રિઝર્વેશનને ગતિશીલ રીતે અનુકૂલિત કરી શકે. અનુકૂલનશીલ આરક્ષણ સ્તર એપ્લિકેશનોને નિયંત્રકોના સમૂહનો ઉપયોગ કરવા માટે APIનો ખુલાસો કરે છે, જે મલ્ટિમીડિયા એપ્લિકેશનોના વિશાળ સમૂહમાં એકદમ સામાન્ય રીતે ઉપયોગમાં લેવાય છે. એ. ક્યુ. યુ. ઓ. એસ. એ. એક્સેસ કંટ્રોલ મોડલ લિનક્સની મોટાભાગની વાસ્તવિક-સમયની વિવિધતાઓ માટે સંશોધિત ઓએસની વાસ્તવિક-સમયની ક્ષમતાઓ ધરાવતા વપરાશકર્તાઓને સિસ્ટમ પર મૂળ વિશેષાધિકારોની જરૂર પડે છે. એમ્બેડેડ સિસ્ટમ સંદર્ભમાં આ સંપૂર્ણપણે સ્વીકાર્ય છે. જો કે, મલ્ટિ-યુઝર સિસ્ટમો માટે આ અતિશય છે જ્યાં મલ્ટિમીડિયા એપ્લિકેશન્સ અથવા સમાન માટે રીઅલ-ટાઇમ શેડ્યુલિંગ સુવિધાઓ જરૂરી છે. તેથી, AQuoSA એક સમર્પિત એક્સેસ-કંટ્રોલ મોડેલને એમ્બેડ કરે છે, જેના દ્વારા સિસ્ટમ સંચાલકોઃ વ્યક્તિગત વપરાશકર્તાઓ અથવા જૂથો માટે વાસ્તવિક-સમય સુનિશ્ચિત ક્વોટાને વ્યાખ્યાયિત કરી શકે છે, ઓછામાં ઓછી બાંયધરીકૃત બેન્ડવિડ્થ માટે મહત્તમ મૂલ્યોની દ્રષ્ટિએ જે OS વ્યક્તિગત વપરાશકર્તાઓ અથવા જૂથોને સંપૂર્ણ રીતે આપી શકે છે; વૈકલ્પિક જરૂરી બેન્ડવિડ્થ મૂલ્યો, લઘુત્તમ બાંયધરીકૃત આંકડાઓથી વધુ, સ્પર્ધાત્મક વપરાશકર્તાઓ વચ્ચે કેવી રીતે વહેંચવામાં આવે છે તેનું નિયંત્રણ કરો, ઓવરલોડ પરિસ્થિતિઓમાં; વ્યક્તિગત વપરાશકર્તાઓ અથવા જૂથો દ્વારા બનાવેલ વાસ્તવિક-સમય આરક્ષણને કારણે સિસ્ટમ પર લાદવામાં આવી શકે તેવા મહત્તમ સુનિશ્ચિત ઓવરહેડને નિયંત્રિત કરો; ઉદાહરણ તરીકે, વાસ્તવિક-સમય આરક્ષણમાં નિર્દિષ્ટ કરી શકાય તેવા લઘુતમ સમયગાળો શું છે તે નિયંત્રિત કરવાની મંજૂરી આપો. વધુ વિગતો આર. ટી. એ. એસ. 2008માં પ્રકાશિત થયેલા વિષય પરના પેપરમાં મળી શકે છે. બાહ્ય કડીઓ AQuoSA પ્રોજેક્ટ હોમ પેજ SCHED _ DEADLINE સંદર્ભો લિનક્સ કર્નલમાં રીઅલ-ટાઇમ કમ્પ્યુટિંગની સુવિધાઓ છે