Ядро және процестер



Жұмыс түрі:  Курстық жұмыс
Тегін:  Антиплагиат
Көлемі: 28 бет
Таңдаулыға:   
ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
Баишев Университеті

КУРСТЫҚ ЖҰМЫС

Тақырып: Unix жүйесі
Сандық техника пәні бойынша
Автоматтандыру және басқару білім беру бағдарламасы бойынша

Орындаған Қазтөре Нұрдәулет
Ғылыми жетекші Алиева А.М
т.ғ.к., доцент

Ақтөбе,2021

МАЗМҰНЫ
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...2
1.UNIX ОЖ дегеніміз не ... ... ... ... ... ... ... ... . ... ... ... .6
2.Жүйе құрылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...6
2.1 Ядро және процестер ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... 6
2.2 Енгізу-шығару жүйесі ... ... ... ... ... ... ... . ... ... ... ... ... ..9
2.3 Жүйе қабығы ... ... ... ... ... ... ... . ... ... ... ... ... ... ...11
2.4 Shell командасының аудармашысы ... ... ... ... ... ... ... ... ... ... ..11
2.5 Бағдарламалар ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... 13
2.6 Командалар ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... .16
2.7 Пайдаланушы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17
2.8 Артықшылықты пайдаланушы ... ... ... ... ... ... ... ... ... .17
3.Жүйеге кіру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 18
4.Командалық жол ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 18
5.Файлдық жүйе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .19
5.1 Файлдармен және каталогтармен жұмыс ... ... ... ... ... ... ... .. ... ... ..19
5.2 Файлдар мен каталогтарға қол жеткізу құқығы ... ... ... ... ... ... ... . ... 22
5.3 Ақпаратты қорғау ... ... ... ... ... ... ... . ... ... ... ... ... ... .22
6.Көмек алу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .23
7.Графикалық интерфейспен жұмыс ... ... ... ... ... ... ... .. ... ... ... ..24
8.Жүйелік ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...25
9.Утилиталар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 7
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ..28
Әдебиеттер тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... 30
Кіріспе

UNIX. операциялық жүйесінің басқа жүйелерден артықшылығы неде және операциялық жүйе деген не?
Көптеген операциялық жүйелерді оларға сұраныстың артуына байланысты компьютерлер өндірушілері әзірледі.
Алғашқы машиналар әдетте операциялық жүйелерсіз шығарылды - жалаңаш. Олар басқару тақтасындағы қосқыштар жиынтығымен басқарылды және мұндай машинада тек жоғары білікті инженерлер жұмыс істей алады. Мамандардың әсерін азайтуға және компьютерлерді қарапайым пайдаланушыға жақындатуға деген ұмтылыс алғашқы операциялық жүйелердің пайда болуына себеп болды.
Кез-келген операциялық жүйе-бұл компьютерлік ресурстарды басқаратын бағдарламалар жиынтығы. Бұл бағдарламалардың жұмысы қатаң Үйлестірілген.
UNIX операциялық жүйесі бірнеше кезеңдерде құрылды. Барлығы 1965-69 жылдары AT&T концернінде Genral Electric GE -645 үлкен машинасына арналған Miltics жобасы аясында басталды. Ол кезде AT&T тек АҚШ-тағы монополияға қарсы заңдардың нәтижесінде компьютерлік өнімдерді дамыта алды, бірақ сата алмады.
1969 жылы Bell Labs барлық күш-жігерін Unix деп аталатын мобильді операциялық ортаны құруға бағыттау үшін Multics жобасынан шығуды шешеді.
Бастапқыда UNIX DEC PDP - 7 үшін Ассемблерде жазылған. Содан кейін Денис Ритчи осы жобаға қосылды, ол сол кезде в тілін жасады.UNIX-тің негізгі бөлігі в. жұмыс барысында в тілі соншалықты жақсарды, ол С-қа айналды, бұл 1973 ж. болды.
Unix операциялық жүйесі басқа жүйелерден өзгеше болды, ол тек 10%(1000 жол) ассемблер болған кезде. Қазірдің өзінде 1976.бірінші рет басқа машиналарға ауыстырылды - Interdata 8 32.
1971 жылы Unix сауда белгісі ең көп таралған DEC PDP-1120 сериялы машиналарға патенттелді. Бірнеше жыл ішінде UNIX ең танымал болып шыққан бірнеше басылымға шыдады. Бұл алтыншы (1976) және жетінші(1979).
UNIX-тің өсіп келе жатқан танымалдығы Берклидегі Калифорния университетін өз нұсқасын ұсынуға мәжбүр етті.
Бірнеше жыл ішінде UNIX ең танымал болып шыққан бірнеше басылымға шыдады. Бұл алтыншы (1976) және жетінші(1979).
UNIX - тің өсіп келе жатқан танымалдығы Берклидегі Калифорния университетін Unix-BSD (Berkley Software Distribution) нұсқасын ұсынуға мәжбүр етті, оның негізінде DARPA(АҚШ әскери ведомствосының перспективалық жобалар агенттігі) тапсырысы бойынша BBN BSD 4.1 жүйесінде іске асырды. TCPIP хаттамалары. Интернет осылай пайда болды.
Стандарттау әрекеттері басталды. Unix қадамы 1989 жылы пайда болды. ANSI С. үшін стандарт (туғаннан 16 жыл өткен соң).
Ұзақ және тікенді UNIX бағдарламалық жасақтама нарығына жол болды. 1.01.84 жылдан бастап ресми болып саналады, содан кейін AT&T Bell Labs еншілес компаниясы USL - UNIX System Laboratories деп аталды.
1988 жылы мамырда бірнеше жетекші компаниялар, олардың арасында Apollo, Bull, HP, IBM және System болды, ашық бағдарламалық жүйелерді әзірлеу және тарату мақсатында osf ашық жүйелер қорын құрды.
Басынан бастап UNIX көп пайдаланушының операциялық жүйесі (бұдан әрі - ОЖ) ретінде дамыды, жүйенің қалыпты режимі-бұл пайдаланушылар әртүрлі мәселелерді шешетін режим. Егер тапсырмалар жиынтығы біртекті болса, онда жүйе аз тиімді жұмыс істейді.
Жалпы, UNIX, тіпті ОЖ санының өсуі жағдайында да, Есептеу әлеміндегі қарапайым құбылыс емес екенін атап өткен жөн. Жүйе өте перспективалы және теориялық және практикалық қызығушылық тудырады.
. Unix ОЖ дегеніміз не

