Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_Операциялық жүйелер_Муратбеков_2015.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

3. Оқу пәнінің тақырыптары бойынша дәріс конспектісі және дәріс курсын оқу бойынша әдістемелік нұсқау;

Дәріс № 1

Тақырып: Бірінші операциялық жүйелер­дің пайда болуы.

Мақсат: Бірінші операциялық жүйелер­дің пайда болуымен таныстыру.

Жоспар: 1. Операциялық жүйелердің эволюциясы.

  1. Кез келген ғылым немесе техника тарихы табиғи қызығуды қанағаттандырумен бірге осы саланың негізгі жетістіктерін, бар болған тенден­ция­ла­рын түсінуге, ол не­ме­се бұл даму бағыттарын дұрыс бағалау­ға мүм­кін­дік жасайды. Жарым ғасыр жасау уақытта операциялық жүйелер көп маңызды оқиғалармен тойынған күрделі жолды басып өтті. Есептеу аппа­раттарының және олар элементтік базасының үтымы опера­циялық жүйе­лер­дің дамуына үлкен әсер етті, сондықтан операциялық жүйелердің көп этаптары жаңа аппараттық платформаларының, мысалы, мини-компью­тер­лер неме­се персонал компьютер, пайда болуымен тікелей байланысты. Компьютерлердің жергілікті және ауқымды желілердегі жаңа ролдеріне байла­ныс операциялық жүйелердің байсал­ды эволюциясына алып келді. Опе­рациялық жүйелер дамуының маңызды факторы Интернет болды. Желі жалпы коммуникация құралына айналуымен операциялық жү­йелер пай­далануға оңайланып және қолайланып, мультимедиялық информация­лар­­ды сүйемелдейтін дамыған саймандарды өз ішіне алып сенімді қорғау сай­манда­рымен де қамтамасыз етіп келе жатыр.

Компьютер идеясын 1836 жылдары ағылшын математигі Чарлз Бебидж ұсын­ған. Оның механикалық аналитикалық машинасі істей алмады, себебі ол кездегі тех­ника керекті анық механик деталдерді жасай алмас еді. Бұл компьютер үшін опера­ция­лық жүйе туралы әңгіме болған да емес.

Цифрлық есептеу машиналары Екінші дүниежүзілік соғыстан кейін ақиқат­тан пайда болды. 40-ші жылдар ортасында лампалы есептеу құрылғылары жасалды. Ол кезде бір топ адамдар проекттеу, істету, программалау жұ­мыс­тарында қатынасқан. Бұларды есептеу техникасының облысындағы ғылыми зерттеу жұмыстары болып, қандай да практика­лық есептерді ше­шу­ге арналған саймандар деп қарауға болмайды. Программалау машина тілінде ғана орындалған. Еш қандай жүйелі программалар қамтама­сыз етіл­меген, тек математикалық және қызметші қосалқы программалар ғана бол­ған. Оларды программалаушылар әр рет қайсы бір математикалық функ­цияның мә­нін табуда қайтадан жазып отырмау немесе стандарт енгі­зу-шығару құрылғыны бас­қаруда пайдалана алған. Операциялық жүйелер әліде пайда болмады. Барлық мәсе­ле­лер­ді шешуді ұйымдастыратын опе­ра­цияларды әр бір оператор басқару пульті жәрдемінде қолмен енгізер еді. Басқару пульті пернелер, қайтадан қосқыштар және индикаторлар дан құ­растырылған еді.

50-ші жылдар ортасынан есептеу техникасының жаңа кезеңі басталды. Бұл этап жаңа техникалық базаға – жартыөткізгіштер элементтеріне бай­ланысты еді. Про­цессорлердің жылдамдықтары өсті, оперативтік жә­не сыртқы жадтар көлемі ас­ты. Компьютерлер сенімді болып енді олар керекті көп істей алатын болды, оларға практикалық қажетті жұмыстарды орындатуға мүмкіндік жасалды.

Аппаратураның жетілдіруымен бірге программалауды автоматтанды­ру және есептеу жұмыстарын ұйымдастыру облысында сезімді про­гресс күзетілді. Осы жы­лдар бірінші алгоритмик тілдер пайда болды, сонымен математикалық және қызмет­ші қосалқы программалар кітап­ха­на­сына жаңа системалық программаны қамтама­сыз ететін түрі – трансля­тор қосылды.

Әр бір программаны орындау көп қосымша: керекті трансляторды жүктеу (АЛ­ГОЛ, Фортран, КОБОЛ ж.б.), трансляторды іс­ке қосу және нәтижедегі програм­маны машина кодтарында шығару, оны кітапханадағы қосалқы программалармен байлау, программаны компью­тер жадына орналастыру, программаны іске қосу, нә­тижелерді сыртқы құрылғыға шығару жұмыстарын орындау қажет болды. Трансля­торларды, программалар кітапханасын және жүктегіштерді эффектив пайдалану үшін көп есеп­теуіш орталықтар штаттарына оператор лауазымдарын енгізді. Опе­ратор­лар барлық пайдаланушылардың есептеу жұмыстарын профессионал бас­қару және орындай алуы қажет еді.

Бірақ операторлар едәуір жылдам және сапалы жұмысын орындамасын оларды компьютер құрылғыларының жұмысымен салыстырып бол­мас еді. Процес­сорлер көп уақытын операторлардың мәселелерді енгі­зу­ін күтумен жоғалтатын еді. Ал процессор өте қымбат құрылғы болған­дық­тан оның төмен эффективтікпен пайда­лануы компьютердің өнімді пай­далануын төмендетер еді. Осы проблеманы шешу үшін бірінші болып па­кетті өңдеу жүйелері жасалды. Олар есептеу процессінде опе­раторлардың орындайтын амалдар тізімін толығымен автоматтандырды.

Алғашқы пакетті өңдеу жүйелері осы күнгі операциялық жүйелер бас түрпаты болып табылды. Олар мәліметтерді өңдеу үшін жұмсалатын бір­інші жүйелі програм­ма­лар бола алмады. Олар есептеу процессіні басқара алды. Пакетті өңдеу жүйелерін амалға асырғанда тапсырмаларды орындайтын формалданған тіл жасалды. Ол жәр­демінде программа есептеу машинасына және операторға қандай амалды қайсы ке­зекпен орында­луын айтып тұрды. Директивалардың типтік жиыны ерекше жұмыс­тың басын, трансляторды, жүктеүшіні шақыруын, мәліметтердің басталуын және аяқ­талуын көрсете алды.

Операторлар тапсырма пакетін түззенден соң ол басқарушы программа­сы – мо­нитор жәрдемімен кезегімен орындалып жатты. Одан басқа монитор жиі кездесе­тін қателіктерді және авариялық жағдайларды (бас­тапқы мәліметтердің болмай қалуын, регистрлердің толып кетуін, жоқ жад­тар­ға сілтеулердің, нөлге бөлуін) өзі өңдей ала­тын болды. Пакет әдет­те пер­фокарталар тобы етіп дайындалған, ал жұмысты жыл­дам­дату үшін ол ыңғайлы және көлемді тасымалдаушыға, мысалы, магнитталушы таспаға немесе дискіге көшірілген. Программа – монитор өзі бірінші амалға асырыл­ғанда перфокарталарда, кейіннен магнитталатын таспада немесе дис­кіде сақталған.

Алғашқы пакетті өңдейтін жүйелер есептеу процессін ұйымдастыратын жәр­демші амалдарға кеткен уақытты едәуір қысқартырған, сонымен қатар, компьютерді өнімді пайдалануға тағы да бір қадам тасталды. Бірақ мұнда пайдаланушы – програ­м­мистер компьютерге тікелей жетуден ұзақтасты­рыл­ды, бұл олардың жұмыс орындау эффективтігін төмендетті, себебі Кез келген өзгерістерді енгізу машина пультінде интерактив істегенге қараған­да өте көп уақыт талап етті.

Дәріс № 2

Тақырып: Мэйнфреймдер үшін мульти­программалық операциялық жүйелердің пайда болуы.

Мақсат: Мультипрограммалық жуйелердің пайда болуын жеткізу.

Жоспар: 1. Пакетті мультипрограммалар жүйелері.

2. Уақытты бөлу жүйелері.

2. Үзу жүйесі.

