- •Қазақстан Республикасының Білім және Ғылым Министірлігі «л.Н. Гумилев атындағы Еуразия ұлттық университеті» шжқ рмк _Ақпараттық технологиялар_ факультеті
- •Силлабус
- •Пәнді оқытудың мақсаты
- •Негізгі және қосымша әдебиет тізімі
- •Оқу нәтижелерін бағалау және бақылау
- •8 Оқу пәнінің саясаты
- •Пән бойынша глоссарий және пәннің ұғымдық аппаратымен жұмыс бойынша жалпы әдістемелік нұсқаулар;
- •3. Оқу пәнінің тақырыптары бойынша дәріс конспектісі және дәріс курсын оқу бойынша әдістемелік нұсқау;
- •Желі операциялық жүйелері.
- •Казіргі кезендегі операциялық жүйелерге қойылған талаптар
- •Ядро артықшылық режимінде.
- •4. Оқу курсы мен тақырыпқа арналған міндетті және қосымша әдебиет пен дереккөздер тізімі;
- •6. Еңбек көлемі көрсетілген білім алушының өздік жұмысы үшін тапсырмалар және олардың орындалуы бойынша әдістемелік нұсқау.
3. Оқу пәнінің тақырыптары бойынша дәріс конспектісі және дәріс курсын оқу бойынша әдістемелік нұсқау;
Дәріс № 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 ж.б. болды. Оларда жасаушылар ядро кодын және желі утилиталарын өздерінің аппаратурасына адаптациялады. Версиялардың түрлі болуы олардың сай келу проблемасын туғызды, бұл проблеманы уақты-уақтымен түрлі мекемелер шешуге әрекет етті. Нәтижеде POSIX және XPG стандарттары қабылданды. Олар қолданылатын операциялық жүйелер интерфейстерін анықтады. Компанияның AT&T арнайы бөлімшелері бірнеше UNIX версияларын: UNIX Sistem III және System V UNIX – жариялады. Олар зерттеушілерді ядро коды деңгейінде бірлестірмекші болды.
Дәріс № 4
Тақырып: Операциялық жүйелердің осы күнгі даму ерекшіліктері.
Мақсат: Операциялық жүйелердің осы күнгі дамуын баяндау.
Жоспар: 1. 90-ші жылдардағы операциялық жүйелер.
2. Корпоративтік желілер.
3. Операциялық жүйелердің көп платформалық байланысы.
90-ші жылдар рынокта сезілерлі орын алған жүйелер желілік операциялық жүйелер болып қалды. Бүгіндері желі функциялары операциялық жүйелер ядросына оның бөлінбес бөлігі болып орнатылады. Операциялық жүйелер негізгі жергілікті (Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, ATM) және ауқымды (X.25, frame relay, ISDN, ATM) желілік технологиялардың барлығымен жұмыс орындайтын саймандарға ие болды, сонымен құрастырылған желілер (IP, IPX, AppleTalk, RIP, OSPF, NLSP) мен де. Операциялық жүйелерде бірнеше протоколдар стекін мультиплекстеу саймандары қолданып, олар жәрдемінде бір уақытта әр түрлі клиенттермен және серверлермен жұмыс орындау амалдары сүйемелденеді. Коммуникациялық мәселелерді шешу үшін арнайы операциялық жүйелер де пайда болды. Мысалы, Cisco System компаниясының IOS маршрутизаторларда істейтін желілік операциялық жүйесі программалар жиынын мультипрограммалық режимінде ұйымдастырып, әр біреуі бір коммуникациялық протоколды амалға асырады.
90-шы жылдар орталарында операциялық жүйелердің жасаушылары Интернет пен істейтін саймандарды (UNIX шығарушылардан басқа – олар басынан осы сүйемелдеуге бейімделген еді) кескін қуаттай бастады. TCP/IP стекінен басқа кең таралған Интернет сервистерін: telnet, DNC және Web – жабдықтау комплексінің утилиталарына қоса бастады. Интернеттің әсері нәтижесінде компьютер таза есептеу құрылғысынан дамыған есептеу мүмкіншіліктеріне ие коммуникациялық сайманына айналды.
Ақырғы онжылдықта корпоративтік желі операциялық жүйелерге ерекше назар аударылды. Олардаң дамуы келешекте маңызды мәселеге айналады. Корпоративтік операциялық жүйелер түрлі қалаларда және мүмкін мемлекеттерде жайласқан бөлімшелеріне ие мекемелердегі үлкен желілерде жақсы және тұрақты істей алады. Осындай желілер үшін жоғары деңгейдегі аппараттық және программалық гетерогендық тиісті болып, корпоратив операциялық жүйелер түрлі операциялық жүйелермен өзара әсер етуі және түрлі аппараттық платформаларда проблемасыз істей алуы қажет. Казіргі уақытта корпоративтік операциялық жүйелер класында үш лидерлер анық белгіленді – бұлар Novell NetWare 4-x және 5.0, Microsoft Windows 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 стандартының біреуі болған Posix–ке байлану түрлі зерттеушілердің операциялық жүйелері бір-бірінен ішкі түзілісімен кескін айырылса да бүкіл UNIX операциялық жүйесі туралы сойлеуге мүмкіндік береді.
Қолданбалар API функцияларынан жүйелі шақырулар жәрдемінде пайдаланады. Қолданбаның операциялық жүйенің қызметінен пайдалануы подпрограмманы шақыруға өте ұқсас. Операциялық жүйеге әдетте командалар идентификаторларынан және мәліметтерден түзілген керекті информация жадтың белгілі жайына, регистрлерге және немесе стектерге орналастырылады. Кейіннен басқару операциялық жүйеге беріледі, ол керек функциясын орындап болып нәтижені жад, регистр немесе стек арқылы қайтарады. Егер операция қанағаттанарсыз орындалса нәтиже қате индикациясына ие болады.
Жүйелі шақыруларды амалға асыру тәсілдері операциялық жүйенің ұйымдастыру структурасына байланыс болып ол есе аппараттық платформаның ерекшіліктеріне тығыз байланған. Одан басқа ол программалай тіліне байланысты. Ассемблерды қолданғанда программист регистрлер немесе жад облыстарының мәндерін белгілеп кейіннен қызметтің арнайы инструкциясын шақырады немесе қайсы бір ОЖ функциясын шақыру үшін программалық үзуді орындайды. Жоғары деңгейдегі тілдерді қолдағанда ОЖ функцияларын пайдаланушы жазған қосалқы программаларға ұқсас белгілі аргументтердің белгілі тартіппен анықтап шақырады.
Пайдаланушы интерфейсі. Операциялық жүйе қолданбалық программалардан басқа терминалда істеп отырған адам үшінда ыңғайлы интерфейс жасауы қажет. Бұл адам ақырғы пайдаланушы, ОЖ-нің администраторы немесе программист болуы мүмкін. Ілгерігі пакетты режиміндеғы ОЖ-лерде пайдаланушы интерфейс функциялары өте кемейтірілген болып терминалдың болуында талар етпеген. Тапсырмаларды басқару командалары перфокарталарда ұрылып нәтижелер печаттау құрылғысына шығарылатын еді.
Осы кезгі пайдаланушы интерфейсі дамыған функцияларын қолдап екі түрдегі: алфавитты-цифрлы және графикалық терминалдарда интерактив істеу жолдарын ашады.
Алфавитты-цифрлық терминалда жұмыс орындағанда пайдаланушы қуаты берілген ОЖ функционал мүмкіншіліктеріне байланысты бұйрықтар жүйесіне ие болады. Әдетте ОЖ командалық тілі қолданбаларды іске қосу және тоқтату, файлдармен және каталогтармен түрлі амалдарды орындау, Ож-нің жағдайы туралы түрлі мағлұматтарды алуға (істеп тұрған процесстер санын, дисктердегі бос орын көлемін ж.т.б.), жүйені администрлеу мүмкіндіктерін береді. Командалар терминалдан интерактив режимінде ғана енгізілуімен керекті тәртіптегі командаларға ие командалық файлданда оқып алынуы мүмкін.
Ерекше немесе командалық файлдағы командалар тізімін оқуға жауап беретін ОЖ-нің программалық модулі командалық интерпретатор деп те аталады.
Команданы енгізу жеңілденеді егер ОЖ пайдаланушының графикалық интерфейсін сүйемелдесе. Бұл жағдайда пайдаланушы керекті амалды орындау үшін тышқан жәрдемінде экрандан керекті графикалық белгі немесе меню пунктін таңдайды.
Дәріс № 8
