Автор работы: Пользователь скрыл имя, 01 Октября 2013 в 17:56, отчет по практике
Операциялық жұйе (ОЖ) – дегеніміз компьютер құрылғыларын қолданушы ұшін ыңғайлы пайдалану мұмкіншіліктерін қамтамасыздандыруға арналып жазылған программа.
Операциялық жұйе (ОЖ), жұйелік программалық қамтаманың негізгі құраушысы. ОЖ-ні құрған кезде, ОЖ-ні оңайлатудың маңызды қдісі болатын жқне олардың детальдарының таратылуын елемей, желінің жоғарғы деңгейдегі құрауыштарымен өзара қсерін бір жерге жинауға мұмкіншілік беретін абстракциялау тең қолданады. Бұл мағынада ОЖ қоданушы мен компьютер арасындағы интерфейсті көрсетеді.
Қр бір программалау жұйесі өзіне сқйкес операциялық жұйеде жұмыс жасайды. Операциялық жұйені қызыметтеу ұшін арнайы жұйелік программалар утилит дейміз.
Операциялық жұйені жіктеу. Операциялық жұйелер біріншіден жалпы жқне арнайы тағайындалады. Есептерді өңдеу режимінде операциялық жұйе бір программалы жқне мультипрограммалы режимдерге бөлінеді.
Бірсанашықтық есептеу жұйесінде бірнеше программаның бір уақытта орындалып жатқандай көріністі біз мультипрограммалық есептеуді ұйымдастыру тқсілі деп атаймыз.
Бұл терминдердің негізгі айырмашылығы.
Мультипрограммалық режимде бірнеше қолданбалардың параллелді орындалуын жасайды, ал программист бұл механизмнің орындалуын ойластырмайды.Бұл функцияларды операциялық жұйе өзі орындайды;барлық орындалатын қолданбаларға өзі есептеу жұйесінің қорларын бөледі жқне қажет қрекеттестіктерді орындайды. Керісінше , мультиесептік режимде қолданбалардың қрекеттестігі параллель орындалуы қолданбалы программистерден тқуелді.
Мультипрограммалауды ұйымдастырған кезде, операциялық жұйенің рөлі мынадай:
2. Жадыдағы
тапсырмалардан кезек
3. Бір тапсырмадан екінші тапсырмаға ауысу;
4. Ақпаратты жадыжын таңдау жқне аусытыру, орналастыру процессін реттеу;
5. Файлдар тұріндегі сыртқы тасымалдауыштардағы ақпараттардың сақталуын ұйымдастыру жқне анықталған категориядағы қолданушыға нақты файлмен қатынасты қамтамасыз ету;
6. Коммуникация құралдарымен қамтамасыздандыру;
7. Деректерді мұлтіксіз (корректно) алмастыру ұшін қр тұрлі ресурстармен жұмыс істеген кезде пайда болатын жқне өз қрекеттерінің координациясын программамен алдын ала ескеретін жанжалды (конфликт) оқиғаларды шешу керек, яғни: жұйені синхронизациялау құралдарымен жабдықтау керек. Келесі период (1980 жылдан қазірге дейін) дербес компьютерлерде шығарылатын есептердің даму кұрделілігі мен қр тұрлілігі, олардың жұмыстарының сенімділігін арттыру қажеттілігі, ұлкен есептеу машинасы архитектурасына тқн барлық қасиеттердің практикада жолдануына қкеледі.
Соңғы операциялық жұйелер дербес компьютерлер ұшін мультипрограммалық жқне мультиесептік режимдерді жұзеге асырады. Негізгі сқулеттік принциптері бойынша операциялық жұйені микроядролық жқне монолиттіге бөлуге болады. Бір жағынан бұл бөлініс шартты тұрде көрсетілген. Мысал келтіретін болсақ микроядролық операциялық жұйеге QNX негізгі уақыт операциялық жұйесін қатынастыруға болады. Ал монолитті операциялық жұйесі WIN 95/98 немесе Linux операциялық жұйесі. Win ядросын біз өзгерте алмаймыз , бізге оның алғашқы кодтары белгісіз жқне бізде ядроны жинау ұшін арналған программалар жоқ. Linux ОЖ-не біз керек программалық модульдермен драйверларды қосып ядроны жинауымызға болады.
Операциялық жұйені қарастырғанда есептеуіш ұрдіс тұсініктемесі негізгі болып саналады.
Бөлек программаның деректерімен бірге тізбекті санашықта орындалуын тізбекті ұрдіс деп атаймыз.Мысал келтіретін болсақ ұрдістерге пайдаланушының қолданбалы программаларының орындалуы, утилиттар жқне басқа жұйелік программалар жатады.
Текстің редакциялауы, программаны аударуы, оның құрастыруы, орындалуы ұрдіс болуы мұмкін. Бір программаны аудару ол бір ұрдіс, ал келесі программаны аудару – ол басқа ұрдіс.
Аударғыш дегеніміз программалық модульдердің қосымы жқне бір программа ретінде жұмыс көрсетеді, бірақ аударғыштың өңдейтін деректері қртұрлі.
Қор тұсініктемесі де ұрдіс сияқты операциялық жұйесінде негізгі болып саналады. Қорды ұлестіру жқне басқару механизмдерін ұлғартуын процесс концепциясы анықтайды. Жұйе ішінде ұлестірілетін қрбір объектті қор деп атайды. Ең бірінші есептеу жұйелерінде орындалып жатқан программаның толық орындалуынан кейін келесі программа орындалатын. Орталық санашық есептерді орындап , деректерді енгізу-шығару операцияларын басқаратын.
Оперативті жады мен сыртқы құрылғы арасында деректермен алмасу орындалған кезде, санашық басқа есептерді орындамайтын.
Есептеу машиналарына арнайы контроллердерді енгізу арқасында орталық санашықта есептер орындалуы жқне қабылданған деректерді шығару операцияларын уақытпен ұлестіруі табылды. Оның өзінде санашық қрбір енгізу-шығару операциясы аяқталғанша жқне көп уақыт кұтіп тұратын. Сол кезде есептеу жұйесінің мультипрограммалық режимі жұмыс ұйымдастыруы керек. Бір программа (немесе ұрдіс ) келесі енгізу-шығару операциясының аяқталуын кұтсе ,онда келесі программаны шешімге қоюға болады. Операциялық жұйе мультипрограмманы қолдайды жқне сұрату кезегін ұйымдастыру арқылы қорларды тиімді қолдануға тырысады.
Бұл келісім жадыда бірнеше ұрдістің санашықтың босауын кұтіп, ал бірнеше ұрдістер босаған қорларды қолдануға дайын кезде орындалады. Бір қорды қолдану ұшін ( енгізу –шығару құрылғысы, деректер массиві, оперативті жад т.б.) ұрдіс операциялық жұйенің супервизорына қатынасады. Супервизор-орталық басқару мөдулінен тұрады, бұл мөдул бірнеше мөдулден тұрады: енгізу-шығару супервизоры, ұзу супервизоры, программалар супервизоры, есептер диспетчері т.б. –негізгі шақыру арқылы (командалар ) – өзінің шартын хабарлайды. Бұл кезде қордың тұрі көрсетіледі, керек болса оның мөлшемі (мысалы жолшық саны , баспа құрылғысы,шығатын деректердің мөлшемі т.б.)
Қорларды басқаруды ұйымдасыру кезінде дқл осы жағдайда екенін шешу қажет: бөлек, ең қажетті сұрауларды тез орындауы, бар ұрдістерге бірдей мұмкіншілік беру немесе көп ұрдістерді орындау жқне қорларды толық қолдану.
Орталық санашықтың уақытын пайдалану арқылы басқару. ОЖ- де орталық санашықтың таратылған белсенділігін беру ұшін есепті таңдаудың алгоритміне ОЖ нақты экспулатациялық қасиетіне байланысты. ОЖ жұмысының тиімділігін бағалау ұшін қолданылатын алгоритмді таңдау толығымен тиімділік критерилерімен анықталады. Сондықтан орталық санашықтың уақытын пайдалану арқылы басқаруды біз сіздермен ОЖ типтерін қарастырамыз.
Бірінші жағдай. Менде жұйенің ұлкен көлемді есептеу қуатын талап ететін көп есептер немесе программалар бар. Бұл есептерді саналатын есептер деп атайды, олар есептеудің ұлкен көлемін талап етеді жқне сырт құрылғыларға аз қатынайды. Бұл есептер бір есептеу жұйесінде орындалуы керек. Бұл есептер дестесінің орындалу кезіндегі жұйенің жұмысы ұшін тиімділік критерии не болып табылады? Қандай параметрлер жиынын айтуға болады: егер олар ұлкен болса- онда жақсы, егер керсінше болса нашар. Бұндай жағдай ұшін есептеу жұйесінің жұмыс істеу тиімділігі болып орталық санашықтың жұктелі дқрежесі болып табылады. Егер орталық санашық кұту режимінде аз тұратын болса, ал қалған ұрдістер алмасумен айналысатын болса, онда біз жұйе тиімді жұмыс істей алады деп айта аламыз. Жұйенің тиімді жұмыс істеуін сқйкес жоспарлау алгоритмін қолданумен жұзеге асыруға болады. ОЖ мұмкіндігіне қарап біз осы жұйеде бар барлық есептер жиынын өңдеуге жібереміз. Оны мультипрограммалық режим қамтамассыз етеді. Бұл жағдайда орталық санашықтың уақытын жоспарлау алгоритмі келесідей: егер орталық санашық бір ұрдіске арналған болса, онда осы ұрдіс келесі жағдайлардың бірі келгенше орталық санашықта орналасады:
Осы аталған жағдайлардың қайсысы орталық санашыққа беріледі сол кезде басқару келесі ұрдіске беріледі. Бір ұрдістен екінші ұрдіске басқаруды беру минимилизацияланған. Басқаруды бір ұрдістен екінші ұрдіске бергенде ОЖ бірнеше қрекеттер орындауы керек, ал бұл уақыт жоғалуына қкеледі, бұнда уақыттың жоғалуы минимилизацияланған. ОЖ- нің осындай режимде жұмыс істеуі дестелік режим деп аталады.
Мысалы, компьютерлік класта отырған бірнеше адам қр қайсысы бөлек – бөлек мқтінді тұзетіп отыр. Қр терминалда мқтіндік тұзеткіштің көшірмесі бар. Бірінші жағдайға көрсетілген жоспарлау алгоритмін қолданатын болсақ жұйеде қандай өзгеріс болатынын қарастырайық. Мысалға, пайдаланушылардың бірі терминалда уаќытша іске ќоспаѓан жқне белсенділік көрсетпейтін болса. Орталыќ санашыќтыњ уаќыты осы ұрдіспен байланысты, себебі тұзеткіш жұмысќа дайын болѓан кезде бұл ұрдіс алмасудыњ аяќталмауын орындамаѓан. Осы уаќытта барлыќ тоќтап ќалѓан пайдаланушылар уаќытша тоќтап тұрѓан ќолданушыны кұтуге тура келеді. Уаќытша тоќтап ќалу жаѓдайы туындайды. Ол бірінші жаѓдайѓа ыњѓайлы алгоритм, осы жұйеге ењ кұшті машина көмегімен де жарамайтындыѓын білдіреді. Сондыќтан ќамтамассыз ету мқселелерін көп санды есептеу ќызметініњ ќолданушылар тапсырмасы ұшін (интерактивті тапсырма), басќа тиімділік критериінен шыѓатын басќа алгоритмдер ќолданылады.
Осындай жұйеге пайдаланушыныњ кұту уаќыты критериі жарайды: ќандай- да бір ќозѓалысты орындауѓа ұсыныс жіберген уаќытынан, жұйенніњ ұсынысќа жауабына дейін. Жұйе тиімділігі жұмыс істесе, онда жұйеге орташа статистикалыќ кұту уаќыты азыраќ.
Екінші жаѓдайды ќарастырамыз. Жұйеде ұрдістердіњ кейбір саны жқне жоспаршыныњ орталыќ санашыќ уаќытын, пайдаланушыныњ сұранысына жұйе реакциясыныњ уаќыты минимальды немесе кепілді етіп тапсырманы тарату керек. Жұйеде уаќыт кванты деп аталатын (жалпы жаѓдайда, уаќыт кванты- ол жұйе келтіргенде өзгеретін маѓына), ∆t параметірі ќолданылады. Мультипрограммалыќ өњдеудегі көптеген ұрдістер жиыны екі ќосалќы бөлікке бөлінеді. Бірінші бөлікті орындауды жалѓастыруѓа дайын есес ұрдістер ќұрайды, мысалы өздеріне ауыстыруѓа сұраныс берген жқне нқтижені кұтіп жатќан ұрдістер. Орындауѓа дайын ұрдістер де бар. Дқл осы уаќытта орталыќ санашыќтаѓа ұрдіс келесі жаѓдайлардыњ біреуі келгенше оны басќарады:
Осы жаѓдайлардыњ біреуі тұскенде операциялыќ жұйені жоспарлаушысы орындауѓа дайын ұрдістерден тањдайды, кейбір ұрдістер жқне оѓан орталыќ санашыќ қорларын береді. Ал ол осы ұрдіске тқуелді наќты операция жұйесін ќолданѓан жоспарлау алгоритммен тањдайды. Мысалы, ұрдіс кездейсоќ тањдалынуы мұмкін. Екінші тқсіл ұрдістерді тізбектелген өту (артынан жұрумен) болады, мысалѓа біз ұрдістерден алдымен бір жұмысты алып, содан соњ ол босаѓан кезде орталыќ санашыќ орындауѓа дайын ұрдістерге беріледі. Келесі тапсырма алынатын ұшінші критери, оратлыќ санашыќта атќарылмаѓан осы ұрдіс болуы мұмкін. Осы жаѓайда жұйе, ењ көп уаќытты, ұрдісті тањдай алады. Осы алгоритмдер операциялыќ жұйеде таратылған болуы керек, олар қарапайым болады, қйтпесе жұйе тиімсіз жұмыс істейді.
Операциялық жұйенің осындай типті уақыт бөлуі ОЖ деп аталады. Ол пайдаланушы сұранысына жұйе реакциясының уақыты азайған тқртібінде жұмыс істейді. Сұранысқа жауап уақыты аз болғаны ұшін, шынында қолданушыда барлық жұйе қорларын соған берілгені туралы иллюзия пайда болуы керек.
Енді келесі тапсырманы қарастырамыз Автопилотпен басқарылатын ұшақ бар делік, онда автопилот төмендеу операциясын орындайды. Қр ұшақта жерден қанша биіктікте тұратынын өлшейтін құрал бар. Ұшақтың жұмыс тқртібін басқару функциялары қайсыбір берілген программалар арқылы компьютер атқарады. Егер бізде автопилот жұйесі бар болса жқне ұшақ төмендеп бара жатса, онда жұйе ұшу биіктігі бойынша бақыланады. Осы ұшаққа қатысты бірнеше тапсырмаларды орталық компьютер шеше алады: ұшу биіктігін бақылайды, жанармайдың деңгейін бақылайды, қозғалтқыш жұмыстарының көрсеткіші жқне т.б.д. осы функциялардың басқаруын қр ұрдіс өзі алады. Операциялық жұйе дестесі бізде жқне бактағы жанармай деңгейін бақылаймыз делік. Осы кезде авариалық жағдай туындайды, өйткені ұшақ төмендеп барады оны операциялық жұйе байқамайды. Жұйеде уақыттың бөлінуі болып жатыр делік. Бізде уақыт алмасу жұйесі сапасының бірі тиімсіздігі болып табылады, яғни жұйеде ұрістен – ұрдіске ауысу саны көп қарастырылғандықтан, ал бұл функцияның сыиымдылығы жеткілікті. Тағы осындай жағдай: Биіктік нолге жетті, ал операциялық жұйе тіркеу кестесінің ауыстыруымен айналысып жатыр, мұндай нұсқада жарамайды. Осындай тапсырмаларды шешкенде жоспарлаудың өзінің құралы қажет. Осы жағдайда нақты уақыттағы операциялық жұйе қолданылады, бұл жұйенің кепілді реакциясының алдын ала анықталған жиыны сол немесе басқа жағдайы пайда болуы негізгі критери болып табылады. Орталық санашықтың уақытын басқару функциясымен жқне орталық саншықты жоспарлауда екі фактіге назар аударамыз. Бірінші факт ол, көбіне есептеу жұйесінің эспулатациялық қасиеті анықталатын ОС уақытын бөлу жоспарлау жұйесінде таратылған. Біз ОЖ-нің ұш типтік тұрлерін қарастырамыз: дестелік жұйенің өңделуі, уақыт бөлу жұйесі жқне нақты уақыт жұйесі. Бұгінгі таңда нақты уақыт жұйесін ОЖ-ң бір санаты деп айтуға болады. Windows ОЖ-сі қандай да бір объектілерді басқармайды, егер олардың нақты уақыты өте критикалы болса жқне де СОЛЯРИС немемсе LINUX т.б ОЖ басқармайды, өйткені осы жұйелер нақты уақыт жұйесі болып табылмайды.
Бірінші екі режимді, дестелі жқне уақыт бөлу, жалпы ОЖ-де жасауға болады (вертуальды тұрде). Нақты, ұлкен ОЖ-лер аралас жұйелер болып табылады, оларда ОС жоспарлау элементінде қайталанатын тапсырмаларды басқаратын алгоритм сияқты жқне интерактивті тапсырма немесе келесіге қалдырылған тапсырмалар болады.
ОЖ-нің
жіктеуі (классификация) ОЖ-
1. Бір мезгілде бар программалық процесстердің санына байланысты ОЖ-лер бірпрограммалы жқне мультипрограммалы болып бөлінеді. Мультипрограммалық ОЖ-нің, бір программалық ОЖ-ден айырмашылығы есептеу процессі компьютер жадында бір мезгілде бір процессорда кезекпен орындалатын бірнеше программаның болуын ұйымдастыру;
2. Есептеу жұйесіне қатынасы бар қолданушылар саны бойынша, бір қолданушы жқне көп қолданушы ОЖ-і болып танылады. Көп қолданушы жұйелері бірнеше қолданушыға бір мезгілде жұйесіне қатынасқа мұмкіндік береді. Бұл жағдайда қр қолданушы өзінің терминалымен жұмыс істейді, бірақ барлық есептеулер бір компьютерде шығарылады.
3. Белгілеуі бойынша ОЖ-лер қмбебабтық жқне мамандандырылған болып бөлінеді. Мамандандырылған ОЖ-лер бекітілген программалар жиынымен жұмыс істейді.
4. Жұктелу қдісі бойынша жұктелетін ОЖ-лер жқне есептеу жұйесінің жадында ұнемі (ылғи)болатын жұйелер деп бөлуге болады. Соңғы, ереже бойынша, мамандандырылған құрылғылардың жұмысын басқару ұшін пайдаланылады.
5. ОЖ-ні пайдалану аймағының ерекшелігі бойынша жұйелік десбелік (пакеттік) өңдеу, жұйелік уақытты бөлу жқне жұйелік нақты уақыт болып бөлінеді.
Жұйелік дестелік өңдеулер көбінесе тез нқтиже алуды қажет етпейтін, есептеу тапсырмаларын шешуге арналған (есептерді шығаруға арналған).
Уақытты бөлу жұйелерінде есептеу процесстері тапсырмаға процессор уақытының кванты бөлінетіндей ұйымдастырылған. Оның салдарынан, бірде бір есеп процессордың көп уақытын алмайды жқне бұл қолданушыға өзінің программасымен диалог құруға мұмкіндік береді.
Нақты уақыт жұйелері қр тұрлі техникалық объектердің немесе технологиялық процесстерді басқару ұшін пайдаланылады. Мұндай жұйелер сыртқы оқиғалар реакциясына шекті уақытпен сипатталады. Сол шекті уақытта объекті басқару программалары орындалу керек. Жұйе тұсетін деректерді, олардың тұсуінен, еске сала кететіні, бір мезгілде бірнеше дерек көзінен жылдамырақ өңдеуі керек.
ОЖ келтірілген жіктеулерге өзгеріс енгізілуі мұмкін. Қазіргі заманғы ОЖ-нің қолдану ерекшеліктері Олифердің «Операционные системы» кітабында толығырақ көрсетілген.