Операциялық жүйелердің кейінгі дамуындағы өте маңызды аралық 1965-1975 жылдарға тиісті. Осы кезде есептеу машиналарыдің техник базасында транзисторлар ти­пындағы элементтерінен интегралдық микросхемаларға өтілді. Бұл ком­пьютердің кейінгі ұрпақтарының пайда болуына алып келді. Инте­грал­дық схемалардың үлкен мүмкіншіліктері күрделі компьютерлердің архитектураларын, мысалы IBM-360 типтегі, амалға асыруға мүмкіндік жасады. Осы аралықта осы кездегі операциялық жү­йелерде бар болған негізгі механизмдер: мультипрограммалау, мультипро­цессерлеу, көптер­ми­налды көппайдаланушы режимды сүйемелдеу, вирту­ал жад, файлдық жүй­е­лер, жетуді ажырату және желілік жұмыс амалға асырылды. Осы жылдары жүйелі программалардың өркенеуі басталды. Ол мамандардың кіш­кене тобын қызықтыру­шы қолданбалы математика бағытынан милли­он адамдардың практикалық жұмыс­та­рына тікелей әсер етуші жүйелі про­граммалау индустрия бөліміне айналды.

Осы аралықтың революциялық оқиғасы болып мультипрогаммалауды өндіріс­тік амалға асырылуы есептеледі. Концепция және эксперимен­тал жүйе көрінісінде есептерді ұйымдастыру бұл әдісі 10 жылдан бері бар еді. Компьютерлердің мәлімет­терді өңдеу және сақтау мүмкіндіктерінің кес­кін артуы әр бір сәтте бір программаны орындау өте эффектив болмай қал­ды. Бұл проблема мультипрограммалау жолымен шешілді. Мұнда есеп­­теу процессін ұйымдастыру әдісі болып жадта бірнеше програ­м­маны орналастырып оларды бір процессорде кезегімен орындау болды. Бұл же­тіл­діру есептеу жүйесінің эффективтігін едәуір көтерді, себебі ком­пью­тер ілгерідей жарым уақытын емес тынымсыз пайдаланатын болды.

Мультипрограммалау екі вариантта амалға асырылды – пакетті өңдеу жүйеле­рін­де және уақытты бөлуде. Пакетті өңдеу мультипрограммалар алдындағы бірпрог­раммаларға ұқсас компьютер аппаратурасын максимал жүктеу мақсатын қойды, бі­рақ бұл мәселені эффектив шешті. Мультипрограммалық пакетті режимінде про­цес­сор тұрып қалмастан бір программа енгізу-шығару мен айналасқанда (бұл жағдай ілгерігі пакетті орындау жүйелерінде программаны тізімді орындағанда кездесер еді) екінші дайын программаны орындауға кіріседі. Нәтижеде компьютер барлық құрылғылары балансты жүктеледі де бірлік уақытта шешілетін мәселелер саны ар­тады.

Мультипрограммалық пакетті өңдеу жүйелерінде пайдаланушы тағы да өзін­дік программаларымен қарым-қатынас жасай алмайды. Пайдаланушы­ға компьютер­мен тікелей байланысын азда болса қайтару үшін муль­ти­­программалық жүйелердің басқа варианты – уақытты бөлу жуйелері іс­теп шығылды. Бұл вариант көп терми­нал­ды жүйелерде әр бір пайдалану­шы ерекше терминалда жұмыс орындағанда істе­тіледі. Уақыт бөлу опе­ра­циялық жүйелерінің біріншілері 60-шы жылдардың ортала­рында жасал­ды: TSS/360 (IBM компаниясы), CTSS және MULTICS (Массачусет тех­ник институты, Bel Labs және General Electric компанияларымен бірге). Мультипро­грам­малау варианты уақытты бөлу жүйелеріндегі әр бір пай­да­ланушы компьютерді толығымен иелік ету елесіні жасау үшін әр бір программаға процессордың уақыт үле­сін ажыратып тұрады. Уақыт бөлу жүйелерінде құралдарды пайдалану эффектив­тігі пакетті өңдеу жүйелері­не қарағанда төмен, бұл пайдаланушының ыңғайлығы үшін төлем.

Көптерминалды режим уақыт бөлу жүйелерімен бірге пакетті өңдеу жүйеле­рін­де де істетіледі. Мұнда операторларға ұқсас пайдаланушылар да өздерінің мәсе­лерін пішімдеуге ие болып олардың орындалуын терминалдан басқара алады. Осын­дай операциялық жүйелер тапсырмаларды қашықтан басқару жүйелері деген атауға ие болды. Терминалдық комплекс­тер процессорлер жайласқан жерден үлкен қашықтықта да жайласа алып, олармен ауқымды байланыстар арқылы – телефон арналары­мен модемдік қосылу немесе арнайы каналдар арқылы қосыла алатын болды. Қа­шықтағы терминалдар жұмысын сүйемелдеу үшін әртүрлі байланыс протоколдарын амалға асыратын арнайы программа­лық модульдер пайда болды. Қашықтағы терми­налдарға ие осындай есептеу жүйелері мәліметтер­ді орталық өңдеу характерін сақ­та­ған жағдайда, қандайда бір дәрежеде осы күнгі желілер образы болды, ал сай келген про­граммалар жүйесінің қам­тамасызы – желі операциялық жүйелердің образы бол­ды.

Бұл кезге компьютердің аппараттық және программалық саймандар арасында функциялардың елеулі бөлінуі турасында айтуға болады. Операциялық жүйелер ко­м­пьютердің үзілмес элементіне айналып олар аппа­ра­ты­ның жалғасы болып қалды. Бірінші есептеу машиналарында програм­мист аппарату­рамен тікелей қарым-қатынас етіп программалық кодтарын жүктеуде пульттегі қайтадан қосқыштарды және ин­дикатор лампочкала­рын қолданып, кейіннен пуск кнопкасын басып қолымен програ­м­маны іс­тетер еді. 60-шы жылдар компьютерлерінде есептеу процесстерді ұйым­дас­тыру амалдардың көбісін операциялық жүйе өзіне алды. Казіргі кезде­гі көп ком­пьютерлерде операциялық жүйесіз еш бір есептеу жұмыстарын теоретикалық орын­дау мүмкіншілктері де есепке алынмаған. Ток көзін ұлағандан бастап автоматик опе­рациялық жүйені іздеу, жүктеу және іске қосу орындалады.

Мультипрограммалауды амалға асыру тікелей жаңа әдісті сүйемелдеу үшін ко­м­пьютер аппаратурасынан көп маңызды өзгерістерді талап ет­ті. Компьютер ре­сурстарын программалар арасында бөлгенде процессор­ды бір программадан екін­шісіне жылдам өткізу қажет, сонымен бір про­грам­мадан басқа программаның код­тарын және мәліметтерін әдейі немесе әдейі емес бұзудан сенімді қорғау қажет. Бір программадан басқасына жылдам өту үшін процессорлерде артықшылық және пайдаланушылық жұмыс режимдерін амалға асыру үшін арнайы регистрлер, жад облы­с­та­рын қорғау саймандары, сонымен дамыған үзу жйесі де пайда болды.

Артықшылық режимінде операциялық жүйелердің программалық модульдерін істету үшін процессор барлық сонымен компьютер ресурстарын үлестіру және қор­ғау амалдарын да орындай алатын болды. Пайда­ланушы режимінде істейтін програ­м­ма­лар­ға процессордың кейбір коман­да­ла­ры жетісті емес еді. Сонымен операция­лық жүйе өзі ғана аппараттық саймандарды басқаруы мүмкін болып артықшылық бол­маған пайдалану­шы режимінде пайдаланушы программаларын орындағанда монитор жә­не арбитр ролін ойнады.

Үзу жүйесі параллел және асинхрон істейтін компьютер құрылғылары­ның: ен­гізу – шығару, дискілер, принтерлер ж.т.б. жұмыстарын син­хрондауға рұхсат етті. Опе­рациялық жүйелердің аппаратты қолдауы сол кезден бастап барлық компьютер­лер жүйелерінің, сонымен дербес ком­пьютерлердің де үзіліксіз қасиетіне айналды.

Осы дәуірдің тағы да бір беталысы программаға сай келетін машиналарыді және олар үшін операциялық жүйе жасау болды. Программаға сай етілген машиналары се­мействосына мысал етіп IBM/360, IBM/370 семей­ст­восын (кеңес өндірісінде ЕС се­риялы машиналары), PDP-11 (кеңес аналог­та­ры – СМ-3, СМ-4, СМ-1420) алса бола­ды. Тез арада программа-сай машиналары идеясын барлығы қабылдайтын болды.

