К оммутатор ды пайдалану мысалы 9 страница



Linux операциялық жүйесінің негізгі түсініктері

- Free Software – еркін бағдарламалық қамтама (ЕБҚ), оны еркін қолданып және таратуға рұқсат ететін еркін лицензиялардың біреуі аясында таратылады.

- Open Source – бастапқы кодтары ашық бағдарламалық қамтама не ашық бағдарламалық қамтама.

- GNU/Linux – Linux ядросына негізделген операциялық жүйесінің атауы. Көбінесе осы сөз тіркесінің бірінші бөлігі айтылмайды, тек Linux (Линукс) деп айтылады. GNU/Linux құрамасы – ядро, командалық өндеуіш және бағдарламалық қамтаманың жинағы.

- Дистрибутив – бағдарламалық қамтаманың (операциялық жүйелер де) таратылу түрі, құрамында осы операциялық жүйенің орнатқышы мен минималды бағдарламалар жинағы болады. Linux дистрибутивтерінің мысалдары: Ubuntu, Debian, Slackware, openSUSE, Archlinux, т.б.

- Консоль (командалық жол) – негізі, ол – операциялық жүйенің мәтіндік көрінісі, түрі. Мәтіндік командаларды енгізу-шығару құралы. GNU/Linux жүйелерінде командалық жол деп көбінесе Bash командалық өңдеуіші және оның графикалық кеңейтуі (Xterm, Gnome-terminal) аталады.

- Root (суперпайдаланушы) – GNU/Linux жүйелерінде шектеусіз әкімшілік құқығы бар пайдаланушысы.

- GUI (ағылш. «graphical user interface») – пайдаланушының графикалық интерфейсі. Яғни, терезелер, панельдер, батырмалар мен т.с.с.

- Window Manager – терезелердің орналасуын мен олардың әрекеттерін басқарады. Мысалы, Compiz – графиалық эффектілерді ұсынады.

- Desktop Environment – жұмыс үстелінің ортасы, негізгі үші түрі бар: KDE, GNOME, XFCE. Құрамында бағдарламалар жинағы болуы мүмкін. Мысалы, мәтіндік редактор ретінде Gnome ішінде gedit, ал KDE ішінде Kwrite болып келеді.

- Скрипт  – командалық өңдеуіш орындайтын командалар жазылған файл. Мысалы, командалар тізімін қайта-қайта тере бермеу үшін оны скриптке жинауға болады

- Десте – бағдарламалық қамтама файлы, құрамында бағдарламаның өзі, қосымша мәліметтер болады (лицензия мәтіні, мысалға). Десте атауы әдетте стандартты болады, бағдарлама аты, нұсқасы, архитектурасы көрсетіледі. Сонымен қатар, Linux әлемінде қолданатын дестелер түріне сәйкес дистрибутивтер екі үлкен топқа бөлінеді. Ең көп таралғандары deb және rpm дестелер түрлері.

- Дестелер менеджері – БҚ дестелерін басқаруға арналған бағдарлама. Бағдарлама дестелерін іздеу, орнату, өшіру, жаңарту мен т.с.с. әрекеттерді орындайды Мысалы: dpkg, rpm. Archlinux үшін дестелер менеджері – pacman.

- Репозиторий – БҚ дестелері орналасатын жер. Ол интернеттегі серверде, жергілікті компьютерде, не компакт-дисктерде орналасуы мүмкін. Репозиторийден дестелер менеджері дестелер туралы ақпаратты оқып, оларды жүктеп ала алады.

- Бастапқы код – бағдарламаның «шикі» түрі, яғни, бағдарламалау тілінде жазылған код файлдары мен қосымша құрама (суреттер, құжаттама, т.с.с.). Бағдарлама осы түрінде пайдасыз, қолдану үшін оны «жинау» керек, бұл үрдіс компиляция деп аталады.

Linux-тың файлдық жүйесі

Linux- та түбірлік бума қысқа және нұсқа да — «/» деп белгіленеді. Барлық қалған бумалардың толық аттары (жолдары) «/» белгісі мен оған оң жағынан қосылған тізбектей бірінін ішіне бірі салынған бумалар аттарынан тұрады. Жолдағы бумалар да «/» («слэш») таңбасымен ажыратылады. Мысалы, /home жазбасы түбірлік бумада орналасқан («/») «home» бумасын анықтайды, ал /home/user — «user» бумасы «home» бумасында орналасқанын көрсетеді.

