Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Օպերացիոն համակարգեր

§1 Հաշվողական տեխնիկայի զարգացման փուլերը

19-րդ դարում գիտությունների զարգացումը բերել է մեծ ինֆորմացիայի


կուտակման, որը մարդը ի զորու չէր հիշել: Դեռ 1642թ.-ին բարդ
հաշվարկների կաարմման համար Բելզ Պասկալը ստեղծեց առաջին
մեխանիկական հաշվիչը: 19-րդ դարում Չ. Բեբիջը փորձեց ստեղծել
համակարգիչ, և ենթադրց, որ համակարգիչը պետք է ունենա
հիշողություն և հաշվարկները պետք է կատարվեն հատուկ ծրագրերի
օգնությամբ:

Առաջին սերնդի ԷՀՄ-ներ. Կառուցվլ են 1945թ.-ին Պենսիլվանիայի


համալսարանում էլեկտրոնային լամպերի հիման վրա և կոչվել են ENIAC
(լամպային): Ունեցել են շատ մեծ չափսեր, փոքր արագագործություն,
ցածր հուսալիություն: Աշխատանքի համար պահանջվել է 10.000-20.000
էլեկտրոնային լամպ, էլեկտրոէներգիայի մեծ ծախս և մեծ սպասարկող
անձնակազմ: Հայաստանում և ԽՍՀՄ-ում արտադրվել են 1945-1960թթ.:
Հայաստանում արտադրվել է «Հրազդան» էհմ-ն:
Երկրորդ սերնդի ԷՀՄ-ներ. Առաջի տռանզիստորների ստեղծումից
հետո դրանք սկսեցին օգտագործել էհմ-ների մեջ էլեկտրական լամպերի
փոխարեն, քանի որ դրանք լամպերից ավելի քիչ տեղ էին զբաղեցնում և
ավելի հուսալի էին: Հայաստանում և ԽՍՀՄ-ում արտադրվել են 1960-
1970թթ.: Հայաստանում արտադրվել է «Նաիրի» էհմ-ն:
Երրորդ սերնդի ԷՀՄ-ներ. Ստեղծվել են
միկրոսխեմաների հիման վրա: Հայաստանում և ԽՍՀՄ-ում արտադրվել
են 1985-1987թթ.: Հայաստանում արտադրվել է «Սևան» էհմ-ն:
Չորրորդ սերնդի ԷՀՄ-ներ. Ստեղծվեցին
միկրոպրոցեսորների հիման վրա: Հիմնական առանձնահատկությունը
փոքր չափսերն ու ցածր գինն էր: Էլեմենտային բազայի այսպիսի
փոփոխության հետևանքով ընդլայնվեցին էհմ-ների
հնարավորությունները, ինչպես նաև միկրոպրոցեսորների կիրառումը
հիմք դարձավ անհատական համակարգիչների ստեղծման համար:

§2 Ծրագրային ապահովում

Համակարգչի նորմալ աշխատանքն ապահովելու համար անհրաժեշտ է


տեխնիկական և ծրագրային ապահովում:

⌠ Ծրագրերի այն ամբողջությունը, որն ուղղված է խնդիրների լուծման


համար կոչվում է ծրագրային ապահովում: ⌡

Ծրագրային ապահովումը կարելի է բաժանել 3մասի.


1. Կիրառական ծրագրեր. Այն ծրագրերն են,որոնք նախատեսված են
օգտագործողի կողմից կոնկրետ գործողությոններ կատարելու
համար:Օրինակ. Word, exel, paint, photoshop և այլն:
2. Համակարգային ծրագրեր. նախատեսված են ընդհանուր
օգտագործման համար: Կատարում են օժանդակն ֆունկցիաներ՝
հետևում են համակարգչին միացված արտաքին սարքերի
աշխատանքին, տրամադրում են ինֆորմացիա համակարգչի մասին
և այլն: Այս ծրագրերի մեծ մասը ընդգրկված է օպերացիոն
համակարգի մեջ, իսկ մյուս մասը կամ այլ բեռնավորման
համակարգերի մեջ, կամ էլ տեղադրվում են առանձին, որպես
օժանդակ ծրագրեր:
3. Գործիքային ծրագրեր. Յուրաքանչյուն էհմ ունի իր մեքենայական
լեզուն: Էհմ-ն մաշակում է ծրագիրը, գրված մեքենայական լեզվով:
Ծրագիրը կազմված է հրամաններից, որոնք մեքենայակն լեզուներով
ներկայացվում են 0 և 1-երի միջոցով: Ծրագրեր գրելը հեշտացնելու
համար ստեղծվել են ալգորիթմական լեզուներ, դրանք կոչվում են
բարձր մակարդակի ծրագրավորման լեզուներ, և ի տարբերություն
ցածր մակարդակի ծրագրավորման լեզուներից, կախված չեն
մեքենայի առանձնահատկություններից:

Համակարգային ծրագրերի տեսակները.

1. Օպերացիոն համակարգեր
2. Դրայվերներ
3. Ուտիլիտրներ(օժանդակ ծրագրեր)

1.Օպերացիոն համակարգեր

Օպերացիոն համակարգը համակարգային ծրագիր է, որը նախատեսված


է ծրագրերի աշխատանքը կազմակերպելու և ղեկավարելու համար: ՕՀ-
երը բաժանվում են 2 դասի.
Միախնդիր՝ կատարում են 1տիպի գործողություններ, օր.՝ MS-DOS
ՕՀ-ն: Բազմախնդիր՝ միաժամանակ իրականացնում են մեկից ավեի
տիպի գործառույթներ, օր.՝ WINDOWS ՕՀ-ն:

2.Դրայվերներ

Դրանք ընդլայնում են ՕՀ-ի հնարավորությունները, հնարավորություն են


տալիս նրան աշխատլ այս կամ այն արաքին սարքերի հետ: Սովորաբար
բեռնվում են համակարգչի կամ տվյալ ծրագրի միացման ժամանակ:
3.Ուտիլիտրներ
Նախատեսված են օժանդակն ծառայություններ ապահովելու համար:
Ուտիլիտի վառ օրինակներ են անտիվիրուսները, համակարգչի
դիագնոստիկայի ծրագրերը, արխիվատորները:
§3 Պրոցեսի ստեղծում

Պրոցեսը աշխատող ծրագիր է, որը ներառում է ծրագրի հաշվիչի,


ռեգիստորների և փոփոխականնեի մի քանի հերթական արժեքներ: Յուր.
Պրոցես ունի իր վիրտուալ CPU-ն: Պրոցեսի և ծրագրի տարբերությունը քիչ
է, բայց շատ էական: Պրոցեսը որոշ տեսակի գործունեություն է: Այն ունի
ծրագիր, մուտք, ելք և կառավարում: Մեկ պրոցեսը կարող է կիսվել մի
քանի պրոցեսների միջը մի քանի պլանավորված ալգորիթմով, որը ցույց է
տալիս, թե երբ պետք է ավարտել պրոցեսի աշխատանքը և անցնել մեկ
ուրիշին: Ի հակադրություն, ծրագիրը կարելի է պահպանել սկավառակի
վրա:
Օպերացիոն համակարգը կարիք ունի ճանապարհի, որպեսզի ստեղծի
պրոցես: Այժմ կուսումասիրենք մի քանի խնդիրներ: 4 հիմնական
պատահարները, որոնք ստեղծում են պրոցեսներ.

1. Համակարգի ինիցիալիզացիա
2. Աշխատող պրոցեսի կողմից կանչվող պրոցես
3. Օգտագործողի հարցումը նոր պրոցես ստեղծելու համար
4. Խմբային աշխատանքի ընդումը:

Երբ օպերացիոն համակարգը ներբեռնվում է,հիմնականում մի շարք


պրոցեսներ են ստեղծվում: Սրանցից մի քանիսը առաջնային պրոցեսներ
են, այսինքն պրոցեսներ, որորքն հաղորդակցվում են օգտագործողի հետ
և կատարում աշխատանքը նրանց հետ: Մյուսները աշխատում են
background-ում և ասոցացված չեն օգտագործողի հետ, բայց դրա
փոխարեն ունեն հատուկ ֆունկցիաներ: Օր.՝ background պրոցեսներից
մեկը կարող է ձևավորվել, որպեսզի ընդունի եկող մեյլը՝ օրվա մեծ մասը
քնած լինելով, բայց վերադառնալով կյանք , երբ մեյլը հասնում է:
Ներբեռնված ժամանակում ստեղծված պրոցեսներին զուգահեռ նոր
պրոցեսներ կարող են ստեղծվել հետո նույնպես:
Ինտերակտիվ համակարգերում օգտագործողները
կարող են սկսել ծրագիր՝ տպելով հրաման կամ սեղմելով կոճակ: Այս
գործողություններից մեկը անելիս նոր պրոցես է սկսվում և աշխատեցնում
է ընտրված ծրագիրը: Հրամանից կախված UNIX համակարգի ծրագիրը
աշխատացնելու ժամանակ նոր պրոցեսը կատարվում է այն
պատուհանում որտեղ այն սկսվել է: Windows-ում երբ պրոցեսը սկսվում է,
այն չունի պատուհան, բայց կարող է ստեղծել 1 կամ ավել պատուհաններ:
Երկու համակարգերում էլ օգտագործողները կարող են ունենալ
բազմաթիվ բաց պատուհաններ միաժամանակ, որոնցից յուր-ը
աշխատցնում է որոշակի պրոցե: Վերջին իրավիճակը, երբ
պրոցեսնրեը ստեղծվում են դիմում է միայն խմբային համակարգերին,
որոնք ստեղծված են մեծ համակարգում: Մտածեք օրվա վերջում
խանութների շղթայի ստեղծագործ ղեկավարության մասին: Այստեղ
օգտագործողները կարող են ներկայացնել համակարգի խմբակային
աշխատանքներ:
Բոլոր դեպքերում նոր պրոցեսը ստեղխվում է՝ ունենալով արդեն
գոյություն ունեցող պրոցես, որը կատարում է պրոցես ստեղծող
համակարգի կանչ: Այդ պրոցեսը կարող է լինել աշխատող օգտագործողի
պրոցես, համակարգի պրոցես, որը կանչվել է ստեղնաշարի կամ մկնիկի
միջոցով: Պրոցեսը կատարվում է համակարգային կանչ, որպեսզի ստեղծի
նոր պրոցես: Այս համակարգային կանչը ասում է օպերացիոն
համակագին, որ ստեղծի նոր պրոցես և ցույց է տալիս, թե որ ծրագիրը
պետք է աշխատի այնեղ: UNIX-ում կա միայն մեկ համակարգային կանչ,
որպեսզի ստեղծվի նոր պրոցես(fork): Այս կանչը ստեղծում է կանչվող
պրոցեսի ճշգրիտ կլոնը: fork-ից հետո 2պրոցեսները՝ ծնողը և զավակը
ունեն նույն հիշողության պատկերը, նույն բաց ֆայլերը: Windows-ում
հակառակը. Սովորական Win 32 ֆունկցիոնալ կանչը՝ CreateProcess,
կատարում է և՛ պրոցեսի ստեղծում, և՛ ճիշտ ծրագրի ներբեռնում նոր
պրոցեսի մեջ: Այս կանչը ունի 10 պարամետր, որը ներառում է կատարվող
ծրագիրը, ղեկավարվող գծային պարամետրեր, որպեսզի փոխանցի
ծրագրերը, տարբեր անվտանգության ատրիբուտներ, բիթր, որոնք
կառավարում են արդյոք ֆայլերը անհամբեր են, առաջնային
ինֆորմացիա, պատուհանի սպեցիֆիկացիա, որոնք ստեղծվում են
պրոցեսի համար, և ցուցիչ կառուցվածքի վրա, որտեղ նոր ստեղծված
պրոցեսի մասին ինֆորմացիան վերադարձվում է կանչողին:
Եվ՛ UNIX-ում, և՛ Windows համակարգում
պրոցեսի ստեղծումից հետո ծնող և զավակ պրոցեսները ունեն իրենց
սեփական հասցեների տարածությունը: Եթե պրոցեսներից մեկը իր
հասցեի տիրույթում փոխում է բառ, ապա փոփոխությունը այլ պրոցեսի
համար տեանելի չէ: UNIX-ում զավակի հասցեի տարածությունը ծնողի
պատճենն է: Windows-ում ծնողի և զավակի հասցեները ամենասկզբից էլ
տարբեր են:

§4 Պրոցեսի փոխանցում (ավարտ)

Պրոցեսի ստեղծումից հետո այն սկսում է աշխատել և անում է եղած


աշխատանքը: Բայց պրոցեսը անվերջ չի աշխատում, և վաղ թե ուշ
պրոցեսը ավարտվում է հետևյալ պայմանների դեպքում.

1. Նորմալ ելք
2. Սխալ ելք
3. Անխուսափելի ելք
4. Այլ պրոցեսի կողմից սպանված

Շատ պրոցեսներ ավարտվում են, քանի որ նրանք վերջացրել են իրենց