Программалық сай келуі операциялық жүйелердің де сай келуін талап етті. Бі­рақ мұндай сай келуі үлкен және кіші есептеу жүйелерде, үлкен және кіші перифе­рия­лар санына ие, коммерциялық және ғылыми облыстарында да істету мүмкін­ші­лігін көзде түтады. Осындай қайшылас талаптарды қанағаттандыратын операциялық жүйелерді құру өте күрделі болып кетті. Олар бірнеше миллион ассеблерлік қатар­лар­дан түзіліп мыңдаған программистер жазған мыңдаған қателерге ие болды. Олар тынымсыз түзету ағымдарына алып келді. Осы кездегі операциялық жүйелер өте қымбат болды. Мысалы, OS/360 зерттемесі 8 Мб көлемге ие болып IBM компа­ниясына 80 млн долларға түсті.

Бірақ өте үлкендігіне және түрлі проблемаларына қарамастан OS/360 және оған ұқсас операциялық жүйелер осы әулет пайдаланушы­лар­дың көп қажеттерін қанағаттандырды. Осы онжылдықта үлкен қадам тасталып осы күнгі операциялық жүйелерді жарату үшін мықты фунда­мент жасалды.

Дәріс №3

Тақырып: Операциялық жүйелер және ауқымды желілер.

Мақсат: операциялық жүйелердің тағы да дамуын жеткізу.

Жоспар: 1. 70-ші жылдары бірінші операциялық жүйелердің пайда бо­луы. 2. Желілер дамуы. 3. Желілік операциялық жүйелердің пайда болуы.

70-ші жылдардың бастарында бірінші желілік операциялық жүйелер пайда бо­лды. Олар көптерминалды операциялық жүйелеріне қарағанда пайдаланушыларды та­ратып жіберуімен бірге электр байланыстарға ие компьютерлер арасында мәлімет­тер­ді өңдеу және сақтау жұмыстарында та­ратты. Кез келген желілік операциялық жү­йелер бір жағынан жеке компьютер­де орындалатын барлық жұмыстарды орындап, басқа жағынан желі арқылы басқа компьютерлермен қарым-қатынас жасау үшін қосымша мүм­кіншіліктерге ие болуы қажет еді. Программалық модульдедер желі функцияларын амалға асыру үшін опера­циялық жүйелерге жайлап керек кезінде желі технологияларының, компьютер аппараттық базасының дамуына байланысты және өңделетін жаңа мәселелер туысымен қосылып келді.

Теоретикалық жұмыстар желі өзара әсер концепциясы есептеу машиналары па­й­да болысымен зерттеліп жатқан болса да компьютерлерді желілерге қосу мәнді пра­ктикалық нәтижелері 60-ші жылдардың ақырында алынды. Сонда ауқымды байла­ныстар және пакеттер коммутация техникасы жәрдемінде мейнфрейм және супер­компьютерлер класындағы машиналары өзара байланыстарын амалға асырды. Бұл өте қымбат компью­тер­лер өте уникал мәліметтерді және программаларды сақтар еді. Ола­рға жетуді түрлі қалаларда есептеу центрлерінен үлкен қашықтықтарда жай­ласқан кең пайдаланушылар санына жеткізу қажет еді.

1969 жылы США қорғану министрлігі қорғану суперкомпьютерле­рін ғылыми зерттеу орталықтарымен бір желіге біріктіру жұмыстарына түрткі салды. Бұл желі ARPANET деп аталып казіргі кезгі ауқымды Интер­нет желісінің бастапқы нүктесі бо­лып табылды. ARPANET желісі түрлі типтегі түрлі операциялық жүйелер басқару­ын­дағы істейтін компьютер­лерді қосты. Олар қосымша модульдерге ие болып бар­лық желідегі компьютерлерге жалпы болған коммуникациялық протоколдарға ие болды.

1974 жылы IBM компаниясы өзінің мейнфреймдері үшін меншікті желі архи­тектурасын жасағанын жариялады. Ол SNA (System Network Architecture) деп ата­лады. Бұл көпдеңгейлі архитектура көбінесе кейінгі шыққан OSI стандарт моделіне ұқсас «терминал – терминал», «терминал – компьютер», «компьютер – компьютер» өзара әсер типтерін ауқымды бай­ланыстар жәрдемінде қамтамасыз етер еді.

Архитектураның төменгі деңгейлері арнайы аппараттық саймандар жәрдемін­де амлға асырылар еді. Олардың ең керектілері телеөңдеуші процессор болып табы­лады. SNA жоғары деңгейлері программалық модульдермен амалға асырылады. Ола­рдың біреуі телеөңдеуші процессоры­ның негізін жасады. Қалған модульдер ор­талық процессорде IBM стан­дартында мейнфреймдер орталық процессорының опе­ра­циялық жүйелері құрамында жұмыс орындады.

Осы кезде Еуропада Х-25 желілердің стандарттау және жасау актив жұмыста­ры өткізіле бастады. Пакеттер коммутациясы мен байланысты бұл желілер қандайда бір нақты операциялық жүйелерге байланыс болмаған. 1974 жылы халықаралық ста­ндарт статусын алғандан соң Х-25 протоколда­ры көп операциялық жүйелермен сүй­е­мелдене басталды. 1980 жылдан IBM компаниясы Х-25 протоколын сүйемелдейтін SNA архитектурасына және өзінің операциялық жүйесіне енгізді.

70-ші жылдар ортасында мейнфреймдер мен бірге PDP-11, Nova, HP типтегі мини-компьютерлер де кеңінен таратыла бастады. Мини-компьютер­лер бірінші бо­лып үлкен интегралдық схемалар ұтымдылықтарын пай­далана бастады. Мұнда қым­бат болмаған мини-компьютерлер жеткілікті қуатты функцияларды амалға асыруға мүмкіндік берді.

Мини-компьютерлер архитектурасы мейнфреймдерге қарағанда едәуір оңай­лантырылып оларға байланысты болған операциялық жүйелер де оңайлантырылды. Мейнфреймдің мультипрограммалық және көппайдаланушылық функцияларының көбісі миникомпьютерлер ресурстары жеткілікті болмағандықтан қысқартырылды. Мини-компьютерлер опе­рациялық жүйелері жиі арнайы етіп шығарылды. Мысалы, реал уақытта басқару үшін (RT-11 операциялық жүйелер PDP-11 мини-компьютер­лері үшін) немесе уақытты бөлу режимін сүйемелдеу үшін (RSX-11M жоға­ры­дағы компьютерлер үшін). Бұл операциялық жүйелер көп жағдайларда арзан болғандық­тан барлық уақыт көппайдаланушы болмаған.

Мини-компьютерлер сонымен операциялық жүйелер тарихында үлкен әсер ет­кен UNIX операциялық жүйелері болды. Басында бұл ОЖ PDP-7 мини-компьютер­ле­рінде уақытты ажырату режимін сүйемелдеу үшін жасалған. 70-ші жылдар орта­сынан UNIX ОЖ кеңінен пайдалана басталды. Бұл кезге UNIX программалық коды­ның 90 % жоғары деңгейдегі С тілінде жазылды. Өнімді С компиляторларының кең таралуы сол уақыт үшін UNIX-ты түрлі типтегі компьютерлерге оңай көшірілетін уни­кал операциялық жүйе болуына алып келді. Бұл ОЖ өзінің келіп шыққан кодта­рымен таратылғандықтан ол бірінші ашық ОЖ болып оны қарапай­ым пайдаланушы энтузиасттарда өңдей алды. Басында UNIX мини-ком­пью­терлер үшін жасалған бол­са да оның бейімделенуі, элеганттылығы, қуатты функционалдық мүмкіншіліктері және ашықтылығы оны барлық компьютер кластарында: суперкомпьютерлерде, ме­й­н­фреймдерде, мини-компьютерлерде және RISC процессорлер негізінде жасалған жұмыс станцияларында, дербес компьютерлерде – мықты орын алуға мүмкіндік бер­ді.

Мини-компьютерлердің жетістілігі сонымен олардың мекемелерде кең тарқа­луы жергілікті желілерді жасауға қуатты себеп болды. Мекемелер бір жерде жақындан жыйласқан бірнеше мини-компьютерлерге ие бола алды. Табиғи олар арасында информация алмасу және қымбат перифе­ри­я­ны біргелікте қолдану қажеттілігі пайда болды.

Бірінші жергілікті желілер стандарт болмаған коммуникациялық сайман­дар жәрде­мінде, қарапайым жағдайда – кетпе-кет порттарды тікелей жал­ғастыру мен амалға асырылды. Программалық қамсыздандыру да стан­дарт болмаған пайдаланушы қол­данбасы көрінісінде амалға асырылар еді. UNIX ОЖ үшін бірінші желілік қолданба – UUCP (UNIX to UNIX copy program) 1976 жылы пайда болып 7AT&AT UNIX вер­сиясы көрінісінде 1978 жылдан тарқатыла басталды. Бұл программа файлдарды бір компью­тер­ден екіншісіне бір жергілікті желідегі әр түрлі аппараттық интерфейстер – RS-232, токты сыртпақ ж.б. жәрдемінде, сонымен ауқымды байланыстар, мысалы мо­демдер жәрдемінде жеткізе алды.

