Виртуалды жадыда көрсетілетін файлдар. UNIX операциялық жүйесі қазіргі нұсқаларында кәдімгі файлдарды процессордың виртуалды жадына файл
UNIX операциялық жүйесі қазіргі нұсқаларында кәдімгі файлдарды процессордың виртуалды жадына файл құрамындағы read, write және Iseek шақыруларының көмегімен емес кәдімгі жадыдан оқу мен жадыға жазу амалдарының көмегімен керсету мүмкіндігі пайда болды. Файлды виртуалды жадыға көрсету үшін файлды ашқаннан соң mmap жүйелі шақыру орындалады, оның әрекеті ашық файл сияқты бөлінетін жады сегменті жасалады да автоматты түрде процессордың виртуалды жадысына қосылады. Осыдан кейін процесс жаңа сегменттен оқи алады (шын мәнінде файлдағы байттар оқыла алады) және оған жаза алады (шын мәнінде барлық жазбалар файлда көрсетіледі). Файлды жапқан кезде сегмент автоматты түрде процессордың виртуалды жадысынан бөлінеді және файл басқа виртуалды жадыға қосылмаған болса жойылады.
Бірнеше процестер бір уақытта бір файлды mmap желілік шақырумен өздерінің виртуалды жадыларына қоса алады. Онда бөлінген жадының сәйкес сегментіне жазу көмегімен жасалатын кез келген өзгерістер басқа процестерде бірден көрінетін болады. Файлға қатар ену кезіндегі синхронизадия. Бұрыннан UNIX операциялық жүйесі файлдарға қатар енудің өте жай әдісі қолданады: жүйе процестердің кез келген санына бір файлды кез келген режимде ашуға мүмкіндік берген және ешқандай синхронизацияланатын әдістерді қолданған жоқ. Файлдың бірге өңдеу дұрыстығы үшін барлық жауапкершілік оны қолданушы процеске қарайды да, жүйе процестердің файлға ену синхронизациясы үшін бөлек құралдарды қолданған жоқ. System У.4-те файлдарға қатар енуді процестерге синхронизадиялауға мүмкіндік беретін құралдар пайда болды. UNIX ОЖ ядросы файлдың жүйеге қарайтын файлды ашу режимі туралы ақпаратты алу, ашу режимін өзгерту сияқты қосымша функцияларды қамтамасыз ететін fcntl қосымша желілік шақыруды ұстанады. Бұл желілік шақыру көмегімен файлды монопольді немесе ортақ құрсаулауды немесе файл ішінде көрсетілген диапазонды құрсаулауды орнықтыруға болады. Екі әдісі бар: құрсаулау талаптары оның жасалғанына дейін процесті бөлектеуге әкелетін күтумен және продесс құрсаулауды талап етудің қанағаттандырылуы жайлы немесе оның дәл осы уақытта тез арада хабарланған кездегі күтусіз. Орнықтырылған құрсаулар оны орнықтырған процеске ғана қарайды және осы процестің процес ағындарымен мұраға қалмайды. Осыған қоса, егер тіпті кейбір процесс fcntl жүйелі шақырудың синхронизациялайтын мүмкіндіктерімен қолданса да басқа процестер бұрынғыдай сол файлмен синхронизациялауды қолданбай жұмыс істей алады. Басқа сөзбен айтқанда, бұл файлды бірге қолданатын процестер тобының жұмысы — қатар енудің синхронизациялау әдісі жайында алдын ала келісіп алу. Файлдарды сақтау. Көпқолданбалы операциялық жүйедегідей UNIX операциялық жүйесінде файлды жүйенің файлдар мен анықтамалықтарға енуге біртекті бақылау механизімін ұстанады. Кез келген процесс кейбір файлға сипатталған ену құқықтары берілген процесс мүмкіндіктеріне сәйкес келсе ене алады.
UNIX операциялық жүйесі қате енуден файлдарды қорғау үш фактыға негізделеді. Біріншіден, файлды жасайтын кез келген процеспен жүйеде кейбір әмбебап қолданушы (UID — User Identifier) идентификаторымен салыстырылады, оны келешекте қайта жасалған файл иесінің идентификаторы ретінде айтуға болады. Екіншіден, файлға енуді ойластырған әр процеспен екі идентификатор байланысты — қолданушылардың қазіргі идентификаторлары мен олардың топтары. Үшіншіден, әр файлға міндетті түрде оның сипаттағышы сәйкес келеді торап, файлдар мен файл атаулары бір ұғым емес екенін түсіну маңызды. Бірақ бір файлмен байланысты бірнеше катты байланыстарда бірнеше файлдар атаулары шын мәнінде бір файлды ұсынады және бір і-торабымен байланысты. Файлдың жүйедегі кез келген қолданылатын і-торапқа ылғида бір ғана файл сәйкес келеді. І-торап көп, әрі әр турлі ақпараттан тұрады және осы ақпараттың ішінде файлдық жүйеге талап етілген режимде берілген файлға берілген процестің ену құкыктығын бағалауға мүмкіндік беретін бөлігі бар. Жүйенің барлық нұсқалары үшін қорғаудың жалпы принциптері бірдей: і-торап ақпараты TJID және файл иесінің GID қосады. Сонымен қатар, файл і-торабында онымен файл қолданушы — оның иесі, сол қолданушылар тобына кіретін қолданушылар және басқа қолданушылар не істей алатыны көрсетілген межелігі сақталған. Жіктелген файлдық жүйелер. Жіктелген файлдық жүйенің негізгі мағынасы — басқа процестерде орындалатын процестер үшін жергілікті файлдық жүйе файлдарына біріккен енуді қамтамасыз етуінде. UNIX операциялық жүйесі ортасында барлық белгілі әдістер жойылған файлдық жүйенің жергілікті файлдық жүйенің каталогінің біреуіне енуіне негізделеді. Бұл рәсім орындалып біткен соң жойылған файлдық жүйеде сақталатын файлдар олар жергілікті дискті құрылғыда сақталған сияқты жергілікті компьютер процестеріне жете алады.
Осындай әдістің кемшіліктері мен артықшылықтары бар. Артықшылықтары, әрине желіде жұмыс барысында ортақ қолданылатын ақпараттық ресурстарды бір данада сақтап дискілік кеңістікті үнемдеуге болады. Бірақ бір жағынан жойылған файлдық жүйенің қолданушылар жойылған файлдармен жергіліктіге қарағанда көп баяу орындалатын болады.
Оқытушы:_________ Нургай Н.А.