Енгізу-шығарудың бағдарламалық қамтамасыздандырылуын ұйымдастыру
Енгізу-шығару бағдарламалық жасақтамасын ұйымдастырудың негізгі идеясы оны бірнеше деңгейге бөлу болып табылады, ал төменгі деңгейлер аппаратураның ерекшеліктерін жоғарғы деңгейден қорғауды қамтамасыз етеді, ал олар өз кезегінде пайдаланушылар үшін ыңғайлы интерфейсті қамтамасыз етеді.
Негізгі қағида-құрылғылардан Тәуелсіздік. Бағдарламаның түрі оның иілгіш дискіден немесе қатты дискіден деректерді оқуына байланысты болмауы керек.
Құрылғылардан Тәуелсіздік идеясына өте жақын-біркелкі атау идеясы, яғни құрылғыларды атау үшін бірыңғай ережелер қабылдануы керек.
Енгізу-шығару бағдарламалық жасақтамасының тағы бір маңызды мәселесі-қателерді өңдеу. Жалпы айтқанда, қателерді аппаратураға мүмкіндігінше жақын өңдеу керек. Егер контроллер оқу қатесін анықтаса, оны түзетуге тырысуы керек. Егер ол сәтсіз болса, онда құрылғы драйвері қателерді түзетуі керек. Көптеген қателер енгізу-шығару әрекеттерін қайталап көргенде жоғалып кетуі мүмкін, мысалы, оқу бастарында немесе дискіде шаң түйіршіктерінің болуынан туындаған қателер. Егер төменгі деңгей қатені жеңе алмаса ғана, ол жоғарғы деңгейге қате туралы хабарлайды.
Тағы бір маңызды мәселе - бұғаттайтын (синхронды) және бұғаттамайтын (асинхронды) берілістерді пайдалану. Физикалық енгізу-шығару операцияларының көпшілігі асинхронды түрде орындалады-процессор тасымалдауды бастайды және үзіліс пайда болғанға дейін басқа жұмысқа ауысады. Егер енгізу-шығару операциялары бұғатталған болса, пайдаланушы бағдарламаларын жазу әлдеқайда оңай - READ пәрменінен кейін Бағдарлама деректер бағдарлама буферіне жеткенше автоматты түрде кідіртіледі. ОЖ енгізу-шығару операцияларын асинхронды түрде орындайды, бірақ оларды синхронды түрде қолданушы бағдарламалары үшін ұсынады.
Соңғы мәселе - кейбір құрылғылар ортақ, ал басқалары бөлінген. Дискілер-бұл ортақ құрылғылар, өйткені бір уақытта бірнеше пайдаланушының дискіге кіруі қиындық тудырмайды. Принтерлер-бұл арнайы құрылғылар, өйткені әртүрлі пайдаланушылар басып шығарған тігістерді араластыру мүмкін емес. Арнайы құрылғылардың болуы Операциялық жүйе үшін кейбір мәселелерді тудырады.
Қойылған мәселелерді шешу үшін Енгізу-шығару бағдарламалық жасақтамасын төрт қабатқа бөлген жөн (2.30-сурет):
Үзілістерді өңдеу,
Құрылғы драйверлері,
Құрылғыларға тәуелсіз Операциялық жүйе қабаты,
Арнайы бағдарламалық жасақтама қабаты.
Достарыңызбен бөлісу: |