80-ші жылдары операциялық жүйелердің дамуы. Осы онжылдықтың ең ма­ңызды оқиғаларына TCP/IP протоколдар сте­­кі­нің зерттемесін, Интернеттің өңделуін, жергілікті желілер технологиясы­ның стандартталуын, дербес компьютерлердің және ол­а­р­ға операциялық жүйелердің пайда болуын еңгізсе болады.

TCP/IP протоколдар стекінің жұмыс істейтін варианты 70-ші жылдар­дың ақы­рында жасалды. Бұл стек түрлі текті есептеу орталықтарының протоколдар жиыны болып ARPANET экспериментал желісін басқа бағы­нышты желілерді байлау үшін жасалған еді. 1983 жылы TCP/IP протокол­дар стекі АҚШ қоғаныс министрлігі жа­ғынан жауынгер стандарты ретін­де қабылданды. ARPANET компьютер желілерінің TCP/IP стекіне өтуі оның BSD UNIX операциялық жүйелерінде амалға асырылуын жылдам­дат­ты. Осы уақыттан UNIX және TCP/IP протоколдарының біргелікте жа­сауы басталып, сонымен UNIX-тің көп версиялары желілік болды.

TCP/IP протоколдарының ARPANET желісіне енгізілуі бұл желіге осы күнгі Интернет негізгі қасиеттерін берді. 1983 жылы ARPANET екіге бөлінді: АҚШ-тың әскери министрлығын сүйемелдейтін MILNET-ке жә­не жаңа ARPANET-ке. Осы екі желінің қосындысы Internet деп атала басталды. Ол орыс тілінде Microsoft жал­ғастырушылар жәрдемінде Интернет деп аталып кетті. Интернет көп желілік опера­циялық жүйелерін сынай­тын үздік полигонына айналды. Ол нақты жағдайларда олар­дың өзара әсер­лерін, масштабтау деңгейлерін, жүздеп және мыңдап пайдаланушы қо­сыл­­ған кездегі экстремал жүктелу кезінде жұмыс орын­дау қасиетін тексе­руге мү­м­кіндік жасады. TCP/IP протоколдар стекін де жарық өмір күтті. Жасаушыларға ба­йланбағандығы, оңай бейімделуі және стандарттардың жетістігі Интернеттегі істері­мен дәлелденгендігі TCP/IP протоколдарын Интернеттің негізгі транспорттық механизміна айналып көп желі опе­рациялық жүйелерінің негізгі стекіне айналдырды.

Барлық онжылдық жаңа UNIX версияларының пайда болуымен бай­ланыс. Ол­ар­дың ішінде фирмалық UNIX версияларыда: SunOS, HP-UX, Irix, AIX ж.б. болды. Оларда жасаушылар ядро кодын және желі утилитала­рын өздерінің аппаратурасына адаптациялады. Версиялардың түрлі бо­луы олардың сай келу проблемасын туғызды, бұл проблеманы уақты-уақтымен түрлі мекемелер шешуге әрекет етті. Нәтижеде PO­­SIX және XPG стандарттары қабылданды. Олар қолданылатын операциялық жү­йелер интерфейстерін анықтады. Компанияның AT&T арнайы бөлімшелері бірне­ше UNIX версияларын: UNIX Sistem III және System V UNIX – жарияла­ды. Олар зерт­теушілерді ядро коды деңгейінде бірлестірмекші болды.

Дәріс № 4

Тақырып: Операциялық жүйелердің осы күнгі даму ерекшіліктері.

Мақсат: Операциялық жүйелердің осы күнгі дамуын баяндау.

Жоспар: 1. 90-ші жылдардағы операциялық жүйелер.

2. Корпоративтік желілер.

3. Операциялық жүйелердің көп платформалық байланысы.

90-ші жылдар рынокта сезілерлі орын алған жүйелер желілік операция­лық жү­й­е­лер болып қалды. Бүгіндері желі функциялары операциялық жүйелер ядросына оның бөлінбес бөлігі болып орнатылады. Операциялық жүйелер негізгі жергілікті (Ether­net, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, ATM) және ауқымды (X.25, frame relay, ISDN, ATM) желілік техноло­гиялардың барлығымен жұмыс орындайтын саймандарға ие болды, соны­мен құрастырылған желілер (IP, IPX, AppleTalk, RIP, OSPF, NLSP) мен де. Операциялық жүйелерде бірнеше протоколдар стекін мультиплекс­теу саймандары қолданып, олар жәрдемінде бір уақытта әр түрлі клиенттер­мен және серверлермен жұмыс орындау амалдары сүйемелденеді. Комму­ни­ка­циялық мәселе­лер­ді шешу үшін арнайы операциялық жүйелер де пай­да болды. Мысалы, Cisco Sys­tem компаниясының IOS маршрутизатор­ларда істейтін желілік операциялық жүйесі программалар жиынын мультипрограммалық режимінде ұйымдастырып, әр біреуі бір коммуникациялық протоколды амалға асырады.

90-шы жылдар орталарында операциялық жүйелердің жасаушылары Интернет пен істейтін саймандарды (UNIX шығарушылардан басқа – олар басынан осы сүйе­мелдеуге бейімделген еді) кескін қуаттай бастады. TCP/IP стекінен басқа кең тарал­ған Интернет сер­вистерін: telnet, DNC және Web – жабдықтау комплексінің утилита­ларына қоса бастады. Интернет­тің әсері нәтижесінде компьютер таза есептеу құрыл­ғысынан дамыған есептеу мүмкіншіліктеріне ие коммуникациялық сайманына айнал­ды.

Ақырғы онжылдықта корпоративтік желі операциялық жүйелерге ерекше на­зар аударылды. Олардаң дамуы келешекте маңызды мәселеге айналады. Корпоративтік операциялық жүйелер түрлі қалаларда және мүмкін мемлекеттерде жайлас­қан бөлімшелеріне ие мекемелердегі үлкен желілерде жақсы және тұрақты істей ала­ды. Осындай желілер үшін жоғары деңгейдегі аппараттық және программалық гетерогендық тиісті бо­лып, корпоратив операциялық жүйелер түрлі операциялық жүйелермен өзара әсер етуі және түрлі аппараттық платформаларда проблемасыз істей алуы қажет. Казіргі уақытта корпоративтік операциялық жүйелер класында үш лидерлер анық белгіленді – бұлар Novell NetWare 4-x және 5.0, Microsoft Win­dows NT 4.0 және Windows 2000, сонымен аппараттық плат­формаларын шығаратын түрлі жасаушылардың UNIX – жүйелері.

Корпоративтік желіде бар болған коммуникациялық құрылғылар, модульдер және компьютер­лердің жүздеп, мыңдап пайдадаланушылары туралы есеп бетте­рін бір мәліметтер базасында сақтау үшін корпоративті операциялық жүйелері орта­лық администрлау және басқару сайманда­ры­на ие болуы өте маңызды. Казіргі кез­де­гі операциялық жүйелерде орта­лық администрлау саймандары әдетте бір анықта­ма қызметінде жай­ла­са­ды. Корпоративтік масштабтағы анықтама қызметі Banyan компаниясы­ның StreetTalk жүйесінде бірінші болып амалға асырылды. Казіргі кезде 1993 жылы бірінші корпоративтік NetWare 4.0 версиясы үшін шығарыл­ған Novell компаниясының NDS анықтама қызметі ең көп таныс. Орта­лан­ған анықтама қызме­ті­нің орны соншама үлкен оның сапасына қарап оперативтік жүйенің корпоратив масштабында жарамдығы анықталады. Windows NT 2000 ның көп кешіккені осы операциялық жүйеге Active Directory анықтама қызметін енгізумен байланыс. Онсыз бұл жүйе толығымен корпоративтік бола алмас еді.

Операциялық жүйелердің көп платформалық байланысы.

Көп функциялы масштабталатын анықтама қызметін жасау операция­лық жүй­елер эволюциясының стратегиялық бағыты. Осы бағыттың та­быс­та­ры­мен Интернет­тің болашағы тікелей байланысты. Осы қызмет Интер­нет­ті болжамды және басқарымды жүйеге келтіруге алып келеді, мысалы пайдаланушы трафиктерін жеткілікті сапалы етіп қамтамасыз ету, үлкен таратылған қолданбаларды сүйемелдеу, эффектив пошта жүйесін құру ж.б.