Тіркеу — бұл файлдық жүйенің бір бумасына басқа бөлек бүтін файлдық жүйені қосу әрекеті. Тіркеу үшін бос бума керек – ол тіркелу нүктесі деп аталады. Тіркелу нүктесі ролін кез-келген бос бума атқара алады – ол жағынан Linux-та ешқандай шектеулер жоқ. Mount командасының көмегімен біз буманың ішінде осындай жерде орналасқан файлдық жүйені көрсету керек екенін білеміз. Осы әрекеттен кейін бума ішінде (тіркелу нүктесінде) сәйкес тіркелген файлдық жүйесінің файлдары мен бумалары көрсетіле бастайды.

Linux үшін ең маңызды түбірлік файлдық жүйе (root filesystem) болып келеді. Басқа құрылғылардағы барлық файлдық жүйелер оған қосылады (тіркеледі). Назар аударыңыз, түбірлік буманың өзі де тіркеледі, бірақ басқа файлдық жүйеге емес, «Linux-тың өзіне», тіркелу нүктесінің ролін «/» атқарады (түбірлік бума). Сондықтан жүйе қосылған кезде түбірлік бума ең бірінші болып тіркеледі, ал жүйе сөндірілген кезде соңғы болып тіркеуден босатылады.

Linux-жүйесінің түбірлік бумасында әдетте аттары стандартты ішкі бумалар орналасады. Одан әрі, аттарына қоса, олардың құрамасының түрлері де стандартпен шектеледі. Бұл стандарт балық Linux-жүйелерінде сақталады, сол үшін сіз әр Linux-та /etc, /home, /usr/bin т.с.с. тауып, олардағы құрамасының түрін көбінесе болжай аласыз. Файлдардың стандартты орналасуы адамғы және бағдарламаға жүйенің белгілі бір бөлігін қайдан іздеу керек екенін анықтауды мүмкін қылады. Пайдаланушы үшін осындай жағдай кез-келген Linux жүйесінде керек нәрсені таба алатынын көрсетеді.

Тіркеу параметрлері

Тіркеу әрекетін орындаған кезде, Linux-жүйесін орнату үшін тіркеу бумасын таңдау жағдайын қоса, тіркелген файлдық жүйенің қасиеттерін өзгертуге болады. Ол үшін mount утилитасына бір немесе бірнеше параметр көрсету керек. Барлық файлдық жүйелер қолдайтын бірнеше параметрлер бар, сонымен қатар кейбір файлдық жүйелерде тек өздеріне тән тіркеу параметрлері болады. Тіркеу параметрлері туралы көбірек mount утилитасының әдістемесінде оқуға болады (mount(8)).

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

Linux-тың жұмысы үшін керек баптаулардың барлығын (файлдардың барлық керек түрлері мен атрибуттарды, соның ішінде рұқсат құқықтарын сақтауды) қолдайтын файлдық жүйелердің бірнеше түрі бар:

Ext2/3

     Файлдық жүйенің осы түрі Linux үшін арнайы жасалып, Linux-жүйелердің көбінде қолданылады. Ext3 пен Ext2 айырмашылығы, біріншісі кейін шығып, құрамында журналдау қолдауы бар. Қалған қасиеттері бойынша осы екі файлдық жүйе бірдей, және бір-бірне оңай айналдырылады. Сенімділігі жоғары болған соң әдетте журналдауы бар нұсқасы (Ext3) таңдалады. Диск әрекеттер белсенділігі жоғары болған кезде Ext3 файлдық жүйенің өнімділігі төмендейді және жүйеге түсетін орташа жүктелу артады (Load Average).

 

ReiserFS

     Бұл файлдық жүйе дерекқорға ұқсас: оның ішінде өзінің индексация мен жылдам іздеу жүйесі бар, ал оның файл мен бумалар ретінде көрінуі – жүйенің тек бір көрінісі ғана. Әдетте ReiserFS ұсақ файлдардың көп санын сақтауға үшін жақсы келеді деп саналады. Журналдауды қолдайды.

  

XFS

Бұл файлдық жүйе үздіксіз жазылатын не құрамасы өзгертілетін үлкен және өте үлкен файлдарды сақтауға арналған. Ext3 сияқты өнімділігі нашар емес, бірақ оны қолданған кезде электрқорегі кенет өшірілсе, файлдардың құрамасын жоғалту қаупі бар (қауіпсіздік салдарынан осындай кезде файлдың құрамасын нөлдеу қолданылады). Үздіксіз қорек көзіне (UPS) қосылған компьютерлерде қолдануға ұсынылады.

 

SWAPFS

