Пайдаланылған әдебиеттер 1. А. Б. Медешова, Д. Ғ. Ғадуллаев Компьютер архитектурасы: Оқулық. – Алматы: ЖШС РПБК «Дәуір», 2011
2. В. Яворский, А. Әміров. Операциялық жүйелер: Оқу құралы. - Астана: Фолиант, 2008
3. О Сейқұлов. Есептеуіш жүйелер, желілер және телекоммуникациялар: Оқу құралы. – Шымкент: «Нұрлы Бейне», 2012
4. Гук М. Аппаратные средства IBM PC Әнциклопедия – спб.:«Издательство Питер», 2011
21-Дәріс Тақырыбы: Операциялық жүйелердің жіктелігі. Жоспар: Операциялық жүйенің функциялары және міндеттері
Мультипрограммалау
Уақыт бөлу және көпқолданбалы жұмыс режимдері
Процессорды басқару
Операциялық жүйе (ОЖ) – дегеніміз компьютер құрылғыларын қолданушы үшін ыңғайлы пайдалану мүмкіншіліктерін қамтамасыздандыруға арналып жазылған программа.
Операциялық жүйе (ОЖ), жүйелік программалық қамтаманың негізгі құраушысы. ОЖ-ні құрған кезде, ОЖ-ні оңайлатудың маңызды әдісі болатын және олардың детальдарының таратылуын елемей, желінің жоғарғы деңгейдегі құрауыштарымен өзара әсерін бір жерге жинауға мүмкіншілік беретін абстракциялау тең қолданады. Бұл мағынада ОЖ қолданушы мен компьютер арасындағы интерфейсті көрсетеді.
Көптеген компьютерлердің архитектурасы машиналар командасы деңгейінде қолданбалы программаларды пайдалануға өте қолайсыз. Мысалы, дискімен жұмыс істеу оның электрондық құрауышының ішкі жабдығын дискіні айналдыру командасын енгізу, жолшықтарды іздеу және форматтау, секторлардан оқу және жазу т.б. үшін – контроллерді біледі деп ұйғарады.
Орташа программисттің жабдықтар жұмысының бүкіл ерекшеліктерін ескеруге мүмкіншілігі жоқ екені (қазіргі заманғы терминологиямен айтқанда жабдық драйверін дамытумен шұғылдануға) басқаша айтқанда анық орташа программистің дискінің ақпараттық кеңістігін файлдар жиыны ретінде көрсететін қарапайым жоғарғы деңгейдегі абстракциясы болу керек. Файлды оқу немесе жазу үшін ашуға, ақпаратты алу немесе босату үшін пайдалануға, содан кейін жабуға болады. Дискінің бастиегінің детальдарын жылжыту немесе мотордың жұмысын ұйымдастыруды қамтамасыз етуден, бұл концептуальды жеңіл (оңай). Сол сияқты, қарапайым және анық абстракцияның көмегімен программистен үзілісті ұйымдастырудың барлық қажет емес егжей-тегжейі, таймердің жұмысы, жадыны басқару және т.б. жасырылады. Одан басқа, қазіргі заманғы есептеу комплекстеріне операциялық жады көлемі және процессор саны шектеусіз деген иллюзия құруға болады. Осының бәрімен ОЖ айналысады.
Сонымен, ОЖ компьютер құрал-жабдықтарымен тікелей жұмыс істейтін виртуалды машина ретінде көрсетіледі.
ОЖ компьютердің өте күрделі архитектурасының барлық бөліктерін басқаруға арналған. Мысалға, егер бір компьютерде жұмыс істейтін бірнеше программа, бір мезгілде нәтижені басқа құрылғысына (принтерге) шығаруға әрекеттенсе не болатынын елестетейік. Біздер әр-түрлі программалар шығарған араласқан жолдар мен беттер алатын едік.
ОЖ бұл сияқты хаосты баспаға арналған, дисктегі және баспаға кезекті ұйымдастыру ақпараттарын буферлеу арқылы болдырмайды. Көп қолданушыға арналған компьютерлердің ресурстарын басқару және оларды қорғаудың қажеттілігі өте анық. Демек, операциялық жүйе, ресустар менеджері сияқты, процессырлардың таралуын, жадының және әртүрлі програмалар арасында басқа русуртардың ретелгенін және бақыланғандығын іске асырады.
Егер есентеу жүйесі бірнеше қолданушының ортақ жүмысынан рұқсат етсе, онда олардың қызметінің қауіпсіздігін ұйымдастыру проблемасы шығады. Дискте ақпараттың сақталуын ешкімнің басқа адамдардың бөтен райларын жоймауын және бүлдірмеуін қамтамасыз ету керек. Бір қолданушылардың программаларына, екінші қолданушылардың программаларының ерікті түрде араласуына рұқсат етпеу керек. Есептеу жүйесін рұқсатсыз пайдалану әрекетін тыю керек. Осы әрекеттің бәрін, қолданушының және оның программаларының қауіпсіз жұмыс істеуін ұйымдастырушы ретінде, ОЖ іске асырады. Осы тұрғыдан қарағанда, ОЖ полициялық және қарсы шолу (барлаушы) функциясы жүктелген мемлекеттік қауіпсіздік жүйесін көрсетеді.
Бір жағынан компьютердің аппаратурасы мен пайдаланушының есептері арасындағы интерфейс болып табылатын, ал екінші жағынан есептеуіш жүйесінің қорын тиімді қолдану және сенімділік есептеу ұйымдастыруына арналған басқарушы және өңдеу программаларының комплексін операциялық жүйе дейміз.
1944 жылы программаны есте сақтайтын бірінші сандық есептеу машинасы іске қосылғаннан бастап, 1956 жылға дейін есептеу машиналарының құрылысы және іс әрекеттері тұрақты болып қалды. Олардың классикалық фон Нейман архитектурасы, енгізу-шығару операцияларын қоса алғанда, командалардың қатал түрде тізбектеліп орындалуына негізделген. Әдетше қолданушының программасы жүктелгенде және орындалғанда, регистрлердің мәндерін орнату, жады ұяшықтарын тексеру және барлық есептеулермен машиналардың ең төменгі деңгейінде қатынаста болу қызметтері үшін пернетақта арқылы тікелей машинамен жұмыс істелді.
Программалар абсолютті машиналар тілі (ондық және сегіздік нотация) жазылды және оны енгізу алдында абсолюттік жүктеме болды. Программаларды автоматтандыру құралдары жоқ болды, немесе өте аз болды. Тек өте күрделі қондырғыларда стандартты программалар кітапханасын аздап пайдаланатын ассемблер мен интерпретаторлар болды.
Символдық программалаудың маңыздылығы мойындалғанда және ассемблерлеу жүйелері кең тараған кезде, стандартты операциялық процедура өндірілді: ассемблер жүктеуішпен оқылады; ассемблер қолданушының стандартты программалар кітапханасы қосылған бастапқы программасын «символикалық колодалар» абсолюттік формасына түрлендіреді; ассемблерленген программа лентаға немесе картаға жазылады, ал жүктегіш осы программаны картадан негізгі жадыға енгізу үшін тағы да қайтадан пайдаланылады, содан кейін абсолютті программа орындалады. Әсіресе, осы қадамда карталарды өңдеу үшін ЭЕМ қажет ететін уақытпен салыстырғанда әрбір қадам оператор жағынан манипуляцияны қажет етеді және көп уақыт алады.
Пайдаланушының өз программаларымен әрекеттестігі операциялық жүйенің интерфейсі арқылы өтеді. Олардың әрбір командалары қолданбалы прграммаларға өту үшін операциялық жүйеден өтеді.
Операциялық жүйенің орындайтын негізгі функциялары.
1. пайдаланушыдан қабылдайтын командалар және олардың өңдеуі;
2. басқа программаларды іске қосу, тоқтату, кідіру үшін қабылданатын және орындалатын программалық сұраныс;
орындалатын программаларды оперативті жадыға жүктеу;
программаның иницияциясы (передача ей упр-я в рез-те пр-р исп-т прогр-му)
барлық программалар мен деректердің идентификациясы;
деректер базасын басқару жүйесінің жұмысын жасау, программалық жасаудың тиімділігін көтереді;
мультипрограммалау режимін жасау (екі және оданда көп программалардың бір процессорда орындалуы);
барлық енгізу-шығару операцияларын ұйымдастыру және басқару функцияларын жасау;
жадыны үлестіру;
берілген стратегиялар және қызымет көрсету пән бойынша есептердің жоспарлауы мен диспетчерлеуі;
орындалатын программалар арасындағы деректер мен хабарлардың алмасу кетігін ұйымдастыру;
деректердің сақтауын жасау; бір программаны басқа программаның қатерінен сақтау;
жүйенің бөліктік жаңылысу кезінде берілетін қызымет;
Операциялық жүйемен қатынасу қызметін алу үшін программаларға қажет интерфейсті операциялық орта дейміз (енгізу-шығару операциясын орындау, жадының участкесін алу немесе босату).
Әр бір программалау жүйесі өзіне сәйкес операциялық жүйеде жұмыс жасайды. Операциялық жүйені қызыметтеу үшін арнайы жүйелік программалар утилит дейміз.
Операциялық жүйені жіктеу. Операциялық жүйелер біріншіден жалпы және арнайы тағайындалады. Есептерді өңдеу режимінде операциялық жүйе бір программалы және мультипрограммалы режимдерге бөлінеді.
Бірсанашықтық есептеу жүйесінде бірнеше программаның бір уақытта орындалып жатқандай көріністі біз мультипрограммалық есептеуді ұйымдастыру тәсілі деп атаймыз.
Бұл терминдердің негізгі айырмашылығы.
Мультипрограммалық режимде бірнеше қолданбалардың параллелді орындалуын жасайды, ал программист бұл механизмнің орындалуын ойластырмайды.Бұл функцияларды операциялық жүйе өзі орындайды;барлық орындалатын қолданбаларға өзі есептеу жүйесінің қорларын бөледі және қажет әрекеттестіктерді орындайды. Керісінше , мультиесептік режимде қолданбалардың әрекеттестігі параллель орындалуы қолданбалы программистерден тәуелді.
Мультипрограммалауды ұйымдастырған кезде, операциялық жүйенің рөлі мынадай:
ОЖ және қолданбалы программа арасындағы интерфейсті ұйымдастыру;
2. Жадыдағы тапсырмалардан кезек ұйымдастыру;
3. Бір тапсырмадан екінші тапсырмаға ауысу;
4. Ақпаратты жадыжын таңдау және аусытыру, орналастыру процессін реттеу;
5. Файлдар түріндегі сыртқы тасымалдауыштардағы ақпараттардың сақталуын ұйымдастыру және анықталған категориядағы қолданушыға нақты файлмен қатынасты қамтамасыз ету;
6. Коммуникация құралдарымен қамтамасыздандыру;
7. Деректерді мүлтіксіз (корректно) алмастыру үшін әр түрлі ресурстармен жұмыс істеген кезде пайда болатын және өз әрекеттерінің координациясын программамен алдын ала ескеретін жанжалды (конфликт) оқиғаларды шешу керек, яғни: жүйені синхронизациялау құралдарымен жабдықтау керек. Келесі период (1980 жылдан қазірге дейін) дербес компьютерлерде шығарылатын есептердің даму күрделілігі мен әр түрлілігі, олардың жұмыстарының сенімділігін арттыру қажеттілігі, үлкен есептеу машинасы архитектурасына тән барлық қасиеттердің практикада қолдануына әкеледі.