Казіргі операциялық жүйелер дамуында бірінші планға қорғану сайман­дары шықты. Бұл компьютерлерде өңделетін информацияның қымбат­тығының артуымен және мәліметтерді тармақтар, сонымен қатар, Интернет ар­қылы жеткізудің қауыптылығының артуымен байланысты. Көп операция­лық жүйелер бұл күнде дамыған информацияны қорғау мәліметтерді шифр­леу, аутентификациялау және авторизациялау саймандарына ие.

Казіргі кездегі операциялық жүйелерге көп платформалық байланыс, яғни, түр­лі типтегі компьютерлерде істей алуы. Көп операциялық жүйе­лер жоғары өнімді­лік­ті және бас тартудан тұрақтылықты қамтамасыз ету үшін кластерлық архитекту­ра­ны сүйемелдейтін арнайы версияларына ие. Операциялық жүйе NetWare барлық версиялары Intel платформасына арналған болып бұл қатарға кірмейді, ал басқа опе­рациялық жүйелерге тиіс­ті NetWare функцияларын қапшықтар көрінісінде амалға асыру, мысалы NetWare for AIX жетістікке ие болмады.

Ақырғы жылдары адамдың компьютермен істеу қолайлығын арттыру­ көпуақ­ты­лық тенденциясы тағы да дамый бастады. Адамның істеу эффективтіғы жалпы есептеу жүйелерінің эффективтігін анықтайтын негіз­гі факторы болып қалды. Адам әрекеті ілгерігі операциялық жүйелерге ұқсап есептеу процесінің параметрле­рін икемдеуге жіберілмегені дұрыс болар еді. Мысалы, мейнфреймдерге арналған пакетті өңдеу жүйелерінде әр бір пайдаланушы арнайы басқару тілі жәрдемінде ком­пьютерде есеп­теу үшін көп параметрлерді анықтауы керек еді. OS/360 жүйесіндегі JCL тапсырмаларды басқару тілі 40 тан астам параметрлерді икемдеу мүмкін­шілігі­не ие еді. Олардың ішінді тапсырма приоритеті, негізгі жадқа қой­ыл­ған талаптар, тап­сырманы орындайтын уақыт шекарасы, енгізу-шығару құрылғылардың тізімі жә­не олар жұмыс режимдері.

Казіргі кездегі операциялық жүйе операциялық орта параметрлерін таңдау мә­се­лесін түрлі адаптив алгоритмдерден пайдаланып өзіне алады. Мысалы, коммуни­ка­ция­лық протоколдардағы тайм-ауттар жиі желі жұмысы­ның шарттарынан анық­талады. Процесстер арасында жедел жадтың таратылуы виртуал жад механизмі жәрдемінде осы процесстер активты­ғы­на және осы немесе басқа жад бетінің қол­дану жиілігіне қарап автома­тик орындалады. Процесстердің мезгілді приоритеттері алдынғы жағ­дайы­на, мысалы, процесстің кезекте болған уақыты, ажыратылған уақыт квантының қолдану проценті, енгізу-шығару интенсивлігі т.б.-ға байла­ныс­ты динамикалық анықталады. Орнату кезінде де көп операциялық жүй­елер үнсіз пара­метрлер таңдау режимін ұсынады. Олар оптимал болмаса да жүйенің жеткілікті са­палы жұмысын гарантиялайды.

Компьютермен интерактив жұмыс қолайлығы оперативтік жүйеге дамыған гра­фикалық интерфейстерді, сонымен графика мен бірге дыбыс және видеобейне­лер­ді қолданатын жүйелерді қосумен үдайы көтеріліп тұрады. Бұл компьютерді ашық жаңа Интернет жайлап айнала жатқан желі терминалына айналдыруға өте маңызды, себебі жалпы пайдалану­шы­ға терминал телефон аппаратындай түсінікте және қолайлы болуы керек. Операциялық жүйенің пайдаланушы интерфейсі ин­теллектуал болып, адам амалдарын типтік жағдайларда керекті бағытта оның үшін шешімдерді қабылдап жіберіп турады.

Жеке компьютерлер операциялық жүйелерінің осы күндері администратор­ларға және пайдаланушыға ресурстардан пайдалануға беретін қо­лайлықтар деңгейі желі операциялық жүйелері үшін қызығарлықтай бо­лашақ. Әзірше желі пайдалану­шы­лары және администраторлары едәуір уақытын ол немесе бұл ресурстарының кай жерде орналасуын анықтаумен кет­кізсе, желі қолданбаларды зерттеушілер көп әре­кеттерін программа­лық модульдер мен мәліметтердің желіде орналасуын анықтауға кеткізеді. Келешек операциялық жүйелері желі ресурстарының жоғары деңгейдегі түнықтығын қамтамасыз етіп өзіне тармақталу есептеу мәселелерін алып желіні вир­туал компьютерге айналдыру керек. Осы пікірді «Желі – бұл компьютер» ұранына Sun компаниясының мамандары енгізеді, бірақ ұран амалға асырылуы үшін опера­циялық желілердің зерттеушілері үлкен жол өтуі қажет.

Дәріс № 5

Тақырып: Автоном компьютердің опера­циялық жүйелері.

Мақсат: Студенттерге дербес компьютерлер операциялық жүйелерінің негіздерін жеткізу.

Жоспар: 1. Операциялық жүйелердің міндеті және функциялары. 2. Виртуал машиналарыдің операциялық жүйесі.

Осы күндері қолдану облыстарымен, аппараттық плат­фор­маларымен және амалға асыру әдістерімен бір-бірінен ажыралатын операциялық жүйелер түрлері өте көп. Табиғи бұл операциялық жүйелердің функцио­нал мүмкіншіліктерін де ажы­ра­тады. Нақты операциялық жүйенің де амал­дар тобын толығымен анықтау қиын – бү­гін операциялық жүйенің сыртқы компонентасымен орындалатын функциясы ер­тесіне оның үзілмес бөліміне айналады және кері де болады. Сондықтан операция­лық жүйелерді үйренгенде көп функциялар ішінен барлық өнім класы болған опе­ра­циялық жүйелерге тиістісін ажыратып алу маңызды.

Автоном компьютердың операциялық жүйесі. Компьютер операция­лық жүйесі өзара байланған программалар комплексы болып бір жа­ғы­нан компьютер аппаратурасы екінші жағынан қолданбалар және пайда­ланушылар арасында интер­фейс қызметін орындайды. Осы анықтамаға байланысты операциялық жүйелер екі функция тобын орындайды:

  • пайдаланушы немесе программистке реал компьютер аппаратурасы орны­на ың­ғайлы пайдалануға мүмкін және оңай программаланатын вирту­ал машинаны ұсынады;

  • белгілі критерийге сай компьютерді рационал басқару жолымен пайдалану эффективтігін арттырады;

Опреациялық жүйе виртуал машинадей. Өзінің мәселелерін шешкенде ка­зіргі кездегі пайдаланушы немесе программист компьютер аппа­рат­тық құрылымын толығымен білмеуі де мүмкін. Ол компьютердің әр бір электрондық блогы және элек­тромеханикалық түйіндері қалай істеуін білмесе де болады. Тағы да пайдалану­шы жиі процессордың бұйрықтар жүйесін білмеуі де мүмкін. Пайдаланушы-програ­м­мист операциялық жүйе жеткізіп тұратын қуатты жоғары деңгейлі функциялармен амал орын­дауға үйренген.

Сонымен, мысалы, операциялық жүйе басқаруымен істейтін қолданбаны жаз­ғанда программистке дискіні әр бірі атауға ие файлдар жиыны деп қабылдауға бола­ды. Файлмен жұмыс істеу оны ашу, бірнеше жазу-оқу, сосын жабу амалдардың тіз­бегін орындау мен аяқталады. Жазу кезіндегі жиілік модуляциясы немесе магнитта­у­шы бастиек механизмінің оқу-жазу кезіндегі жағдайлары программисты қызық­тыр­мау қажет. Операциялық жүйенің өзі программисттен аппаратураның көп қаси­етте­рін жасырып керекті файлдармен жұмыс орындауға қолайлықтар жасай­ды.

Егер программист компьютер аппаратурасымен тікелей операция­лық жүйе қатынасусыз істегенде еді дискіден мәліметтер блогын оқу үшін программист көп па­раметрлерді: дискідегі блок номері, жолдағы сектор но­мері ж.б. енгізу жолымен ондан артық командаларды жұмсауға тура келер еді. Дискімен мәліметтерді алмасу операциясын бітіргенден соң программист өзінің программасында операцияны орындаған нәтижелерді анализдеуін енгізу керек еді. Диск контроллері жирмадан артық жұмыс аяқтау вариантарына ие болғандығын есепке алып дискімен аппарат­тық деңгейінде алмасуды программалау оңай еместігі көрініп тұр. Егер файл­ды пай­даланушы терминалдан оқуды орындайтын болса ол жолдар және секторлар сан ад­рестерін енгізу керек болып бұл жұмыс та өңай көшпей­ді.