Файлдық жүйенің осы түрі ерекше болып келеді, және ол қатты дискте swap аймағынжасау үшін қолданылады. Ол аймақ көбінесе жеке бөлімге шығарылады, және Linux-та виртуалды жады ретінде қолданылады. Егер физикалық жады аз болса, мәліметтердің бір бөлігі осы аймаққа көшіріледі.

         

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

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

 

ТАҚЫРЫП 11. КӨПАҒЫНДЫҚ БАҒДАРЛАМАЛАУ

Мақсаты: Көпағындық бағдарламалаудың ерекшеліктеріне талдау жасау

Кілттік сөздер: ағын, синхронизация, блокировка, модель, ядро, бірағынды үрдіс, көпағынды үрдіс, мултипроцессорлы архитектура

Дәріс жоспары (1 сағат)

1. Sun фирмасының API орындалу ағындары және POSIX анықтамасы.

2. Орындалу ағындары синхронизациясы: өзара шектеуші бұғаттар, шартты айнымалылар, барьерлер, оқу-жазуды бұғаттау (блокировка).

 

Бұл дәрісте ағын және көпағынды орындалу түсініктері; көпағынды модельдер; ядролардың ағындары және қолданушылық ағындар; "Эльбрусе", Solaris, Linux, POSIX, Windows 2000, Java ағындары туралы қарастырылған.

 Көпағындық- бұл курстың маңызды және қызықты тақырыптарының бірі. Бұл тақырыптың маңыздылығы көпядролы процессорлардың пайда болуымен байланысты. Дәрісте мынандай сұрақтар қарастырылған:

Бірағынды және көпағынды үрдістер

Өкiнiшке орай, көп бағдарламалаушылардың бағдарлама әзiрлеуі бiртiндеп орындалады. Көпағындықты жеке алғанда қатар тұрудың кең мүмкіндіктері есепке алынбайды.

Біртіндеп орындалатын (бірағынды) үрдіс- бұл оның командалар есептеуiшiнiң өзгерiсін сипаттайтын бір басқару ағыны (control flow)  болытын үрдіс. Ағын (thread ) - параллелді орындалатын ерекше үрдіс.Ол ата-аналық үрдістің адрестік кеңістігінде орындалады.                                        

 

Сурет . 1 Бірағынды және көпағынды үрдіс

 

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

Көпағындықтың артықшылықтары:

- Жылдамдықтың артуы ( қарапайым үрдістермен салыстырғанда) Көпағындылық виртуалды жадының жалпы кеңістігінде орындалатын жеңілдетілген үрдістерді(lightweight processes)қолдануға негізделген. Көпағындалықтың арқасындаUNIX ОЖ-ге тән тиімді емес жағдайлар болмайды.Әрбір shell командасы жеке үрдіс ретінде өзінің жеке адрестік кеңістігінде орындалады.Жеңілдетілген үрдістерге қарама қарсы үрдістерді ауырсалмақты (heavyweight) үрдістер деп атайды.

-  Жалпы ресурстарды қолдау. Бір үрдістің ағындары жалпы жады мен файлды қолданады.

- Үнемдеу. Көпағындықтың арқысында жадыны үнемдеуге болады.Сонымен қатар қарапайым үрдіске қарағанда контекстерді жеңілдетілген үрдістерге ауыстыру үшін қажет стектерді алмастыру және регистрлердің мәнін қалпына келтіру тез орындалады.

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

Көпағындылықтың тарихы

Көпағындылықты қолданудың алғашқы шарттары 1970-ші жылдарда кеңестік компьютерлік аппаратураны құрастырушылар мен бағдарламашылар көмегімен жасалған. 1979 жылы құрылған "Эльбрус-1" аппаратурасында және операциялық жүйеде үрдістің тиімді тұжырымдамасын қолданды. "Эльбрусе" үрдісінде көбінесе өзінің стектерімен сипатталды. "Эльбрусе" үрдісінде басқа үрдістер болмағандықтан виртуалды жадының жалпы кеңістігінде орындалады және жеңілдетілген үрдістер болады.

Көпағындылықтың тұжырымдамасы 1980 жылдары UNIX операциялық жүйесінде және оның диалектерінде қалыптаса бастады. Көпағындылықтың дамуы AT&T фирмасындағы UNIX диалектісінде болды, оның негізінде Solaris жүйесі құрылды. Бұның барлығы POSIX стандартында UNIX-тің негізгі мүмкіндіктерімен көрсетілді.

1990 жылдардың ортасында көпағындылық қосылған ОС Windows NT шығарылды.

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

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

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

2000 жылы пайда болған NET платформасы Java идеясын дамытушы механизмін ұсынды.

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


Дата добавления: 2022-01-22; просмотров: 19; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!