UNIX операциялық жүйесі

Главная » Рефераттар » UNIX операциялық жүйесі

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

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

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

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

  1. Жүйе үйлесімділігі — орау және жіберу функциясы. Жүйе ядросы ядроның компьютер жадына толық жүгіну мен ядроның қосылуын қамтамасыз ететін оралу (bootstrap) құралын қамтамасыз етеді.
  2. Жіптер және процестермен басқару — бар процестер мен жіптерді жасау, бітіру және қадағалау функциялары. UNIX операциялық жүйесі мультипроцессорлы операциялық жүйе болғандықтан процестер қатарласа орындалып жатқанын көрсету үшін ядро процессордың қосылған уақыт процестері мен компьютердің басқа ресурстары арасында бөлінуді реттейді.
  3. Жадымен басқару — процестердің шектелмеген виртуалды жадының шектелген размерлі компьютердің физикалық оперативті жадына көшу функциясы. Ядроның сәйкес компоненті бір оперативті жады облысының сыртқы жадыны қолданумен бірнеше процестермен бөліп қолдануды қамтамасыз етеді.
  4. Файлдармен басқару — файлды жүйе абстракциясын жасайтын функция, каталогтер мен файлдар иерархиясы. Unix операциялық жүйесі файлды жүйелері файлдардың бірнеше типтерін ұстанады. Кейбір файлдар деректерді ASCII форматында ұстай алады, басқалары сыртқы құрылғыларға сәйкес келеді. Файлдың жүйеде объектілі файлда, орындалатын, т.б, сақталады. Файлдар әдетте жадының сыртқы құрылғыларында сақталады; оларға ену ядро көмегімен жасалады. UNIX әлемінде файлдық жүйелерді құрудың бірнеше типі бар. UNIX операциялық жүйесі қазірге нұсқалары бір мезгілде көптеген файлдың типтерді ұстанады.
    • Қатынастық құралдар — бір компьютер ішінде орындалатын (ІРС — Inter-Process Communications) процестер арасында, деректерді жіберудің ғаламды немесе жергілікті желілердің әр түрлі тораптары арасында, сонымен қатар процестер мен сыртқы құрылғылар драйверлері арасында деректермен ауысуды қамтамасыз ететін функция.
    • Бағдарламалық интерфейс — функция кітапханасы түрінде жасалған жүйелі шақыру механизмі негізінде жасалған қолданбалы процестер жағынан мүмкіндіктерге енуді қамтамасыз ететін функция.

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

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

    UNIX операциялық жүйенің файлдары

    Файлдар түрлілігі. Unix операциялық жүйесінде файл ұғымы сыртқы жады құрылғыларында болатын кәдімгі файлдармен жұмыс істеуге мүмкіндік беретін әмбебап абстракция болып табылады; сыртқы жады құрылғыларынан айрықша құрылғылармен; басқа процестермен динамикальщ генерацияланатын ақпаратпен, т.б. Бұл мүмкіндіктерді ұсгану үшін UNIX операциялық жүйесі файлды жүйенің біртекті әдіспен файлдардың бірнеше типтерін ұстанады, олардың негізгілері кәдімгі (егер күнделікті болса) файлдар файлдың жүйе ұстанатын сыртқы жады құрылғыларындағы блоктар жиыны болып табылады. Осындай файлдар мәтінді ақпаратты еияқты екілік ақпаратты да қамтиды, Файлдық жүйе қолданушы деңгейінде кәдімгі файлды ұсынуды байттар кезегі сияқты қамтамасыз етіи кәдімгі файлдарға қандай да бір құрылымды жазбайды.

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

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

    Каталог файлының құрылымы күрделі емес. Негізінде, каталог  әр элементі екі жолдан тұратын кесте: оның файлдың жүйесіндегі берілген файлдың торабының нөмірі және осы нөмірмен байланысты файл атауы.

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

    Арнайы файлдардың екі түрі болады: блоктық және таңбалық.

    Блоктық арнайы файлдар 512,1024,4096 немеее 8192 байттар размерлі деректер байтының блоктарымен ауысу болатын сыртқы құрылғыларды елестетеді. Осындай құрылғылардың мысалы ретінде магнитті дискілерді атауға болады. Файлдық жүйелер ылғида блоктық құрылғыларда орналасады, сондықтан mount бұйрығын да белгілі бір блоктық құрылғы аталады. Таңбалық арнайы файлдар тең размерлі деректер блогымен ауысуды талап етпейтін сыртқы кұрылғыларға ұқсайды. Осындай құрылғылардың мысалы ретінде терминалдарды (сонымен бірге жүйелі консоль), тізбекті құрылғылар, магнитті таспалардың кейбір түрлерін қарастыруға болады. Кейде таңбалы арнайы файлдар магнитті дискіге ұқсайды. Блокты құрылғылармен деректерді ауыстырған кезде жүйе деректерді ішкі жүйелі кэште буферлейді. Белгілі бір уақыт интервалынан кейін жүйе «өзгерген» меткасы бар буферлерді «лақтырады». Негізгі қиындық компьютер кездейсоқ өшкен кезде жүйелі кэштің ішіндегісі жойылу мүмкіндігі болып табылады. Онда сыртқы блоктық файлдар түсініспеушілік жағдайында қалуы мүмкін. Таңбалы арнайы файлдармен ауысу жүйелі буферлеуді қолданбай тікелей жүргізіледі.

    Файлдарды әр турлі атаулармен байланыстыру

    UNIX операциялық жүйесі файлдық жүйесі бір файлды әр түрлі атаулармен байланыстыруға мүмкіндік туғызады. Жиі бір команданы әр түрлі атаулармен сақтаудың мәні үлкен. Берілген файл барлық байланысының атауларын егер оның параметрлер санының ішінен торабының нөмірін көрсетсе ncheck командасының атын білуге болады. Беркли университетінің «тез файлдық жүйесінен» бастап, UNIX операциялық жүйесі әлемінде «символдық байланыстары» пайда болды. Символдьқ байланыс symblink желілік шақыру көмегімен жасалады. Бұл жүйелі шақыруды орындауда сәйкес каталогте байланыс атауы файлдың кейбір атауы сәйкестендірілетін элемент жасалады. Символдық байланыс үшін бөлек торап жасалады және файлдың ұзын атын сақтау үшін бөлек блок жасалады. Символдың байланыстармен жұмыс үшін үш арнайы шақыру болады: readlink — айтылған символдық байланыспен байланысты файл атауын оқиды (бұл атау нағыз файлға, арнайы файлға, қатты сілтеуішке сәйкес келеді немесе мүлде ештемеге сәйкес болмауы мүмкін); атау берілген сілтеуішпен байланысты деректер блогында сақталады; Istat — stat желілік шақыруына тең (ақпаратты файлдан алу), бірақ символдық сілтеуішке жатады; lchowm — chown желілік шақыруына тең, біраң қолданушыны ауыстыруға немесе символдың сілтеуіш тобының өзімен қолданады.

    Виртуалды жадыда көрсетілетін файлдар

    UNIX операциялық жүйесі қазіргі нұсқаларында кәдімгі файлдарды процессордың виртуалды жадына файл құрамындағы read, write және Iseek шақыруларының көмегімен емес кәдімгі жадыдан оқу мен жадыға жазу амалдарының көмегімен керсету мүмкіндігі пайда болды. Файлды виртуалды жадыға көрсету үшін файлды ашқаннан соң mmap жүйелі шақыру орындалады, оның әрекеті ашық файл сияқты бөлінетін жады сегменті жасалады да автоматты түрде процессордың виртуалды жадысына қосылады. Осыдан кейін процесс жаңа сегменттен оқи алады (шын мәнінде файлдағы байттар оқыла алады) және оған жаза алады (шын мәнінде барлық жазбалар файлда көрсетіледі). Файлды жапқан кезде сегмент автоматты түрде процессордың виртуалды жадысынан бөлінеді және файл басқа виртуалды жадыға қосылмаған болса жойылады.

    Бірнеше процестер бір уақытта бір файлды mmap желілік шақырумен өздерінің виртуалды жадыларына қоса алады. Онда бөлінген жадының сәйкес сегментіне жазу көмегімен жасалатын кез келген өзгерістер басқа процестерде бірден көрінетін болады. Файлға қатар ену кезіндегі синхронизадия. Бұрыннан UNIX операциялық жүйесі файлдарға қатар енудің өте жай әдісі қолданады: жүйе процестердің кез келген санына бір файлды кез келген режимде ашуға мүмкіндік берген және ешқандай синхронизацияланатын әдістерді қолданған жоқ. Файлдың бірге өңдеу дұрыстығы үшін барлық жауапкершілік оны қолданушы процеске қарайды да, жүйе процестердің файлға ену синхронизациясы үшін бөлек құралдарды қолданған жоқ. System У.4-те файлдарға қатар енуді процестерге синхронизадиялауға мүмкіндік беретін құралдар пайда болды. UNIX ОЖ ядросы файлдың жүйеге қарайтын файлды ашу режимі туралы ақпаратты алу, ашу режимін өзгерту сияқты қосымша функцияларды қамтамасыз ететін fcntl қосымша желілік шақыруды ұстанады. Бұл желілік шақыру көмегімен файлды монопольді немесе ортақ құрсаулауды немесе файл ішінде көрсетілген диапазонды құрсаулауды орнықтыруға болады. Екі әдісі бар: құрсаулау талаптары оның жасалғанына дейін процесті бөлектеуге әкелетін күтумен және продесс құрсаулауды талап етудің қанағаттандырылуы жайлы немесе оның дәл осы уақытта тез арада хабарланған кездегі күтусіз. Орнықтырылған құрсаулар оны орнықтырған процеске ғана қарайды және осы процестің процес ағындарымен мұраға қалмайды. Осыған қоса, егер тіпті кейбір процесс fcntl жүйелі шақырудың синхронизациялайтын мүмкіндіктерімен қолданса да басқа процестер бұрынғыдай сол файлмен синхронизациялауды қолданбай жұмыс істей алады. Басқа сөзбен айтқанда, бұл файлды бірге қолданатын процестер тобының жұмысы — қатар енудің синхронизациялау әдісі жайында алдын ала келісіп алу. Файлдарды сақтау. Көпқолданбалы операциялық жүйедегідей UNIX операциялық жүйесінде файлды жүйенің файлдар мен анықтамалықтарға енуге біртекті бақылау механизімін ұстанады. Кез келген процесс кейбір файлға сипатталған ену құқықтары берілген процесс мүмкіндіктеріне сәйкес келсе ене алады.

    UNIX операциялық жүйесі қате енуден файлдарды қорғау үш фактыға негізделеді. Біріншіден, файлды жасайтын кез келген процеспен жүйеде кейбір әмбебап қолданушы (UID — User Identifier) идентификаторымен салыстырылады, оны келешекте қайта жасалған файл иесінің идентификаторы ретінде айтуға болады. Екіншіден, файлға енуді ойластырған әр процеспен екі идентификатор байланысты — қолданушылардың қазіргі идентификаторлары мен олардың топтары. Үшіншіден, әр файлға міндетті түрде оның сипаттағышы сәйкес келеді торап, файлдар мен файл атаулары бір ұғым емес екенін түсіну маңызды. Бірақ бір файлмен байланысты бірнеше катты байланыстарда бірнеше файлдар атаулары шын мәнінде бір файлды ұсынады және бір і-торабымен байланысты. Файлдың жүйедегі кез келген қолданылатын і-торапқа ылғида бір ғана файл сәйкес келеді. І-торап көп, әрі әр турлі ақпараттан тұрады және осы ақпараттың ішінде файлдық жүйеге талап етілген режимде берілген файлға берілген процестің ену құкыктығын бағалауға мүмкіндік беретін бөлігі бар. Жүйенің барлық нұсқалары үшін қорғаудың жалпы принциптері бірдей: і-торап ақпараты TJID және файл иесінің GID қосады. Сонымен қатар, файл і-торабында онымен файл қолданушы — оның иесі, сол қолданушылар тобына кіретін қолданушылар және басқа қолданушылар не істей алатыны көрсетілген межелігі сақталған. Жіктелген файлдық жүйелер. Жіктелген файлдық жүйенің негізгі мағынасы — басқа процестерде орындалатын процестер үшін жергілікті файлдық жүйе файлдарына біріккен енуді қамтамасыз етуінде. UNIX операциялық жүйесі ортасында барлық белгілі әдістер жойылған файлдық жүйенің жергілікті файлдық жүйенің каталогінің біреуіне енуіне негізделеді. Бұл рәсім орындалып біткен соң жойылған файлдық жүйеде сақталатын файлдар олар жергілікті дискті құрылғыда сақталған сияқты жергілікті компьютер процестеріне жете алады.

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

     

Загрузка...

ОСТАВИТЬ КОММЕНТАРИЙ

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.