Операциялық жүйе программистың диск жинағыш аппаратурасымен жұмыс орындаудан оңай файлдық интерфейсты ұсынып құтқаруымен бірге компьютердің басқа құрылғыларын басқаруымен байланысты: физика­лық жад, таймерлер, принтерлер бас­қа рутин жұмыстарын да өзіне алады.

Нәтижеде командалар жүйесімен анықталатын көп болмаған команда­лар­ды орындайтын реал машина кең жиынды қуатты функцияларды орындайтын вир­туал машинаге айналады. Виртуал машина де команда­лар­мен басқарылады, бірақ олар басқа жоғары деңгейлі командалар: бел­гі­лі атауға ие файлды жою, қайсы бір қол­данба программаны іске қосу, мәселе приоритетін көтеру, файлдың текстін печатқа шығару. Сонымен операциялық жүйенің міндеті пайдаланушы/программистке ке­ңейтілген виртуал машинаны ұсыну. Реал компьютер немесе реал желі ап­паратура­сы­мен жұмыс орындауға қарағанда виртуал машинамен істеу және про­граммалау едәуір оңай.

Дәріс № 6

Тақырып: Автоном компьютер операция­лық жүйелерінің функцио­нал компонен­та­лары.

Мақсат: Студенттерді операциялық жүйелерінің функционал компоненталары­мен таныстыру.

Жоспар: 1. Процесстерді басқару.

Операциялық жүйелер функциялары ол басқаратын жергілікті ресурста­ры­ның тип­тарына немесе барлық ресурстарына қолданатын арнайы мәсе­лелеріне қарап топтар­ға бөлінеді. Кейбір жағдайда олар қосалқы жүйелер деп аталады. Ең маңызды бо­лып: процесстер, жад, файл және сыртқы құ­рылғылар ресурстарын бас­қа­ратын қосал­қы жүйелер есептеледі. Жалпы барлық ресурстарға тиісті болып пайдаланушы, мәліметтерді қорғау және администрлеу ресурстарын басқару есептеледі.

Процесстерді басқару. Операциялық жүйенің есептеу машинаның іс

теу­іне ті­келей әсер ететін маңызды бөлімі болып про­цесстерді басқа­ратын қосалқы жүйе есе­птеледі.

Әр бір жаңа жасалған процесс үшін операциялық жүйе есеп­теу

жүйесінің про­цесске қажетті болған және оған амалда ажыра­тылған ресурста­ры туралы жүйелі информациялық құрылым­ды жасайды. Сонымен про­цессті жүйе ресурстарын істе­туге ар­нал­ған сұраныс деп анықтасақ бо­лады.

Процесс орындалуы үшін операциялық жүйе оған кодтары және

мәліметтері жай­ласатын жедел жадтан орын және жеткілікті процессор уақы­тын ажырату керек. Одан басқа процесске файл және енгізу-шығару құ­рыл­ғылары қажет болуы мүмкін.

Жиі процесс информациялық структурасына процесстің жүйедегі

болған та­рихын (мысалы, уақыттың қайсы бөлімін про­цесс енгізу-шығаруға, қаншасын есеп­теуге жіберді), оның ағым­ды жағдайын (актив немесе блокталған), артықшылық дә­режесін баяндайтын қосымша мәліметтер қо­сы­лады. Осындай мәліметтер про­цесске рес­у­рс­тарды ажыратқанда опера­ция­лық жүйе жағынан ес­е­пке алынады.

Мультипрограммалық жүйеде бір уақытта бірнеше процесс­тер

орындалуы мү­м­кін. Процесстер бір бөлімі пайдаланушылар жә­не олар­дың қолданбалары жәрде­мінде туылады – оларды әдет­те пайдаланушы­ның деп атайды. Басқа процесстер жү­йелі деп ат­а­лады, оларды өзінің функцияларын орындау үшін операциялық жүйе ту­дырады.

Процесстер көбінесе бір ресурстарға таласқандықтан опера­циялық жүйенің мін­деті процесстердің ресурстарға сұраныста­ры­ның кезегін сақтау, мысалы, про­цессорге, принтерге, кетпе-кет портқа.

Операциялық жүйенің маңызды мәселесі процесске ажыра­тыл­ған ресурстарды басқа процесстерден сақтау. Өте қорғанатын ресурстарының бірі – процесс кодтары және мәліметтері сақтала­тын жедел жад облыстары. Процесске операциялық жүйе аж­ы­­ратқан облыстар жиыны оның адрес­тық кеңістігі деп аталады. Операциялық жүйе қорғаған адрестік кеңістігін назарға алып әр бір процесс өзінің адрестік кеңістігінде жұмыс орындай­ды деп айтады. Басқа: файлдар, сыртқы құрлғылар ж.б. ресурстер де қо­рға­лады. Операциялық жүйе қорғау жұмысынан басқа бірге қолдануды да ұйым­дастыру мүмкін, мысалы, бірнеше процесстерге белгіленген жад облысынан пайда­лану.

Процесс бар болған кезінде оның үзілуі және жалғасуы бірнеше рет қайталану мүмкін. Процессті қайта қосу үшін оның операциялық ортасының жағдайы тіктелуі керек. Операциялық ортасының жағдайы регистрлер және программа есептеуіші жа­ғ­дайларына, процессор жұмыс режиміне, ашылған файлдар көр­сеткіштеріне, бітпе­ген енгізу-шығару амалдары туралығы информацияға, жүйелі шақырулар қате­лері кодына ж.б. ға байланыс. Осы информация процесс контексты деп аталады. Процесс алмасқанда контекс қайтадан қосылады деп айтады.

Операциялық жүйе өзіне процесстерді синхрондау функция­ла­рын қандайда бір оқи­ға, мысалы, процесс сұранысымен орында­лып жатқан енгі­зу-шығару операция­сы біткенше процесс тоқтау­ын алады.

Операциялық жүйеде процесстер және файлдар арасында бір-біріне сай болу жоқ. Бір программа бірнеше процесс жарату мүм­кін, ал процесс

орындалып жатқан кезінде программалық файлды өзгертіп басқа программаны орындауды бастауы мүм­кін.

Күрделі программалық комплекстерді амалға асыру үшін ол­ардың жұмыста­рын бірнеше кейбір мәліметтермен периодик алма­сып тұратын параллел процесстер күйінде ұйымдастыру пайдалы. Операциялық жүйе процесс ресурстерін қорғаған­дықтан бір про­цесс екінші процесс жадтарынан оку және жазу амалдарын орын­дай алмайды, сондықтан процесстердің өзара әсер етуі үшін опе­рациялық жүйе арнайы саймандар жеткізу қажет. Олар процесс­тер ара әсер саймандары деп аталады.

Сонымен процесстерді басқару қосалқы жүйесі процесстер­дің орында­луын жоспарлайды, яғни процессор уақытын бірнеше бір уақытта орындалатын процес­стер арасында бөледі, процесс­тер­ді тұдырады және жо­я­ды, процесстерді керекті жүйенің ре­сур­старымен қанағаттандырады, процесстің синхрондауын сүйемел­дей­ді, процесстер ара әсерін қамтама­сыз етеді.

Жадты басқару. Жад процесс үшін процессор сияқты маңызды ресурс, себебі процесс процессормен оның код­тары және де­ректері (барлығы болмаса да) жедел жадта орналас­қан болса ғана орындалады.

Жадты басқару бар физикалық жадты барлық бар процесстер арасын­да бөлуді, процесстер кодтарын және деректерін ажыра­тыл­ған жад облыстарына жүктеуді, ад­реске байланысты болған про­цесс кодтарын ажы­ратылған физикалық жад облысына икем­деу­ді, тағыда әр бір процесс жад облыстарын қорғау амалдарын орындауды та­лап етеді.

Жадты бөлудің түрлі алгоритмдері бар. Олар, мысалы, про­цес­ске ажы­ратыл­ған облыстар (бір жағдайларда бір үздік облыс болып ажыратылады, басқада – бірнеше шекаралас болмаған об­лыстар түрінде) санымен, областар шекараларының еркіндігімен (шекаралар Процесстің бар болған кезінде тұрақты болады неме­се про­цесске қосымша жад берілген­де динамикалық өзгеріп тұра­ды) бір-бірінен ерекшеленуі мүмкін. Бір жүйелерде жад ажыра­ты­луы белгіленген өлшемді беттер түрінде, басқаларында – ұзынды­ғы өзгеретін сегменттер түрінде болуы мүмкін.

