Linux ядросының алғашқы нұсқасы
Әл - Фараби атындағы Қазақ Ұлттық Университеті
Факультеті Ақпараттық технологиялар
Кафедрасы Ақпараттық жүйелер
СӨЖ
Тақырыбы: Операциялық жүйелердің нақты мысалдарын оқып-білу: UNIX, LINUX және ANDROID...
Орындағандар: Исмаилханқызы М
ИС-1905 топ
Тексерген: Абенов Б.К
Алматы 2020ж
МАЗМҰНЫ:
1)UNIX және LINUX тарихы: UNICS. PDP-11 UNIX. Тасымалданатын UNIX жүйесі. Berkeley UNIX. UNIXтің стандарттық жүйесі. MINIX. Linux.
2)Linux жүйесіне шолу. Linuxтің міндеттері. Linux жүйесінің интерфейстері. Қабыршық. Linuxтің утилиталары. Ядроның құрылымы.
3)Linux жүйесіндегі үдерістер. Іргелі тұжырымдамалар. Linuxтегі үдерістерді басқарудың жүйелік шақырулары. Linuxте үдерістер мен ағындарды жүзеге асыру. Linuxтегі жоспарлау. Linuxті жүктеу.
4)UNIXтің файлдық жүйесі. Іргелі тұжырымдамалар. Linuxтегі файлдық жүйенің шақырулары. Linuxтің файлдық жүйесін жүзеге асыру.
5)NFS файлдық жүйесі.
6)Linuxтегі қауіпсіздік. Іргелі тұжырымдамалар. Linuxтегі қауіпсіздіктің жүйелік шақырулары. Linuxтегі қауіпсіздікті жүзеге асыру.
7)Android. Android және Google. Android тарихы. Құру мақсаты. Android сәулеті. Linuxтің кеңейтілулері. Dalvik. Binder IPC. Androidтың қолданбалы программалары. Ниеттенулер. Қолданбалы программалардың құмдақтары. Қауіпсіздік. Үдерістің моделі.
8)Пайдаланылған әдебиеттер
Операциялық жүйе, қысқаша ОЖ - компьютерді басқаруға арналған және қолданбалы программалармен байланысы бар нақты программа. Операциялық жүйе - компьютер құрылғыларының үздіксіз жұмыс істеуін ұйымдастырушы және түрлі командаларды орындауы арқылы пайдаланышының машина жұмысын басқаруына жеңілдік келтіруші жүйелік программалар. Оның негізгі қызметі - программалардың бір - бірімен және сыртқы құрылғылармен өзара әрекетін ұйымдастыру, оперативті жадты бөлу, компьютердің жұмыс істеу кезіндеқате жіберілу сияқты түрлі оқиғаларды анықтау, дискіні жұмыс істеуге дайындау, монитор мен принтердің жұмыс істеу режимдерін орнату, пайдаланушының программасын іске қосып, оны орындау т.б.. Яғни ОЖ - машина жұмысын басқаруға толық жеңілдік беретін жүйе. Ол осы үшін арналған иілгіш не қатты магниттік дискіге жазылып қойылады. Сондықтан ОЖ - ны дискілік операциялық жүйе деп те атайды. Дербес компьютерлер үшін кең тараган операциялық жүйелерге МS (РС) DOS, Windows 95, Windows NT,OS2, UNIX жатады. Дербес компьютерлерлерге арналған операциялық жүйелердің барлығы да тек бір адамдық болып табылады. Расында да екі адамның бір мезетге бір компьютерде жұмыс істеуін елестету қиын ғой. WINDOWS 95, WINDOWS NT, OS2, UNIX көп мақсатты жүйелер болып саналады. Көп мақсаттылық -- бір компьютерде бір уақытта қатарласа бірнеше есепті шығару мүмкіндігі немесе бірнеше әрекеттің қатар атқарылып жатуы. Мысалы, Сіз мәтін көшіріліп жатқан шақта ойнап та отыруыңызға боладь, өйткені бұл жұмыстарды әртүрлі қүрылғылар атқарады немесе ол қүрылғылардың жұмыс жылдамдығы адамның жылдамдығынан өте жоғары болып келеді. Көптеген ІВМ - үйлесімді компьютерлер дискілік МS DОS операциялық жүйесі мен көп терезелі WINDOWS графикалық операциялық жүйесін пайдаланады.Операциялық жүкелер көптеген функцияларды орыңдайды: информацияны дискіге жазу-оқуды жүзеге асырады, мәліметтер сақтауды ұйымдастырады, компьютер құрылғыларының өзара байланыста жұмыс істеуін, барлық қолданбалы программалар жұмысының орындалуын қамтамасыз етеді. Бұл жүйе ЭЕМ іске қосылғаннан кейін иілгіш не қатты дискіден алғашқы жүктелетін кещенді программа болып табылады. Белгілі бір қосымша қызмет атқаруға керекті программалар тобы утилиттер болып табылады. Оларға мысал ретінде антивирустік программаларды, мәліметтерді архивтеу программаларын, компыотердің: жұмыс істеу қабілетін тексеретін программаларды айтуға болады.
1.UNIX және LINUX тарихы: UNICS. PDP-11 UNIX. Тасымалданатын UNIX жүйесі. Berkeley UNIX. UNIXтің стандарттық жүйесі. MINIX. Linux.
Linux тарихы 1991 жылы финдік студент Линус Торвальдс кеңінен қолданылатын Intel 80386 архитектурасына арналған арнайы процессоры бар жеке компьютерді құруды жоспарлайды. Жаңа бағдарлама МINIX операциялық жүйесіне ядро прототипін жасау үшін қолданылатын болды. Дербес компьютерлерге арналған UNIX үйлесімді жүйесі дискетадан жүктелген және жеке компьютердің жадына сәйкес болатын. MINIX-ті Эндрю Таненбаум UNIX-тің архитектурасы мен мүмкіндіктерін жақсарту үшін ойлап тапқан еді. Толыққанды дербес компьютерге жеке ядролық операциялық жүйені Линус Торвальдс жасағысы келген. Солай Линус алғашқы ядросына freax атын берген еді. Бірақ біраз уақыттан кейін ftp сервер хостымен бірге ядронын атты Linux деп өзгертілді. Linux сөзі Линус пен UNIX бағдарламасының қосындысы. Linux-тің дамуына Usenet және Internet ғаламдық компьютерлік желілері маңызды рөл атқарды. Линус Торвальдс өте ерте кезеңде оның жұмысын және қиындықтарын MINIX операциялық жүйесіне арналған Usenet желісіндегі comp.os.minix жаңалықтар тобындағы басқа әзірлеушілермен талқылады. Linus-тің басты шешімі ядроның әлі де жұмыс істемейтін алғашқы нұсқасының бастапқы кодын GNU GPL-дің астында жарияланды. Ядроны интернет арқылы көптеген адамдар өз бетінше құрастырып, сынауға, қателерді талқылауға және түзетуге, сонымен қатар Linus-тің бастапқы мәтіндеріне түзетулер мен толықтырулар жіберуге мүмкіндік алды. Соның арқасында Linux тез арада дамып көптеген нәтижелі жетістіктерге жетті. 1992 жылы Linux ядросының алғашқы нұсқасы 0.95, содан кейін 1994 жылы 1.0 нұсқасы шығарылды. Әзірлеушілердің ойынша, ядродағы барлық қателіктер түзетіліп теориялық негізде дайын болды. Қазіргі уақытта Linux ядросының дамуы 1.0 нұсқасынан бұрынғы күндерге қарағанда әлдеқайда үлкен қауымдастықтың мәселесі болып табылады. Линукс жүйесінде белгілі бір даму кезеңінен кейін бірнеше маңызды GNU утилиталары тұрақты жұмыс істеді. Linux-та жинақталған GNU утилиталарының шағын жиынтығы бар еркін операциялық жүйені бағдарламалық жасақтама жасаушыға арналған құралдар жиынтығы болды.
Үнемі жұмыс істейтін Linux жүйесі бар компьютерді алу міндеті кең таралған кезде, Хельсинки және Техас университеттерінің жасаушылары өздерінің дискеталық жиынтықтарын жасап шығарды, олардан ядро мен негізгі утилиталарды қатты дискіге жазуға болады, содан кейін операциялық жүйені одан тікелей жүктеуге болады. Бұл иілгіш дискілер қазіргі заманғы Linux дистрибуциясының алғашқы прототиптері болды -- бағдарламалық жасақтама жиынтығы, соның негізінде компьютерде жұмыс істейтін операциялық жүйені алуға болады. Linux дистрибуциясының басынан бастап GNU бағдарламалық өнімдері болғанын атап өткен жөн. Шын мәнінде, Линукс амалдық жүйесі дегенде, ол Линукс ядросы және GNU утилиталары дегенді білдіреді. Тегін бағдарламалық жасақтама қоры Linux операциялық жүйесін шақыруды ұсынады.
UNIX операциялық жүйесінің тарихи дамуы 1969 жылдан бастап бастау алады. AT&T Bell Laboratories корпорациясының лабораториясында жұмыс істеген Кен Томпсон мен Денис Ритчи бос уақыттарында өздерінің ортақ ынталығымен әр түрлі тапсырмаларды орындай алатын көп қолданушыларға арналған операциялық жүйені жоғарғы бағдарламалаудың С тілінде жазып шығарады. Жүйені лаборатория көлемінде өз ерікті тексерулерден өткізіп, оның ыңғайлылығына және қажеттілігіне көз жеткізген соң, таныс университеттеріне ұсыну арқылы бергендерін алып тарата бастаған. Арада өткен он жыл ішінде, жүйенің елге танымал және сұранысты болып кетуі - оның тәуелсіз тегін таралуында. Яғни, өткен ғасырдың 80-ші жылдарында жүйенің бірден әйгілі болуы осында жатыр. Кез-келген компьютердің жаңа жүйелерін жасаумен айналысатын құрастырушылар, дәп осы кезеңнен бастап аталмыш жүйені негізгі платформа ретінде жұмыстарына қолданысқа ала бастады.Жүйе айналасында белсендене түскен алып-сату шаралары әр түрлі тәуелсіз топтар мен компаниялардың арасында жабық, әрі құпия түрде өндірілетін қосымша және толықтаушы бағдарламаларды құрастыру жарысын бастап жіберді. Сан алуан университеттер мен зерттеу орындарында жұмыс істейтін, өз еріктерімен ізденіс жүргізетін бағдарламашылар көптеген қызықты идеяларының арқасында UNIX жүйесін негізге ала отырып, жаңа функциялар туғызатын бағдарламалар шығарып жатты.
Тәжірибелік оқулық тақырыбының негізіне сәйкес сол кезеңде құрастырылған жүйелердің арасынан GNU жобасын ажыратып, тарихи дамудың осы бағытына ауысамыз. 1983 жылдың 27 қыркүйегінде GNU жүйесін құрастыра бастаған Ричард Мэттью Столлман осы бағыттың негізгі ізбасары болып табылады. UNIX емес GNU is Not Unix - деген түсініктен шығарып алынған GNU операциялық жүйесі атауының өзі тіптен бөлек платформа деп сипатталады. Дегенмен, тарихи деректердің қалай дамып келе жатқанын көріп отырмыз.
Ары қарай, 1991 жылы Фин студенті Линус Торвальдс, UNIX жүйесі мен GNU жобасының жетістіктерін жинақтай отырып, Linux ядросын құрастырып шығарады. Сол кезеңдегі құнды жүйелермен салыстырмай, қазіргі заманның еркін таратылатын операциялық жүйелерімен теңестіретін болсақ, GNULinux ең танымал, әрі мүмкіндігі жоғарылардың біріне жатады.
UNIX тәріздес операциялық жүйелері деп аталатын - Linux операциялық жүйе ядросының нақты және біріңғай атауы жоқ. Linux ядросы тегін таратылатындықтан, оның әр түрлі қажетті мақсаттарға арналған нұсқалары көп. Сондықтан, атқарылатын жұмыс бағыттарына сәйкес керекті бағдарламалық бөлшектерді құрайтын жинақтары сан алуан.
Бастапқы кезеңінде Linux жүйесі тек, қызығушылық танытатын іздемпаздармен ғана құрастырылатын. Артынан, бұл жүйенің қолдану өрісі өрлеген сайын, ірі-ірі компаниялар да ынталана түсіп, елеулі үлестерін қоса бастады. Тәуелсіз лицензия негізінде таратылатын бұл бағдарламалардың ауқымды үлесі компьютер қолданушыларына тегін жеткізіледі.
2014 жылы Инновациялық технологиялар институтының мамандарымен жүргізілген статистикалық сараптау мәліметтері бойынша, Linux жүйесі смартфондар, ғаламтор серверлері 60 %, ең қуатты суперкомпьютерлер 93,8 %, дата-орталықтар, нетбуктар 32 % және әлем деңгейіндегі үй компьютерлері арасында тұрақты 3-ші орынды иеленіп келеді.
Linux жүйесін жетілдіру жұмысы дамыған сайын, оны роутерлерге, модемдерге, ретрансляторларға, теледидарларға, ойын құралдарына кеңінен орнатып келе жатыр.
1978 жылдың басында Берклидегі Калифорния университетінің аспиранты Билл Джой Беркли бағдарламалық жасақтамасының дистрибуциясын құра бастады. Бірінші таспада UNIX үшін Паскаль жүйесі және ex редакторы болды; шамамен 30 данасы таратылды. 1978 жылдың соңына дейін 2BSD пакеті таратылды, шамамен 75 данасы сатылды. Дәл сол уақытта Интерактивті жүйелер UNIX-тің алғашқы коммерциялық нұсқасын, ал Уайтсмиттер алғашқы UNIX клонын - Идристі шығарды. 2.79BSD нұсқасынан бастап Berkeley бағдарламалық жасақтамасының AT&T UNIX коды болмайды. UNIX 7 алғашқы портативті операциялық жүйе болды. Алайда оның өнімділігі алтыншы нұсқаға қарағанда нашар болды. Көптеген модификациядан кейін 2.8.1BSD моделі 1982 жылдың қаңтарында шығарылды.
Кейінгі нұсқалары шықты:
4BSD - қазан 1980
4.1BSD - маусым 1981 ж
4.1a, 4.1b және 4.1c (1982-1983)
4.2 - 1983 ж. Қыркүйегі - TCP IP желілерін қолдайтын, жаңа файлдық жүйе және сигналдарды қолдану мүмкіндігі бар қатты қайта жасалған жүйе 4.3BSD. Университеттің соңғы шығарылымы 4.4BSD болды (1993 ж. Маусым). Бұл нұсқада виртуалды файлдық жүйе, NFS қолдауы, ядроды жөндеуші және TCP IP протоколдарының қуатты стекі енгізілді. Соттан кейін BSD құқықтары BSDI-ге берілді. Көптеген операциялық жүйелер BSD-UNIX негізінде құрылды, көбінесе ашық көзі.
2.Linux жүйесіне шолу. Linuxтің міндеттері. Linux жүйесінің интерфейстері. Қабыршық. Linuxтің утилиталары. Ядроның құрылымы.
Linux (лин - нукс деп айтылады) - Intel 80368 (және одан да жоғары) процесорлы компьютерде жұмыс істеу үшін (спроектированная) құрастырылған 32 - разрядты операциялық жүйе. Техникалық көзқарас тұрғысынан, Linux ONIX-тің баламасы болып табылады, яғни бұл жүйе UNIX стандарттық командаларын өңдейді және UNIX бағдарламаларын іске қосады. Linux BSD және System V кейбір кеңейтілімдерімен алғанда POSIX спецификациясына сәйкес келеді.
Басында Linux жобасымен барлығы бір ғана адам айналысты, Линус Торвальдс (Linus Torbalds), сол уақытта ол Хельсинкиде Финляндия университетінің студенті болды. Ол өзінің, UNIX нұсқаларының біреуі үшін, атап айтқанда, PC үшін жасап шығарылған, UNIX- тіңкоммерциялық баламасы болатын, Minix операциялық жүйесінің альтернативі болуын қалады. Ол Linux- ті жүйе Minix - ке ұқсас болатындай етіп (Linuх Minix - тің файлдық жүйесін қолдайды), бірақ одан да орнықтырақ жұмыс істейтін және тегін болатындай етіп жобалады. Көп уақыт бойы Linuх жасап шығару сатысында орналасқан операциялық жүйе болды. 1991 жылдың ортасында 0.2 нұсқасы шығарылды. Ары қарай Linuх - пен жұмыс істеуде Торвальдске энтузиастар - еріктілер көмектесті. Мұнан басқа, бұл энтузиастар (Linuхті орнату және кофигурациялау кітабының авторларының бірі - Патрика Фолькердингті қоса алғанда) біраз дәрежеде Linuх танымалдығының артуына әсер ететін қосымша бағдарламалар құруға көмектесті. Linuх (UNIX ке де қатысты) фундаментальды принципі мынада: Linux құралдар жиынтығы болатындығында. Бір құрал бір міндеттер үшін, басқасы - басқа міндеттер үшін қолданылады.
Linuх Интернет және желілер үшін тұрғызылған. Linuх толығымен ашық жүйе болып табылады. Ұсынылған CD ROM да Slackware Linux операциялық жүйесінің бастапқы мәтіндері орналасады. Егер сізге операциялық жүйеге өзіңіздің өзгертулеріңізді енгізу қажеттілігі туса, сіз мұны істей аласыз. Егер сізге шалғай құрылғыға драйвер қажет болса, сіз оны өзіңіз жаза аласыз.
Linux көпміндетті операциялық жүйе болып табылады. Linux бірмезгілде бірнеше міндетті орындай алады және әр түрлі міндетке әртүрлі артықшылық берілуі мүмкін, ығыстырылатын көпміндеттілікті жүзеге асырады.
Linux көпқолданушылықты операциялық жүйе болып табылады. Linux-ті серверге орнатуға болады және бір компьютерге бірнеше қолдаланушыны қосуға болады. Бұдан басқа, сізде бұрыннан Slackware Linux бар болғандықтан, бірнеше пайдаланушыға қызмет көрсету үшін, сіз қосымша рұқсат алуға төлемейсіз.
Linux интерфейсі басты жүйеге мүлдем тәуелсіз. Сіз интерфейсті өз қалауыңыз бойынша, жүйені қайта орнатпай-ақ өзгерте аласыз.
Linux ОЖ құрамында, ұйымдастыру міндеттерін орындайтын және мәліметтерді өңдейтін, қолданушы қоршауын нығайтатын бірнеше жүздеген командалар бар. Командалардың өздері мәліметтердің минималды енгізілуінталап ете отырып, белгілі бір функцияларды орындайтын және салыстырмалы жылдам орындайтын, кішірек бағдарламалар болып табылады. Көбірек бөлігі барлық қолданушыларға қолжетімді, бірақ та 100-дің маңындағы командалар тек қана, артықшылық берілген қоданушы болып табылатын, жүйе әкімгеріне ғана қолжетімді. Атқару барысында ақпаратты интерактивті енгізу мүмкіндігі бар кейбір командаларды кейде утилит деп атайды. Мәтін редакторы VI және электрондық поштаны басқару командасы mail утилиттің мысалы бола алады.
Қабықшалар
Әдетте, қабықшалар деп операциялық жүйе ядросымен қолданушылы интерфейсін қамтамасыз етуші интерактивті бағдарламаны айтады. Қабықша жүйеде тіркелген мезеттен бастап, ол жүйеден шыққан мезетке дейін қолданушының белсенді үдерісі болады. Бұл бағдарламалар команданық интерпретатор (кейде оларды командалық процессор деп атайды) болып табылады. Әдетте UNIX ОЖ құрамында бірнеше қабықша қолданылады:
- Bourne shell (sh): негізгі стандартты қабықша UNIX;
- Korn shell (ksh): кеңейтілген нұсқа, Bourne shell;
- C shell (csh): UNIX танымал қабықша, Беркли университеті жасап шығарған ( BSD UNIX) UNIX танымал қабықша;
- Шектеулері бар қабықша ( restricted shell - rsh және rksh); - Жүйеге қатынас құруды шектеу қажет болатын пайдаланушылар үшін жасап шығарылған Bourne shell және korn shell (ksh) ішкі жиыны.
Ядро
Жүйе ядросы, базалық функцияларды қамтамасыз ететін опреациялық жүйенің орталығы болып табылады: үдерістерді жасайды және оларды басқарады, жадыны үлестіреді, файлдарға және шалғай құрылғыларға қатынас құруды қамтамасыз етеді.
Қолданбалы міндеттердің ядромен өзара әрекеті жүйелік шақырулардың стандартты интерфейсі көмегімен өтеді. Жүйелік шақырулардың интерфейсі базалық қызметтерге сұраныстар форматын анықтайды.
Үдеріс, ядро процедурасымен анықталатын, жүйелік шақырулардың көмегімен, ядроның базалық функциясын сұрайды. Ядро сұранысты орындайды және үдеріске қажетті мәліметтерді қайтарады.
Ядро үш негізгі ішкі жүйеден тұрады:
үдерістерді жәнежадыны басқарудың ішкі жүйесі;
файлдық ішкі жүйе;
енгізу - шығару ішкі жүйесі.
3.Linux жүйесіндегі үдерістер. Іргелі тұжырымдамалар. Linuxтегі үдерістерді басқарудың жүйелік шақырулары. Linuxте үдерістер мен ағындарды жүзеге асыру. Linuxтегі жоспарлау. Linuxті жүктеу.
Есептеу машинасының қызметіне тікелей әсер ететін мультибағдарламалық ОЖ ішкі жүйелерінің бірі бұл үдерістер мен ағындарды басқарудың ішкі жүйесі. Ол үдерістер мен ағындарды құру, жою, олардың өзара әрекеттесуін қамтамасыз ету және жүйеде бір мезетте тұрған үдерістер мен ағындар арасында процессорлық уақытты бөлу қызметтерін атқарады.
Үдерістер мен ағындарды басқарудың ішкі жүйесі үдерістерді қажетті
ресурстармен қамтамасыздандыру үшін жауап береді. ОЖ жадыда қай үдеріске қандай ресурс бөлінгендігін жазатын арнайы ақпараттық құрылымдарды бар. Ол үдеріске ресурсты дара пайдалануға немесе басқа үдерістермен бірлесе пайдалануға тағайындай алады. Кейбір ресурстар үдеріске ол құрылған кезде, ал кейбіреулері сұратуларды орындау барысында динамикалық түрде бөлінеді. Ресурстар үдерістің барлық өмір сүру уақытына немесе белгілі бір уақыт аралығына үдеріске тіркеліп қойылуы мүмкін. Үдерістерді басқарудың ішкі жүйесі бұл функцияларды орындау барысында жадыны басқарудың ішкі жүйесі, енгізу-шығарудың ішкі жүйесі, файлдық жүйе сияқты ресурстарды басқаруға жауапты ОЖ басқа да үшкі жүйелерімен өзара әрекеттеседі. Үдерістер мен ағындарды басқарудың ішкі жүйесінің маңызды функцияларының бірі ағындарды синхронизациялау болып табылады. Мультибағдарламалауды қамту үшін ОЖ араларында процессор және басқа да компьютер ресурстары бөлінісілетін ішкі жұмыс бірліктерін анықтап, рәсімдеуі керек. Қазіргі уақытта ОЖ көбінде жұмыс бірлігінің екі типі анықталған. Үдеріс ретінде орындалу кезеңінде тұрған бағдарламаны түсінуге болады. Сонымен қатар, үдерісті процессор үшін жұмыс бірлігі ретінде де қарастыруға болады. Жаңа процессорлар үшін одан да кіші жұмыс бірлігі бар, ол ағын немесе тармақ. Басқаша айтсақ, бір үдеріс бір немесе бірнеше ағын туындата алады. Үдерістер де, ағындар да бар ОЖ, ОЖ үдерісті процессорлық уақыттан басқа барлық ресурс түрлерін пайдалануға сұраным ретінде қарастырылады. Аталған маңызды ресурс процессорлық уақыт басқа жұмыс бірліктері - ағындардың арасында үлестіріледі. Ағын деген атау олар командалар тізбегі (командалар бірінен соң бірі) болғандықтан берілген. Ең қарапайым жағдайда үдеріс бір ағыннан тұрады, 80-жылдардың ортасына дейін (мысалы, UNIX ертеректегі нүсқаларында) үдеріс түсінігі осылай түсіндірілген, және кейбір заманауи ОЖ осы түрінде сақталынған. Үдерістер ресурстарды үлестіруге араласа алмауы және бір-бірінің кодтарымен мәліметтерін бүлдіре алмауы үшін ОЖ маңызды тапсырмасы үдерістерді бір-бірінен оқшаулау болып табылады. Ол үшін ОЖ әрбір үдерісті жеке виртуалды адрестік кеңістікпен қамтамасыз етеді, сондықтан ешбір үдеріс басқа үдерістің командалары мен мәліметтеріне тікелей қатынай алмайды. Үдерістің виртуалды адрестік кеңістігі - бұл үдерістің бағдарламалық модулі манипуляция жасай алатын адрестер жиыны. адрестік кеңістігін үдеріске бөлінген физикалық адресте бейнелейді. Өзара әрекеттесу барысында үдерістер ОЖ қатынайды, ал ол денекерші қызметін атқара отырып, үдерістерге үдеріс аралық байланыс құралдарын - конвейерлер, пошта жәшіктері, жадының бөлінісілетін секцияларын және т.б. ұсынады. Ағындар операциялық жүйелерде есептеулерді параллельдеу құралдары ретінде пайда болды. Әрине, бір бағдарлама аясында есептеудерді параллельдеу міндеттерін дәстүрлі тәсілдермен де шешуге болады. Біріншіден, қолданбалы бағдарламалаушы параллелизмді ұйымдастырудың күрделі міндетін қосымша ішінде басқаруды есептеулердің тармақтарына кезек-кезек (периодты түрде) беріп отыратын диспетчер ішкі бағдарламасын бөліп алу арқылы шеше алады. Бұл жағдайда бағдарлама басқаруды берулері көп логикалық жағынан өте шатасқан болып шығады, ал бұл өз кезегінде бағдарламаның ретке келтіліруін және өзгертілуін қиындатады. Екіншіден, мұның тағы бір шешімі бір қосымшаға әрбір параллельді жұмыс үшін бірнеше үдеріс құру. Бірақ, үдерісті құруда стандартты құралдарды пайдалану бұл үдерістердің бір тапсырманы шешетінін, яғни олардың арасында ортақ нәрселер көп екендігін есепке алуға мүмкіндік бермейді. Олар бір мәліметтермен жұмыс жасап, бір сегментті кодты пайдаланып және есептеу жүйесінің ресурстарына да қатынау құқықтары бірдей берілуі мүмкін. Одан басқа, ОЖ әрбір үдерісті құруға қандайда бір ресурстарды жұмсайды, ал бұл жағдайда олар жөнсіз қайталанылады - әрбір үдеріске өзінің виртуалды адрестік кеңістігі, физикалық жадысы беріліп, енгізу-шығару құрылғылары бекітіледі және т.с.с. Жоғары аталғандардан ОЖ үдерістен басқа бір қосымшаның есептеулерінің жеке тармақтары арасындағы тығыз байланысты есепке алатын басқа есептеулерді параллельдеу механизмі қажет екендігі шығады. Бұл мақсатқа жету үшін заманауи ОЖ көп ағынды өңдеу (multithreading) механизмін ұсынады. Бұл жағдайда жаңа жұмыс бірлігі енеді - орындалу ағыны, ал үдеріс түсінігі өз мағынасын өзгертеді. Ағын түсінігіне процессордың бағдарламаның бір командасынан екінші командасына тізбектеле ауысуына сәйкес келеді. ОЖ ағындар арасында процессорлық уақытты бөледі. ОЖ үдеріске оның ағындары ортақ пайдаланылатын адрестік кеңістікті және ресурстар жиынын тағайындайды. Мультибағдарламалауды үдеріс деңгейіне қарағанда ағындар деңгейінде қолданған нәтижелі болады. Әрбір ағынның өз командалар есептегіші және стекы бар. Бір үдеріс аясында бірнеше ағын түрінде рәсімделген есептің жекелеген бөліктерін жалған параллельді (псевдопараллельді, немесе мультипроцессорлы жүйедегі параллельді) орындау арқылы жылдам орындауға болады. Мысалы, егер электронды кесте көп ағынды өңдеудің мүмкіндіктерін ескере отырып құрастырылған болса, онда қолданушы өз жұмыс бетін қайта есептеуді сұрата отырып, сол мезетте кестені толтыра алады. Көп ағындылықты әсіресе үлестірілген қосымшаларда қолданған аса тиімді болады, мысалы, көп ағынды сервер бір мезетте бірнеше қолданушылардың сұратуларын орындай алады. Ағындарды қолдану тек параллельді есептеудің арқасында жүйе өнімділігін арттырумен ғана емес, сонымен бірге логикалық, читабельдік жағынан жоғарырақ бағдарламалар құру мақсатында да жүреді. Бірнеше орындалу ағынын қатар алып отыру бағдарламалауды қарапайымдатады. Мысалы, жазушы-оқушы типтегі тапсырмаларда бір ағын буферге жазуды, ал келесісі буфердан оқуды орындайды. Екеуі бір буферді бөлісіп отырғандықтан оларды жеке үдерістер етіп жасаудың қажеті жоқ. Ағындарды қолданудың тағы бір мысалы - пернетақтадан енгізілген үзулер (del немесе break) сияқты сигналдары басқару. Бір ағын үзу сигналдарын өңдеудің орнына емес, сигналдың түсуін тұрақты тосып тұруға тағайындалады. Осылай, ағындарды пайдалану қолданушы деңгейіндегі үзілімдер қажеттілігін азайта алуы мүмкін. Бұл мысалдарда параллельді орындаудың өзі емес, u1087 бағдарламасының айқындылығы маңызды.
Көп ағынды өңдеуді ағындары, тіпті бір үдеріске жататын ағындары да түрлі
процессорларда шындығында да параллельді (жалған параллельді емес) орындалатын мультипроцессорлық жүйелерде қолданған нәтижелі болады. Операциялық жүйе есепте тұрған үдерістерге жаңа үдерісті қосу үшін ол
мәліметтер құрылымын жасайды. Мәліметтер құрылымы үдерісті басқаруда қолданылады және оны негізгі жадының адрестік кеңістігіне орналастырады. Осы әрекеттер негізінде жаңа үдеріс құрылады.
Пакеттік өңдеу ортасында үдеріс тапсырма келіп түскенде жауап ретінде
құрылады; интерактивті ортада үдеріс жаңа қолданушы ортаға кіруге талпынған уақытта пайда болады. Екі жағдайда да жаңа үдерісті құруға жауаптылық операциялық жүйенің мойнында болады. Мұнан басқа, операциялық жүйе қосымшаның талабы бойынша да үдеріс құра алады. Мысалы, егер қолданушы файлды басып шығаруға сұрату жіберсе, онда
операциялық жүйе басып шығаруды басқаратын үдеріс құра алады. Одан кейін, басып шығаруды сұратқан сұрату, баспаға кететін уақытқа қарамастан өз жұмысын жалғастыра
алады. Дәстүрлі түрде операциялық жүйе үдерісті қолданушылармен қосымшалардың
елеуінсіз құрады; бұл сияқты тәсіл көптеген заманауи операциялық жүйелерде қалыптасқан. Бірақ кейде бір үдеріс келесі үдерістің құрылуына себепші болуы керек болады. Мысалы, қосымша үдерісі жаңа үдерісті генерациялайды, ал бұл үдеріс бірінші үдерістен мәліметтерді
алып, оларды әрі қарай талдауға керекті ыңғайлы түрге келтіреді. Жаңа үдеріс қосымшамен параллельді жұмыс жасайды және ара арасында жаңа мәліметтерді алу үшін белсенді болады. Бұл сияқты ұйымдастыру қосышаны құрылымдауда аса пайдалы болады. Егер операциялық жүйе жаңа үдерісті басқа үдерістің сұратуы бойынша жасаса, бұл үдерісті туындату (process spawning) деп аталады. Бір үдеріс жаңа үдерісті туындатса, жаңа үдерісті туындатқан үдеріс - аталық (parent), туындалған үдеріс - еншілі немесе тұқым (child) деп аталады. Жалпы туысқан үдерістер өзара ақпарат алмасып, бір-бірімен әрекеттеседі. Үдерісті құру - бұл ең бірінші, үдеріс сипаттауышын (handle - дескриптор) құруды білдіреді. Үдеріс сипаттауышы ретінде ОЖ үдерісті басқаруға қажетті үдеріс туралы барлық мәліметтер бар бір немесе бірнеше ақпараттық құрылым пайдаланылады. Бұл сияқты
мәліметтер қатарына мысалы, үдеріс идентификаторы, орындалатын модульдің жадыда орналасуы туралы мәлімет, үдерістің басымдылық деңгейі (басымдылық және құтынау құқықтары) және т.с.с. жатады. Үдеріс сипаттауышының мысалдары: OS360-дегі тапсырмаларды басқару блогы (ТСВ - Task Control Block), OS2-де процессордың басқарушы блогы (РСВ - Process Control Block), UNIX-те үдеріс дескрипторы, Windows NT-де объектүдеріс (object-process). Үдерісті құруға осы үдерістің орындалатын бағдарламасының коды мен мәліметтерін дисктен жедел жадыға жүктеу кіреді. Бұл үшін ОЖ бағдарламаның дисктегі орнын тауып, жедел жадыны қайта үлестіріп және жаңа үдерістің орындалатын бағдарламасына жады бөліп беруі керек. Одан кейін бағдарламаны оған бөлінген жады
аумақтарына қайта оқуы керек және мүмкін болса, бағдарламаны жадыда орналасқанына байланысты баптау керек болады. Көп ағынды жүйеде ОЖ үдерісті құру барысында әрбір үдеріс үшін минимум бір
орындау ағынын тұрғызады. Ағынды құрғанда да ОЖ үдерісті құрғандағы сияқты арнайы ақпараттық құрылым - ағын сипаттауышын генерациялайды. Ағын сипаттауышында ағын идентификаторы, қатынау құқықтары мен басымдылықтар туралы мәлімет, ағынның күйі және т.б. ақпараттар болады. Бастапқы күйде ағын (немесе үдеріс, егер ағын түсінігі анықталмайтын жүйе туралы айтылса) тоқтатылған күйде болады. Ағынды орындауға таңдап
алу сол сәтте жүйеде тұрған барлық ағындар мен үдерістерді есепке ала отырып, жүйеде
қалыптасқан процессорлық уақытты беру ережелеріне сай жүргізіледі.
Үдерістерді басқару барысында операциялық жүйе ақпараттық құрылымның
негізгі екі типін пайдаланады: үдеріс дескрипторы және үдеріс контекстісі. Үдеріс
дескрипторында ядроға үдерістің барлық өмір циклында, яғни оның активті әлде пассивті
күйде ме, үдеріс бейнесі жедел жадыға жүктелген бе алде дискке кері жүктелген бе соған
қарамастан қажет болатын ақпарат бар.
Жекелеген үдерістер дескрипторлары үдерістер кестесін құрайтын тізімге
біріктірілген. Үдерістер кестесіне жады динамикалық түрде ядро аймағынан беріледі.
Үдерістер кестесіндегі тұрған ақпараттың негізінде операциялық жүйе үдерістерді жоспарлау мен оларды синхронизациялауды жүргізеді. Дескрипторда үдерістің күйі, жедел жадыда және дискіде үдеріс бейнесінің орналасуы, басымдылықтардың кейбір құраушыларының мәндері туралы, сонымен қатар оның ауқымды басымдылықтағы алатын орны, үдерісті құрған қолданушының идентификаторы, тектес үдерістер туралы, бұл үдеріс орындалуын
күтіп тұрған оқиғалар туралы және т.б. ақпарат болады.
Үдеріс контекстісі үдерістің орындалуы үзілген жерден оның орындалуын
қалпына келтіруге қажетті үдеріс туралы ақпараттың жеделділігі төменірек, бірақ көлемі
жағынан үлкенірек бөлімін сақтайды: процессор регистрлерінің ішіндегісі, процессор
орындайтын жүйелік шақырулардың қателіктер коды, бұл үдеріс ашқан барлық файлар мен аяқталмаған енгізу-шығару операциялары туралы ақпарат және үзіліс басталған мезеттегі есептеу ортасының күйін сипаттайтын басқа да мәліметтер. Контекст те үдеріс дескрипторы сияқты ядро бағдарламаларына ғана қол жетімді, яғни ол ОЖ виртуалды адрестік кеңістігінде орналасады, бірақ ол ядро аймағында сақталмайды, үдеріс бейнесіне жалғасып жатады және онымен бірге жылжытылады, егер қажет болса жедел жадыдан дискіге көшіріледі.4. UNIXтің файлдық жүйесі. Іргелі тұжырымдамалар. Linuxтегі файлдық жүйенің шақырулары. Linuxтің файлдық жүйесін жүзеге асыру.
Файл UNIX операциялық жүйесінің фундаментальды объектісі болып табылады. Барлық бағдарламалық жабдықтаулар файлдарда сақталады. UNIX ОЖ орналасқан компьютердің қатты дискісі, бөлім деп аталатын, бірнеше логикалық бөлімнен тұрады. Одан операциялық жүйелерді орналастыру үшін жасалатын, диск бөлімдерінен айырмашылығы UNIX ОЖ аймағында логикалық бөлімді көбінесе, слайс (slice) деп атайды. Слайстың орналасуы және өлшемі дискіні форматтау кезінде анықталады. UNIX - те олар тәуелсіз құрылғы ретінде болады, оларға қатынас құру, әртүрлі мәлімет жинақтауыштарға қатынас құру сияқты жүзеге асырылады. Слайстың бөлігі файлдық жүйені (filesystems) орналастыру үшін бөлінеді. Бір слайста тек қана бір файлдық жүйе орналаса алады. Диск тек қана бір слайстан тұра алады, бұл үлкен өлшемді файлдық жүйе жасауға мүмкіндік береді
UNIX ОЖ тиесілі сипаттар:
жүйеде ішкі құрылымы әртүрлі бірнеше файлдық жүйе қатысуы мүмкін;
бұл жүйеге жататын файлдар жүйесі әртүрлі қондырғыларда орналастырылуы мүмкін;
Мынаны атап өту қажет, файл атауы - дискідегі мәлімет жиынтығы емес, файлдық жүйенің атрибуты болып табылады.
Жүйедегі әрбір файл, индекстік дескрипторда сақталған (inode), файлдың барлық сипаттамаларын сақтаушы, соңын ішінде файл мәліметі сақталған диксілік блоктар көрсеткішімен,(нұсқағышымен өзінің метамәліметімен (қосымша ақпараттар) байланысты.
Файл атауы - файлдық жүйеде оның метамәліметіне көрсеткіші болып табылады, ал бірақ, метамәліметте файл атауы көрсеткіш болмайды. UNIX ОЖ функциональдық мақсаты және файлдармен санқилы операциялар орындауындағы операциялық жүйе әрекеті әртүрлі, бірнеше әртүрлі файл қолданыс табады.
Қарапайым файл (ordinary files) - мәлімет сақтаушы, файлдың неғұрлым жалпылама түрі. ОЖ үшін, олар құрылымдалмаған мәлімет жиынтығы болып табылады.
Каталог (directory)
Каталогтар көмегімен файлдық жүйенің логикалық ағашы қалыпасады. Каталог - бұл өзінде орналасқан файлдардың атауын жинақтаған файл және операциялық жүйеге бұл файлдармен операция жүргізуге мүмкіндік беретің, қосымша ақпаратарға (метамәліметтер) көрсеткіштер жинақталған файл.
Символдық сілтемелер (symbolic link). Жоғарыда айтылып кеткендей, кталогкта файлдар атаулары және олардың метамәліметтеріне көрсеткіштер бар. Метамәліметтердің өздерінде файл атаулары да, ол атауға көрсеткіш те болмайды. Бұл файлдық жүйеде, бірғана файлға бірнеше атау иеленуіне мүмкіндік береді
Атаулар, метамәліметтермен және сәйкесінше файлдың мәліметтерімен тығыз байланысты, сонымен бірге, файл сияқты, файлдық жүйеде өзін қалай атайтындығына байланысыз бола алады. Мұндай сілтемені In командасының көмегімен жасауға болады.
Файлдар және каталогтар:
ОЖ файлдық жүйесін оқып үйренуге көшпестен бұрын, қабылданған кейбір сөздіктермен (термин) танысу қажет.
- Файлдық жүйенің орны (filesystem): дискінің, операциялық жүйеге, дискі блоктарына жылдам адрестеу және қатынас құруды жүзеге асыру мүмкіндігін беру үшін арнайы форматталған аймақ.
- Файл ағашы (tile system): біртұтас ағашбейнелі иерархиялық құрылымға логикалық біріктірілген, бір немесе бірнеше файлдар жүйесінің жиынтығы.
- Файл (tile): мәліметер сақталатын файлдық жүйенің ішіндегі атауы. Файл бос болуы да мүмкін (яғни, мәліметтер болмауы) бірақ та ол операциялық жүйе туралы белгілі бір ақпарат береді. Файл атаулары UNIX ОЖ файлдармен жұмыс істеу үшін, олардың атауларын пайдаланбайды. Операциялық жүйеге қажетті барлық ақпарат, файлдың метамәліметтері, сәйкес дескриптордың реттік нөмірімен бірмәнді байланысты болатын, дескриптор жиымында орналасады. Файл атауы оның дескрипторының нөмірімен бірге файлдардың арнайы түрі - каталогтарда сақталады. UNIX ОЖ файл атаулары АSCII символдарының комбиинациялануынан тұрады. Атау ұзындығы 255 символға дейін жетуі мүмкін (кейбір файлдың жүйелер ұзындықты 14 символға дейін шектейді). Атауларда, арнайы міндеті бар символдарды пайдалануға рұқсат етілмейді: : ' " ' S ! % Ʃ * ? ( ) [ ] (.) символынан басталатын файл атаулары, әдепкіде, ls командасымен шығарылмайтын, жасырынған (hidden) файлдарға жатады. Жасырынған файлдардың атауын шығару үшін , ls командасынан а опциясын пайдалану қажет.
Файл типтері
UNIX ОЖ файлдық жүйесі файлдың бірнеше типтерін қолдайды: әдетегі файлдар, символдық байланыстар, құрылғының арнайы файлдары. Егер каталог мазмұны туралы ақпарат беретін, ls - 1 командасын орындаса, мынаны көруге болады: әрбір тіркестегі бірінші сөздің бірінші символы сәйкес файлдың түріне нұсқайды. Символдардың мәні төмендегідей - - қарапайым файлдар: d- каталог;
l - символдық байланыс;
cb- құрылу файлдары.
Қарапайым файл - r w - r w ... ..
Каталог d r w x r w x --- ... ..
Символдық байланыстар l r w x r w x r w x ...
Құрылғы файлы c r w - r w ---- ...
Қарапайым файлдар
Қарапайым файлдар құрылымдандырылмаған байттар реттілігі бар. Осындай файлдармен жұмыс істейтін қосымша: оның мазмұнын және құрылымын анықтайды. Әдетте, осындай файлдарды келесі санаттардың біріне жатқызуға болады:
Символдар жиынтығы бар мәтіндік. Мысалы, хат, есептер, shell интерфератоторы пайдаланатын командалық файлдар.
Қандай да бір қосымшадағы мәліметердің мәтіндік және сандық жиынтығы бар. Мысалы, электрондық кестелер, мәтіндік поцессорлардың мәліметер қоры немесе құжаттары. Машиналық командалар және мәліметтержинақталған екілік түрінде атқарылатын бағдарламалар . Мысалы, UNIX ОЖ командаларын орындаумен байланысты бағдарламалар немесе қосымшалардың бағдарламалары.
Каталогтар
Каталогтар файлдық жүйенің иерархиялық құрылымын ұйымдастыруға арналған арнайы файл болып табылады. Каталогтар файлдың файлдық жүйе ағашындағы қалпын анықтайды, өйткені файлдың өзінде өзінің орналасқан орны туралы ақпарат жоқ. Каталогтарда да, қарапайым файлдардағы сияқты мәліметтер болады, бірақ та қарапайым файлдардан айырмашылығы, ядро бұл мәліметтердің құрылымына шектеу салады; каталогтарда әрбір файл үшін мынандай байлам түрінде болады: " индекстік дескриптор нөмірі - файл атауы":
- индекстік дескриптор нөмірі файл туралы барлық ақпаратар бар, индкстік кестесінің блок индексі ретінде пайдаланылады;
- файл атауы мәтіндік ақпарат(ASCII) болып табылады.
Каталогтарда бірнеше файлдарға қатысты, бірдей атаулар болмауы керек. Әрбір каталогта бірінші атау ретінде "нүкте" (.) пайдаланылады, бұл каталогтың меншікті атауының синонимі, екінші атау ретінде "екі нүкте"(..) пайдаланылады, бұл жоғары тұрған ("аналық") кталог атауының синонимі.
Жадыны басқару ішкі жүйесінің модулі жадының үдерістер арасында таратылуын қамтамасыз етеді. Егер барлық үдерістер үшін жады жеткіліксіз болса, ядро үдірістерді (белсенді) орындау үшін ресурстарды босата отырып, үдерістін бөлігін немесе бірнеше үдерістерді (көбінесе, жүйедегі қанайда бір оқиғаны күтуші (белсенді есес)) дискінің арнайы аймағына ("басқылау" аймағына) көшіреді. Файлдық ішкі жүйе, дискілік жинақтауыштарда орналасқан мәліметерге және шалғай құрылғыларға қатынас құруға үйлестірілген интерфейс қамтамасыз етеді. Ол файлдарды орналастыру және жою операцияларын орындайды. Файл мәліметерін жазуоқу операцияларын орындайды, сол сияқты файлға қатынас құру құқын бақылайды.
Енгізу-шығару ішкі жүйесі,файлдық ішкі жүйенің және үдерістерді басқару ішкі жүйеснің і шалғай құрылғыларға қатынас құру сұраныстарын орындайды. Ол сыртқы құрылғыларға қызмет көрсететін, ядроныңарнайы бағдарламаларымен - құрылғы драйверімен өзара әрекет етеді.
Файлдық жүйе бірнеше бөліктерге бөлінеді: bin, lib, etc, dev және т.б. каталогтарынан тұратын root файлдық жүйесі, өзгертуге келмейтін мәліметтер және әр түрлі программалар сақталатын usr файлдық жүйесі, өзгертуге келетін (log файлдар тектес және басқалар) файлдар сақталатын var файлдық жүйесі, қолданушылардың жеке каталогтарынан тұратын home файлдық жүйесі. Жүйелік администратор және аппараттық қамтамасыздандыру конфигурациясының жұмысына байланысты файлдық жүйе бөлімдері жоғарыда көрсетілген бөлімдерден өзгеше болуы мүмкін.
Файлдық жүйе - файлдарды дискте немесе оның бөлімінде сақтау үшін операциялық жүйені қолданатын мәліметтердің құрылымы мен әдістері. Файлдық жүйе жайлы, файлдарды сақтауда қолданылатын дискке және бөліміне байланысты немесе файлдық жүйенің типіне қарап айтады.
Диск немесе бөлім және оған қойылған файлдық жүйеарасында айырмашылықты көру керек. Кейбір программалар дискке немесе бөлімге үндеу кезінде секторлерге тікелей рұқсат қолданады. Егерде ол жерде файлдық жүйе болса, онда ол қатты өзгерістерге ұшырайды. Көптеген программалар дискпен файлдық жүйе арқылы қарым-қатынас жасайды, яғни, егер бөлімде немесе дискте ешқандай жүйе (немесе файлдық жүйе типі талапқа сай емес) орнатылмаған болса, онда олардың жұмысы бұзылады. Бөлім немесе диск файлдық жүйе ретінде ... жалғасы
Факультеті Ақпараттық технологиялар
Кафедрасы Ақпараттық жүйелер
СӨЖ
Тақырыбы: Операциялық жүйелердің нақты мысалдарын оқып-білу: UNIX, LINUX және ANDROID...
Орындағандар: Исмаилханқызы М
ИС-1905 топ
Тексерген: Абенов Б.К
Алматы 2020ж
МАЗМҰНЫ:
1)UNIX және LINUX тарихы: UNICS. PDP-11 UNIX. Тасымалданатын UNIX жүйесі. Berkeley UNIX. UNIXтің стандарттық жүйесі. MINIX. Linux.
2)Linux жүйесіне шолу. Linuxтің міндеттері. Linux жүйесінің интерфейстері. Қабыршық. Linuxтің утилиталары. Ядроның құрылымы.
3)Linux жүйесіндегі үдерістер. Іргелі тұжырымдамалар. Linuxтегі үдерістерді басқарудың жүйелік шақырулары. Linuxте үдерістер мен ағындарды жүзеге асыру. Linuxтегі жоспарлау. Linuxті жүктеу.
4)UNIXтің файлдық жүйесі. Іргелі тұжырымдамалар. Linuxтегі файлдық жүйенің шақырулары. Linuxтің файлдық жүйесін жүзеге асыру.
5)NFS файлдық жүйесі.
6)Linuxтегі қауіпсіздік. Іргелі тұжырымдамалар. Linuxтегі қауіпсіздіктің жүйелік шақырулары. Linuxтегі қауіпсіздікті жүзеге асыру.
7)Android. Android және Google. Android тарихы. Құру мақсаты. Android сәулеті. Linuxтің кеңейтілулері. Dalvik. Binder IPC. Androidтың қолданбалы программалары. Ниеттенулер. Қолданбалы программалардың құмдақтары. Қауіпсіздік. Үдерістің моделі.
8)Пайдаланылған әдебиеттер
Операциялық жүйе, қысқаша ОЖ - компьютерді басқаруға арналған және қолданбалы программалармен байланысы бар нақты программа. Операциялық жүйе - компьютер құрылғыларының үздіксіз жұмыс істеуін ұйымдастырушы және түрлі командаларды орындауы арқылы пайдаланышының машина жұмысын басқаруына жеңілдік келтіруші жүйелік программалар. Оның негізгі қызметі - программалардың бір - бірімен және сыртқы құрылғылармен өзара әрекетін ұйымдастыру, оперативті жадты бөлу, компьютердің жұмыс істеу кезіндеқате жіберілу сияқты түрлі оқиғаларды анықтау, дискіні жұмыс істеуге дайындау, монитор мен принтердің жұмыс істеу режимдерін орнату, пайдаланушының программасын іске қосып, оны орындау т.б.. Яғни ОЖ - машина жұмысын басқаруға толық жеңілдік беретін жүйе. Ол осы үшін арналған иілгіш не қатты магниттік дискіге жазылып қойылады. Сондықтан ОЖ - ны дискілік операциялық жүйе деп те атайды. Дербес компьютерлер үшін кең тараган операциялық жүйелерге МS (РС) DOS, Windows 95, Windows NT,OS2, UNIX жатады. Дербес компьютерлерлерге арналған операциялық жүйелердің барлығы да тек бір адамдық болып табылады. Расында да екі адамның бір мезетге бір компьютерде жұмыс істеуін елестету қиын ғой. WINDOWS 95, WINDOWS NT, OS2, UNIX көп мақсатты жүйелер болып саналады. Көп мақсаттылық -- бір компьютерде бір уақытта қатарласа бірнеше есепті шығару мүмкіндігі немесе бірнеше әрекеттің қатар атқарылып жатуы. Мысалы, Сіз мәтін көшіріліп жатқан шақта ойнап та отыруыңызға боладь, өйткені бұл жұмыстарды әртүрлі қүрылғылар атқарады немесе ол қүрылғылардың жұмыс жылдамдығы адамның жылдамдығынан өте жоғары болып келеді. Көптеген ІВМ - үйлесімді компьютерлер дискілік МS DОS операциялық жүйесі мен көп терезелі WINDOWS графикалық операциялық жүйесін пайдаланады.Операциялық жүкелер көптеген функцияларды орыңдайды: информацияны дискіге жазу-оқуды жүзеге асырады, мәліметтер сақтауды ұйымдастырады, компьютер құрылғыларының өзара байланыста жұмыс істеуін, барлық қолданбалы программалар жұмысының орындалуын қамтамасыз етеді. Бұл жүйе ЭЕМ іске қосылғаннан кейін иілгіш не қатты дискіден алғашқы жүктелетін кещенді программа болып табылады. Белгілі бір қосымша қызмет атқаруға керекті программалар тобы утилиттер болып табылады. Оларға мысал ретінде антивирустік программаларды, мәліметтерді архивтеу программаларын, компыотердің: жұмыс істеу қабілетін тексеретін программаларды айтуға болады.
1.UNIX және LINUX тарихы: UNICS. PDP-11 UNIX. Тасымалданатын UNIX жүйесі. Berkeley UNIX. UNIXтің стандарттық жүйесі. MINIX. Linux.
Linux тарихы 1991 жылы финдік студент Линус Торвальдс кеңінен қолданылатын Intel 80386 архитектурасына арналған арнайы процессоры бар жеке компьютерді құруды жоспарлайды. Жаңа бағдарлама МINIX операциялық жүйесіне ядро прототипін жасау үшін қолданылатын болды. Дербес компьютерлерге арналған UNIX үйлесімді жүйесі дискетадан жүктелген және жеке компьютердің жадына сәйкес болатын. MINIX-ті Эндрю Таненбаум UNIX-тің архитектурасы мен мүмкіндіктерін жақсарту үшін ойлап тапқан еді. Толыққанды дербес компьютерге жеке ядролық операциялық жүйені Линус Торвальдс жасағысы келген. Солай Линус алғашқы ядросына freax атын берген еді. Бірақ біраз уақыттан кейін ftp сервер хостымен бірге ядронын атты Linux деп өзгертілді. Linux сөзі Линус пен UNIX бағдарламасының қосындысы. Linux-тің дамуына Usenet және Internet ғаламдық компьютерлік желілері маңызды рөл атқарды. Линус Торвальдс өте ерте кезеңде оның жұмысын және қиындықтарын MINIX операциялық жүйесіне арналған Usenet желісіндегі comp.os.minix жаңалықтар тобындағы басқа әзірлеушілермен талқылады. Linus-тің басты шешімі ядроның әлі де жұмыс істемейтін алғашқы нұсқасының бастапқы кодын GNU GPL-дің астында жарияланды. Ядроны интернет арқылы көптеген адамдар өз бетінше құрастырып, сынауға, қателерді талқылауға және түзетуге, сонымен қатар Linus-тің бастапқы мәтіндеріне түзетулер мен толықтырулар жіберуге мүмкіндік алды. Соның арқасында Linux тез арада дамып көптеген нәтижелі жетістіктерге жетті. 1992 жылы Linux ядросының алғашқы нұсқасы 0.95, содан кейін 1994 жылы 1.0 нұсқасы шығарылды. Әзірлеушілердің ойынша, ядродағы барлық қателіктер түзетіліп теориялық негізде дайын болды. Қазіргі уақытта Linux ядросының дамуы 1.0 нұсқасынан бұрынғы күндерге қарағанда әлдеқайда үлкен қауымдастықтың мәселесі болып табылады. Линукс жүйесінде белгілі бір даму кезеңінен кейін бірнеше маңызды GNU утилиталары тұрақты жұмыс істеді. Linux-та жинақталған GNU утилиталарының шағын жиынтығы бар еркін операциялық жүйені бағдарламалық жасақтама жасаушыға арналған құралдар жиынтығы болды.
Үнемі жұмыс істейтін Linux жүйесі бар компьютерді алу міндеті кең таралған кезде, Хельсинки және Техас университеттерінің жасаушылары өздерінің дискеталық жиынтықтарын жасап шығарды, олардан ядро мен негізгі утилиталарды қатты дискіге жазуға болады, содан кейін операциялық жүйені одан тікелей жүктеуге болады. Бұл иілгіш дискілер қазіргі заманғы Linux дистрибуциясының алғашқы прототиптері болды -- бағдарламалық жасақтама жиынтығы, соның негізінде компьютерде жұмыс істейтін операциялық жүйені алуға болады. Linux дистрибуциясының басынан бастап GNU бағдарламалық өнімдері болғанын атап өткен жөн. Шын мәнінде, Линукс амалдық жүйесі дегенде, ол Линукс ядросы және GNU утилиталары дегенді білдіреді. Тегін бағдарламалық жасақтама қоры Linux операциялық жүйесін шақыруды ұсынады.
UNIX операциялық жүйесінің тарихи дамуы 1969 жылдан бастап бастау алады. AT&T Bell Laboratories корпорациясының лабораториясында жұмыс істеген Кен Томпсон мен Денис Ритчи бос уақыттарында өздерінің ортақ ынталығымен әр түрлі тапсырмаларды орындай алатын көп қолданушыларға арналған операциялық жүйені жоғарғы бағдарламалаудың С тілінде жазып шығарады. Жүйені лаборатория көлемінде өз ерікті тексерулерден өткізіп, оның ыңғайлылығына және қажеттілігіне көз жеткізген соң, таныс университеттеріне ұсыну арқылы бергендерін алып тарата бастаған. Арада өткен он жыл ішінде, жүйенің елге танымал және сұранысты болып кетуі - оның тәуелсіз тегін таралуында. Яғни, өткен ғасырдың 80-ші жылдарында жүйенің бірден әйгілі болуы осында жатыр. Кез-келген компьютердің жаңа жүйелерін жасаумен айналысатын құрастырушылар, дәп осы кезеңнен бастап аталмыш жүйені негізгі платформа ретінде жұмыстарына қолданысқа ала бастады.Жүйе айналасында белсендене түскен алып-сату шаралары әр түрлі тәуелсіз топтар мен компаниялардың арасында жабық, әрі құпия түрде өндірілетін қосымша және толықтаушы бағдарламаларды құрастыру жарысын бастап жіберді. Сан алуан университеттер мен зерттеу орындарында жұмыс істейтін, өз еріктерімен ізденіс жүргізетін бағдарламашылар көптеген қызықты идеяларының арқасында UNIX жүйесін негізге ала отырып, жаңа функциялар туғызатын бағдарламалар шығарып жатты.
Тәжірибелік оқулық тақырыбының негізіне сәйкес сол кезеңде құрастырылған жүйелердің арасынан GNU жобасын ажыратып, тарихи дамудың осы бағытына ауысамыз. 1983 жылдың 27 қыркүйегінде GNU жүйесін құрастыра бастаған Ричард Мэттью Столлман осы бағыттың негізгі ізбасары болып табылады. UNIX емес GNU is Not Unix - деген түсініктен шығарып алынған GNU операциялық жүйесі атауының өзі тіптен бөлек платформа деп сипатталады. Дегенмен, тарихи деректердің қалай дамып келе жатқанын көріп отырмыз.
Ары қарай, 1991 жылы Фин студенті Линус Торвальдс, UNIX жүйесі мен GNU жобасының жетістіктерін жинақтай отырып, Linux ядросын құрастырып шығарады. Сол кезеңдегі құнды жүйелермен салыстырмай, қазіргі заманның еркін таратылатын операциялық жүйелерімен теңестіретін болсақ, GNULinux ең танымал, әрі мүмкіндігі жоғарылардың біріне жатады.
UNIX тәріздес операциялық жүйелері деп аталатын - Linux операциялық жүйе ядросының нақты және біріңғай атауы жоқ. Linux ядросы тегін таратылатындықтан, оның әр түрлі қажетті мақсаттарға арналған нұсқалары көп. Сондықтан, атқарылатын жұмыс бағыттарына сәйкес керекті бағдарламалық бөлшектерді құрайтын жинақтары сан алуан.
Бастапқы кезеңінде Linux жүйесі тек, қызығушылық танытатын іздемпаздармен ғана құрастырылатын. Артынан, бұл жүйенің қолдану өрісі өрлеген сайын, ірі-ірі компаниялар да ынталана түсіп, елеулі үлестерін қоса бастады. Тәуелсіз лицензия негізінде таратылатын бұл бағдарламалардың ауқымды үлесі компьютер қолданушыларына тегін жеткізіледі.
2014 жылы Инновациялық технологиялар институтының мамандарымен жүргізілген статистикалық сараптау мәліметтері бойынша, Linux жүйесі смартфондар, ғаламтор серверлері 60 %, ең қуатты суперкомпьютерлер 93,8 %, дата-орталықтар, нетбуктар 32 % және әлем деңгейіндегі үй компьютерлері арасында тұрақты 3-ші орынды иеленіп келеді.
Linux жүйесін жетілдіру жұмысы дамыған сайын, оны роутерлерге, модемдерге, ретрансляторларға, теледидарларға, ойын құралдарына кеңінен орнатып келе жатыр.
1978 жылдың басында Берклидегі Калифорния университетінің аспиранты Билл Джой Беркли бағдарламалық жасақтамасының дистрибуциясын құра бастады. Бірінші таспада UNIX үшін Паскаль жүйесі және ex редакторы болды; шамамен 30 данасы таратылды. 1978 жылдың соңына дейін 2BSD пакеті таратылды, шамамен 75 данасы сатылды. Дәл сол уақытта Интерактивті жүйелер UNIX-тің алғашқы коммерциялық нұсқасын, ал Уайтсмиттер алғашқы UNIX клонын - Идристі шығарды. 2.79BSD нұсқасынан бастап Berkeley бағдарламалық жасақтамасының AT&T UNIX коды болмайды. UNIX 7 алғашқы портативті операциялық жүйе болды. Алайда оның өнімділігі алтыншы нұсқаға қарағанда нашар болды. Көптеген модификациядан кейін 2.8.1BSD моделі 1982 жылдың қаңтарында шығарылды.
Кейінгі нұсқалары шықты:
4BSD - қазан 1980
4.1BSD - маусым 1981 ж
4.1a, 4.1b және 4.1c (1982-1983)
4.2 - 1983 ж. Қыркүйегі - TCP IP желілерін қолдайтын, жаңа файлдық жүйе және сигналдарды қолдану мүмкіндігі бар қатты қайта жасалған жүйе 4.3BSD. Университеттің соңғы шығарылымы 4.4BSD болды (1993 ж. Маусым). Бұл нұсқада виртуалды файлдық жүйе, NFS қолдауы, ядроды жөндеуші және TCP IP протоколдарының қуатты стекі енгізілді. Соттан кейін BSD құқықтары BSDI-ге берілді. Көптеген операциялық жүйелер BSD-UNIX негізінде құрылды, көбінесе ашық көзі.
2.Linux жүйесіне шолу. Linuxтің міндеттері. Linux жүйесінің интерфейстері. Қабыршық. Linuxтің утилиталары. Ядроның құрылымы.
Linux (лин - нукс деп айтылады) - Intel 80368 (және одан да жоғары) процесорлы компьютерде жұмыс істеу үшін (спроектированная) құрастырылған 32 - разрядты операциялық жүйе. Техникалық көзқарас тұрғысынан, Linux ONIX-тің баламасы болып табылады, яғни бұл жүйе UNIX стандарттық командаларын өңдейді және UNIX бағдарламаларын іске қосады. Linux BSD және System V кейбір кеңейтілімдерімен алғанда POSIX спецификациясына сәйкес келеді.
Басында Linux жобасымен барлығы бір ғана адам айналысты, Линус Торвальдс (Linus Torbalds), сол уақытта ол Хельсинкиде Финляндия университетінің студенті болды. Ол өзінің, UNIX нұсқаларының біреуі үшін, атап айтқанда, PC үшін жасап шығарылған, UNIX- тіңкоммерциялық баламасы болатын, Minix операциялық жүйесінің альтернативі болуын қалады. Ол Linux- ті жүйе Minix - ке ұқсас болатындай етіп (Linuх Minix - тің файлдық жүйесін қолдайды), бірақ одан да орнықтырақ жұмыс істейтін және тегін болатындай етіп жобалады. Көп уақыт бойы Linuх жасап шығару сатысында орналасқан операциялық жүйе болды. 1991 жылдың ортасында 0.2 нұсқасы шығарылды. Ары қарай Linuх - пен жұмыс істеуде Торвальдске энтузиастар - еріктілер көмектесті. Мұнан басқа, бұл энтузиастар (Linuхті орнату және кофигурациялау кітабының авторларының бірі - Патрика Фолькердингті қоса алғанда) біраз дәрежеде Linuх танымалдығының артуына әсер ететін қосымша бағдарламалар құруға көмектесті. Linuх (UNIX ке де қатысты) фундаментальды принципі мынада: Linux құралдар жиынтығы болатындығында. Бір құрал бір міндеттер үшін, басқасы - басқа міндеттер үшін қолданылады.
Linuх Интернет және желілер үшін тұрғызылған. Linuх толығымен ашық жүйе болып табылады. Ұсынылған CD ROM да Slackware Linux операциялық жүйесінің бастапқы мәтіндері орналасады. Егер сізге операциялық жүйеге өзіңіздің өзгертулеріңізді енгізу қажеттілігі туса, сіз мұны істей аласыз. Егер сізге шалғай құрылғыға драйвер қажет болса, сіз оны өзіңіз жаза аласыз.
Linux көпміндетті операциялық жүйе болып табылады. Linux бірмезгілде бірнеше міндетті орындай алады және әр түрлі міндетке әртүрлі артықшылық берілуі мүмкін, ығыстырылатын көпміндеттілікті жүзеге асырады.
Linux көпқолданушылықты операциялық жүйе болып табылады. Linux-ті серверге орнатуға болады және бір компьютерге бірнеше қолдаланушыны қосуға болады. Бұдан басқа, сізде бұрыннан Slackware Linux бар болғандықтан, бірнеше пайдаланушыға қызмет көрсету үшін, сіз қосымша рұқсат алуға төлемейсіз.
Linux интерфейсі басты жүйеге мүлдем тәуелсіз. Сіз интерфейсті өз қалауыңыз бойынша, жүйені қайта орнатпай-ақ өзгерте аласыз.
Linux ОЖ құрамында, ұйымдастыру міндеттерін орындайтын және мәліметтерді өңдейтін, қолданушы қоршауын нығайтатын бірнеше жүздеген командалар бар. Командалардың өздері мәліметтердің минималды енгізілуінталап ете отырып, белгілі бір функцияларды орындайтын және салыстырмалы жылдам орындайтын, кішірек бағдарламалар болып табылады. Көбірек бөлігі барлық қолданушыларға қолжетімді, бірақ та 100-дің маңындағы командалар тек қана, артықшылық берілген қоданушы болып табылатын, жүйе әкімгеріне ғана қолжетімді. Атқару барысында ақпаратты интерактивті енгізу мүмкіндігі бар кейбір командаларды кейде утилит деп атайды. Мәтін редакторы VI және электрондық поштаны басқару командасы mail утилиттің мысалы бола алады.
Қабықшалар
Әдетте, қабықшалар деп операциялық жүйе ядросымен қолданушылы интерфейсін қамтамасыз етуші интерактивті бағдарламаны айтады. Қабықша жүйеде тіркелген мезеттен бастап, ол жүйеден шыққан мезетке дейін қолданушының белсенді үдерісі болады. Бұл бағдарламалар команданық интерпретатор (кейде оларды командалық процессор деп атайды) болып табылады. Әдетте UNIX ОЖ құрамында бірнеше қабықша қолданылады:
- Bourne shell (sh): негізгі стандартты қабықша UNIX;
- Korn shell (ksh): кеңейтілген нұсқа, Bourne shell;
- C shell (csh): UNIX танымал қабықша, Беркли университеті жасап шығарған ( BSD UNIX) UNIX танымал қабықша;
- Шектеулері бар қабықша ( restricted shell - rsh және rksh); - Жүйеге қатынас құруды шектеу қажет болатын пайдаланушылар үшін жасап шығарылған Bourne shell және korn shell (ksh) ішкі жиыны.
Ядро
Жүйе ядросы, базалық функцияларды қамтамасыз ететін опреациялық жүйенің орталығы болып табылады: үдерістерді жасайды және оларды басқарады, жадыны үлестіреді, файлдарға және шалғай құрылғыларға қатынас құруды қамтамасыз етеді.
Қолданбалы міндеттердің ядромен өзара әрекеті жүйелік шақырулардың стандартты интерфейсі көмегімен өтеді. Жүйелік шақырулардың интерфейсі базалық қызметтерге сұраныстар форматын анықтайды.
Үдеріс, ядро процедурасымен анықталатын, жүйелік шақырулардың көмегімен, ядроның базалық функциясын сұрайды. Ядро сұранысты орындайды және үдеріске қажетті мәліметтерді қайтарады.
Ядро үш негізгі ішкі жүйеден тұрады:
үдерістерді жәнежадыны басқарудың ішкі жүйесі;
файлдық ішкі жүйе;
енгізу - шығару ішкі жүйесі.
3.Linux жүйесіндегі үдерістер. Іргелі тұжырымдамалар. Linuxтегі үдерістерді басқарудың жүйелік шақырулары. Linuxте үдерістер мен ағындарды жүзеге асыру. Linuxтегі жоспарлау. Linuxті жүктеу.
Есептеу машинасының қызметіне тікелей әсер ететін мультибағдарламалық ОЖ ішкі жүйелерінің бірі бұл үдерістер мен ағындарды басқарудың ішкі жүйесі. Ол үдерістер мен ағындарды құру, жою, олардың өзара әрекеттесуін қамтамасыз ету және жүйеде бір мезетте тұрған үдерістер мен ағындар арасында процессорлық уақытты бөлу қызметтерін атқарады.
Үдерістер мен ағындарды басқарудың ішкі жүйесі үдерістерді қажетті
ресурстармен қамтамасыздандыру үшін жауап береді. ОЖ жадыда қай үдеріске қандай ресурс бөлінгендігін жазатын арнайы ақпараттық құрылымдарды бар. Ол үдеріске ресурсты дара пайдалануға немесе басқа үдерістермен бірлесе пайдалануға тағайындай алады. Кейбір ресурстар үдеріске ол құрылған кезде, ал кейбіреулері сұратуларды орындау барысында динамикалық түрде бөлінеді. Ресурстар үдерістің барлық өмір сүру уақытына немесе белгілі бір уақыт аралығына үдеріске тіркеліп қойылуы мүмкін. Үдерістерді басқарудың ішкі жүйесі бұл функцияларды орындау барысында жадыны басқарудың ішкі жүйесі, енгізу-шығарудың ішкі жүйесі, файлдық жүйе сияқты ресурстарды басқаруға жауапты ОЖ басқа да үшкі жүйелерімен өзара әрекеттеседі. Үдерістер мен ағындарды басқарудың ішкі жүйесінің маңызды функцияларының бірі ағындарды синхронизациялау болып табылады. Мультибағдарламалауды қамту үшін ОЖ араларында процессор және басқа да компьютер ресурстары бөлінісілетін ішкі жұмыс бірліктерін анықтап, рәсімдеуі керек. Қазіргі уақытта ОЖ көбінде жұмыс бірлігінің екі типі анықталған. Үдеріс ретінде орындалу кезеңінде тұрған бағдарламаны түсінуге болады. Сонымен қатар, үдерісті процессор үшін жұмыс бірлігі ретінде де қарастыруға болады. Жаңа процессорлар үшін одан да кіші жұмыс бірлігі бар, ол ағын немесе тармақ. Басқаша айтсақ, бір үдеріс бір немесе бірнеше ағын туындата алады. Үдерістер де, ағындар да бар ОЖ, ОЖ үдерісті процессорлық уақыттан басқа барлық ресурс түрлерін пайдалануға сұраным ретінде қарастырылады. Аталған маңызды ресурс процессорлық уақыт басқа жұмыс бірліктері - ағындардың арасында үлестіріледі. Ағын деген атау олар командалар тізбегі (командалар бірінен соң бірі) болғандықтан берілген. Ең қарапайым жағдайда үдеріс бір ағыннан тұрады, 80-жылдардың ортасына дейін (мысалы, UNIX ертеректегі нүсқаларында) үдеріс түсінігі осылай түсіндірілген, және кейбір заманауи ОЖ осы түрінде сақталынған. Үдерістер ресурстарды үлестіруге араласа алмауы және бір-бірінің кодтарымен мәліметтерін бүлдіре алмауы үшін ОЖ маңызды тапсырмасы үдерістерді бір-бірінен оқшаулау болып табылады. Ол үшін ОЖ әрбір үдерісті жеке виртуалды адрестік кеңістікпен қамтамасыз етеді, сондықтан ешбір үдеріс басқа үдерістің командалары мен мәліметтеріне тікелей қатынай алмайды. Үдерістің виртуалды адрестік кеңістігі - бұл үдерістің бағдарламалық модулі манипуляция жасай алатын адрестер жиыны. адрестік кеңістігін үдеріске бөлінген физикалық адресте бейнелейді. Өзара әрекеттесу барысында үдерістер ОЖ қатынайды, ал ол денекерші қызметін атқара отырып, үдерістерге үдеріс аралық байланыс құралдарын - конвейерлер, пошта жәшіктері, жадының бөлінісілетін секцияларын және т.б. ұсынады. Ағындар операциялық жүйелерде есептеулерді параллельдеу құралдары ретінде пайда болды. Әрине, бір бағдарлама аясында есептеудерді параллельдеу міндеттерін дәстүрлі тәсілдермен де шешуге болады. Біріншіден, қолданбалы бағдарламалаушы параллелизмді ұйымдастырудың күрделі міндетін қосымша ішінде басқаруды есептеулердің тармақтарына кезек-кезек (периодты түрде) беріп отыратын диспетчер ішкі бағдарламасын бөліп алу арқылы шеше алады. Бұл жағдайда бағдарлама басқаруды берулері көп логикалық жағынан өте шатасқан болып шығады, ал бұл өз кезегінде бағдарламаның ретке келтіліруін және өзгертілуін қиындатады. Екіншіден, мұның тағы бір шешімі бір қосымшаға әрбір параллельді жұмыс үшін бірнеше үдеріс құру. Бірақ, үдерісті құруда стандартты құралдарды пайдалану бұл үдерістердің бір тапсырманы шешетінін, яғни олардың арасында ортақ нәрселер көп екендігін есепке алуға мүмкіндік бермейді. Олар бір мәліметтермен жұмыс жасап, бір сегментті кодты пайдаланып және есептеу жүйесінің ресурстарына да қатынау құқықтары бірдей берілуі мүмкін. Одан басқа, ОЖ әрбір үдерісті құруға қандайда бір ресурстарды жұмсайды, ал бұл жағдайда олар жөнсіз қайталанылады - әрбір үдеріске өзінің виртуалды адрестік кеңістігі, физикалық жадысы беріліп, енгізу-шығару құрылғылары бекітіледі және т.с.с. Жоғары аталғандардан ОЖ үдерістен басқа бір қосымшаның есептеулерінің жеке тармақтары арасындағы тығыз байланысты есепке алатын басқа есептеулерді параллельдеу механизмі қажет екендігі шығады. Бұл мақсатқа жету үшін заманауи ОЖ көп ағынды өңдеу (multithreading) механизмін ұсынады. Бұл жағдайда жаңа жұмыс бірлігі енеді - орындалу ағыны, ал үдеріс түсінігі өз мағынасын өзгертеді. Ағын түсінігіне процессордың бағдарламаның бір командасынан екінші командасына тізбектеле ауысуына сәйкес келеді. ОЖ ағындар арасында процессорлық уақытты бөледі. ОЖ үдеріске оның ағындары ортақ пайдаланылатын адрестік кеңістікті және ресурстар жиынын тағайындайды. Мультибағдарламалауды үдеріс деңгейіне қарағанда ағындар деңгейінде қолданған нәтижелі болады. Әрбір ағынның өз командалар есептегіші және стекы бар. Бір үдеріс аясында бірнеше ағын түрінде рәсімделген есептің жекелеген бөліктерін жалған параллельді (псевдопараллельді, немесе мультипроцессорлы жүйедегі параллельді) орындау арқылы жылдам орындауға болады. Мысалы, егер электронды кесте көп ағынды өңдеудің мүмкіндіктерін ескере отырып құрастырылған болса, онда қолданушы өз жұмыс бетін қайта есептеуді сұрата отырып, сол мезетте кестені толтыра алады. Көп ағындылықты әсіресе үлестірілген қосымшаларда қолданған аса тиімді болады, мысалы, көп ағынды сервер бір мезетте бірнеше қолданушылардың сұратуларын орындай алады. Ағындарды қолдану тек параллельді есептеудің арқасында жүйе өнімділігін арттырумен ғана емес, сонымен бірге логикалық, читабельдік жағынан жоғарырақ бағдарламалар құру мақсатында да жүреді. Бірнеше орындалу ағынын қатар алып отыру бағдарламалауды қарапайымдатады. Мысалы, жазушы-оқушы типтегі тапсырмаларда бір ағын буферге жазуды, ал келесісі буфердан оқуды орындайды. Екеуі бір буферді бөлісіп отырғандықтан оларды жеке үдерістер етіп жасаудың қажеті жоқ. Ағындарды қолданудың тағы бір мысалы - пернетақтадан енгізілген үзулер (del немесе break) сияқты сигналдары басқару. Бір ағын үзу сигналдарын өңдеудің орнына емес, сигналдың түсуін тұрақты тосып тұруға тағайындалады. Осылай, ағындарды пайдалану қолданушы деңгейіндегі үзілімдер қажеттілігін азайта алуы мүмкін. Бұл мысалдарда параллельді орындаудың өзі емес, u1087 бағдарламасының айқындылығы маңызды.
Көп ағынды өңдеуді ағындары, тіпті бір үдеріске жататын ағындары да түрлі
процессорларда шындығында да параллельді (жалған параллельді емес) орындалатын мультипроцессорлық жүйелерде қолданған нәтижелі болады. Операциялық жүйе есепте тұрған үдерістерге жаңа үдерісті қосу үшін ол
мәліметтер құрылымын жасайды. Мәліметтер құрылымы үдерісті басқаруда қолданылады және оны негізгі жадының адрестік кеңістігіне орналастырады. Осы әрекеттер негізінде жаңа үдеріс құрылады.
Пакеттік өңдеу ортасында үдеріс тапсырма келіп түскенде жауап ретінде
құрылады; интерактивті ортада үдеріс жаңа қолданушы ортаға кіруге талпынған уақытта пайда болады. Екі жағдайда да жаңа үдерісті құруға жауаптылық операциялық жүйенің мойнында болады. Мұнан басқа, операциялық жүйе қосымшаның талабы бойынша да үдеріс құра алады. Мысалы, егер қолданушы файлды басып шығаруға сұрату жіберсе, онда
операциялық жүйе басып шығаруды басқаратын үдеріс құра алады. Одан кейін, басып шығаруды сұратқан сұрату, баспаға кететін уақытқа қарамастан өз жұмысын жалғастыра
алады. Дәстүрлі түрде операциялық жүйе үдерісті қолданушылармен қосымшалардың
елеуінсіз құрады; бұл сияқты тәсіл көптеген заманауи операциялық жүйелерде қалыптасқан. Бірақ кейде бір үдеріс келесі үдерістің құрылуына себепші болуы керек болады. Мысалы, қосымша үдерісі жаңа үдерісті генерациялайды, ал бұл үдеріс бірінші үдерістен мәліметтерді
алып, оларды әрі қарай талдауға керекті ыңғайлы түрге келтіреді. Жаңа үдеріс қосымшамен параллельді жұмыс жасайды және ара арасында жаңа мәліметтерді алу үшін белсенді болады. Бұл сияқты ұйымдастыру қосышаны құрылымдауда аса пайдалы болады. Егер операциялық жүйе жаңа үдерісті басқа үдерістің сұратуы бойынша жасаса, бұл үдерісті туындату (process spawning) деп аталады. Бір үдеріс жаңа үдерісті туындатса, жаңа үдерісті туындатқан үдеріс - аталық (parent), туындалған үдеріс - еншілі немесе тұқым (child) деп аталады. Жалпы туысқан үдерістер өзара ақпарат алмасып, бір-бірімен әрекеттеседі. Үдерісті құру - бұл ең бірінші, үдеріс сипаттауышын (handle - дескриптор) құруды білдіреді. Үдеріс сипаттауышы ретінде ОЖ үдерісті басқаруға қажетті үдеріс туралы барлық мәліметтер бар бір немесе бірнеше ақпараттық құрылым пайдаланылады. Бұл сияқты
мәліметтер қатарына мысалы, үдеріс идентификаторы, орындалатын модульдің жадыда орналасуы туралы мәлімет, үдерістің басымдылық деңгейі (басымдылық және құтынау құқықтары) және т.с.с. жатады. Үдеріс сипаттауышының мысалдары: OS360-дегі тапсырмаларды басқару блогы (ТСВ - Task Control Block), OS2-де процессордың басқарушы блогы (РСВ - Process Control Block), UNIX-те үдеріс дескрипторы, Windows NT-де объектүдеріс (object-process). Үдерісті құруға осы үдерістің орындалатын бағдарламасының коды мен мәліметтерін дисктен жедел жадыға жүктеу кіреді. Бұл үшін ОЖ бағдарламаның дисктегі орнын тауып, жедел жадыны қайта үлестіріп және жаңа үдерістің орындалатын бағдарламасына жады бөліп беруі керек. Одан кейін бағдарламаны оған бөлінген жады
аумақтарына қайта оқуы керек және мүмкін болса, бағдарламаны жадыда орналасқанына байланысты баптау керек болады. Көп ағынды жүйеде ОЖ үдерісті құру барысында әрбір үдеріс үшін минимум бір
орындау ағынын тұрғызады. Ағынды құрғанда да ОЖ үдерісті құрғандағы сияқты арнайы ақпараттық құрылым - ағын сипаттауышын генерациялайды. Ағын сипаттауышында ағын идентификаторы, қатынау құқықтары мен басымдылықтар туралы мәлімет, ағынның күйі және т.б. ақпараттар болады. Бастапқы күйде ағын (немесе үдеріс, егер ағын түсінігі анықталмайтын жүйе туралы айтылса) тоқтатылған күйде болады. Ағынды орындауға таңдап
алу сол сәтте жүйеде тұрған барлық ағындар мен үдерістерді есепке ала отырып, жүйеде
қалыптасқан процессорлық уақытты беру ережелеріне сай жүргізіледі.
Үдерістерді басқару барысында операциялық жүйе ақпараттық құрылымның
негізгі екі типін пайдаланады: үдеріс дескрипторы және үдеріс контекстісі. Үдеріс
дескрипторында ядроға үдерістің барлық өмір циклында, яғни оның активті әлде пассивті
күйде ме, үдеріс бейнесі жедел жадыға жүктелген бе алде дискке кері жүктелген бе соған
қарамастан қажет болатын ақпарат бар.
Жекелеген үдерістер дескрипторлары үдерістер кестесін құрайтын тізімге
біріктірілген. Үдерістер кестесіне жады динамикалық түрде ядро аймағынан беріледі.
Үдерістер кестесіндегі тұрған ақпараттың негізінде операциялық жүйе үдерістерді жоспарлау мен оларды синхронизациялауды жүргізеді. Дескрипторда үдерістің күйі, жедел жадыда және дискіде үдеріс бейнесінің орналасуы, басымдылықтардың кейбір құраушыларының мәндері туралы, сонымен қатар оның ауқымды басымдылықтағы алатын орны, үдерісті құрған қолданушының идентификаторы, тектес үдерістер туралы, бұл үдеріс орындалуын
күтіп тұрған оқиғалар туралы және т.б. ақпарат болады.
Үдеріс контекстісі үдерістің орындалуы үзілген жерден оның орындалуын
қалпына келтіруге қажетті үдеріс туралы ақпараттың жеделділігі төменірек, бірақ көлемі
жағынан үлкенірек бөлімін сақтайды: процессор регистрлерінің ішіндегісі, процессор
орындайтын жүйелік шақырулардың қателіктер коды, бұл үдеріс ашқан барлық файлар мен аяқталмаған енгізу-шығару операциялары туралы ақпарат және үзіліс басталған мезеттегі есептеу ортасының күйін сипаттайтын басқа да мәліметтер. Контекст те үдеріс дескрипторы сияқты ядро бағдарламаларына ғана қол жетімді, яғни ол ОЖ виртуалды адрестік кеңістігінде орналасады, бірақ ол ядро аймағында сақталмайды, үдеріс бейнесіне жалғасып жатады және онымен бірге жылжытылады, егер қажет болса жедел жадыдан дискіге көшіріледі.4. UNIXтің файлдық жүйесі. Іргелі тұжырымдамалар. Linuxтегі файлдық жүйенің шақырулары. Linuxтің файлдық жүйесін жүзеге асыру.
Файл UNIX операциялық жүйесінің фундаментальды объектісі болып табылады. Барлық бағдарламалық жабдықтаулар файлдарда сақталады. UNIX ОЖ орналасқан компьютердің қатты дискісі, бөлім деп аталатын, бірнеше логикалық бөлімнен тұрады. Одан операциялық жүйелерді орналастыру үшін жасалатын, диск бөлімдерінен айырмашылығы UNIX ОЖ аймағында логикалық бөлімді көбінесе, слайс (slice) деп атайды. Слайстың орналасуы және өлшемі дискіні форматтау кезінде анықталады. UNIX - те олар тәуелсіз құрылғы ретінде болады, оларға қатынас құру, әртүрлі мәлімет жинақтауыштарға қатынас құру сияқты жүзеге асырылады. Слайстың бөлігі файлдық жүйені (filesystems) орналастыру үшін бөлінеді. Бір слайста тек қана бір файлдық жүйе орналаса алады. Диск тек қана бір слайстан тұра алады, бұл үлкен өлшемді файлдық жүйе жасауға мүмкіндік береді
UNIX ОЖ тиесілі сипаттар:
жүйеде ішкі құрылымы әртүрлі бірнеше файлдық жүйе қатысуы мүмкін;
бұл жүйеге жататын файлдар жүйесі әртүрлі қондырғыларда орналастырылуы мүмкін;
Мынаны атап өту қажет, файл атауы - дискідегі мәлімет жиынтығы емес, файлдық жүйенің атрибуты болып табылады.
Жүйедегі әрбір файл, индекстік дескрипторда сақталған (inode), файлдың барлық сипаттамаларын сақтаушы, соңын ішінде файл мәліметі сақталған диксілік блоктар көрсеткішімен,(нұсқағышымен өзінің метамәліметімен (қосымша ақпараттар) байланысты.
Файл атауы - файлдық жүйеде оның метамәліметіне көрсеткіші болып табылады, ал бірақ, метамәліметте файл атауы көрсеткіш болмайды. UNIX ОЖ функциональдық мақсаты және файлдармен санқилы операциялар орындауындағы операциялық жүйе әрекеті әртүрлі, бірнеше әртүрлі файл қолданыс табады.
Қарапайым файл (ordinary files) - мәлімет сақтаушы, файлдың неғұрлым жалпылама түрі. ОЖ үшін, олар құрылымдалмаған мәлімет жиынтығы болып табылады.
Каталог (directory)
Каталогтар көмегімен файлдық жүйенің логикалық ағашы қалыпасады. Каталог - бұл өзінде орналасқан файлдардың атауын жинақтаған файл және операциялық жүйеге бұл файлдармен операция жүргізуге мүмкіндік беретің, қосымша ақпаратарға (метамәліметтер) көрсеткіштер жинақталған файл.
Символдық сілтемелер (symbolic link). Жоғарыда айтылып кеткендей, кталогкта файлдар атаулары және олардың метамәліметтеріне көрсеткіштер бар. Метамәліметтердің өздерінде файл атаулары да, ол атауға көрсеткіш те болмайды. Бұл файлдық жүйеде, бірғана файлға бірнеше атау иеленуіне мүмкіндік береді
Атаулар, метамәліметтермен және сәйкесінше файлдың мәліметтерімен тығыз байланысты, сонымен бірге, файл сияқты, файлдық жүйеде өзін қалай атайтындығына байланысыз бола алады. Мұндай сілтемені In командасының көмегімен жасауға болады.
Файлдар және каталогтар:
ОЖ файлдық жүйесін оқып үйренуге көшпестен бұрын, қабылданған кейбір сөздіктермен (термин) танысу қажет.
- Файлдық жүйенің орны (filesystem): дискінің, операциялық жүйеге, дискі блоктарына жылдам адрестеу және қатынас құруды жүзеге асыру мүмкіндігін беру үшін арнайы форматталған аймақ.
- Файл ағашы (tile system): біртұтас ағашбейнелі иерархиялық құрылымға логикалық біріктірілген, бір немесе бірнеше файлдар жүйесінің жиынтығы.
- Файл (tile): мәліметер сақталатын файлдық жүйенің ішіндегі атауы. Файл бос болуы да мүмкін (яғни, мәліметтер болмауы) бірақ та ол операциялық жүйе туралы белгілі бір ақпарат береді. Файл атаулары UNIX ОЖ файлдармен жұмыс істеу үшін, олардың атауларын пайдаланбайды. Операциялық жүйеге қажетті барлық ақпарат, файлдың метамәліметтері, сәйкес дескриптордың реттік нөмірімен бірмәнді байланысты болатын, дескриптор жиымында орналасады. Файл атауы оның дескрипторының нөмірімен бірге файлдардың арнайы түрі - каталогтарда сақталады. UNIX ОЖ файл атаулары АSCII символдарының комбиинациялануынан тұрады. Атау ұзындығы 255 символға дейін жетуі мүмкін (кейбір файлдың жүйелер ұзындықты 14 символға дейін шектейді). Атауларда, арнайы міндеті бар символдарды пайдалануға рұқсат етілмейді: : ' " ' S ! % Ʃ * ? ( ) [ ] (.) символынан басталатын файл атаулары, әдепкіде, ls командасымен шығарылмайтын, жасырынған (hidden) файлдарға жатады. Жасырынған файлдардың атауын шығару үшін , ls командасынан а опциясын пайдалану қажет.
Файл типтері
UNIX ОЖ файлдық жүйесі файлдың бірнеше типтерін қолдайды: әдетегі файлдар, символдық байланыстар, құрылғының арнайы файлдары. Егер каталог мазмұны туралы ақпарат беретін, ls - 1 командасын орындаса, мынаны көруге болады: әрбір тіркестегі бірінші сөздің бірінші символы сәйкес файлдың түріне нұсқайды. Символдардың мәні төмендегідей - - қарапайым файлдар: d- каталог;
l - символдық байланыс;
cb- құрылу файлдары.
Қарапайым файл - r w - r w ... ..
Каталог d r w x r w x --- ... ..
Символдық байланыстар l r w x r w x r w x ...
Құрылғы файлы c r w - r w ---- ...
Қарапайым файлдар
Қарапайым файлдар құрылымдандырылмаған байттар реттілігі бар. Осындай файлдармен жұмыс істейтін қосымша: оның мазмұнын және құрылымын анықтайды. Әдетте, осындай файлдарды келесі санаттардың біріне жатқызуға болады:
Символдар жиынтығы бар мәтіндік. Мысалы, хат, есептер, shell интерфератоторы пайдаланатын командалық файлдар.
Қандай да бір қосымшадағы мәліметердің мәтіндік және сандық жиынтығы бар. Мысалы, электрондық кестелер, мәтіндік поцессорлардың мәліметер қоры немесе құжаттары. Машиналық командалар және мәліметтержинақталған екілік түрінде атқарылатын бағдарламалар . Мысалы, UNIX ОЖ командаларын орындаумен байланысты бағдарламалар немесе қосымшалардың бағдарламалары.
Каталогтар
Каталогтар файлдық жүйенің иерархиялық құрылымын ұйымдастыруға арналған арнайы файл болып табылады. Каталогтар файлдың файлдық жүйе ағашындағы қалпын анықтайды, өйткені файлдың өзінде өзінің орналасқан орны туралы ақпарат жоқ. Каталогтарда да, қарапайым файлдардағы сияқты мәліметтер болады, бірақ та қарапайым файлдардан айырмашылығы, ядро бұл мәліметтердің құрылымына шектеу салады; каталогтарда әрбір файл үшін мынандай байлам түрінде болады: " индекстік дескриптор нөмірі - файл атауы":
- индекстік дескриптор нөмірі файл туралы барлық ақпаратар бар, индкстік кестесінің блок индексі ретінде пайдаланылады;
- файл атауы мәтіндік ақпарат(ASCII) болып табылады.
Каталогтарда бірнеше файлдарға қатысты, бірдей атаулар болмауы керек. Әрбір каталогта бірінші атау ретінде "нүкте" (.) пайдаланылады, бұл каталогтың меншікті атауының синонимі, екінші атау ретінде "екі нүкте"(..) пайдаланылады, бұл жоғары тұрған ("аналық") кталог атауының синонимі.
Жадыны басқару ішкі жүйесінің модулі жадының үдерістер арасында таратылуын қамтамасыз етеді. Егер барлық үдерістер үшін жады жеткіліксіз болса, ядро үдірістерді (белсенді) орындау үшін ресурстарды босата отырып, үдерістін бөлігін немесе бірнеше үдерістерді (көбінесе, жүйедегі қанайда бір оқиғаны күтуші (белсенді есес)) дискінің арнайы аймағына ("басқылау" аймағына) көшіреді. Файлдық ішкі жүйе, дискілік жинақтауыштарда орналасқан мәліметерге және шалғай құрылғыларға қатынас құруға үйлестірілген интерфейс қамтамасыз етеді. Ол файлдарды орналастыру және жою операцияларын орындайды. Файл мәліметерін жазуоқу операцияларын орындайды, сол сияқты файлға қатынас құру құқын бақылайды.
Енгізу-шығару ішкі жүйесі,файлдық ішкі жүйенің және үдерістерді басқару ішкі жүйеснің і шалғай құрылғыларға қатынас құру сұраныстарын орындайды. Ол сыртқы құрылғыларға қызмет көрсететін, ядроныңарнайы бағдарламаларымен - құрылғы драйверімен өзара әрекет етеді.
Файлдық жүйе бірнеше бөліктерге бөлінеді: bin, lib, etc, dev және т.б. каталогтарынан тұратын root файлдық жүйесі, өзгертуге келмейтін мәліметтер және әр түрлі программалар сақталатын usr файлдық жүйесі, өзгертуге келетін (log файлдар тектес және басқалар) файлдар сақталатын var файлдық жүйесі, қолданушылардың жеке каталогтарынан тұратын home файлдық жүйесі. Жүйелік администратор және аппараттық қамтамасыздандыру конфигурациясының жұмысына байланысты файлдық жүйе бөлімдері жоғарыда көрсетілген бөлімдерден өзгеше болуы мүмкін.
Файлдық жүйе - файлдарды дискте немесе оның бөлімінде сақтау үшін операциялық жүйені қолданатын мәліметтердің құрылымы мен әдістері. Файлдық жүйе жайлы, файлдарды сақтауда қолданылатын дискке және бөліміне байланысты немесе файлдық жүйенің типіне қарап айтады.
Диск немесе бөлім және оған қойылған файлдық жүйеарасында айырмашылықты көру керек. Кейбір программалар дискке немесе бөлімге үндеу кезінде секторлерге тікелей рұқсат қолданады. Егерде ол жерде файлдық жүйе болса, онда ол қатты өзгерістерге ұшырайды. Көптеген программалар дискпен файлдық жүйе арқылы қарым-қатынас жасайды, яғни, егер бөлімде немесе дискте ешқандай жүйе (немесе файлдық жүйе типі талапқа сай емес) орнатылмаған болса, онда олардың жұмысы бұзылады. Бөлім немесе диск файлдық жүйе ретінде ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz