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