աշխատանքը: Երբ թարգմանիչը թարգմանում է իրեն տրված ծրագիրը,
նա կատարում է համակարգի կանչ, որպեսզի տեղեկացնի ՕՀ-ին, որ այն
ավարտվել է: Այս կանչը UNIX-ում exit-ն է, իսկ Windows-ում ExitProcess-ը:
Ավարտի երկրորդ պատճառը պրոցեսի սխալն է,
հիմնականում ծրագրի bug-ի պատճառով: Օր.՝ գոյություն չունեցող
հիշողության դիմելը կամ 0-ի բաժանելը: Որոշակի համակարգերում, օր.
UNIX, պրոցեսը կարող է ասել օպերացիոն համակարգին, որ ինքը ուզում է
կատարել հերթական սխալը ինքնուրույն, որի դեպքում պրոցեսը
ընդհատվում է ավարտի փոխարեն: Ավարտի երրորդ
պատճառը այն է,որ պրոցեսը հայտնաբերում է անխուսափելի սխալ: Օր.՝
եթե օգտագործողը տպում է cc.foo.c հրամանը, որպեսզի foo.c ծրագիրը
փոխանցի և ոչ մի այսպիսի ֆայլ չի գտնվում, թարգմանիչը հեշտությամբ
գտնում է այս փաաստը և դուրս գալիս: Էկրանակողմնորոշված
ինտերակտիվ պրոցեսները (word, Internet browser) հիմնականում դուրս
չեն գալիս, երբ վատ պարամետր է տրված: Դրա փոխարեն նրանք բացում
են երկխոսության արկզ և խնդրում ոն օգտագործողին, որ փորձի կրկին:
Չորրորդ պատճառը, որի համար
պրոցեսը կարող է ավարտվել այն է, որ պրոցեսը կատարում է
համակարգի կանչ՝ ասելով ՕՀ-ին, որ հեռացնի այլ պրոցեսներից մեկը: Ոչ՛
UNIX-ը, ոչ՛ Windows-ը չեն աշխատում այս ձևով:

§5 Պրոցեսի հերարխիա (նախապատվություն)

Որոշ համակարգերում, երբ պրոցեսը ստեղծում է մեկ այլ պրոցես, ծնող


պրոցեսը և զավակը շարունակում են կապված լինել որոշակի
ճանապարհնենորվ: Զավակ պրոցեսը կարող է ինքնուրույն ստեղծել այլ
պրոցեսներ՝ ձևավորելով պրոցեսի հերարխիա: Պրոցեսը ունի 1 ծնող, բայց
0 կամ ավել զավակ: UNIX-ում պրոցեսը, իր բոլոր զավակները և հետագա
ժառանգները կազմում են պրոցեսի խումբ: Երբ օգտագործողը
ստեղնաշարից ազդանշան է ուղարկում, ազդանշաը հասնում է պրոցեսի
խմբի բոլոր անդամներին, որոնք վերջերս ասոցացված են եղել
ստեղնաշարի հետ: Յուր. Պրոցես կարող է որսալ ազդանշան, բաց թողնել
այն կամ ձեռնարկել լռությամբ քայլեր, որոնք պետք է սպանվեն
ազդանշանի կողմից: Windows-ը ի հակադրություն այս ամենին, չունի
հերարխիայի մասին գաղափար: Բոլոր պրոցեսները հավասար են:
Պրոցեսի հերարխիայի միակ ակնարկը այն է, թե երբ է պրոցեսը
ստեղծվում, ծնողին տրվում է հատուկ նշան (կոչվում է վեռնագիր), որը
կարող է օգտագործվել զավակին ղեկավարելու համար: Ինչևէ այս նշանը
այլ պրոցեսի տեղափոխելը շատ հեշտ է, ինչն էլ անվավեր է ճանաչում
հերարխիան:
§6 Պրոցեսի վիճակներ

Չնայած յուր. պրոցես անկախ կառույց է՝ իր սեփական ծրագրային


հաշվիչով և ներքին տարածությամբ, պրոցեսները հաճախ կարիք ունեն
այլ պրոցեսների հետ համագործակցության: Մի պրոցեսը կարող է
գեներացնել ելքերը, որոնք մյուս պրոցեսը օգտագործում է որպես մուտք:
Պրոցեսը բլոկավորվում է, որովհետև տրամաբանորեն այն չի կարող
շարունակվել, հիմնականում քանի որ այն սպասում է մուտքին որը դեռ
հասանելի չէ: Նաև հնարավոր է այնպիսի պրոցեսների կանգնեցումը,
որոնք իրականում պատրաստ են ու ի վիճակի են աշխատելու, բայց ՕՀ-ն
որոշել է CPU-ն հատկացնել մեկ այլ պրոցեսի:

Running

Պրոցեսի 3 վիճակները

Blocked
Ready

1. Running (CPU-ն օգտագործելու պահին)


2. Ready (ժամանակավորապես կանգնեցված է, որ թույլ տա մյուս
պրոցեսին աշխատի)
3. Blocked (ի վիճակի չէ աշխատել մինչև որոշակի արտաքին
գործողություններ չլինեն)
Տրամաբանորեն առաջին երկու վիճակները նման են. երկուսում էլ
պրոցեսը կարող է աշխատել, միայն երկրորդ վիճակում
ժամանակավորապես հասանելի CPU չկա: Երրորդ վիճակը
ամբողջությամբ տարբեր է մյուս երկուսից, սրա ժամանակ պրոցեսը չի
կարող աշխատել նույնիսկ եթե CPU-ն լինի և ուրիշ ոչինչ չունենա անելու:
Այս վիճակների համար կարող են լինել փոխանցումներ.
Առաջին փոխանցումը տեղի է ունենում երբ ՕՀ-ն հասկանում է,որ
պրոցեսը հենց այդ պահին չի կարող շարունակվել: Այլ համակարգերում՝
ներառյալ UNIX-ը, երբ պրոցեսը կարդում է հատուկ ֆայլից և այնտեղ
մուտքի հնարավորության չկա,ճրոցեսը ավտոմատ բլոկավորվում է:
Երկրորդ և երրորդ փոխանցումները
կատարվում են պրոցեսը պլանավորողի կողմից: Երկրորդ փոխանցումը
առաջանում է, երբ պլանավորողը որոշում է, որ աշխատող ծրագիրը
բավական երկար ժամանակ աշխատել է և ժամանակն է թույլ տալ մեկ այլ
պրոցեսի, որ ունենա CPU: Երրորդ փոխանցումը կատարվում է,երբ բոլոր
մյուս պրոցեսները կատարել էին իրենց արդար բաժանումը և ժամանակն
է առաջին պրոցեսը ստանա CPU-ն նորից:
Չորրորդ փոխանցումը կատարվում է, երբ արտաքին ազդանշանը
որին պրոցեսը սպասում էր կատարվում է,եթե ոչ մի այլ պրոցես չի
կատարվել:

§7 Ֆայլեր, ֆայլի անուններ

Ֆայլը ինֆորմացիոն բլոկ է,որը ստեղծվում է պրոցեսի կողմից: Դիսկի վրա


պարունկավում են միլիոնավոր միմյանցից ազատ ֆայլեր: Ֆայլերը պետք
է կախված չլինեն պրոցեսների ստեղծումից կամ ավարտից: Այն պետք է
դադարի գոյություն ունենալ միայն այն դեպքում, երբ բացահայտ ջնջվում
է ստեղծողի կողմից: Երբ պրոցեսը ստեղծում է ֆայլ, նա նրան անուն է
տալիս: Երբ պրոցեսը ավարտվում է ֆայլը շարունակում է գոյություն
ունենալ և նրան այդ անվան միջոցով կարող են դիմել ուրիշ պրոցեսներ:
ՕՀ-ն թույլ է տալիս ֆայլի անունը գրել 1-8 հատ տառերով,որոշ դեպքերում
թույլատրվում է օգտագործել նաև թվեր և սիմվոլներ: Շատ ֆայլային
համակարգեր կարող են ունենալ անուններ մինչև 255 սիմվոլից: Մի քանի
ֆայլային համակարգեր տարբերում են մեծատառեռրը և
փոքրատառեռրը, իսկ մի քանիսը չեն տարբերում: UNIX-ում maria, Maria և
MARIA անունները համարվում են 3 տարբեր ֆայլեր, իսկ MS-DOS-ում
երպես մեկ ֆայլ են համարվում: Նոր ՕՀ-երը ունեն սեփական և նորացված
ֆայլային համակարգեր՝ NTFS(New Technology File System ), որը ունի այլ
հատկություններ՝ օր. թույլ է տալիս այնպիսի ֆայլերի անուններ, որոնք
կոդավորված են Unicode-ով: Շատ ՕՀ-եր ունեն այնպիսի ֆայլայի
անուններ, որոնք կազմված են 2 մասից առանձնացված կետով: Կետից
հետո գրվածը կոչվում է ընդլայնված ֆայլային անուն, որը իր մեջ
պարեւնակում է ինֆերմացիա ֆայլի մասին:

