Аппараттық және бағдарламалық қамтамасыз етуді орнату

Қолданбалы бағдарламалық қамтамасыз ету орталарын енгізу әдістері. ОЖ қолданбалы ортасының архитектурасы, мақсаты және функциялары

Абстрактілі көптілді, ашық, компиляциялық бағдарламалау жүйесінің құрылымын және осы ортадағы қолданбалы бағдарламаларды өңдеу процесін қарастырайық (1.4-сурет).

Бастапқы тілдегі бағдарлама (бастапқы модуль) мәтіндік редакторлардың көмегімен дайындалады және аудармашының енгізуіне мәтіндік файл немесе кітапхана бөлімі ретінде беріледі.

Бастапқы бағдарламаны аудару – бастапқы модульді аралық нысандық пішінге түрлендіру процедурасы. Аударма әдетте алдын ала өңдеуді (алдын ала өңдеу) және компиляцияны қамтиды.

Алдын ала өңдеу – бастапқы мәтінді талдаудан, одан препроцессорлық директиваларды алудан және оларды орындаудан тұратын қосымша кезең.

Препроцессорлық директивалар – аббревиатуралар, белгілер және т.б. қамтитын арнайы таңбалармен (әдетте %, #, &) белгіленген жолдар. компилятор өңдегенге дейін бастапқы бағдарламаға енгізілген конструкциялар.

Бастапқы мәтін кеңейтіміне арналған деректер стандартты, пайдаланушы анықтайтын немесе ОЖ жүйелік кітапханаларында болуы мүмкін.

Компиляция әдетте келесі кезеңдерді қамтитын көп сатылы процесс:

Лексикалық талдау – енгізілген мәтіннің лексикалық құрамын тексеру және күрделі таңбаларды (операторлар, жақшалар, идентификаторлар және т.б.) одан әрі өңдеуге ыңғайлы кейбір аралық ішкі формаға (кестелер, графиктер, стектер, гиперсілтемелер) аудару;

талдау- мәтінді дайындауда программист қолданған құрылымдардың дұрыстығын тексеру;

семантикалық талдау- айнымалылардың, функциялардың және процедуралардың түрлері мен құрылымдарындағы сәйкессіздіктерді анықтау;

Объект кодын генерациялау аударманың соңғы кезеңі болып табылады.

Аударма (компиляция) пернелер, параметрлер немесе опциялар арқылы орнатылатын әртүрлі режимдерде орындалуы мүмкін. Ол, мысалы, талдау кезеңін немесе сол сияқтыларды орындау үшін ғана талап етілуі мүмкін.

Объектілік модуль – бастапқы модульді құрастыру нәтижесі болып табылатын программалық модуль. Оған машина нұсқаулары, сөздіктер, сервистік ақпарат кіреді.

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

Күріш. 1.4. Реферат көптілді, ашық бастапқы коды, компиляциялық бағдарламалау жүйесі

Модуль жүктелудежүктеу және орындау үшін қолайлы пішіндегі бағдарламалық модуль. Жүктеме модулінің құрылысы арнайы бағдарламалық құралдармен - байланыстырушы, тапсырма құрастырушы, байланыстырушы, ассемблер арқылы жүзеге асырылады, олардың негізгі қызметі объект және жүктеу модульдерін кейіннен кітапханаға немесе файлға жазу арқылы бір жүктеме модуліне біріктіру болып табылады. Алынған модуль кейінірек бағдарламалық жасақтаманы кеңейту мүмкіндігін тудыратын басқа бағдарламаларды және т.б. жинақтау үшін пайдаланылуы мүмкін.

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

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

ОЖ-нің көптеген архитектуралық мүмкіндіктері тек жүйелік бағдарламашыларға тікелей қатысты болса, көп қолданбалы (операциялық) объектілер түсінігі соңғы пайдаланушылардың қажеттіліктерімен - операциялық жүйенің басқалар үшін жазылған қолданбаларды іске қосу мүмкіндігімен тікелей байланысты. операциялық жүйелер. Операциялық жүйенің бұл қасиеті үйлесімділік деп аталады.

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

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

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

Ықтимал үйлесімділік түрі көптеген факторларға байланысты. Олардың ең маңыздысы - процессордың архитектурасы. Егер процессор бірдей нұсқаулар жинағын (мүмкін IBM ДК жағдайындағыдай толықтырулармен: стандартты жиын + мультимедиа + графика + ағынмен) және бірдей мекенжай диапазонын пайдаланса, онда екілік үйлесімділікке оңай қол жеткізуге болады. Ол үшін келесі шарттар орындалуы керек:

  • Қолданба қолданатын API берілген ОЖ қолдау көрсетуі керек;
  • қолданбаның орындалатын файлының ішкі құрылымы ОЖ орындалатын файлдарының құрылымына сәйкес келуі керек.

Егер процессорлардың архитектурасы әртүрлі болса, онда жоғарыда аталған шарттардан басқа екілік кодты эмуляциялауды ұйымдастыру қажет. Мысалы, Macintosh жүйесінің Motorola 680x0 процессорында Intel процессорының нұсқауларын эмуляциялау кеңінен қолданылады. Бағдарламалық құрал эмуляторы бұл жағдайда Intel процессорының екілік нұсқаулығын дәйекті түрде таңдайды және Motorola процессорының нұсқауларында жазылған баламалы ішкі бағдарламаны орындайды. Motorola процессорында Intel процессорларындағыдай бірдей регистрлер, жалаушалар, ішкі ALU және т.б. болмағандықтан, ол сонымен қатар өзінің регистрлерін немесе жадын пайдаланып осы элементтердің барлығын имитациялауы (эмуляциялауы) керек.

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

Бұл тәсілдің тиімділігі қазіргі бағдарламалардың көпшілігінің Windows, MAC немесе UNIX Motif сияқты GUI (графикалық пайдаланушы интерфейстері) астында жұмыс істейтіндігімен түсіндіріледі, ал қолданбалар уақыттың 60-80% GUI функцияларын және басқа ОЖ кітапханасының қоңырауларын орындауға жұмсайды. . Дәл қолданбалы орталарға бағдарламалардың командалық эмуляциясына жұмсалған көп уақытты өтеуге мүмкіндік беретін қолданбалардың бұл қасиеті. Мұқият жобаланған бағдарламалық жасақтаманың қолданбалы ортасы GUI кітапханаларына ұқсайтын, бірақ жергілікті кодта жазылған кітапханаларды қамтиды. Осылайша, басқа операциялық жүйенің API интерфейсімен бағдарламаларды орындауды айтарлықтай жеделдетуге қол жеткізіледі. Әйтпесе, бұл тәсіл аударма деп аталады - оны бір уақытта бір нұсқаулықты эмуляциялаудың баяу процесінен ажырату үшін.

Мысалы, Macintosh жүйесінде жұмыс істейтін Windows бағдарламасы үшін Intel процессорынан пәрмендерді интерпретациялау кезінде өнімділікөте төмен болуы мүмкін. Бірақ GUI функциясы шақырылғанда, терезе ашылғанда және т.б., Windows қолданбалы ортасын жүзеге асыратын ОЖ модулі бұл шақыруды ұстап алып, оны Motorola 680x0 процессоры үшін қайта құрастырылған терезені ашу тәртібіне қайта бағыттай алады. Нәтижесінде кодтың мұндай бөлімдерінде бағдарламаның жылдамдығы өз процессорындағы жұмыс жылдамдығына жетуі мүмкін (және, мүмкін, одан асып түседі).

Бір ОЖ үшін жазылған бағдарлама басқа ОЖ-де жұмыс істеуі үшін API үйлесімділігін қамтамасыз ету ғана жеткіліксіз. Әртүрлі операциялық жүйелердің негізінде жатқан ұғымдар бір-бірімен қайшы келуі мүмкін. Мысалы, бір ОЖ-да қолданбаға енгізу-шығару құрылғыларын басқаруға рұқсат етілуі мүмкін, екіншісінде бұл әрекеттер ОЖ-ның артықшылығы болып табылады.

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

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

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

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

Бірнеше қолданбалы орталарды жобалаудың бұл тәсілі микро ядро ​​архитектурасының барлық артықшылықтары мен кемшіліктеріне ие, атап айтқанда:

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

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

1.9. Виртуалды машиналар бірнеше қолданбалы орталарды жүзеге асырудың заманауи тәсілі ретінде

«Виртуалды машина мониторы» (VMM) түсінігі бағдарламалық құрал ретінде 60-жылдардың соңында пайда болды абстракция деңгейі, ол аппараттық платформаны бірнеше виртуалды машиналарға бөлді. Бұл виртуалды машиналардың (VM) әрқайсысының негізгі физикалық машинаға ұқсас болғаны сонша, бар бағдарламалық қамтамасыз етуоған өзгеріссіз орындалуы мүмкін. Ол кезде жалпы есептеу тапсырмалары қымбат негізгі компьютерлерде (мысалы, IBM /360) орындалды және пайдаланушылар VMM-тің бірнеше қолданбалар арасында тапшы ресурстарды бөлу мүмкіндігін жоғары бағалады.

1980-1990 жылдары компьютерлік техниканың құны айтарлықтай төмендеді және тиімді болды көп тапсырмалы ОЖ, бұл пайдаланушылар алдында VMM мәнін төмендетті. Майнфреймдер мини-компьютерлерге, содан кейін ДК-ге жол берді, ал VMM қажеттілігі жойылды. Нәтижесінде компьютердің архитектурасы жоғалып кетті аппараттық құралоларды тиімді жүзеге асыру үшін. 80-жылдардың соңына қарай ғылымда және VMM өндірісінде олар тек тарихи қызығушылық ретінде қабылданды.

Бүгін MVM қайтадан назарда. Intel, AMD, Sun Microsystems және IBM виртуалдандыру стратегияларын жасауда, ал зертханалар мен университеттер ұтқырлық, қауіпсіздік және басқару мәселелерін шешу үшін виртуалды машина негізіндегі тәсілдерді әзірлеуде. МВМ-ның отставкаға кетуі мен олардың жандануы арасында не болды?

1990 жылдары Стэнфорд университетінің зерттеушілері аппараттық және операциялық жүйелердің шектеулерін еңсеру үшін виртуалды машиналарды пайдалану мүмкіндігін зерттей бастады. Проблемалар жаппай параллельді өңдеу (Massively Parallel Processing, MPP) бар компьютерлерде пайда болды, оларды бағдарламалау қиын болды және бар операциялық жүйелерді іске қоса алмайды. Зерттеушілер виртуалды машиналар бұл күрделі архитектураны бұрыннан бар операциялық жүйелердің артықшылығын пайдалану үшін бар платформаларға ұқсас ете алатынын анықтады. Бұл жобадан негізгі компьютерлер үшін VMM-тердің бірінші жеткізушісі VMware (www.vmware.com) алтын кеніші болған адамдар мен идеялар пайда болды.

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

Жүйенің бұзылуының әсерін азайту және бұзудан қорғау үшін, жүйелік әкімшілержалғыз тапсырмаға қайта оралды есептеу моделі(бір машинада бір қолданбамен). Бұл аппараттық құралдарға қойылатын талаптардың артуына байланысты қосымша шығындарға әкелді. Қолданбаларды әртүрлі физикалық машиналардан VM-ге жылжыту және сол VM-ді бірнеше физикалық платформаларда біріктіру аппараттық құралдарды пайдалануды жақсартты, басқару шығындарын азайтты және еден кеңістігін азайтты. Сонымен, VMM-тің аппараттық құралдарды мультиплекстеу мүмкіндігі - бұл жолы серверді біріктіру және утилиталарды есептеу атымен - оларды өмірге қайтарды.

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

Виртуализация – дамып келе жатқан технология. Жалпы алғанда, виртуализация бағдарламалық жасақтаманы негізгі аппараттық инфрақұрылымнан бөлуге мүмкіндік береді. Іс жүзінде ол белгілі бір бағдарламалар жиынтығы мен белгілі бір компьютер арасындағы байланысты үзеді. Виртуалды машина мониторын бөледі бағдарламалық қамтамасыз етуаппараттық құралдан және іске қосылған бағдарламалық жасақтама арасындағы аралық деңгейді құрайды виртуалды машиналар, және аппараттық құрал. Бұл деңгей VMM-ге аппараттық ресурстарды пайдалануды толық бақылауға мүмкіндік береді. Қонақ операциялық жүйелері (GuestOS) VM-де жұмыс істейтін.

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

Рахмет толық инкапсуляциябағдарламалық жасақтама VM-дегі күйлер, VMM мониторы VM-ді кез келген қол жетімді аппараттық ресурстармен салыстыра алады және тіпті оны бір физикалық машинадан екіншісіне жылжыта алады. Машиналар тобы бойынша жүктемені теңестіру міндеті тривиальды болып қалады және аппараттық ақаулармен күресудің және жүйені өсірудің сенімді жолдары бар. Сәтсіз компьютерді өшіру немесе жаңасын желіге қайтару қажет болса, VMM сәйкесінше виртуалды машиналарды қайта тарата алады. Виртуалды машинаны көшіру оңай, бұл әкімшілерге қажет болған жағдайда жаңа қызметтерді жылдам ұсынуға мүмкіндік береді.

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

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

Толық оқшаулау сенімділік пен қауіпсіздік үшін де маңызды. Бұрын бір машинада жұмыс істейтін қолданбаларды енді әртүрлі VM-ге таратуға болады. Егер олардың біреуі қате нәтижесінде ОЖ-ның бұзылуына әкелсе, басқа қолданбалар одан оқшауланып, жұмысын жалғастырады. Қолданбалардың біріне сыртқы шабуыл қаупі төнсе, шабуыл «бұзылған» VM ішінде локализацияланады. Осылайша, VMM жеке физикалық машиналарда қолданбаларды іске қосу кезінде қажет болатын қосымша кеңістік пен басқару күштерін қажет етпей, оның тұрақтылығы мен қауіпсіздігін жақсарту үшін жүйені қайта құрылымдауға арналған құрал болып табылады.

VMM негізгі машинаны және оның аппараттық құралдарымен әрекеттесу процедураларын толық бақылауды сақтай отырып, аппараттық интерфейсті VM-ге байланыстыруы керек. Бұл мақсатқа жету үшін белгілі бір техникалық ымыраға негізделген әртүрлі әдістер бар. Мұндай компромисстерді іздеу кезінде VMM-ге қойылатын негізгі талаптар ескеріледі: үйлесімділік, өнімділікжәне қарапайымдылық. Үйлесімділік маңызды, себебі VMM негізгі артықшылығы бұрынғы қолданбаларды іске қосу мүмкіндігі болып табылады. Өнімділіквиртуалдандыру үшін үстеме шығындардың мөлшерін анықтайды - VM-дегі бағдарламалар нақты машинадағыдай жылдамдықта орындалуы керек. Қарапайымдылық қажет, себебі VMM ақаулығы компьютерде жұмыс істейтін барлық виртуалды құрылғылардың істен шығуына әкеледі. Атап айтқанда, сенімді оқшаулау VMM жүйесінде шабуылдаушылар жүйені жою үшін пайдалана алатын қателерден таза болуын талап етеді.

Қонақ операциялық жүйенің күрделі кодты қайта жазудан өтудің орнына, ядроның кейбір ең «кедергі жасайтын» бөліктерін өзгерту арқылы негізгі операциялық жүйеге кейбір өзгерістер енгізуге болады. Бұл тәсіл паравиртуализация деп аталады. Бұл жағдайда тек автор ғана ОЖ ядросын бейімдей алатыны анық, және, мысалы, Microsoft танымал Windows 2000 ядросын нақты виртуалды машиналардың шындықтарына бейімдеуге ешқандай ықылас танытпайды.

Паравиртуализацияда VMM әзірлеушісі виртуалды машинаның интерфейсін қайта анықтайды, виртуализацияға жарамсыз бастапқы нұсқаулар жиынының ішкі жиынын ыңғайлырақ және тиімдірек баламалармен ауыстырады. Мұндай VM-де жұмыс істеу үшін ОЖ-ны тасымалдау қажет болса да, көп таралған қолданбалар өзгеріссіз жұмыс істей алатынын ескеріңіз.

Паравиртуализацияның ең үлкен кемшілігі - үйлесімсіздік. Кез келген операциялық жүйе, паравиртуалдандырылған VMM мониторының басқаруымен жұмыс істеуге арналған, осы архитектураға тасымалдануы керек, ол үшін ОЖ жеткізушілерімен ынтымақтастық туралы келіссөздер жүргізу қажет. Бұған қоса, ескі операциялық жүйелерді пайдалану мүмкін емес және бар машиналарды виртуалдылармен оңай ауыстыру мүмкін емес.

x86 виртуализациясында жоғары өнімділік пен үйлесімділікке қол жеткізу үшін VMware әзірленді жаңа әдісдәстүрлі тікелей орындауды жылдам екілік аудармамен біріктіретін виртуалдандыру. Қазіргі заманғы операциялық жүйелердің көпшілігінде қарапайым қолданбалы бағдарламаларды орындау кезінде процессордың жұмыс режимдері оңай виртуализацияланады, сондықтан оларды тікелей орындау арқылы виртуализациялауға болады. Виртуализацияға жарамсыз артықшылықты режимдерді «ыңғайсыз» x86 пәрмендерін түзете отырып, екілік код аудармашысы орындауы мүмкін. Нәтиже – жоғары өнімділік виртуалды машина, ол аппараттық құралмен толық үйлесімді және бағдарламалық құралдың толық үйлесімділігін сақтайды.

Түрлендірілген код паравиртуализация нәтижелеріне өте ұқсас. Кәдімгі нұсқаулар өзгеріссіз орындалады, ал арнайы өңдеуді қажет ететін нұсқаулар (мысалы, POPF және оқу коды сегментінің тізілімінің нұсқаулары) аудармашы арқылы паравиртуалдандырылған нұсқада орындауға қажетті нұсқаулар тізбегімен ауыстырылады. виртуалды машина. Дегенмен, маңызды айырмашылық бар: операциялық жүйенің немесе қолданбалардың бастапқы кодын өзгертудің орнына, екілік аудармашы кодты бірінші рет орындаған кезде өзгертеді.

Екілік кодты аударуға қатысты кейбір қосымша шығындар болса да, олар қалыпты жұмыс жүктемесінде шамалы. Транслятор кодтың бір бөлігін ғана өңдейді, ал бағдарламаның орындалу жылдамдығы тікелей орындалу жылдамдығымен салыстырылатын болады – кэш толы болған кезде.

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

UNIX-тің көптеген нұсқаларында қолданбалы ортаның трансляторы ретінде жүзеге асырылады тұрақты қолдану. Windows NT сияқты микроядро тұжырымдамасы арқылы құрастырылған операциялық жүйелерде қолданбалы орталар пайдаланушы режимінің серверлері ретінде жұмыс істейді. Ал OS/2-де қарапайым архитектурасы бар қолданбалы орталар операциялық жүйеге терең енгізілген.

Бірнеше қолданбалы орталарды іске асырудың ең айқын нұсқаларының бірі ОЖ стандартты деңгейлі құрылымына негізделген. Суретте. 3. 8 OS1 операциялық жүйесі өзінің "туған" қолданбаларынан басқа OS2 операциялық жүйесінің қолданбаларын қолдайды. Ол үшін ол арнайы қосымшаны – «шетелдік» операциялық жүйе интерфейсін – API OS2 интерфейсін өзінің «туған» операциялық жүйесінің интерфейсіне – API OS1-ге аударатын қолданбалы бағдарламалық жасақтаманы қамтиды.

Күріш. 3. 8. Хабар таратуды жүзеге асыратын қолданбалы бағдарламалық қамтамасыз ету ортасы
жүйелік қоңыраулар

Бірнеше қолданбалы орталардың басқа іске асырылуында операциялық жүйеде бірнеше тең дәрежелі қолданбалы бағдарламалау интерфейстері бар. Суретте. 3. Мысалда операциялық жүйе OS1, OS2 және OS3 үшін жазылған қолданбаларды қолдайды. Ол үшін осы операциялық жүйелердің барлығының қолданбалы бағдарламалау интерфейстері тікелей жүйенің ядролық кеңістігіне орналастырылады: API OS1, API OS2 және API OS3.

Күріш. 3. 9. Бірнеше негізінде үйлесімділікті жүзеге асыру
тең API интерфейстері

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

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

Микроядро архитектурасына сәйкес ОЖ-ның барлық функциялары микроядро және пайдаланушы режимінің серверлері арқылы жүзеге асырылады. Әрбір қолданбалы ортаның жеке пайдаланушы режимі сервері ретінде құрастырылуы және негізгі механизмдерді қамтымауы маңызды (3. 10-сурет). API қолданатын қолданбалар микроядро арқылы сәйкес қолданбалы ортаға жүйелік қоңыраулар жасайды. Қолданбалы орта сұранысты өңдейді, оны орындайды (мүмкін бұл үшін микроядроның негізгі функцияларынан көмек сұрау арқылы) және нәтижені қолданбаға қайта жібереді. Сұранысты орындау барысында қолданбалы орта өз кезегінде микроядро және басқа ОЖ серверлері жүзеге асыратын негізгі ОЖ механизмдеріне қол жеткізуі керек.

Күріш. 3. 10. Көптілікті жүзеге асырудағы микроядролық тәсіл
қолданбалы орталар

Бірнеше қолданбалы орталарды жобалаудың бұл тәсілі микроядро архитектурасының барлық артықшылықтары мен кемшіліктеріне ие, атап айтқанда:

Қолданбалы орталарды қосу және шығару өте оңай, бұл микроядролық операциялық жүйелердің жақсы кеңеюінің салдары;

Сенімділік пен тұрақтылық қолданбалы орталардың бірі істен шыққан жағдайда, қалғандарының барлығы жұмыс істейтін болып қалатынында көрсетіледі;

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

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

Өзін-өзі тексеруге арналған сұрақтар

  1. ОЖ архитектурасы нені білдіреді?
  2. Құрылымда әдетте қандай үш негізгі қабат ерекшеленеді есептеу жүйесі?
  3. Жүйелік шақыру интерфейсіне ОЖ тағайындаған рөл қандай?
  4. ОЖ оңай тасымалдануы үшін ОЖ жобалау кезінде қандай шарттар орындалуы керек?
  5. Микроядро архитектурасы мен дәстүрлі ОЖ архитектурасының айырмашылығы неде?
  6. Неліктен микроядро бөлінген есептеулерді қолдауға жақсы сәйкес келеді?
  7. Бірнеше қолданбалы орта ұғымы нені білдіреді?
  8. Кітапханадағы аударма әдісінің мәні неде?

Жұмыстың аяқталуы -

Бұл тақырып мыналарға жатады:

Операциялық жүйе, процестер, аппараттық құрал

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

Егер сізге осы тақырып бойынша қосымша материал қажет болса немесе сіз іздеген нәрсені таба алмасаңыз, біз жұмыстардың дерекқорындағы іздеуді пайдалануды ұсынамыз:

Алынған материалмен не істейміз:

Егер бұл материал сізге пайдалы болып шықса, оны әлеуметтік желілердегі парақшаңызға сақтауға болады:

Осы бөлімдегі барлық тақырыптар:

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

Тапсырмалар мен жаттығулар
1. Компьютерлердің техникалық базасының дамуындағы қандай оқиғалар операциялық жүйелер тарихында маңызды кезең болды? 2. Бірінші партиялық өңдеу мониторлары мен арасындағы принципті айырмашылық қандай болды

Операциялық жүйе архитектурасы
Кез келген жақсы ұйымдастырылған күрделі жүйе анық және ұтымды құрылымға ие, яғни ол толығымен аяқталған функционалдық мақсаты бар бөліктерге - модульдерге бөлінеді.

Негізгі жадты басқару
Жад – әрқайсысының жеке адресі бар сөздердің немесе байттардың үлкен массиві. Бұл берілген деректер қоймасы жылдам қол жеткізупроцессор мен арасында бөлінеді

Сыртқы жадты басқару
Негізгі жад (бастапқы жад) барлық деректер мен бағдарламаларды тұрақты сақтау үшін тұрақсыз және тым кішкентай болғандықтан, негізгі жадты сақтау үшін VS қосымша жадты қамтамасыз етуі керек. Бол

Файлдарды басқару ішкі жүйесі
Файл - бұл жасау кезінде анықталған байланысты ақпарат жинағы. Нақты деректерден басқа, файлдар бастапқыда да, нысан түрінде де бағдарламаларды көрсетеді. Ішкі жүйе

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

Ядро және көмекші ОЖ модульдері
Операциялық жүйені құрылымдаудың ең жалпы тәсілі оның барлық модульдерін екі топқа бөлу болып табылады: ядро ​​– негізгі функцияларды орындайтын ОЖ модульдері;

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

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

Негізгі құрылым
ОЖ аппараттық қолдауы. Осы уақытқа дейін операциялық жүйе бағдарламалар жиынтығы ретінде айтылып келді, бірақ ОЖ-нің кейбір функцияларын аппараттық құралдармен де орындауға болады. Ақын

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

Операциялық жүйенің портативтілігі
Егер операциялық жүйе кодын процессордың бір түрінен процессордың басқа түріне және аппараттық платформаның бір түрінен аппараттық платформаға салыстырмалы түрде оңай тасымалдануы мүмкін болса.

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

Екілік және бастапқы үйлесімділік
Екілік деңгейдегі үйлесімділік пен бастапқы код деңгейіндегі үйлесімділікті ажырату қажет. Қолданбалар әдетте ОЖ-да екілік кескіндері бар орындалатын файлдар ретінде сақталады.

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

Процесс түсінігі
Процесс - процессорда орындалатын әрекет. Кең мағынада процессор - бұл компьютердегі кез келген құрылғы

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

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

Бір реттік қызмет көрсету пәндері
а) FIFO (First In -- First Out) - алу тәртібі бойынша қызмет көрсету тәртібі. Барлық сұраулар кезектің соңына түседі. Кезек басындағы өтініштерге бірінші кезекте қызмет көрсетіледі. Схема

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

Процесс түсінігі
Процесс (тапсырма) – орындау режимінде болатын программа. Әрбір процестің онымен байланысты өзінің адрестік кеңістігі бар, ол одан оқи алады және

Процесс үлгісі
Көп тапсырмалы жүйеде нақты процессор процесстен процесске ауысады, бірақ модельді жеңілдету үшін параллельді (псевдопараллель) орындалатын процестердің жиынтығы қарастырылады. Қарастырыңыз

Процесті тоқтату
(қоңыраудан шығу немесе ExitProcess): Жоспарланған тоқтату (орындаудың соңы) Белгілі қате бойынша жоспарланған шығу (мысалы, файл жоқ)

Процесс иерархиясы
UNIX жүйелерінде қатаң процесс иерархиясы бар. Шанышқы жүйесінің шақыруы арқылы жасалған әрбір жаңа процесс алдыңғы процестің еншілес бөлігі болып табылады. Бала процесі ата-аналық процестен алады

Процесс күйі
Процестің үш күйі: Іске қосулы (процессорды алады) Дайын (басқа процесті іске қосу үшін процесс уақытша тоқтатылады) Күту (процесс

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

ағын үлгісі
Әрбір ағынмен байланысты: Пәрменді орындау есептегіші Ағымдағы айнымалылар үшін регистрлер Стек күйі ағындары элементтерді өзара бөліседі

Жіптерді пайдаланудың артықшылықтары
Кейбір жағдайларда жалпы мекенжай кеңістігін пайдалану арқылы бағдарламаны жеңілдету. Процесспен салыстырғанда жіпті жасау жылдамдығы шамамен 100 есе. Көтерілген

Пайдаланушы кеңістігінде, ядрода және аралас ағындарды жүзеге асыру
A - пайдаланушы кеңістігіндегі ағындар B

Windows енгізу мүмкіндіктері
Төрт ұғым пайдаланылады: Job – жалпы квоталары мен шектеулері бар процестер жиынтығы Процесс – ресурстардың контейнері (жад...), кем дегенде бір ағынды қамтиды. Пото

Процестер арасындағы байланыс
Процестердің өзара әрекеттесуі қажет жағдайлар: Ақпаратты бір процесстен екіншісіне тасымалдау Процестердің қызметін бақылау (мысалы: олар үшін бәсекелескенде)

Ақпаратты бір процесстен екіншісіне беру
Тасымалдауды бірнеше жолмен жүзеге асыруға болады: Ортақ жад арналары (құбырлар) бір процесс жазатын, екіншісі оқитын псевдофайл болып табылады.

Жарыс шарты
Жарыс шарты - бұл бір уақытта бірнеше процестер деректерді (жадқа немесе файлға) оқитын немесе жазатын жағдай. Екі процесс әрекет ететін мысалды қарастырыңыз

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

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

Қатаң кезектесу
Бұл модельде процестер айнымалыны пайдаланып қатаң түрде кезекпен орындалуы мүмкін.

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

семафорлар
Семафорлар - болашақ үшін сақталған триггер сигналдарын санауға арналған айнымалылар. Төмен және жоғары екі операция ұсынылды (ұйқы және ояту аналогтары

Пакеттік өңдеу жүйелерінде жоспарлау
6.2.1 First In Fist Out (FIFO) процестері келген кезде кезекке тұрады. Артықшылықтары:

Циклдік жоспарлау
Ең қарапайым және жиі қолданылатын жоспарлау алгоритмі. Әрбір процеске процессордың уақыт тілі беріледі. Кванттық аяқталған кезде, процесс жоспарлаушы арқылы соңына дейін тасымалданады

Басымдық жоспарлау
Әрбір процеске басымдық беріледі, ал басқару ең жоғары басымдығы бар процеске беріледі. Басымдылық динамикалық немесе статикалық болуы мүмкін. Динамика

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

Жалпы нақты уақытты жоспарлау
Модель әрбір процесс процессор үшін өз тапсырмасымен және оны орындау кестесімен күрескен кезде қолданылады. Жоспарлаушы білуі керек: әрқайсысының жиілігі

Процестің тұйықталуы
Бір ресурс үшін бірнеше процестер бәсекелескенде, процестің тұйықталуы орын алуы мүмкін. Ресурстар беттелген және беттелмеген, аппараттық және бағдарламалық құрал болуы мүмкін.

Тұйықтарды модельдеу
Тұйық нүктелерді графиктермен модельдеу. Таңбалар Мұндай модельде өте

Тұйықталуды анықтау және жою
Жүйе тығырықтан құтылуға тырыспайды, бірақ оны анықтауға және шешуге тырысады. Әрбір түрдің бір ресурсы болған кезде тұйықталуды анықтау

Динамикалық тығырықтан аулақ болу
Осылайша, ОЖ ресурстарды беру қауіпсіз немесе қауіпсіз емес екенін білуі керек. Ресурс траекториялары Екі процестің және екі ресурстардың үлгісін қарастырыңыз

Тығырықтан шығу үшін талап етілетін төрт шартты болдырмау
Өзара алып тастау шартының алдын алу Ресурстар үшін бәсекелесетін процестердің санын азайтуға болады. Мысалы, принтердің спулингін пайдалану кезінде t

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

Құрылғы контроллері
Енгізу-шығару құрылғылары әдетте екі бөліктен тұрады: механикалық (сөзбе-сөз түсінудің қажеті жоқ) - диск, принтер, электронды монитор - контроллер немесе

Жадпен салыстырылған енгізу/шығару
Әрбір контроллерде өзара әрекеттесу үшін қолданылатын бірнеше регистрлер болады Орталық процессор. Осы регистрлердің көмегімен ОЖ басқарады (оқады, жазады, қосады және т.б.) және анықтайды

Жадқа тікелей қол жеткізу (DMA - Жадқа тікелей кіру)
Жадқа тікелей қол жеткізу DMA контроллері арқылы жүзеге асырылады. Контроллерде бірнеше регистрлер бар: жад адресі регистрінің байт есептегіші

Үзіліс жасайды
Енгізу/шығару құрылғысы іске қосылғаннан кейін процессор басқа тапсырмаларға ауысады. Процессордың аяқталуын процессорға сигнал беру үшін құрылғы үзуді бастайды,

Енгізу/шығару бағдарламалық құралының тапсырмалары
Енгізу-шығару бағдарламалық жасақтамасы шешуі керек негізгі міндеттер: Құрылғылардан тәуелсіздік - мысалы, файлдан деректерді оқитын бағдарлама неге бұл туралы ойламауы керек

Бағдарламалық құрал енгізу/шығару
Бұл жағдайда орталық процессор барлық жұмысты орындайды. ABCDEFGH жолын осылай басып шығару процесін қарастырайық.

Үзіліске негізделген енгізу/шығару
Алдыңғы мысалда буфер пайдаланылмаса және принтер секундына 100 таңба басып шығарса, онда әрбір таңба 10 мс алады, осы уақыт ішінде процессор басып шығарудың дайын болуын күтіп бос тұрады.

Үзіліс өңдеушілері
Үзілістер операциялық жүйенің ішкі бөлігінде мүмкіндігінше тереңірек жасырылуы керек, сондықтан олармен ОЖ-ның мүмкіндігінше аз бөлігі айналысуы керек. Енгізу/шығаруды іске қосқан драйверді блоктау жақсы. Алго

Құрылғы драйверлері
Құрылғы драйвері - әрбір құрылғы үшін қажет. Әртүрлі ОЖ әртүрлі драйверлерді қажет етеді. Регистрлерге қол жеткізу үшін драйверлер ядроның бөлігі болуы керек (монолитті жүйеде).

Құрылғыға тәуелсіз енгізу/шығару бағдарламалық құралы
Құрылғыға тәуелсіз енгізу/шығару бағдарламалық құралының мүмкіндіктері: құрылғы драйверлері үшін біркелкі интерфейс, буферлеу қатесі туралы хабарлар

Енгізу/шығару деңгейлері мен функцияларын жалпылау
Baz енгізу-шығару жүйесінің деңгейлері мен негізгі функциялары

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

Буферлеу және кэштеу
Буфер әдетте екі құрылғы, екі процесс немесе процесс пен құрылғы арасында деректер алмасу кезінде ақпаратты сақтауға арналған жадтың кейбір аймағы ретінде түсініледі. айырбастау

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

Үзіліс және қателерді өңдеу
Егер сыртқы құрылғымен жұмыс істегенде есептеу жүйесі оның күйін сұрау әдісін пайдаланбай, үзу механизмін пайдаланса, онда үзіліс орын алған кезде, біз бұрыннан болғандай.

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

UNIX I/O басқару ішкі жүйесінің артындағы принциптер
1. Бұл ішкі жүйе деректерді басқару ішкі жүйесі (файлдық жүйе) сияқты құрастырылған. Пайдаланушыға PU және файлдарға қол жеткізудің бірыңғай жолы беріледі. Операциялық жүйедегі файл астында

ОЖ жадын басқару
4.1. Операциялық жүйелерде физикалық жадты ұйымдастыру және басқару түсінігі 4.2. Негізгі жадты жалғанған бөлу әдістері 4.2.1. Қосылған таратылды

Операциялық жүйелерде физикалық жадты ұйымдастыру және басқаруды түсіну
Компьютердің негізгі (бастапқы, физикалық, нақты) жадын ұйымдастыру және басқару операциялық жүйелердің құрылысын анықтайтын маңызды факторлардың бірі болып табылады. Ағылшын тілінде техникалық

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

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

Ақпаратты жадқа орналастыру стратегиялары
Жадты орналастыру стратегиялары негізгі жадтың кіріс бағдарламалары мен деректерінің орны ауыстырылмайтын жадты бөлудің қай жеріне орналастыру керектігін анықтауға арналған.

Виртуалды жадының негізгі түсініктері
Виртуалды жад термині әдетте белгілі бір есептеуіш машинаның негізгі (нақты, физикалық) жады сыйымдылығынан әлдеқайда үлкен жад кеңістігін адрестеу мүмкіндігімен байланысты.

Виртуалды жадты пейджингтеу
Виртуалды мекенжайтаза беттелген жадта _ реттелген жұп (p, d), мұндағы p - виртуалды жадтағы бет нөмірі және d - p бетіндегі ығысу. Процесс іске қосылуы мүмкін

Виртуалды жадтың сегменттік ұйымдастырылуы
Виртуалды жадтың сегменттелген ұйымындағы виртуалды мекенжай реттелген жұп болып табылады n = (s, d) , мұндағы s - виртуалды жад сегментінің нөмірі, ал d - осы сегменттегі ығысу. Процесс мүмкін

Виртуалды жадтың бет сегменттік ұйымдастырылуы
Пейджинг жүйелерінде виртуалды жадты іске асырудың екі тәсілінің де артықшылықтары бар. Сегменттерде әдетте беттердің бүтін саны болады және барлық беттер болуы міндетті емес

Виртуалды жадты басқару стратегиялары
Физикалық жадты басқару стратегиялары сияқты виртуалды жадты басқару стратегиялары үш санатқа бөлінеді: итермелеу стратегиялары, орналастыру стратегиялары және поп стратегиялары.

Басу стратегиялары
Итеруді басқару үшін келесі стратегиялар қолданылады: сұраныс бойынша итеру (сорғы); қорғасынмен итеру (сорғы).

Орналастыру стратегиялары
Виртуалды жадының пейджингі бар жүйелерде жаңадан жүктелген беттерді орналастыру туралы шешім оңай қабылданады: жаңа бетті кез келген бос орынға орналастыруға болады.

Басу стратегиялары
Мультибағдарламалық жүйелерде барлық бастапқы жады, әдетте, жұмыс істейді. Бұл жағдайда жад менеджері негізгіден қай бетті немесе қандай сегментті жою керектігін шешуі керек

Файлды атау
Файл атауының ұзындығы ОЖ-ға байланысты, ол 8 (MS-DOS) пен 255 (Windows, LINUX) таңбаға дейін болуы мүмкін. Операциялық жүйелер бас және кіші әріптерді ажырата алады. Мысалы, WINDOWS және MS-DOS үшін терезелер бірдей және t

Файл құрылымы
Үш негізгі файл құрылымы: 1. Байттар тізбегі – ОЖ файлдың мазмұнына мән бермейді, ол тек байттарды көреді. Мұндай жүйенің басты артықшылығы - икемділік

Файл түрлері
Файлдардың негізгі түрлері: · Регулярлы – пайдаланушы ақпаратын қамтиды. Windows және UNIX жүйелерінде қолданылады. · Каталогтар - жүйелік файлдарқамтамасыз ету

Файл атрибуттары
Негізгі файл атрибуттары: · Қауіпсіздік – файлға кім және қалай қол жеткізе алады (пайдаланушылар, топтар, оқу/жазу). Windows және UNIX жүйелерінде қолданылады. · Құпия сөз – фаға құпия сөз

Жад мекенжай кеңістігімен салыстырылған файлдар
Кейде файлды жадқа салыстыру (файлмен жұмыс істеу үшін енгізу-шығару жүйесінің шақыруларын пайдаланудың қажеті жоқ) және жадпен жұмыс істеу, содан кейін өзгертілген файлды дискіге жазу ыңғайлы. Қолдану кезінде

Бір деңгейлі каталог жүйелері
Бұл жүйеде барлық файлдар бір каталогта болады. od

Жол атауы
Каталогтар ағашын ұйымдастыру үшін файлды көрсетудің қандай да бір жолы қажет. Файлды көрсетудің екі негізгі әдісі: абсолютті жол атауы - түбірден жолды көрсетеді

Каталогты іске асыру
Файлды ашқан кезде каталогтағы жазбаны табу үшін жол атауы қолданылады. Каталог жазбасы диск блоктарының адрестерін көрсетеді. Жүйеге байланысты бұл болуы мүмкін: диск тозағы

Ұзын файл атауларын енгізу
Бұрынғы операциялық жүйелер қысқа файл атауларын, MS-DOS 8 таңбаға дейін, UNIX 7 нұсқасында 14 таңбаға дейін қолданды. Енді ұзағырақ файл атаулары қолданылады (255 таңбаға дейін немесе одан да көп).

Файлды іздеуді жылдамдату
Егер каталог өте үлкен болса (бірнеше мың файл), каталогты ретімен оқу өте тиімді емес. 1 Файлды іздеуді жылдамдату үшін хэш кестесін пайдалану.

A – ортақ файл
Мұндай файлдық жүйе бағытталған ациклдік график (DAG, Directed Acyclic Graph) деп аталады. Диск мекенжайлары каталог жазбаларының өзінде болса, мәселе бар.

Блок өлшемі
Егер файлды блоктарда сақтау туралы шешім қабылданса, онда бұл блоктардың өлшемі туралы сұрақ туындайды. Екі шек бар: Үлкен блоктар - мысалы, 1 МБ, содан кейін тіпті 1 байт файл бүкіл блокты алады

Бос блоктарды есепке алу
Еркін блоктарды есепке алудың екі негізгі жолы бар: · Диск блоктарының байланыстырылған тізімі, әрбір блок блокқа кедергі келтіретіндей бос блок нөмірлерін қамтиды. Көбінесе резервтік тізім үшін

Диск квоталары
Пайдаланушыны шектеу үшін квота механизмі бар. Шектеудің екі түрі: Қатты - асып кету мүмкін емес Икемді - асып кетуі мүмкін, бірақ пайдаланушы жүйеден шыққан кезде

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

Файлдық жүйенің үйлесімділігі
Егер өзгертілген блок жазылмай тұрып жүйе бұзылса, файлдық жүйе сәйкес келмейтін күйге енуі мүмкін. Әсіресе, егер бұл i-түйін блогы, каталог блогы және

кэштеу
Блоктық кэш (буферлік кэш) – жадта сақталған, бірақ логикалық тұрғыдан дискіге жататын блоктар жиынтығы. Дискідегі барлық оқу сұраулары ұсталады және қажеттінің болуы

ISO 9660 файлдық жүйесі
Көбірек толық ақпарат- http://ru.wikipedia.org/wiki/ISO_9660 Стандарт 1988 жылы қабылданған. Стандартқа сәйкес дискілерді логикалық бөлімдерге бөлуге болады, бірақ біз дискілерді қарастырамыз.

ISO 9660 каталог жазбасы
Файл орны – бастапқы блоктың нөмірі, себебі. блоктар ретімен орналастырылады. L - байттағы файл атауының ұзындығы Файл атауы - 8 таңба, кеңейтім 3 таңба (үйлесімді болғандықтан

UNIX жүйесіне арналған Rock Ridge кеңейтімдері
Бұл кеңейтім файл үшін жасалған UNIX жүйесі CD-ROM түрінде ұсынылды. Ол үшін Жүйені пайдалану өрісі пайдаланылады. Кеңейтімдер келесі өрістерді қамтиды: 1. PX -

UDF файлдық жүйесі (әмбебап диск пішімі)
Қосымша ақпарат - http://ru.wikipedia.org/wiki/Universal_Disk_Format Бастапқыда DVD үшін жасалған, CD-RW және CD-R үшін 1.50 нұсқасы қосылған. Енді соңғы нұсқасы

MS-DOS файлдық жүйесі (FAT-12,16,32)
Алғашқы нұсқаларда бір ғана каталог болды (MS-DOS 1.0). MS-DOS 2.0 нұсқасынан бастап иерархиялық құрылым қолданылды. 32 байтта бекітілген каталог жазбалары. Файл атаулары -

Олар Windows 98 жүйесінде қосылады
Мұрағат атрибуты сақтық көшірме жасау бағдарламалары үшін қажет, олар файлды көшіру немесе көшірмеуді анықтайды. Уақыт өрісі (16 бит) үш ішкі өріске бөлінеді:

FAT-32 үшін Windows 98 кеңейтімі
Кеңейтім үшін 10 бос бит пайдаланылды. Пішін

FAT-32 үстіндегі негізгі қондырма, бұл ұзын файл атаулары
Әрбір файлға екі атау тағайындалды: 1. MS-DOS үйлесімділігі үшін қысқа 8+3 2. Юникод пішіміндегі ұзын файл атауы Файлға кез келген пайдаланушы қол жеткізе алады.

Windows 98 жүйесінде ұзын файл атауының фрагменті бар жазба каталогтарының пішімі
«Атрибуттар» өрісі ұзын аттың фрагментін (мәні 0x0F) файл дескрипторынан ажыратуға мүмкіндік береді. 0x0 атрибут өрісінің мәні бар ескі MS-DOS бағдарламаларының каталог жазбалары

NTFS файлдық жүйесі
Файл NTFS жүйесі Windows NT үшін әзірленген. Мүмкіндіктері: · 64-биттік мекенжайлар, яғни. теориялық тұрғыдан 264*216 байтты (1 208 925 819 М) қолдай алады

Файлды аты бойынша табу
Файлды құру кезінде бағдарлама кітапханалық процедураны шақырады CreateFile("C:windowsreadmy.txt", ...) Бұл шақыру n деңгейіндегі ортақ кітапханаға өтеді.

Файлды қысу
Егер файл қысылған деп белгіленсе, жүйе жазу кезінде автоматты түрде қысылады, ал оқу кезінде ашылады. Жұмыс алгоритмі: 1. Файлдың алғашқы 16 блогы оқуға алынады (n

Файлды шифрлау
Кез келген ақпаратты, егер ол шифрланбаған болса, рұқсат алу арқылы оқуға болады. Сондықтан ақпаратты рұқсатсыз кіруден ең сенімді қорғау шифрлау болып табылады. Олар сенен ұрласа да

UNIX V7 файлдық жүйесі
Бұл ескі файлдық жүйе болса да, негізгі элементтерді қазіргі UNIX жүйелері әлі де пайдаланады. Мүмкіндіктер: "/&q" қиғаш сызықты қоспағанда, файл атаулары 14 ASCII таңбасымен шектелген.

i-түйін құрылымы
Өріс байттары Сипаттама Режим Файл түрі, қауіпсіздік биттері, setuid және setgid биттері Nlinks

Файлды құру және онымен жұмыс істеу
fd=creat("abc", mode) - режим айнымалысында (пайдаланушылар рұқсаты бар) көрсетілген қорғау режимі бар abc файлын жасау мысалы. Жүйе қолданылады

BSD файлдық жүйесі
Негізі классикалық UNIX файлдық жүйесі болып табылады. Мүмкіндіктер (алдыңғы жүйеден айырмашылығы): Файл атауының ұзындығын 255 таңбаға дейін ұлғайтты Қайта ұйымдастырылған каталогтар

EXT2 файлдық жүйесінің дискідегі орны
Басқа мүмкіндіктер: · Блок өлшемі 1 КБ · Әрбір i-түйінінің өлшемі 128 байт. i-түйінінде 12 тікелей және 3 жанама адрестер бар, i-түйініндегі адрестің ұзындығы 4 байтқа айналды, бұл шамамен

EXT3 файлдық жүйесі
EXT2-ден айырмашылығы, EXT3 журналдың файлдық жүйесі болып табылады, яғни. сәтсіздіктерден кейін сәйкес келмейтін күйге түспейді. Бірақ ол EXT2-мен толық үйлесімді.

XFS файлдық жүйесі
XFS – Silicon Graphics әзірлеген, бірақ қазір шығарылған журналдық файлдық жүйе ашық дереккөз(ашық дереккөз). Ресми ақпарат http://oss.sgi.com/projec

RFS файлдық жүйесі
RFS (RaiserFS) — Namesys әзірлеген журналдық файлдық жүйе. RaiserFS туралы ресми ақпарат Кейбір мүмкіндіктер: тиімдірек жұмыс

JFS файлдық жүйесі
JFS (Journaled File System) – IBM компаниясы AIX операциялық жүйесі үшін әзірлеген, бірақ қазір ашық бастапқы код ретінде шығарылған журналдалған файлдық жүйе. Journaled File S туралы ресми ақпарат

NFS файлдық жүйе деңгейлерінің құрылымы
VFS (Virtual File System) – виртуалды файлдық жүйе. Ашық файлдар кестесін басқару үшін қажет. Барлығына арналған жазбалар файлды ашыңыз v-түйіндері деп аталады

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

Қолданбалы ортаны кәдімгі қолданба ретінде іске асыруға болады, содан кейін ол пайдаланушы деңгейінде жұмыс істейді.

Күріш. 2.8. Жүйелік қоңырауларды аударатын қолданбалы орталар

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

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

Күріш. 2.9. Бірнеше интерфейстік API негізіндегі өзара әрекеттесуді енгізу

қорытындылар

· Компьютерлік жүйенің барлық бағдарламалық құралдары қолданбалы (пайдаланушы мәселелерін шешу үшін) және жүйелік (компьютерлік аппараттық құралдарды пайдалану үшін) болып бөлінеді.

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

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

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



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

· Қолданбалы программалық қамтамасыз ету ортасы – бір ОЖ үшін жасалған қолданбалы қолданбалардың екіншісінде орындалуын ұйымдастыруға арналған ОЖ құралдарының жиынтығы. Әрбір ОЖ кем дегенде бір қолданбалы бағдарламалау ортасын жасайды. Мәселе бір ОЖ ішінде бірнеше бағдарламалық ортаның үйлесімділігін қамтамасыз ету болып табылады.

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

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

Қолданбалы программалық орталарды енгізу жолдары

Архитектурасына байланысты:

1. Қолданба түріндегі қолданбалы бағдарламалық жасақтама ортасы (жергілікті ОЖ ядросының жоғарғы қабаты).

Таңдамалы жұмыс режимі, жүйелік қоңырауды аудару ( API қоңыраулары) жергілікті ОЖ қоңырауларына. Классикалық көпқабатты ОЖ (Unix, Windows) сәйкес келеді.

2. Бірдей қызмет ететін бірнеше қолданбалы орталардың болуы. Әрқайсысы ядроның жеке қабаты түрінде.

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

3. Микроядролық принцип.

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

ОЖ интерфейстері

ОЖ интерфейсіқолданбалы бағдарламалау жүйесі болып табылады. Стандарттармен реттеледі (POSIX, ISO).

1. Пайдаланушы интерфейсі - пайдаланушының арнайы командалық тілдегі сұраныстарын ОЖ сұраныстарына аударатын арнайы бағдарламалық модульдер арқылы жүзеге асырылады.

Мұндай модульдер жиынтығы деп аталады аудармашы. Ол лексикалық және талдауды орындайды және пәрменді өзі орындайды немесе оны API-ге жібереді.

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

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

Linux ОЖ интерфейстері:

бағдарламалық қамтамасыз ету (делдалсыз – жүйелік шақырулардың нақты орындалуы);

пәрмен жолы (делдал – қоңырауды қайта бағыттайтын Shell интерпретаторының қабығы);

Графикалық (делдалдар - Shell + графикалық қабық).

Файлдық жүйе

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

ФС құрамына сәйкес:

барлық медиадағы дискідегі барлық файлдардың жиынтығы,

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

· файлдарды басқаруды жүзеге асыратын жүйелік бағдарламалық құралдардың жиынтығы, атап айтқанда: файлдарды құру, жою, оқу, жазу, атау, іздеу және басқа операциялар.

Файлдардың атрибуттарының бірі файл атаулары, пайдаланушыға файлды анықтау тәсілі. Бірнеше атауларға рұқсат етілген жүйелерде файлға ОЖ ядросы пайдаланатын инод тағайындалады. Әртүрлі операциялық жүйелердегі атаулар басқаша орнатылады.

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!