Осы кезгі операциялық жүйелерде жадты басқару кең тарал­ған вирту­ал жад атаулы әдісімен орындалады. Операциялық жүй­еде виртуал жад механизмі болуы программистке программаны жазғанда үлкен көлемді фи­зикалық жадтан да үлкен бір текті жад бар деп қарауға мүмкіндік бере­ді. Амалда программа қолданатын бар­лық деректер дискіде сақталып, ке­рек кезінде бөлектеп (сегме­н­т­термен немесе бет­термен) физикалық жадқа көшіріледі. Код­тар­ды және деректерді дискіден оперативті жадқа көшірген­де виртуал жад қосымша жүйесі программаны компиляция және ко­м­­па­новка еткен кезіндегі виртуал жад адрестерін жедел жад фи­зикалық ад­ресте­ріне өткізеді. Өте маңыздысы кодтарды және де­ректерді көшіру, со­нымен қатар адрестерді трансляциялау амалдары операциялық жүйе програм­мист­ке түсінікті және тынық орын­дай­ды.

Жадты қорғау – бұл орындалатын мәселені басқа мәселенің жадына жазу не­месе оқу амалынан қорғайтын таңдаулы қасиет. Дұрыс жазылған программалар бас­қаларға ажыратылған жадтан пайдаланбайды, бірақ ре­ал программалар жиі қате­лерге ие бо­лып, осындай әрекеттер болады. Операциялық жүйедегі жадты қорғай­тын аспаптар басқа жад облыста­ры­на осындай рұхсат етілмеген жетуді тоқтату қажет.

Сонымен операциялық жүйенің жадты қорғау функциялары: еркін және ие­ленген жадты анықтау, процесстерге жад ажырату және процесс біткеннен соң жад­ты тазалау, жадты қорғау, егер негізгі жад көлемі жеткілікті болмаса процесстер­ді дискіге шығару және оперативтік жадқа жай босағанда көшіру, тағы да програм­ма адрестерін физикалық жад нақты облысына икемдеу болып табылады.

Файлдарды басқару. Операциялық жүй­енің күрделі реал аппаратураны эк­рандау қаси­еті файлдық қосымша жүйесінде өте анық көрінеді. Операциялық жүйе ерекше деректер жиы­нын сыртқы жинағышта жайласқан фа­йл күйнде – символдық атауға ие қарапайым структурланмаған байттар тізімі көрінісінде виртуалдайды. Де­ректермен жұмыс орын­дауды өңайлату үшін файлдар каталогтарға жи­ы­лады, олар өз кезегімен жоғары деңгейдегі каталогтарға группалана­ды. Пай­даланушы опера­циялық жүйе жәрдемінде файлдар және каталог­тар үс­тінен: файлды атауына қарап іздеу, жою, сыртқы құрылғыға мәнін шығару (мысалы, дисплейге), мәнін өзгерту жә­не сақтау амалдарын орындау мүм­кін.

Түрлі типтегі дискілер бетінде және цилиндрларында кез­дейсоқ шашылған өте көп деректер жиындарын жақсы таныс файлдар және каталог­тар қолайлы иерар­хиялық структурасы ре­тіне келтіру үшін операциялық жүйе Түрлі мәселелерді ше­шуі қажет. Операциялық жүйенің файлдық жүй­есі файлдың пайдала­нушы немесе қолданбалы программист істетеін символдық атау­ларын дискідегі физикалық ад­рес­теріне өткізеді, файлдар­ға бір­гелікте пайдалану жолын ашып береді, оларды рұхсат етілмеген амал­дардан сақтайды.

Өзінің қызметтерін атқарғанда файлдық жүйе оның сұраныс­та­ры­мен дискімен жедел жад арасындағы амалдарды орындайтын сыртқы құрылғыларды басқару жүйе­сімен тығыз өзара әсер етеді.

Сыртқы құрылғыларды басқару. Енгізу-шығару қосымша жүйесі деп атала­тын сыртқы құрыл­ғы­ларды басқару қосымша жү­й­есі компьютерге қосылған барлық құрылғалардың интерфейс ро­лін орындайды. Бұл қурылғылар спектрі өте кең. Шы­ғарыла­тын қатты, иілгіш және оптик диск жи­­нағыштар, принтерлер, сканерлер, мо­ниторлар, плоттерлер, модемдер, желі адаптерлері, арнайы енгізу-шығару құрылғылары, мысалы аналогты-цифрлы өңдегіштер тізімі жүздеген моделдері­не ие. Бұл мо­дельдер бір-бірінен компьютер процессо­ры және жа­ды арасында информа­ция­ны ал­мас­тыру командалар жиыны жә­не тізімімен, жұмыс жылдамдығымен, таратылатын деректер кодта­ры, біргелік­те пайдалану мүмкіндіктерімен ж.к.б. деталдерімен ажы­ралып тұрады.

Сыртқы құрылғының нақты моделін басқаратын және оның ерекшілік­терінің барлығын есепке алатын программа құрылғы­ның драйвері деп аталады (ағылшын тілінде drive – басқару, же­тектеу). Драйвер құрылғы­ның бірғана моделін басқара алады, мы­салы, ZyXEL компаниясының U-1496E модемын, немесе бел­гілі типтегі құрылғылар тобын, мысалы, Кез келген Hayes-сай мо­демдерді. Пайдаланушыға операциялық жүйе драй­верлердің көп түрлеріне ие болуы маңызды, себебі бұл компью­терге көп Түрлі тісқы құрылғыларды қосуға мүмкіндік береді. Керекті драйвер­лердің болуына операциялық жүйенің базардағы орны байланыс­ты (масылы, сыртқы құрыл­ғылардың керекті драйверлері болмағандықтан OS/2 операция­лық жүйесінің кем тара­луына алып келді).

Құрылғылардың драйверлерін нақты операциялық жүйені зерттеушілер де сыртқы құрылғыларды шығаратын компаниялар мамандары да жасайды. Енгізу-шығару құрылғыларын жасаушы компания­лар зерттеу­шілері өзінің құрылғылары мен нақты опе­рациялық жүйелерге драй­вер­лерді ұсыну үшін операциялық жүйе драйвермен жә­не операциялық жүй­енің басқа бөлімдері мен анық интерфейсті сүйемелдеу ке­рек.

Қолданбалы программистер де драйверлер интерфейстерінен пайдалану мү­мкін, бірақ бұл ыңғайсыз – мұндай интерфейс әдет­те төмен деңгейлі операциялар­дан құрастырылған болып өте көп майда деталдеріне ие болады.

Түрлі енгізу-шығару кұрылғыларына қолданбалы програм­ма­ның унифицир­лен­ген жоғары дең­гейлі интерфейсін сүйемел­деу операциялық жүйенің маңызды мәселесінің бірі есептеледі. UNIX операциялық жүйесі пайда болғандан бастап осындай уни­фицирланған интерфейс көбінесе файлға жету концеция негізінде құрылады. Бұл концепция Кез келген сыртқы құрылғылармен алмасу атауға ие болған структурланмаған байттер тізімі болған файлмен алмасу дай болады. Дискідегі файлдың өзі, алфавитты-циф­р­лы тер­минал, печаттайтын құрылғы немесе желі адаптеры файл болып шығады. Осы жерде біз операциялық жүйенің реал аппаратура­ны қолданушыға және программистке ыңғайлы абстракциямен алмастыру қасие­тімен тағы да кездесеміз.

Дәріс № 7

Администрлеу және мәліметтерді қорғау.

Есептеу жүйесінің мәлімет­терінің қауіпсіздігі операциялық жүйе­нің қарсы тұру құралдарымен, аппарату­ра­ның бұзылуынан қор­ғауға бағытталған жә­не программаның қателікте­рі­нен сақтау, со­нымен бірге, рұхсат етілме­ген пайдаланулардан қорғау құрал­да­рымен қамсыздандырылады. Соңғы жағдайда операциялық жүйе пайдаланушының қате немесе әдейі істейтін жұмыстарынан мәлімет­тер­ді сақтайды. Рұхсат етілмеген пайдаланудан мәліметтерді қорғаудың бірінші сатысы болып логикалық ену про­цедурасы есептеледі. Жүйеге администратор рұхсат еткен пайдалану­шы енгелі жат­қанына опе­рациялық жүйе көз жеткізуі керек. Операция­лық жүйенің қорғау функциялары администратор функциялары­мен тығыз байланысты, себебі пайдаланушы құ­қықтарын ад­мини­стра­тор белгілейді: жүйе ресурстарынан пайдалануды – файлдардан, каталогтардан, принтерлерден, сканерлерден ж.б. Одан басқа адми­ни­стратор пайдаланушының жүйелік амалдарын шектейді. Мысалы, пайдаланушы операциялық жүйені тоқ­тату амалын, жүйелік уақытты орнату, басқалардың процесстерін тоқтату, пайдаланушының есеп жазуларын ашу, кейбір каталогтар жә­не файлдардан пайдалану құқықтарын администратор шектеуі мүм­кін. Админи­стра­тор пайдаланушы интерфейсінің дисплей экра­ны­на шыға­рылған кейбір пунк­терін алып тастап мүмкіндігін шек­тей алады.

