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