§8 Գործողություններ ֆայլերի հետ


Ֆայլը նախատեսված է ինֆորմացիա պահպանելու համար: Տարբեր
համակարգեր ներկայացնում են զանազան գործողություններ, որոնք թույլ
են տալիս պահպանելու և տեղափոխելու ինֆորմացիան:

 Create(ստեղծել)՝ստեղծում է ֆայլ առանց տվյալների: Կանչի


նպատակը հայտարարել նոր ֆայլի հայտնվելը և ատրիբուտների
շարքի տեղադրումը:
 Delete(ջնջել)՝ երբ ֆայլը այլևս պետք չէ, նրան պետք է ջնջել,որպեսզի
ազատվի դիսկի տարածությունը
 Open(բացել)՝ նախքան ֆայլը օգտագործելը պրոցեսը պետք է այն
բացի:
 Close(փակել)՝ ֆայլերին տրված գործ-երը ավարտելուց հետո, ֆայլի
ատրիբուտների և հասցեների կարիքը որոնք դիսկում են նվազում
են, դրա համար ֆայլը պետք է փակել որպեսզի ներքին հիշողության
մեջ տեղ ազատվի:
 Read(կարդալ)՝ տվյալների հաշվումը ֆայլից: Ինչպես կանոնն է
բայթերը գրվում են ընթացիկ դիրքում: Կանչվող պրոցեսը պետք է
ցույց տա անհրաժեշտ տվյալների ծավալը և ստեղծի բուֆեր նրանց
տեղադրման համար:
 Write(գրել)՝ տվյալները գվում են ֆայլում ընթացիկ դիրքից: Եթե այդ
դիրքը գտնվում է ֆայլի վերջում, ապա դրա չափը մեծանում է: Եթե
գտնվում է մեջտեղում, ապա նոր տվյալները գրվում են գոյություն
ունեցողի վերևից:
 Append(ավելացնել)՝ համարվում է Write-ի մի հատված:Կարող է
ավելացնել տվյալներ ֆայլի վերջում: Որպես կանոն համակարգը,
որը իրենից ներկայացնում է մինիմալ քանակով համակարգերի
կանչ, այս կաչը այդտեղ բացակայում է:
 Seek(գտնել)՝ ֆայլերի հետ աշխատելուց պետք է մեթոդ ցույց տալու
դիրքը, որտեղից վերցվում են տվյալները: Այդ մեթոդներից մեկը, որը
ընդունում է համակարգային կանչը Seek-ն է, որը տեղափոխում է
նշված ֆայլը՝ ֆայլում որոշակի դիրքի: Այս կանչի ավարից հետո
տվյալները կարող են հաշվվել կամ գրվել այդ դիրքից:
 Rename՝ ոչ հաճախ օգտագործողին պետք է գալիս փոխել ֆայլի
անունը:

§9 Ֆայլերի կառուցվածքը

1. 1 բայթ

Բայթերի հաջորդականություն: Իրականում ՕՀ-ին


միևնույն է, ինչ կա այս ֆայլում, նա տեսնում է
մաիյն բայթրը; Օգտագործվում է UNIX, Windows
համակարգերում: Երբ ՕՀն հաշվում է, որ ֆայլը
բայթերի հաջ. Է, այն ապահովում է առավելագույն
ճկունություն: Օգտագործողի ծրագրերը ֆայլում
կարող են գրել ինչ ուզում են, ՕՀ-ն չի միջամտում և
չի խանգարում դրան:

2. 1 գրություն

Ֆայլը իրենից ներկայացնում է ֆիքսված


երկարությամբ գրությունների հաջ. , որոնցից յուր-ը
ունի սեփական ներքին կառուցվածքը: Հիմանակն
գաղափարը կայանում է նրանում, որ կարդալու
գործողությունը վերադարձնում
էգրություններից մեկը:

3. Ծառ

Ֆայլը բաղկացած է գրությունների ծառից (պարտադիր չէ նույն


երկարությամբ լինի): Դրանցից յուր-ը ունի բանալի (key) դաշտ: Ծառը
դասավորվում է բանալի բառերով, թույլ տալով կատարել արագ որոնում
բանալի բառերով: Օգտագործվում էUNIX, Windows և մի քանի ունիվերսալ
համակարգերում:

You might also like