Мәліметтерді қорғаудың маңызды құралы операциялық жүйе­нің жүйе қауып­сіз­дігіне байланысты болған барлық оқиғаларды белгілеп отыратын аудит функциясы болады. Мысалы: жүйеге сәт­ті немесе сәтті емес логи­калық ену амалдарын, кейбір файл­дар­мен каталогтардан пайдалану амал­дарын, принтерлерден пай­далану ж.б. Күзететін оқиғалар тізімін админи­стратор белгілейді.

Бастартудан табандығын сүйемелдеуді операциялық жүйе резервтеу негізінде амалға асырады. Жиі операциялық жүйелер функциясы мәліметтердің бірнеше нүс­қаларын түрлі диск және дискты жинағыштарда сақ­таумен байланыс. Принтерлер және басқа енгізу-шығару құрылғылары резервтелінеді. Құрылғының бастарту ке­зінде операциялық жүйе жылдам резервті копиясын тауып онымен жұмыс орында­уын аяқтау қажет. Арна­йы жағдай­да бастартудан табандығын қамтамасыз ету бірнеше процес­сор­ді қолдану – мультипроцессорлеу болады, бір процесор бас тартқан­да төмендеген өнімбен болса да жүйе жұмысын жалғастыра бере­ді. Көп жағдайлар­да мультипроцессор конфигурациясы жүйе жұ­мыс жылдамдығын асыру үшін іс­тетіледі. Бұл жағдайда бір про­цессор жұмыстан шыққанда операциялық жүйе жұ­мысын тоқта­тады.

Бастартудан табандығын сүйемелдеу администратор міндеті­не енеді. Опера­циялық жүйе құрамына утилиталар кіреді. Олар­дан администратор маңызды мәліметтерді жылдам тіктеу үшін ре­зервті көшіруді регуляр орын­дап тұруға пайдаланып отырады.

Қолданбалы программалаудың интерфейсі. Қолданбалы программистер өздерінің программаларында операциялық жүйеге сілтеме етеді, егер кей бір амал­дарды орындау үшін арнайы опе­ра­циялық жүйеге тиісті статус қажет болса. Мыса­лы, осы күнгі көп аппараттық сайман­дар­ды басқарумен байланысты болған бар­лық амалдарды операциялық жүйе ғана орындай алады. Осы функцияларынан басқа қолданбалы програм­мист қолданбаны жа­зуды өңайлату үшін операциялық жүйенің сервистік функциялар жиынынан пайдалану мүмкін. Осы түрдегі функциялар түрлі қол­данбалар жиі талап ететін универсал амалдардарға, мысалы, текс­ті жолды өңдеу - ие. Бұл функцияларды қолданбалы программа өзі де орындауы мүмкін, бірақ опе­рациялық жүйеде бар болған, тексеріліп өңделген процедураны қолдану едәуір ың­ғайлы. Со­нымен бірге операциялық жү­й­еде сай функция болсада ұсыныл­ған вари­ант қанағаттанарсыз болса про­граммист өзі қолданба рамкасында бұл жұмысты ор­ы­н­дауы мүмкін.

Операциялық жүйенің мүмкіншіліктері программистке қол­данбалы програм­маларының интерфейсі деп аталушы функция­лар жиынымен беріледі (Application Programming Interfase – API). Пайдаланушыдан бұл функ­циялар алфавитты-циф­р­лық немесе графиктық пайдаланушының интерфейсі арқылы жасырылған.

Қолданбаны зерттеушілерге нақты операциялық жүйелер ерекшілікте­рі API ерекшіліктерімен беріледі. Сондықтан түрлі ішкі құрылымға бі­рақ бір түр API жиы­нына ие операциялық жүй­елер бір түр болып көрі­не­ді. Бұл қасиет операциялық жүй­елерінің стандарттауын оңайлатып белгілі API стандартына сай қолданба­ларды түр­лі операциялық жүйеге көшіруге мүмкіндік жасайды. Мы­салы, API UNIX стандар­ты­ның біреуі болған Po­six–ке байла­ну түрлі зерттеушілердің операциялық жүйелері бір-бірінен ішкі түзілісімен кескін айырылса да бүкіл UNIX операциялық жүйесі туралы сойлеуге мүмкіндік береді.

Қолданбалар API функцияларынан жүйелі шақырулар жәр­демін­де пайдалана­ды. Қолданбаның операциялық жүйенің қыз­метінен пайдалануы подпрограмманы шақыруға өте ұқсас. Опе­рациялық жүйеге әдетте командалар идентификаторлары­нан жә­не мәліметтерден түзілген керекті ин­­фор­­­мация жадтың белгілі жай­ына, регистр­лерге және немесе стектерге орналастырылады. Кей­ін­нен басқару операциялық жүй­е­ге беріледі, ол керек функция­сын орындап болып нәтижені жад, регистр немесе стек арқылы қайтарады. Егер операция қанағаттанарсыз орындалса нәтиже қате ин­ди­кациясына ие болады.

Жүйелі шақыруларды амалға асыру тәсілдері операциялық жүйенің ұйымдас­тыру структурасына байланыс болып ол есе аппараттық платформаның ерекшілікте­ріне тығыз байланған. Одан басқа ол программалай тіліне байланысты. Ассемблер­ды қолданғанда программист регистрлер немесе жад облыстарының мәндерін белгі­леп кейіннен қызметтің арнайы инструкциясын шақырады немесе қайсы бір ОЖ функциясын шақыру үшін программалық үзуді орындайды. Жоғары деңгейдегі тіл­дерді қолдағанда ОЖ функцияларын пайдаланушы жазған қосалқы про­граммаларға ұқсас белгілі аргументтердің белгілі тартіппен анықтап шақырады.

Пайдаланушы интерфейсі. Операциялық жүйе қолданба­лық программалар­дан басқа терминалда істеп отырған адам үш­інда ыңғайлы интерфейс жасауы қажет. Бұл адам ақырғы пайда­ла­нушы, ОЖ-нің администраторы немесе программист бо­луы мүмкін. Ілгерігі пакетты режиміндеғы ОЖ-лерде пайдаланушы интерфейс функ­циялары өте кемейтірілген болып терминалдың болуында талар етпеген. Тапсырмаларды басқару командалары перфокарталарда ұрылып нәтижелер печаттау құрылғысына шығарылатын еді.

Осы кезгі пайдаланушы интерфейсі дамыған функцияла­рын қолдап екі түрдегі: алфавитты-цифрлы және графикалық тер­миналдарда интерактив істеу жолдарын ашады.

Алфавитты-цифрлық терминалда жұмыс орындағанда пайда­ла­ну­шы қуаты берілген ОЖ функционал мүмкіншіліктеріне бай­ла­нысты бұйрықтар жүйесіне ие болады. Әдетте ОЖ командалық тілі қолданбаларды іске қосу және тоқтату, файл­дармен және ка­талогтармен түрлі амалдарды орындау, Ож-нің жағдайы туралы түрлі мағлұматтарды алуға (істеп тұрған процесстер санын, ди­сктердегі бос орын көлемін ж.т.б.), жүйені администрлеу мүм­кіндіктерін береді. Командалар терминал­дан интерактив режимін­де ғана енгізілуімен керекті тәртіптегі командаларға ие командалық файлданда оқып алынуы мүмкін.

Ерекше немесе командалық файлдағы командалар тізімін оқу­ға жауап беретін ОЖ-нің программалық модулі командалық интерпретатор деп те аталады.

Команданы енгізу жеңілденеді егер ОЖ пайдаланушының графикалық интер­фейсін сүйемелдесе. Бұл жағдайда пайдалану­шы керекті амалды орындау үшін тыш­қан жәрдемінде экрандан керекті графикалық белгі немесе меню пунктін таңдайды.

Дәріс № 8