Noop scheduler
એન. ઓ. ઓ. પી. શેડ્યૂલર એ લિનક્સ કર્નલ માટેનું સૌથી સરળ I/O શેડ્યૂલર છે. આ શેડ્યૂલર જેન્સ એક્સબો દ્વારા વિકસાવવામાં આવ્યું હતું. ઝાંખી એન. ઓ. ઓ. પી. શેડ્યૂલર તમામ આવનારી I/O વિનંતીઓને સરળ ફીફો કતારમાં દાખલ કરે છે અને મર્જ કરવાની વિનંતીનો અમલ કરે છે. આ શેડ્યૂલર ત્યારે ઉપયોગી છે જ્યારે તે નક્કી કરવામાં આવ્યું હોય કે યજમાને તેમાં સમાવિષ્ટ સેક્ટર નંબરોના આધારે વિનંતીઓને ફરીથી ઓર્ડર કરવાનો પ્રયાસ ન કરવો જોઈએ. બીજા શબ્દોમાં કહીએ તો, શેડ્યૂલર ધારે છે કે યજમાન વિનંતીઓને ઉત્પાદક રીતે ફરીથી ઓર્ડર કેવી રીતે કરવી તે અંગે અજાણ છે. (સામાન્ય રીતે) ત્રણ મૂળભૂત પરિસ્થિતિઓ છે જ્યાં આ પરિસ્થિતિ ઇચ્છનીય છેઃ જો I/O સમયપત્રક I/O માળખાના નીચલા સ્તર પર નિયંત્રિત કરવામાં આવશે. નીચલા સ્તરોના ઉદાહરણો કે જે સમયપત્રકને નિયંત્રિત કરી શકે છે તેમાં બ્લોક ઉપકરણો, બુદ્ધિશાળી આરએઆઇડી નિયંત્રકો, નેટવર્ક જોડાયેલ સંગ્રહ અથવા બાહ્ય રીતે જોડાયેલ નિયંત્રક જેમ કે સ્વિચ કરેલ સ્ટોરેજ એરિયા નેટવર્ક દ્વારા એક્સેસ કરાયેલ સ્ટોરેજ સબસિસ્ટમનો સમાવેશ થાય છે. I/O વિનંતીઓ સંભવિત રીતે નીચલા સ્તર પર ફરીથી સુનિશ્ચિત કરવામાં આવે છે, તેથી યજમાન સ્તર પર IOPs ને અનુક્રમિત કરવા માટે કામગીરી પર યજમાન CPU સમયનો ઉપયોગ થાય છે જે ફક્ત નીચલા સ્તર પર પૂર્વવત્ કરવામાં આવશે, વિલંબમાં વધારો/કોઈ ઉત્પાદક કારણ વગર થ્રુપુટમાં ઘટાડો થશે. કારણ કે ક્ષેત્રની સ્થિતિની સચોટ વિગતો યજમાન પ્રણાલીથી છુપાયેલી હોય છે. એક ઉદાહરણ રેઇડ નિયંત્રક હશે જે તેના પોતાના પર કોઈ સુનિશ્ચિત કરતું નથી. યજમાન પાસે વિનંતીઓને ફરીથી ઓર્ડર કરવાની ક્ષમતા હોવા છતાં અને આર. એ. આઈ. ડી. નિયંત્રક પાસે ન હોવા છતાં, યજમાન પ્રણાલીમાં માંગના સમયને ઓછો કરવા માટે વિનંતીઓને ચોક્કસપણે ફરીથી ઓર્ડર કરવાની દૃશ્યતાનો અભાવ છે. યજમાન પાસે એક ક્રમ બીજા કરતા સારો છે કે કેમ તે નક્કી કરવાની કોઈ રીત નથી, તેથી તે સક્રિય કતારને શ્રેષ્ઠ રીતે પુનર્ગઠન કરી શકતું નથી અને તેથી, તેને તે ઉપકરણ પર પસાર કરવું જોઈએ જે (સૈદ્ધાંતિક રીતે) આવી વિગતોથી વધુ વાકેફ છે. કારણ કે વાંચન/લેખન માથાની હિલચાલ એપ્લિકેશનના પ્રદર્શનને અસર કરતી નથી જે ફરીથી ગોઠવવાના ઓવરહેડને યોગ્ય ઠેરવે. આ સામાન્ય રીતે નોન-રોટેશનલ મીડિયા જેમ કે ફ્લેશ ડ્રાઇવ્સ અથવા સોલિડ-સ્ટેટ ડ્રાઇવ્સ (એસએસડી) સાથે થાય છે. જો કે, ઉપરોક્ત પરિસ્થિતિઓ માટે એન. ઓ. ઓ. પી. એ પસંદગીનું આઈ/ઓ શેડ્યૂલર હોવું જરૂરી નથી. પર્ફોર્મન્સ ટ્યુનિંગ માટે લાક્ષણિક, તમામ માર્ગદર્શન અવલોકન કરેલ વર્ક લોડ પેટર્ન પર આધારિત હોવું જોઈએ (અંગૂઠાના સરળ નિયમો બનાવવાની વ્યક્તિની ક્ષમતાને નબળી પાડવી). જો અન્ય એપ્લિકેશનોમાંથી ઉપલબ્ધ I/O બેન્ડવિડ્થ માટે વિવાદ હોય, તો તે હજુ પણ શક્ય છે કે અન્ય શેડ્યૂલર સૌથી મહત્વપૂર્ણ માનવામાં આવતી એપ્લિકેશનો માટે વધુ બુદ્ધિપૂર્વક તે બેન્ડવિડ્થને કોતરીને વધુ સારું પ્રદર્શન પેદા કરશે. ઉદાહરણ તરીકે, એલડીએપી ડિરેક્ટરી સર્વર ચલાવવાથી સમયમર્યાદાની વાંચવાની પસંદગી અને વિલંબની બાંયધરીથી ફાયદો થઈ શકે છે. તે જ સમયે, ઘણી જુદી જુદી એપ્લિકેશનો ચલાવતી ડેસ્કટોપ સિસ્ટમ ધરાવતા વપરાશકર્તા CFQ ના ટ્યુનબલ્સ અથવા અન્ય (ionice) પર ચોક્કસ એપ્લિકેશનો માટે બેન્ડવિડ્થને પ્રાથમિકતા આપવાની તેની ક્ષમતા મેળવવા માંગે છે. જો અરજીઓ વચ્ચે કોઈ વિવાદ ન હોય, તો ઉપર સૂચિબદ્ધ ત્રણ દૃશ્યો માટે શેડ્યૂલર પસંદ કરવાથી બહુ ઓછો અથવા કોઈ ફાયદો થતો નથી. આ એક કામના ભારણની કામગીરીને એવી રીતે વંચિત કરવાની પરિણામી અસમર્થતાને કારણે છે જે અન્ય કામના ભારણ માટે વધારાની ક્ષમતા ઉપલબ્ધ કરાવે છે. બીજા શબ્દોમાં કહીએ તો, જો I/O પાથ સંતૃપ્ત ન હોય અને તમામ વર્કલોડ માટેની વિનંતીઓ ડ્રાઇવ હેડ (જે ઓપરેટિંગ સિસ્ટમ જાણે છે) ની આસપાસ ગેરવાજબી સ્થળાંતરનું કારણ બનવામાં નિષ્ફળ જાય, તો એક વર્કલોડને પ્રાથમિકતા આપવાનો ફાયદો એવી પરિસ્થિતિ ઊભી કરી શકે છે જ્યાં CPUએ I/O સુનિશ્ચિત કરવામાં વિતાવેલો સમય ઇચ્છિત લાભો આપવાને બદલે વેડફાય છે. લિનક્સ કર્નલ sysfs પરિમાણને શેડ્યૂલર-અજ્ઞેયવાદી રૂપરેખાંકન તરીકે પણ ઉજાગર કરે છે, જે બ્લોક સ્તરની મર્જિંગ લોજિકની વિનંતીઓને સંપૂર્ણપણે અથવા ફક્ત વધુ જટિલ મર્જિંગ પ્રયાસો માટે નિષ્ક્રિય કરવાનું શક્ય બનાવે છે. આ એન. ઓ. ઓ. પી. શેડ્યૂલરની જરૂરિયાતને ઘટાડે છે કારણ કે મોટાભાગના આઈ/ઓ શેડ્યૂલરોનું ઓવરહેડ તેમને મર્જ કરવા માટે વિનંતી કતારમાં નજીકના ક્ષેત્રોને શોધવાના તેમના પ્રયાસો સાથે સંકળાયેલું છે. જો કે, મોટાભાગના I/O વર્કલોડને એસએસડી જેવા ઝડપી લો-લેટન્સી સ્ટોરેજ પર પણ ચોક્કસ સ્તરની વિનંતીઓ મર્જ થવાથી ફાયદો થાય છે. આ પણ જુઓ પૂર્વનિર્ધારિત સમયપત્રક સમયપત્રક CFQ સમયપત્રક સંદર્ભો બાહ્ય કડીઓ ડિસ્ક I/O વર્કલોડનું ઓપ્ટિમાઇઝિંગ અને ઓપ્ટિમાઇઝિંગ નિર્ભર કામગીરીનું લિનક્સનું મૂલ્યાંકન I/O I/O સમયપત્રક કર્નલ આધારિત વર્ચ્યુઅલ મશીન માટે શ્રેષ્ઠ પદ્ધતિઓ (I/O સમયપત્રક પર સામાન્ય માહિતી પૂરી પાડે છે) લિનક્સ I/O સમયપત્રક બેન્ચમાર્ક પૂર્વનિર્ધારિત વિરુદ્ધ CFQ વિરુદ્ધ સમયમર્યાદા વિ. નોપ ડિસ્ક સમયપત્રક અલ્ગોરિધમ્સ