Unix операциялық жүйесінің сипаттамаларын қарастырыңыз, ол басқа операциялық жүйелерден ерекшеленеді.
* Құрылымдық көп деңгейлі файлдық жүйе.
* Көп ойыншы жүйесі.
* Бір уақытта бірнеше бағдарламаны орындайды.
* Бір бағдарламаға оның нәтижелерін тікелей басқа бағдарламаға жіберуге мүмкіндік беретін механизмдер.
* Кез-келген қолданушы үшін бағдарлама нәтижелерін беруді бір переферийлі құрылғыдан екіншісіне ауыстыру мүмкіндігі (мысалы, терминал дисплейінен дискіге.).
* Біріктірілген командалық аудармашы және тіл
* Жүйелік бағдарламалауға арналған құрылымдалған с тілі.
* Si және басқа бағдарламалау тілдерінде бағдарламаларды жазуға және дамытуға арналған кеңейтілген құралдар.
* Мәтінді енгізуге, өзгертуге және өңдеуге және оны басып шығаруға дайындауға арналған кеңейтілген құралдар.
2. Жүйе құрылымы

2.1 Ядро және процестер

UNIX ядросы екі бөлімнен тұрады - басқару құрылымдарының бөлімі және бағдарламалық бөлім. Басқару құрылымдарының бөлімінде ядро кестелері бар, олар пассивті емес, менеджердің белсенді рөлін атқарады.
Негізгі бағдарламалардың жұмысындағы негізгі функционалдық шығындар кестелермен жұмыс істеуге тура келеді. Оларға процесс кестелері, файлдардың бағдарламалық мәтіні, файлдардың индекс дескрипторлары, драйвер байланыстары және басқалары жатады. Өз кезегінде ядроның бағдарламалық бөлімі екі бөліктен тұрады: процесс менеджері және сыртқы құрылғы менеджері. Процесс менеджері-процестерді басқарады, оның функциясына мыналар кіреді: процестердің реттілігін анықтау; жүйелік қоңырауларды өңдеу; жүйелік ресурстарды бөлу. Ядроның бұл бөлігі тәуелсіз және ОЖ-ны бір компьютерден екіншісіне ауыстыру кезінде іс жүзінде өзгермейді.
Сыртқы құрылғы менеджері-негізгі жад пен сыртқы құрылғылар арасында ақпарат беруді шоғырландырады және қамтамасыз етеді. Бұл драйверлер деп аталатын Модульдер жиынтығы, олардың әрқайсысы белгілі бір сыртқы құрылғымен жұмыс істеуге жауап береді. Ядроның бұл бөлігі машинаға тәуелді, өйткені саны мен дизайн ерекшеліктері бойынша перифериялық құрылғылар жиынтығы әртүрлі есептеу жүйелері үшін айтарлықтай ерекшеленеді. Жүйені ауыстыру кезінде сыртқы құрылғылардың диспетчері айтарлықтай өзгеріске ұшырауы тиіс.
Уақыттың әр сәтінде компьютер процессоры 3 күйдің бірінде болуы мүмкін . 1. Егер ядро командалары орындалса, "жүйе" күйінде жұмыс жасаңыз;2. Егер пайдаланушы процесінің командалары орындалса, "процесс" күйінде жұмыс жасаңыз;3. Егер жүйеде орындауға дайын процестер болмаса, "күту" күйінде жұмыс жасаңыз. Процессордың бір күйден екінші күйге ауысу механизмі әртүрлі компьютерлер үшін әр түрлі, бір жағдайда ол үзілістер жүйесі арқылы аппараттық құралдармен қамтамасыз етеді, екінші жағдайда ол тек бағдарламалық жасақтама деңгейінде сақталады. Процессордың "процесс" күйінен "жүйелер" күйіне ауысуы келесі себептердің біріне байланысты болуы мүмкін: * Таймердің үзілуі;* Жүйелік қоңырауды өңдеу;· Үзу от енгізу-шығару. Жүйенің таймері сағат ОЖ-де үлкен рөл атқарады, бірақ бұл уақытты бөлу жүйелерінде ерекше маңызды. Таймер үнемі белгілі бір жиілікте үзіліс жасайды, содан кейін басқару автоматты түрде осы үзіліске қызмет ететін арнайы ядро бағдарламасына беріледі.Пайдаланушы процесі, қажет болған жағдайда, кейбір жүйелік функцияларды орындау үшін ядроға қол жеткізе алады. Мұндай өтініштер жүйелік қоңыраулардың көмегімен орындалады. Жүйелік қоңырау ядросының орындалуы қоңырау шалу процесін басқаруды қайтарумен немесе жаңа пайдаланушы процесін белсендірумен аяқталады, мысалы, жүйелік қоңырау ядросының орындалуы енгізу-шығару операцияларын қажет етті.Үзу от енгізу-шығару сәтінде туындайды аяқталуы арасында ақпарат алмасу негізгі жады мен перифериялық құрылғы. Осылайша, құрылғы жүйеге енгізу - шығару жұмысының аяқталғаны туралы хабарлайды.Жоғарыда айтылғандай, UNIX көп ойыншы режимінде жұмыс істейді. Сондықтан процестер дәйекті түрде жүзеге асырылады және Орталық процесс кезінде бір-бірімен бәсекелеседі.Процесс үш мемлекеттің бірінде болуы мүмкін: белсенді, дайын немесе бұғатталған (күту).Егер қазіргі уақытта орындалса, Процесс белсенді болып саналады. Егер ол кез-келген оқиғалардың аяқталуын күтпесе, ол орындауға дайын деп саналады.Негізгі жадтың шектеулі көлемі оған барлық процестерді бір уақытта орналастыруға мүмкіндік бермейді. Олардың кейбіреулері своппинг аймағындағы сыртқы диск жадында орналасқан. Своппингті процестер диспетчері жүзеге асырады және процестерді дискіге түсіруден және оларды негізгі жадқа жүктеуден тұрады.Іске қосу процесін басымдықтарды есептеу негізінде процесс менеджері таңдайды. Басымдықтар динамикалық түрде есептеледі және тек дайын күйде болатын процестер үшін. Осылайша, процесс неғұрлым белсенді болса, соғұрлым оның басымдығы азаяды. Сонымен қатар, қарапайым пайдаланушы тек процестің басымдылығын төмендетіп, басымдықты төмендетіп, оны арттыра алады. Процесс менеджері жұмысты орталық процесті күту уақыты минималды болатындай етіп ұйымдастыруға тырысады.Процестерді басқарудан басқа, процесс менеджері жүйелік қоңырауларды орындау арқылы жүйелік ресурстарды бөледі. 1. Процесс контексті 2. Процедуралық сегмент 3. Деректер сегменті 4. Динамикалық сегмент Кесте 1.1 пайдаланушы процесінің құрылымы. Процесс контексті-бұл негізгі жадта болған кезде процесс туралы жүйелік ақпаратты сақтайтын кейбір кесте. Процесс контексті процедуралық сегментпен және деректер сегментімен бірге свопингке ұшырайды.Процедуралық сегмент-процесс командалары мен олардың тұрақтыларын қамтиды. UNIX-те барлық процедуралық сегменттер үнемді. Процедуралық сегмент пен деректер сегменті процестің бейнесін құрайды. Ол бағдарламалардың трансляциясын осы екі компоненттің жиынтығы ретінде қалыптастырады. Алайда, трансляция кезінде арнайы параметр орнатып, егер біз ортақ процедуралық сегмент пен деректер сегментімен процестің кескінін жасасақ, онда процедуралық сегмент таза код деп аталады. Таза код процедуралық сегменттің бір көшірмесін жадында сақтайды, ол барлық процестермен бөлінеді және әр процестің деректер сегменті әр түрлі болады. Мысалы, Shell аудармашысы.Сіз fork жүйелік қоңырауының көмегімен жаңа процесті жасай аласыз. Құрылған процесс генеративті процестің барлық сипаттамаларын мұра етеді. Сіз жұмысты wait жүйелік қоңырауымен тоқтата аласыз, қоңырауда көрсетілген оқиға басталғанға дейін, ex жүйелік қоңырауы арқылы жаңа бағдарламаны іске қосу үшін, сондықтан жаңа UNIX бағдарламасын инициализациялау әрдайым fork және exec жүйелік қоңырауларының жұбы болып табылады.Біз өзара әрекеттесудің екі түрін байқаймыз: ядро мен процестер арасында және процестер арасында. Айта кету керек, процестің контексті, деректер сегменті және динамикалық процесс үшін өткен сегмент таза код болып табылады және олармен бөлінеді.Ең маңызды ақпарат процестер кестесінде және контексте сақталады. Процестер кестесі ядрода орналасқандықтан, ол үнемі негізгі жадта болады. Бұл кестенің әр элементі тиісті процестің ағымдағы күйін, оның орналасқан жерін (негізгі жад пен своппингтің мекен-жайы ), процестің көлемін, оның идентификаторын және т. б. көрсетеді.Маңызды емес, бірақ анағұрлым сыйымды ақпарат процессор контекстінде сақталады, ядроның адрестік кеңістігінде орналасқан. Процесс кестесі мен процестің контексті бір-бірін толықтырады. Олардың бөлінуі ядро көлемін азайту үшін қажет. Бұл процесс белсенді емес немесе своппинг нәтижесінде болса да, дискіде болса да," сөйлесуге " мүмкіндік береді. Бұл процестер арасындағы логикалық өзара әрекеттесу механизмі.UNIX процестері арасындағы өзара іс-қимыл логикалық және ақпараттық деңгейлерде жүзеге асырылады. Логикалық деңгейде процестердің өзара әрекеттесуі сигнал механизмін қолдана отырып, жүйенің ядросы арқылы ғана жүреді. Әр процестің ядросы үзіліс жүйесін модуляциялайды.Процестер арасындағы ақпараттық өзара іс-қимыл 3 тәсілмен жүзеге асырылады: 1. Сыртқы аргументтерді беру арқылы (бір процесс шегінде);2. Файлдық жүйе арқылы;3. Бағдарламалық арна арқылы. Жаңа процесс пайда болғаннан кейін, оның аясында басқа бағдарламаны орындау қажет, ол жүйелік қоңыраумен ескі орынға жүктеледі. Процестердің үлгілерін өзгерту кезінде сыртқы дәлелдердің жоғалуын болдырмау үшін және жүйенің ядросына жүйелік қоңырау арқылы қайта жазу, содан кейін процестің жаңа кескінін қалпына келтіру.
2.2 Енгізу-шығару жүйесі Енгізу-шығару жүйесінсіз бірде-бір ОС жасай алмайды. Сондықтан UNIX ОЖ ерекшелік емес еді.UNIX операциялық жүйесінің күшті жақтарының бірі-оның i o жүйесінің икемділігі. Механизмді іске асыру UNIX ОЖ-нің келесі қасиеттеріне негізделген. Біріншіден, кез-келген Енгізушығару кейбір файлдан енгізу және кейбір файлға шығару ретінде түсіндіріледі. Пернетақта мен терминал экраны файлдар ретінде түсіндіріледі (біріншісі тек оқуға болады, ал екіншісінде тек жазуға болады). Екіншіден, кез-келген файлға оның тұтқасы (оң бүтін сан) арқылы қол жеткізіледі. Файл дескрипторларының үш мәні жазылады. 1 дескрипторы бар Файл стандартты енгізу файлы (stdin), 2 дескрипторы бар файл - стандартты шығару файлы (stdout) және 3 дескрипторы бар файл - диагностикалық хабарламалардың стандартты шығару файлы (stderr) деп аталады. Үшіншіден, белгілі бір процесте жұмыс істейтін бағдарлама процестің барлық ашық файл дескрипторларын "мұра етеді". Командалық тіл аудармашысының басты процесінде стандартты енгізу файлы пайдаланушы терминалының пернетақтасы, ал диагностикалық хабарламалардың стандартты шығару және шығару файлдары терминал экраны болып табылады.Алайда, кез-келген пәрменді іске қосқан кезде, аудармашыға (тиісті командалық тіл арқылы) қай файл немесе қай бағдарламаның шығысы іске қосылатын бағдарлама үшін стандартты енгізу файлы ретінде қызмет ететінін және қай файл немесе қай бағдарламаның стандартты шығару немесе диагностикалық хабарлама шығару файлы ретінде қызмет ететінін айтуға болады. Содан кейін аудармашы жүйелік қоңырауды орындамас бұрын, exec көрсетілген файлдарды ашады, 1, 2 және 3 дескрипторларының мағынасын өзгертеді. файл-стандартты шығыс. Орналастыру шығатын ақпаратты файл емес, жіберу, оны экран. Бұрын файлда болған нәрсе жойылады. Мысалы, егер сіз каталог файлдарының тізімін экранға шығармасаңыз, бірақ файлға жазылғыңыз келсе, келесі пәрменді беруіңіз керек: ls -l filelist файл-бұл стандартты шығыс. Шығыс ақпаратын оның мазмұнынан кейін файлға қосыңыз. файл - стандартты енгізу. Шығу ақпаратын пернетақтадан емес, файлдан алыңыз. Стандартты енгізу және шығару "команда басқа команда" ретінде қолданылады"Конвейер. Бір бағдарламаның стандартты шығысын алыңыз және басқасын стандартты енгізу ретінде пайдаланыңыз. Бұл UNIX ОЖ-нің ең бай мүмкіндіктерінің бірі; командаларды біріктіре отырып, бұл мүмкіндікті өз командаларыңызды құру үшін пайдалануға болады.UNIX - те логикалық енгізу-шығару ұйымы жүйенің ядро деңгейіндегі бірдей енгізу-шығару интерфейсіне байланысты жеңілдетілген. Барлық файлдар дәйекті және тікелей өңдеуге болатын байттардың сериялық жиынтығы ретінде қарастырылады. Пайдаланушы деңгейінде тек қарапайым файлдар мен каталогтарды, ал каталогтарды тек жүйелік құралдармен жасауға болатындығын атап өткен жөн.Кіріс-шығыс басқару жүйесінің физикалық ұйымы ядро деңгейінде жұмыс істейтін және кіріс-шығыс драйверлері деп аталатын арнайы бағдарламалық құралдарға негізделген. Драйвер-белгілі бір құрылғыға арналған және оның ерекшеліктерін ескере отырып жасалған мәліметтер алмасу бағдарламасы.Енгізу-шығару драйверлері және ядро Буферлеу жүйесі интерфейстердің 2 түрін қолдайды - блокқа бағытталған және байтқа бағытталған.Блокқа бағытталған интерфейс кэшті ұйымдастыру арқылы i o басқару жүйесінің тиімділігін едәуір арттыруға мүмкіндік береді. Кэш жады-бұл блок өлшемі бар Енгізу-шығару буферінің жүйесі, онда мәліметтер блоктары жиі орналасады. Егер деректерді беру туралы сұраныс болса, алдымен ішкі буферлер көрінеді, егер блок негізгі жадта болмаса, олар драйвер арқылы сыртқы құрылғыға жүгінеді. Мұның кемшілігі-аппараттық ақаулық кезінде файлдық жүйенің бұзылуы мүмкін.Байтқа бағытталған интерфейс баяу перифериялық құрылғыларға арналған, бұл жағдайда алмасу жүйенің ядросындағы таңбалар буфері арқылы жүзеге асырылады.UNIX енгізу-шығару жүйесі-енгізу - шығару құрылғысының менеджері қызметін атқаратын ядро бөлігі. Менеджердің бағдарламалық жасақтамасына буферлеудің басқару компоненті және драйверлер жиынтығы кіреді. Құрылымдық құрылғылар ретінде мыналар қолданылады: арнайы файлдардың индекс дескрипторлары, байтқа бағытталған құрылғы драйверлері арасындағы байланыс кестесі, буферлер мен блоктар кестесі және үзіліс кестесі. Әрбір индекс дескрипторы байланыс кестесіндегі тиісті элементке сілтеме жасайды. Әрбір байланыс элементі белгілі бір драйверге бағытталады, негізгі жад пен осы типтегі сыртқы құрылғы арасында ақпарат алмасуды қамтамасыз етеді. Блокқа бағытталған құрылғылардың байланыс кестесі кэшті құрайтын I O буферлерін көрсететін блок буферлер кестесіне қосылған. Драйвер бағдарламалары файлдарды ашуға және жабуға, деректерді оқуға және жазуға, құрылғылардың жұмыс режимдерін басқаруға арналған. Кіріс-шығыс үзілістері пайда болған кезде басқару драйвердің үзілістерді өңдеу бағдарламасына жіберіледі, оның мекен-жайы үзілістер кестесінен таңдалады.
2.3 Жүйе қабығы Қабық компьютерді басқаруға көмектеседі.Қабық-бұл кіру процесінде қолданатын бағдарлама. Біз командаларды енгізген кезде олар қабыққа беріледі. Бұл басқа бағдарламаларды орындайтын бағдарлама сияқты. Бұл сіз бен ядро арасындағы делдал сияқты, сонымен қатар командаларды ОС сұраныстарына айналдырады және қызметтік ақпаратты бақылайды. 2.4 Shell командасының аудармашысы Әрі қарай, UNIX операциялық жүйесін зерттеу және жұмыс істеу үшін бізге shell командасының аудармашысы қажет болады. Оның не үшін қолданылатынын көрейік.Shell командасының аудармашысы-жүйенің ең маңызды және күрделі бағдарламаларының бірі. Ол пайдаланушы ядросының интерфейсін қамтамасыз етеді және келесі негізгі функцияларды орындайды: Командаларды түсіндіреді;Метасимволдар арқылы анықталған файл атауларын өңдейді;Енгізу-шығаруды қайта бағыттауды жүзеге асырады;Пайдаланушы ортасын жасайды;Командалық тілді қолдайды.Shell аудармашы командалары UNIX үшін С тілінде жазылған қарапайым бағдарламалармен жүзеге асырылады . Шартты түрде барлық командаларды топтарға бөлуге болады: ақпараттық, қызметтік және файлдық жүйемен және файлдармен жұмыс. Ақпараттық командалар жүйенің күйі туралы әртүрлі анықтамаларды және анықтамалық ақпаратты алуға мүмкіндік береді. Осы топтың ең маңызды командалары: Күні-күні мен уақытын көрсету және орнату; PS-процестер туралы ақпарат алу; Who-жүйеде жұмыс істейтіндер туралы ақпарат алу. Қызметтік командалар бірқатар арнайы функцияларды орындауға, пайдаланушы ортасын орнатуға, параметрлерді басып шығаруға, кіру құқықтарын орнатуға және басқаларға мүмкіндік береді. Бұл топта біз командаларды атап өтеміз: Stty-терминал сипаттамаларын орнату; Echo-параметрлерді беру; Kill-процесті аяқтау; Chmod-кіру құқығын өзгерту. Командалардың ең үлкен тобы файлдық жүйемен және жеке файлдармен жұмыс істеуді қамтамасыз етеді. Мұнда келесі командаларды атап өту керек:Cd-ағымдағы каталогты өзгерту; Mv-файлдарды қайта жіберу және атын өзгерту; CP-файлды көшіру; RM-файлдарды жою; Cat-файлды біріктіру.UNIX-те барлығы 130-дан астам команда жүзеге асырылды, олардың көмегімен жүйеде белсенді диалог жүргізуге және функциялардың өкілдік жиынтығын орындауға болады. Жеке пайдаланушы үшін shell іске қосылған кезде қателерді түзету үшін тиісті терминалға және файлға стандартты енгізу-шығару автоматты түрде анықталады. Сондықтан көптеген командалар нәтижелерді терминалға шығарады, ал редакторлар сияқты терминалдан жұмыс істеу үшін бастапқы ақпаратты алады. 3 негізгі shell бар: Bourne Shell (sh), C-Shell (ch), Korn Shell (ksh).* Bourne Shell - бұл барлық UNIX дистрибуцияларында бар түпнұсқа UNIX Shell. * C-Shell Калифорния университетінің Берклидегі Shell ортасына интерактивті өңдеуді қосу жобасы болды. * Korn Shell-ді Дэйвид Корн жазған, сонымен қатар Берклидегі Калифорния
институтында туған жері бар.Korn shell (ksh) sh-де орындауға дайындалған кез-келген бағдарлама ksh-де жұмыс істейтін етіп жазылған. Corn қабығы shell-дің барлық мүмкіндіктерін, сонымен қатар басқаларын қамтиды. Мысалы: * Vi немесе emacs пәрменін қолдана отырып, пәрмен жолын өңдеу мүмкіндігі. * Бұрын енгізілген командаларды оларға түзетулер мен түзетулер енгізе отырып қайталау мүмкіндігі. * Арифметикалық амалдар мен жолдарды өңдеудің кіріктірілген мүмкіндіктері. * Массивтер. * Бағдарламалардың фондық орындалу процесін автоматты түрде бақылау және бақылау мүмкіндігі. C-Shell көбірек C бағдарламалау тіліне ұқсайды және sh бағдарламаларын орындауға жарамайды. Осылайша, Shell, пайдаланушы-жүйе байланысын ұйымдастырумен қатар, жүйені қажетті проблемалық бағытқа қарай шексіз кеңейтуге мүмкіндік беретін қуатты құрал болып табылады.
2.5 БағдарламаларUNIX ОЖ бір уақытта қолданыстағы қолданбалы бағдарламалардың операциялық ортасы және жаңа қосымшаларды әзірлеу ортасы болып табылады. Жаңа бағдарламаларды әртүрлі тілдерде жазуға болады (Фортран, Паскаль, Модула, Ада және т.б.). Алайда, UNIX ОЖ ортасында стандартты бағдарламалау тілі-бұл si тілі (ол жақында c++тіліне ауыстырылды). Бұл, біріншіден, UNIX жүйесінің өзі с тілінде жазылғанымен, екіншіден, с тілі жоғары сапалы стандартталған тілдердің бірі болып табылады. Сондықтан, дұрыс бағдарламалау стилін қолдана отырып, С тілінде жазылған бағдарламалар өте жоғары ұтқырлық деңгейіне ие, яғни оларды UNIX ОЖ-Мен де, бірқатар басқа операциялық жүйелермен (мысалы, DEC Open VMS немесе MS Windows NT) жұмыс істейтін басқа аппараттық платформаларға ауыстыруға болады. Толығырақ, біз курстың төртінші бөлігінде UNIX ОЖ ортасында мобильді бағдарламалау принциптерін қарастырамыз. UNIX ОЖ ортасында орындалатын si (немесе si++) бағдарламасын әзірлеу процесіне қысқаша шолу жасаймыз. Орындалатын кез-келген бағдарлама бір немесе бірнеше объект файлдарынан тұрады. Сондықтан бағдарламаны әзірлеу С тіліндегі мәтіні бар бастапқы файлдарды жасаудан басталады. Бұл файлдарда ғаламдық айнымалы атаулардың жәненемесе функциялардың анықтамалары (басқа файлдардан көрінетін атаулар), сондай-ақ сыртқы атауларға сілтемелер болуы мүмкін (бағдарламаны құрайтын басқа файлдардың бірінде Ғаламдық деп жарияланған).Соңғы жылдары Emacs редакторы (Free Software Foundation президенті Ричард Столлман әзірлеген және үнемі жетілдіріп отыратын) танымал бола бастады. Бұл өте қуатты көп терезелі редактор, ол сізге бағдарламаларды (және басқа мәтіндерді) жазуға ғана емес, сонымен қатар бағдарламаларды құрастыруға, құрастыруға және күйін келтіруге мүмкіндік береді (сонымен қатар электрондық поштаны қабылдау және жіберу сияқты көп нәрсені жасайды). Emacs редакторының басты кемшілігі-функционалды пернелердің өте үлкен жиынтығы (200-ден астам). Алайда, x терезе жүйесінде Emacs қолданған кезде ол ыңғайлы интерфейсті қамтамасыз ететінін атап өткен жөн. Сондай-ақ, UNIX ОЖ-нің дәстүрлі құралдарының интерфейстерінің көптеген қолайсыздықтары олардың алфавиттік-цифрлық және графикалық терминалдарды қолдануға бағытталғандығымен байланысты екенін ескеріңіз. Сондықтан, әдетте, бұл құралдар графикалық терминал болған кезде де ескі жол интерфейсін қолдайды. Әрине, UNIX ОЖ-нің қазіргі нұсқаларында барлық жаңа құралдар терезенің графикалық интерфейсін қолдайды (сондықтан оларды алфавиттік-сандық терминалдар болған кезде пайдалану мүмкін емес).Мәтіндік файл жасалғаннан кейін объект файлын алу үшін оны құрастыру керек. Қазіргі уақытта Unix ОЖ-де С тіліне арналған ең танымал компиляторлар-pcc (Ритчи мен Томпсон) және gcc (Ричард Столлман). Бұл екі компилятор да толығымен мобильді және әртүрлі компьютерлер үшін код жасау мүмкіндігіне ие, яғни бұл компиляторларды UNIX ОЖ басқаратын кез-келген аппараттық платформада орнатуға болады. Gcc келесі артықшылықтарын атап өтуге болады. Біріншіден, бұл компилятор еркін, яғни тегін (бастапқы мәтіндерімен бірге) Free Software Foundation таратады. Екіншіден, gcc мұқият сақталады және бірге жүреді. Үшіншіден, 2.0 нұсқасынан бастап, gcc si, c++ және Objective C тілдерінде жазылған бағдарламаларды құрастыра алады, нәтижесінде алынған бағдарламаны кез-келген тілдегі мәтіндік файлдардан алынған Объектілік файлдардан құрастыруға болады. Төртіншіден, GCC бастапқы кодтарының ашықтығы және мұқият әзірленген компилятор құрылымы gcc-ге жаңа Код генераторларын салыстырмалы түрде оңай қосуға мүмкіндік береді. Gcc-тің салыстырмалы кемшілігі-қолданылатын Си тілінің диалектісі ANSIISO стандартына қарағанда тым көп кеңейтімдерді қамтиды (дегенмен, компилятор құрастырылған бағдарламада кездесетін барлық кеңейтілген тілдік құрылымдарды көрсететін режим бар).Екі компилятор да бағдарламаны екі кезеңде өңдейді. Бірінші кезеңде С тіліндегі синтаксистік тұрғыдан дұрыс мәтін құрастыру тіліндегі мәтінге айналады. Екінші кезеңде құрастыру тіліндегі мәтін негізінде машина кодтары жасалады және объект файлы алынады. Тарихи тұрғыдан, UNIX ОЖ объект модульдерінің әртүрлі форматтарын қолданды. Алдыңғы нұсқалармен үйлесімділікті қамтамасыз ету үшін олардың барлығы дерлік компиляторлардың қазіргі нұсқаларында қолданылады. Алайда, қазіргі уақытта coff (Common Object File Format) форматы негізінен қолданылады. Қажет болса, сіз бірінші кезеңнен кейін компиляция процесін тоқтатып, ассемблер тіліндегі бағдарлама мәтіні бар файлды ала аласыз. Орындалатын бағдарламаны құру үшін қажетті Объектілік файлдар жиынтығы алынғаннан кейін, орындалатын бағдарламаның орналасуы қажет. UNIX ОЖ-де орындалатын бағдарламалардың құрастырушысы байланыс редакторы (сілтеме редакторы) деп аталады және оны әдетте ld командасы шақырады. Байланыс редакторына Объектілік файлдар жиынтығы және кітапханалар жиынтығы көрсетіледі, олардан бағдарламаны құру үшін жетіспейтін файлдарды алу керек. Орналасу процесі келесідей. Біріншіден, берілген объект файлдарының жиынтығы көрінеді. Әрбір сыртқы атау үшін бірдей Ғаламдық атаудың анықтамасы бар объект файлы ізделеді. Егер іздеу сәтті аяқталса, сыртқы сілтеме Ғаламдық атаудың анықтамасына ауыстырылады. Егер осы кезеңнің соңында Ғаламдық атаудың тиісті анықтамасын таба алмайтын сыртқы атаулар қалса, онда көрсетілген кітапханаларда Ғаламдық атаулардың қажетті анықтамалары бар Объектілік файлдарды іздеу басталады. Егер ақыр соңында барлық сыртқы атаулардың анықтамаларын табуға болатын болса, барлық сәйкес нысан файлдары жиналып, орындалатын файлды құрайды.UNIX ОЖ - де ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Жердің ішкі қабықшалар құрылымы жайлы мәлімет
Жер қыртысының минералдық құрамының ерекшеліктері
Жасушаның көбеюі
Жер шары
Жердің ішкі қабықшалар құрылымы
Клетканың бөлінуі
Процесс - орындалатын бағдарлама
Операциялық жүйелер туралы
ОПЕРАЦИЯЛЫҚ ЖҮЙЕНІҢ ҚҰРАМЫ
Жер туралы
Пәндер