31
Әр операциялық жүйе енгізу-шығару буферлеуін қамтамасыз етеді. Негізінде ол операциялық
жүйенің негізгі функцияларының бірі. Операциялық жүйе есептеу жүйесінің түрлі компоненттерінің
әр түрлі қатынас жылдамдықтарымен құресу үшін программалық
буферлеуді енгізеді, ол
қатынасуақытын дұрыстау және синхрондау проблемаларын шешеді.
Магниттік дискідегі жинақтауышты компьютердің орталық бөлігінің шапшаңдығымен
салыстырғанда жылдамдығы өте төмен. Шапшаңдығының айырмашылығы бірнеше рет. Операцияның
орындалу уақыты 0,5н/с болуы мүмкін, ал магниттік бастиектің бір жолшығынан басқа жолшыққа өтуі
бірнеше миллисекунд болады. Бастиектің астында оқу/жазу үшін қажет деректер секторын күтуге
бірнеше уақыттық интервалы өтеді. Қазіргі жетектерді кездейсоқ таңдалған сектор деректерінің
оқылуының орта ұзақтылығы 20мс болады. Бұл команда және операнд оперативті жадыдан және
бүркемеден таңдалуынан әлдеқайда төмен. Бірақ, деректер үлкен пакетпен оқылады (сектор размері
512 байт, ал дискімен операциялары кезінде көбінесе оқу немесе жазу
бірден бірнеше сектордан
болады).
Сонымен санашықтың оперативті жадымен жұмысының орта жылдамдылығы деректерді сыртқы
жадыдан магниттік дискіден оперативті жадыға жіберу орта жылдамдылығынан 2-3 рет жоғары.
Осы негізгі бағыныңқы жүйелердің үлкен келіспеушілігін дұрыстау үшін деректерді бүркемелеу
немесе буферлеу қолданылады.
Дерек оқу операцияларын дискідегі жылдамдатуы ол еселенген буферлеуді қолдану. Оның мәні ол
бір буферге магниттік дискіден деректер енгізілсе, онда басқа буферден алдында оқылған деректер
оқылуы және сұраған есепке берілуі мүмкін. Осындай үрдіс деректерді жазған уақытта да болады.
Буферлеу барлық ОЖ-де қолданылады. Бүркемелеу бір программа дискіден бірнеше рет бір деректерді
оқыған кезде қажет және пайдалы. Ол деректер бүркемеге бір рет орналасқан соң дискіге қатынау
керегі жоқ және программаның жұмыс жасау жылдамдылығы өседі. Бүркеме
ретінде біз буферлер
жиынын түсінеміз және оларды сәйкес жүйелік үрдісімен басқарамыз. Егер біз файлдың жазулары бар
бірнеше секторларды оқитын болсақ, онда ол деректер бүркемеден өтіп сонда қалады (бұл буферлерді
басқа секторлар ауыстырғанша). Егер деректерді қайта оқу қажет болса онда олар оперативті жадыдан
оқылады дискіге қатынамай-ақ жазу операцияларында жылдамдатуға болады. Деректер бүркемеге
жазылады және бұл операцияны сұраған есеп сұранысы нақты жазылады деп санаса болады. Есеп әрі
қарай өзінің орындалуын жалғастырса болады, сыртқы жүйелік үрдістер бірнеше уақыттан соң
деректерді дискіге жазады. Бұл операция кейінге қалдырылған жазба деп аталады. Егер кейінге
қалдырылған жазба қолданбаса, онда тек бір есеп өзінің
деректерін дискіге жазады, қалған
қолданбалар өзінің кезегін күту керек.
Бүркеме
жады-жадының
шапшаңдық
аймағы,
санашық
өңдеу
алдында
деректерді буферлеу үшін қолданылады.
Кейбір ОЖ-де бүркемелеу параметрлерін айқын көрсетуге болады, ал кейбір ОЖ-де бұл
параметрлерге ОЖ өзі жауап береді. WNT ОЖ-де файлдық бүркеменің және бүркемелеу
параметрлерінің мөлшерін айқын түрде басқаруға болмайды. Win 95/98 ОЖ-де бұл мүмкіндік бар,
бірақ тек қана нақтылы бүркемеге арналған жады мөлшерін және буфер мөлшерін көрсетуге болады.
MS-DOS операциялық жүйесі жұмыс жасағанда компьютерді кез келген уақытта өшіруге болады,
өйткені бұл жүйеде буферлеу жоқ. Unix және Windows операциялық жүйелерінде жұмыс уақытында
машинені
өшіруге болмайды, себебі бұл жағдайда ақпараттың жойылуы мүмкін. Буферлеу діңгейі
жүйенің реалды тиімділігін анықтайды.
Бұдан басқа ОЖ бірнеше параллель орындалып жатқан есептердің сұраныстарын орындалуына
байланысты бастиектің дерктерді оқуға/жазуға жылжытуын ұлғайту жұмысын атқарады. Деректерді
магниттік дискіден алу уақыты, магниттік бастиектің керек цилиндрге
жылжу уақытымен берілген
секторды күту уақытынан қосылады. Сонымен уақыттың көбісі деректерді іздеуге кетеді.
Негізгі әдебиеттер 9 [238-256], 10 [248-260]
Қосымша әдебиеттер 16 [198-207],19 [115-126]
Достарыңызбен бөлісу: