տուն Օգտակար հուշումներ Որն ամբողջությամբ ներդրված է unix-ում։ Տարբերությունները UNIX-ի և Linux-ի միջև: Օգտագործողի ID-ներ և օգտվողների խմբեր

Որն ամբողջությամբ ներդրված է unix-ում։ Տարբերությունները UNIX-ի և Linux-ի միջև: Օգտագործողի ID-ներ և օգտվողների խմբեր

Ավելին, նրանցից յուրաքանչյուրը կարող է կատարել բազմաթիվ տարբեր հաշվողական գործընթացներ, որոնք կօգտագործեն տվյալ համակարգչի ռեսուրսները:

Unix-ի երկրորդ վիթխարի արժանիքը նրա բազմպլատֆորմային բնույթն է: Համակարգի միջուկը նախագծված է այնպես, որ այն հեշտությամբ հարմարեցվի գրեթե ցանկացած միկրոպրոցեսորի:

Unix-ն ունի այլ բնորոշ հատկանիշներ.

  • օգտագործելով պարզ տեքստային ֆայլեր՝ համակարգը կարգավորելու և կառավարելու համար.
  • հրամանի տողից գործարկված կոմունալ ծառայությունների լայն տարածում.
  • օգտագործողի հետ փոխազդեցություն վիրտուալ սարքի միջոցով՝ տերմինալ;
  • Ֆիզիկական և վիրտուալ սարքերի և միջգործընթացային հաղորդակցության որոշ միջոցների ներկայացում ֆայլերի տեսքով.
  • մի քանի ծրագրերից խողովակաշարերի օգտագործումը, որոնցից յուրաքանչյուրը կատարում է մեկ խնդիր:

Դիմում

Ներկայումս Unix համակարգերը բաշխված են հիմնականում սերվերների միջև, ինչպես նաև որպես ներկառուցված համակարգեր տարբեր սարքավորումների, այդ թվում՝ սմարթֆոնների համար։ Unix համակարգերը նույնպես գերակշռում են գերհամակարգիչների վրա, մասնավորապես, Linux-ը տեղադրված է TOP500 գերհամակարգիչների 100%-ի վրա։

Unix-ի առաջին տարբերակները գրված էին անսամբլի լեզվով և չունեին ներկառուցված բարձր մակարդակի լեզվի կոմպիլյատոր։ Մոտ 1969 թվականին Քեն Թոմփսոնը, Դենիս Ռիչիի աջակցությամբ, մշակեց և ներդրեց Bee (B) լեզուն, որը լեզվով մշակված BCPL լեզվի պարզեցված (մինի համակարգիչների վրա իրականացման համար) տարբերակն էր։ Bi-ն, ինչպես BCPL-ը, թարգմանված լեզու էր: Թողարկվել է 1972 թ երկրորդ հրատարակությունՅունիքսը վերագրված է Բ. 1969-1973 թթ Bi-ի հիման վրա մշակվել է կազմված լեզու, որը կոչվում է C (C):

Պառակտում

Unix-ի պառակտման կարևոր պատճառը 1980 թվականին TCP/IP արձանագրությունների փաթեթի ներդրումն էր: Մինչ այդ, Unix-ում մեքենա-մեքենա հաղորդակցությունը գտնվում էր սկզբնական շրջանում. հաղորդակցության ամենակարևոր մեթոդը UUCP-ն էր (ֆայլերը մի Unix համակարգից մյուսը պատճենելու միջոց, որն ի սկզբանե աշխատում էր հեռախոսային ցանցերում՝ օգտագործելով մոդեմներ):

Ցանցային հավելվածների համար առաջարկվել է երկու ծրագրավորման միջերես՝ Berkley sockets և TLI տրանսպորտային շերտի միջերես (Transport layer ինտերֆեյս):

Berkley sockets ինտերֆեյսը մշակվել է Բերկլիի համալսարանում և օգտագործել այնտեղ մշակված TCP/IP արձանագրության փաթեթը: TLI-ն ստեղծվել է AT&T-ի կողմից՝ համաձայն OSI մոդելի տրանսպորտային շերտի սահմանման և առաջին անգամ հայտնվել է System V տարբերակում 3: Թեև այս տարբերակը պարունակում է TLI և հոսքեր, այն ի սկզբանե չի ներդրել TCP/IP կամ այլ ցանցային արձանագրություններ, սակայն նման իրականացումներ են տրամադրվել: երրորդ անձանց կողմից..

TCP/IP-ի իրականացումը պաշտոնապես և վերջնականապես ներառվել է System V տարբերակի 4-րդ տարբերակի բազային բաշխման մեջ: Սա, այլ նկատառումների հետ միասին (հիմնականում մարքեթինգային), առաջացրեց վերջնական սահմանազատում Unix-ի երկու ճյուղերի միջև՝ BSD (Բերքլիի համալսարան) և System V (առևտրային տարբերակ AT&T-ից): Հետագայում շատ ընկերություններ, ունենալով System V-ի լիցենզավորումը AT&T-ից, մշակեցին Unix-ի իրենց առևտրային համերը, ինչպիսիք են AIX, CLIX, HP-UX, IRIX, Solaris:

Unix-ի ժամանակակից իրականացումները հիմնականում մաքուր V կամ BSD համակարգեր չեն: Նրանք իրականացնում են առանձնահատկություններ ինչպես System V-ից, այնպես էլ BSD-ից:

Unix-ի նման անվճար օպերացիոն համակարգեր

Այս պահին GNU/Linux-ը և BSD ընտանիքի անդամները արագորեն գրավում են շուկան առևտրային Unix համակարգերից և միաժամանակ ներթափանցում են ինչպես վերջնական օգտագործողի աշխատասեղան, այնպես էլ բջջային և ներկառուցված համակարգեր:

Գույքային համակարգեր

AT&T-ի պառակտումից հետո Unix ապրանքանիշը և սկզբնական կոդերի իրավունքները մի քանի անգամ փոխել են սեփականատերերը, մասնավորապես, դրանք երկար ժամանակ պատկանել են Novell-ին։

Unix-ի ազդեցությունը օպերացիոն համակարգերի էվոլյուցիայի վրա

Unix համակարգերը պատմական մեծ նշանակություն ունեն, քանի որ դրանք տարածել են այսօրվա հայտնի օպերացիոն համակարգերի և ծրագրային ապահովման հայեցակարգերն ու մոտեցումները: Նաև Unix համակարգերի զարգացման ընթացքում ստեղծվեց C լեզուն։

Համակարգերի ծրագրավորման մեջ լայնորեն օգտագործվող C լեզուն, որն ի սկզբանե ստեղծվել էր Unix-ի զարգացման համար, ժողովրդականությամբ գերազանցել է Unix-ին։ C լեզուն առաջին «հանդուրժող» լեզուն էր, որը չփորձեց ծրագրավորման ոճ պարտադրել ծրագրավորողին: C-ն առաջին բարձր մակարդակի լեզուն էր, որը հնարավորություն էր տալիս մուտք գործել պրոցեսորի բոլոր հատկանիշները, ինչպիսիք են հղումները, աղյուսակները, բիթերի տեղաշարժերը, հավելումները և այլն: Մյուս կողմից, C լեզվի ազատությունը հանգեցրեց բուֆերային հոսքի սխալների: ստանդարտ C գրադարանը գործում է որպես ստանում և սկանավորում: Բազմաթիվ տխրահռչակ խոցելիություններ եղան, օրինակ՝ հայտնի Morris որդում օգտագործվածը:

Unix-ի վաղ մշակողները նպաստեցին մոդուլային ծրագրավորման և վերօգտագործման սկզբունքների ներդրմանը ինժեներական պրակտիկայում:

Unix-ը հնարավորություն տվեց օգտագործել TCP/IP արձանագրությունները համեմատաբար էժան համակարգիչների վրա, ինչը հանգեցրեց. արագ աճՀամացանց. Սա իր հերթին նպաստեց Unix-ի անվտանգության, ճարտարապետության և համակարգի կոմունալ ծառայություններում մի քանի հիմնական խոցելիության արագ հայտնաբերմանը:

Ժամանակի ընթացքում Unix-ի առաջատար մշակողները զարգացան մշակութային նորմերզարգացում ծրագրային ապահովում, որոնք նույնքան կարևոր են դարձել, որքան ինքը՝ Յունիքսը։ ( )

Unix-ի նման OS-ների ամենահայտնի օրինակներից են macOS-ը, Solaris-ը, BSD-ն և NeXTSTEP-ը:

Սոցիալական դերը ՏՏ մասնագիտական ​​համայնքում և պատմական դերը

Բնօրինակ Unix-ն աշխատում էր մեծ բազմաֆունկցիոնալ համակարգիչների վրա, որոնք նաև առաջարկում էին ապարատային արտադրողի սեփական օպերացիոն համակարգեր, ինչպիսիք են RSX-11-ը և նրա ժառանգորդ VMS-ը: Չնայած այն հանգամանքին, որ ըստ մի շարք կարծիքների [ ում?] այն ժամանակվա Յունիքսն ուներ թերություններ՝ համեմատած այս օպերացիոն համակարգերի հետ (օրինակ՝ տվյալների բազայի լուրջ շարժիչների բացակայությունը), այն՝ ա) ավելի էժան էր, իսկ երբեմն՝ անվճար ակադեմիական հաստատությունների համար. բ) տեղափոխվեց սարքաշարից սարքաշար և մշակվեց շարժական C լեզվով, որը «անջատեց» ծրագրային ապահովման մշակումը հատուկ սարքաշարից: Բացի այդ, պարզվեց, որ օգտագործողի փորձը «կապված է» սարքավորումներից և արտադրողից. մի մարդ, ով աշխատել է Unix-ի հետ VAX-ում, հեշտությամբ աշխատել է դրա հետ 68xxx և այլն:

Այն ժամանակ ապարատային արտադրողները հաճախ սառնասրտորեն էին վերաբերվում Unix-ին՝ համարելով այն խաղալիք և առաջարկում էին իրենց սեփական OS-ը լուրջ աշխատանքի համար՝ հիմնականում DBMS և դրանց վրա հիմնված բիզնես հավելվածներ առևտրային կառույցներում: Այս մասին հայտնի մեկնաբանություններ կան DEC-ից՝ կապված իր VMS-ի հետ: Կորպորացիաները լսում էին դա, բայց ոչ ակադեմիական միջավայրը, որն իր համար ամեն ինչ ուներ Unix-ում, հաճախ չէր պահանջում արտադրողի պաշտոնական աջակցությունը, կառավարվում էր ինքնուրույն և գնահատում էր Unix-ի էժանությունն ու դյուրատարությունը: Այսպիսով, Unix-ը, թերեւս, առաջին օպերացիոն համակարգն էր, որը շարժական էր տարբեր սարքավորումների համար:

Unix-ի երկրորդ խոշոր վերելքը RISC պրոցեսորների ներդրումն էր մոտ 1989 թվականին: Մինչ այդ էլ եղել են այսպես կոչված. աշխատանքային կայաններ - բարձր հզորության անհատական ​​մեկ օգտագործողի համակարգիչներ՝ բավարար հիշողությամբ, կոշտ սկավառակով և բավականաչափ զարգացած ՕՀ-ով (բազմ առաջադրանք, հիշողության պաշտպանություն)՝ աշխատելու համար։ լուրջ դիմումներ, ինչպիսիք են CAD-ները: Նման մեքենաներ արտադրողների շարքում առանձնանում էր Sun Microsystems-ը, որն իր անունն էր հանում դրանց վրա։

Մինչև RISC պրոցեսորների հայտնվելը, այս կայանները սովորաբար օգտագործում էին Motorola 680x0 պրոցեսորը, նույնը, ինչ Apple-ի համակարգիչներում (թեև ավելի առաջադեմ օպերացիոն համակարգով, քան Apple-ը): Մոտավորապես 1989 թվականին շուկայում հայտնվեցին RISC ճարտարապետության պրոցեսորների կոմերցիոն ներդրումները։ Մի շարք ընկերությունների (Sun և այլք) տրամաբանական որոշումն էր Յունիքսը տեղափոխել այս ճարտարապետություններ, ինչն անմիջապես հանգեցրեց Unix-ի ամբողջ ծրագրային էկոհամակարգի տեղափոխմանը։

Գույքային լուրջ օպերացիոն համակարգերը, ինչպիսին է VMS-ը, սկսեցին իրենց անկումը հենց այս պահից (նույնիսկ եթե հնարավոր լիներ OS-ն ինքնին տեղափոխել RISC, ամեն ինչ շատ ավելի բարդ էր դրա համար նախատեսված հավելվածների հետ, որոնք այս էկոհամակարգերում հաճախ մշակվում էին assembler կամ սեփական լեզուներով, ինչպիսիք են BLISS-ը), և Unix-ը դարձավ աշխարհի ամենահզոր համակարգիչների օպերացիոն համակարգը:

Այնուամենայնիվ, մոտավորապես այս ժամանակահատվածում էկոհամակարգը սկսեց շարժվել դեպի GUI՝ Windows 3.0-ի տեսքով: GUI-ի հսկայական առավելությունները, ինչպես նաև, օրինակ, բոլոր տեսակի տպիչների միասնական աջակցությունը, գնահատվել են ինչպես մշակողների, այնպես էլ օգտագործողների կողմից: Սա մեծապես խարխլեց Unix-ի դիրքերը համակարգիչների շուկայում. այնպիսի իրականացումներ, ինչպիսիք են SCO-ն և Interactive UNIX-ը, չէին կարողանում հաղթահարել Windows-ի հավելվածները: Ինչ վերաբերում է Unix-ի GUI-ին, որը կոչվում է X11 (կային այլ իրականացումներ, շատ ավելի քիչ տարածված), այն չէր կարող ամբողջությամբ աշխատել սովորական օգտագործողի համակարգչի վրա՝ հիշողության պահանջների պատճառով. X11-ը նորմալ շահագործման համար պահանջում էր 16 ՄԲ, մինչդեռ Windows 3.1-ը՝ բավարար կատարողականությամբ: գործարկել Word-ը և Excel-ը միաժամանակ 8 ՄԲ-ով (սա այն ժամանակ ԱՀ-ի ստանդարտ հիշողության չափն էր): Հիշողության բարձր գներով սա սահմանափակող գործոնն էր:

Windows-ի հաջողությունը խթան հաղորդեց Microsoft-ի ներքին նախագծին, որը կոչվում էր Windows NT, որը համատեղելի էր Windows-ի հետ API-ով, բայց միևնույն ժամանակ ուներ լուրջ ՕՀ-ի նույն ճարտարապետական ​​առանձնահատկությունները, ինչ Unix-ը. մեքենաներ, ֆայլերի թույլտվություններ և գրացուցակներ, համակարգի գրանցամատյան: Նաև Windows NT-ն ներկայացրեց NTFS journaling ֆայլային համակարգը, որն այն ժամանակ իր հնարավորություններով գերազանցում էր Unix-ով ստանդարտ մատակարարվող բոլոր ֆայլային համակարգերը.

Չնայած Windows NT-ն ի սկզբանե հայտնի չէր, հիշողության բարձր պահանջների պատճառով (նույն 16 ՄԲ), այն թույլ տվեց Microsoft-ին մուտք գործել սերվերային լուծումների շուկա, ինչպիսին է DBMS-ը։ Այն ժամանակ շատերը չէին հավատում Microsoft-ի կարողությանը, որն ավանդաբար մասնագիտացած էր աշխատասեղանի ծրագրային ապահովման մեջ, դառնալու ձեռնարկատիրական ծրագրային ապահովման շուկայում, որն արդեն ուներ այնպիսի մեծ անուններ, ինչպիսիք են Oracle-ը և Sun-ը: Այս կասկածին ավելացավ նաև այն փաստը, որ Microsoft-ի DBMS-ը՝ SQL Server-ը, սկսվեց որպես Sybase-ի պարզեցված տարբերակ։ SQL Server, լիցենզավորված Sybase-ից և 99% համատեղելի դրա հետ աշխատելու բոլոր ասպեկտներում:

1990-ականների երկրորդ կեսին Microsoft-ը սկսեց Unix-ին մղել նաև կորպորատիվ սերվերների շուկա:

Վերոնշյալ գործոնների համադրությունը, ինչպես նաև 3D վիդեո կարգավորիչների գների անկումը, որոնք տուն են դարձել պրոֆեսիոնալ սարքավորումներից, ըստ էության ոչնչացրեցին աշխատանքային կայանի գաղափարը 2000-ականների սկզբին:

Բացի այդ, Microsoft-ի համակարգերն ավելի հեշտ են կառավարվում, հատկապես սովորական օգտագործման դեպքերում:

Բայց ներս այս պահինսկսվեց Յունիքսի երրորդ կտրուկ վերելքը։

Բացի այդ, Սթոլմանը և նրա ընկերները քաջ գիտակցում էին, որ սեփականության զարգացման գործիքները հարմար չեն ոչ կորպորատիվ ծրագրային ապահովման հաջողության համար: Հետևաբար, նրանք մշակեցին մի շարք կոմպիլյատորներ ծրագրավորման տարբեր լեզուների համար (gcc), որոնք նախկինում մշակված GNU կոմունալ ծրագրերի հետ միասին (փոխարինելով ստանդարտ Unix կոմունալ ծառայությունները), կազմեցին մշակողի համար անհրաժեշտ և բավականին հզոր ծրագրային փաթեթ:

Linux-ի լուրջ մրցակիցն այն ժամանակ FreeBSD-ն էր, սակայն զարգացման կառավարման «մայր» ոճը, ի տարբերություն Linux-ի «բազար» ոճի, ինչպես նաև շատ ավելի տեխնիկական հնագիտական ​​այնպիսի հարցերում, ինչպիսիք են բազմապրոցեսորային մեքենաների և գործարկվող ֆայլերի աջակցությունը: ձևաչափերը, զգալիորեն դանդաղեցրել են FreeBSD-ի զարգացումը Linux-ի համեմատ՝ վերջինիս դարձնելով ազատ ծրագրային ապահովման աշխարհի առաջատարը:

Ապագայում Linux-ը հասել է ավելի ու ավելի բարձունքների.

  • լուրջ ֆիրմային ապրանքների տեղափոխում, ինչպիսին է Oracle-ը.
  • IBM-ի լուրջ հետաքրքրությունն այս էկոհամակարգի նկատմամբ՝ որպես դրա ուղղահայաց լուծումների հիմք.
  • Windows աշխարհից գրեթե բոլոր ծանոթ ծրագրերի անալոգների տեսքը.
  • որոշ ապարատային արտադրողների հրաժարումը Windows-ի պարտադիր նախնական տեղադրումից.
  • նեթբուքերի թողարկում միայն Linux-ով;
  • օգտագործել որպես միջուկ Android-ում:

Այս պահին Linux-ը արժանիորեն հայտնի ՕՀ է սերվերների համար, չնայած շատ ավելի քիչ տարածված աշխատասեղաններում:

Unix OS-ի որոշ ճարտարապետական ​​առանձնահատկություններ

Unix-ի առանձնահատկությունները, որոնք այս ընտանիքը տարբերում են այլ օպերացիոն համակարգերից, ներկայացված են ստորև:

  • Ֆայլային համակարգը ծառի նման է, անունների մեջ զգայուն է մեծատառերը, անունների և ուղիների երկարության շատ թույլ սահմանափակումներ:
  • OS միջուկի կողմից կառուցվածքային ֆայլերի աջակցություն չկա, համակարգային զանգերի մակարդակում ֆայլը բայթերի հոսք է:
  • Հրամանի տողը գտնվում է գործարկվող գործընթացի հասցեի տարածքում և չի վերականգնվում հրամանի թարգմանչի գործընթացից համակարգային զանգի միջոցով (ինչպես պատահում է, օրինակ, RSX-11-ում):
  • «Շրջակա միջավայրի փոփոխականներ» հասկացությունը։
  • Գործընթացների մեկնարկը՝ fork(-ը) կանչելով, այսինքն՝ ընթացիկ պրոցեսը ամբողջ վիճակով կլոնավորելու հնարավորություն։
  • stdin/stdout/stderr հասկացությունները։
  • I/O միայն ֆայլերի նկարագրիչների միջոցով:
  • Ավանդաբար շատ թույլ աջակցություն ասինխրոն I/O-ի համար՝ համեմատած VMS-ի և Windows NT-ի հետ:
  • Հրամանի թարգմանիչը սովորական ծրագիր է, որը հաղորդակցվում է միջուկի հետ սովորական համակարգային զանգերով (RSX-11 և VMS-ում հրամանի թարգմանիչը գործարկվել է որպես հատուկ դիմում, հատուկ տեղաբաշխված հիշողության մեջ, օգտագործելով հատուկ համակարգային զանգեր, համակարգային զանգերը նույնպես աջակցվեցին՝ թույլ տալով հավելվածին մուտք գործել իր մայր հրամանի թարգմանիչը):
  • Հրամանի տողի հրամանը ոչ այլ ինչ է, քան ծրագրի ֆայլի անվանումը, չի պահանջվում հատուկ գրանցում և ծրագրերի հատուկ մշակում որպես հրամաններ (որը սովորական պրակտիկա էր RSX-11, RT-11):
  • Մոտեցումը ծրագրի հետ, որը օգտատիրոջը հարցնում է իր գործողության ռեժիմների մասին, չի ընդունվում, փոխարենը օգտագործվում են հրամանի տողի պարամետրերը (VMS, RSX-11, RT-11 ծրագրերում նույնպես աշխատել են. հրամանի տող, բայց դրա բացակայության դեպքում տրվել է պարամետրեր մուտքագրելու հարցում):
  • Սարքի անվանատարածք սկավառակի վրա /dev գրացուցակում, որը կարող է կառավարվել ադմինիստրատորի կողմից, ի տարբերություն Windows մոտեցման, որտեղ այս անվանատարածքը գտնվում է միջուկի հիշողության մեջ, և այս անվանատարածքի կառավարումը (օրինակ՝ թույլտվությունների կարգավորումը) չափազանց դժվար է, քանի որ սկավառակների վրա մշտական ​​պահեստի բացակայություն (կառուցվում է ամեն անգամ, երբ բեռնում եք):
  • Պարամետրերը պահելու համար տեքստային ֆայլերի լայնածավալ օգտագործումը, ի տարբերություն երկուական պարամետրերի տվյալների բազայի, ինչպես օրինակ Windows-ում:
  • Տեքստի մշակման կոմունալ ծառայությունների լայն կիրառություն՝ սկրիպտների հսկողության ներքո ամենօրյա առաջադրանքները կատարելու համար:
  • ՕՀ-ի «առաջխաղացում» միջուկը բեռնելուց հետո՝ ստանդարտ հրամանների թարգմանիչով սկրիպտներ կատարելով։
  • Լայն կիրառություն

Համառոտ տեղեկատվություն UNIX OS-ի զարգացման մասին

UNIX օպերացիոն համակարգը հայտնվեց 60-ականների վերջին՝ որպես PDP-7 մինիհամակարգչի օպերացիոն համակարգ։ Մշակմանը ակտիվ մասնակցություն են ունեցել Քենեթ Թոմսոնը և Դենիս Ռիչին:

UNIX OS-ի առանձնահատկություններն են՝ բազմաֆունկցիոնալ ռեժիմ, ֆայլային համակարգի նոր ճարտարապետություն և այլն։

1973 թվականին ՕՀ-ի միջուկի մեծ մասը վերաշարադրվեց նոր C լեզվով։

1974 թվականից UNIX օպերացիոն համակարգը տարածվում է ԱՄՆ համալսարաններում սկզբնական կոդով։

UNIX տարբերակները

UNIX-ի տարածումից ի վեր Ամերիկյան համալսարաններՕՀ-ի տարբեր տարբերակներ սկսեցին հայտնվել:

Հեշտացնելու համար AT&T-ն 1982 թվականին միավորեց մի քանի տարբերակներ մեկում, որը կոչվում էր OS տարբերակը՝ System III: 1983 թվականին թողարկվեց «System V» կոմերցիոն տարբերակը: 1993 թվականին AT&T-ն իր իրավունքները վաճառեց UNIX-ին Novell-ին, որը հետագայում X/Open կոնսորցիումին և Santa Cruz Operation-ին (SCO):

UNIX OS-ի մեկ այլ գիծ՝ BSD, մշակվում է Կալիֆորնիայի համալսարանում (Բերքլի): Կան FreeBSD, OpenBSD անվճար տարբերակներ:

OSF / 1 ընտանիքը - Open Software Foundation - ներառում է IBM, DEC և Hewlett Packard-ի ՕՀ կոնսորցիումը: Այս ընտանիքի օպերացիոն համակարգերը ներառում են HP-UX, AIX, Digital UNIX:

UNIX ընտանիքի ՕՀ-ի անվճար տարբերակները

UNIX-ի բազմաթիվ անվճար տարբերակներ կան:

FreeBSD, NetBSD, OpenBSD- BSD OS-ի հիման վրա մշակված տարբերակներ:

Ազատ UNIX համակարգերի ամենահայտնի ընտանիքը ընտանիքի համակարգերն են Linux. Linux-ի առաջին տարբերակը մշակվել է Լինուս Տորվալդսի կողմից 1991 թվականին: Ներկայումս կան մի քանի տարբերակներ: Linux՝ Red Hat, Mandrake, Slackware, SuSE, Debian:

UNIX համակարգերի ընդհանուր առանձնահատկությունները

Տարբեր տարբերակներ UNIX-ը կիսում է մի շարք ընդհանուր հատկանիշներ.

Ժամանակի փոխանակման բազմածրագրային մշակում՝ հիմնված կանխարգելիչ բազմաբնույթ առաջադրանքների վրա;

Multiplayer ռեժիմի աջակցություն;

Մեխանիզմների օգտագործումը վիրտուալ հիշողությունև փոխանակում;

Հիերարխիկ ֆայլային համակարգ;

Մուտքային/ելքային գործառնությունների միավորում՝ հիմնված ֆայլի հայեցակարգի ընդլայնված օգտագործման վրա.

Համակարգի շարժունակություն;

Ցանցային փոխգործակցության միջոցների առկայություն.

UNIX համակարգերի առավելությունները

UNIX օպերացիոն համակարգերի ընտանիքի առավելությունների թվում են.



շարժականություն;

Multitasking-ի արդյունավետ իրականացում;

բացություն;

Հասանելիություն և ստանդարտներին խստորեն պահպանում;

Միասնական ֆայլային համակարգ;

Հզոր հրամանի լեզու;

Զգալի թվի առկայությունը ծրագրային արտադրանք;

TCP/IP արձանագրության փաթեթի իրականացում;

Որպես սերվեր աշխատելու ունակություն կամ աշխատանքային կայան.

UNIX-ի վրա հիմնված սերվերներ

Սերվեր - համակարգիչ, որը մշակում է ցանցի այլ համակարգիչների հարցումները և ապահովում է իր սեփական ռեսուրսները տվյալների պահպանման, մշակման և փոխանցման համար: UNIX-ի վրա հիմնված սերվերը կարող է կատարել հետևյալ դերերը.

Ֆայլի սերվեր;

վեբ սերվեր;

Փոստի սերվեր;

Հեռակա գրանցման (նույնականացման) սերվեր;

Օժանդակ վեբ ծառայությունների սերվերներ (DNS, DHCP);

Ինտերնետ հասանելիության սերվեր

UNIX համակարգչի կառավարում

Սերվերի ռեժիմում UNIX համակարգի հետ աշխատելիս, որպես կանոն, օգտագործվում է ռեժիմը հեռավոր մուտքինչ-որ տերմինալային ծրագրով:

Նիստը սկսվում է մուտքի անունը և մուտքի գաղտնաբառը մուտքագրելով

Հաճախ սերվերի կառավարման առաջադրանքները լուծելու համար դրանք սահմանափակվում են գործողության հրամանի ռեժիմով: Այս դեպքում վերահսկման համար օգտագործվում է հատուկ հրամանների մուտքագրումը հրամանի տող հատուկ ձևաչափով: Հրամանի տողն ունի հատուկ հուշում, ինչպիսին է.

Թիմի ընդհանուր տեսքը.

  1. -bash-2.05b$ հրաման [ընտրանքներ] [տարբերակներ]

Օրինակ, ՕՀ-ի օգնության կանչն ունի հետևյալ տեսքը.

  1. -bash-2.05b$ man [տարբերակներ] [թեմա]
  2. Man հրամանն օգտագործելու հարցում օգնության համար մուտքագրեք
  3. -բաշ-2,05բ$ մարդ տղամարդ

Հրամանի տողի մեկնաբանություն

Հրամաններ մուտքագրելիս օգտագործվում են հետևյալ կոնվենցիաները.

Հրամանի տողում առաջին բառը հրամանի անունն է.

Մնացած բառերը փաստարկներ են։

Փաստարկների շարքում կան ստեղներ (տարբերակներ)՝ յուրաքանչյուր հրամանի համար նախապես սահմանված բառեր (նիշեր), որոնք սկսվում են մեկից (կարճ ձևաչափ) կամ զույգ գծիկներով (երկար ձևաչափ): Օրինակ:

Բաշ-2.05բ$ թար -գ -ֆ արխ.տար *.գ

Bash-2.05b$ tar - -create - -file=arch.tar *.c

Ընտրանքներ սահմանելիս դրանք կարող են համակցվել: Օրինակ, հետևյալ հրամանները համարժեք են.

Բաշ-2,05բ$ լս -ա -լ

բաշ-2,05բ$ լս -լ -ա

Բաշ-2,05բ$ լս -ալ

Մյուս փաստարկները մատնանշում են այն օբյեկտները, որոնց վրա կատարվում են գործողությունները:

Shell փոփոխականներ

Համակարգում աշխատելիս կա նաև պարամետրերը ծրագրերին փոխանցելու միջոց, բացի կեղևի անջատիչներից, շրջակա միջավայրի փոփոխականներից: Set հրամանը օգտագործվում է շրջակա միջավայրի փոփոխական սահմանելու համար: Հրամանի ձևաչափ.

Bash-2.05b$ սահմանել varname=արժեք

Միջավայրի փոփոխականի ջնջումը կատարվում է unset հրամանով:

Փոփոխականի արժեքին մուտք գործելու համար օգտագործվում է $variable_name նշումը, օրինակ՝ հրամանը.

bash-2.05b$ echo $PATH

Ցուցադրում է PATH փոփոխականի արժեքը:

Ինչ է Unix-ը (սկսնակների համար)


Դմիտրի Յ. Կարպով


Ինչի՞ մասին եմ խոսում։


Այս օպուսը չի հավակնում ամբողջական լինելուն: Ավելին, պարզության համար որոշ մանրամասներ միտումնավոր բաց են թողնվում։ Սկզբում ցիկլը մտահղացվել էր որպես ՀՏՀ (ՀՏՀ - հաճախ տրվող հարցեր), բայց, ըստ երևույթին, այն կստացվի որպես «Երիտասարդ զինվորի դասընթաց» կամ «Սերժանտական ​​դպրոց»:

Փորձեցի տալ տարբերի համեմատական ​​բնութագիրը օպերացիոն համակարգեր- Դա այն է, ինչ, իմ կարծիքով, պակասում է դասագրքերի և տեխնիկական ձեռնարկների մեծ մասում։

Չսպասելով Unix-ի փորձառու «oids»-ի բացահայտմանը, ես կամավոր խոստովանություն եմ անում. ես չեմ կարող հավակնել, որ Unix-ի հիանալի գիտակ եմ, և իմ գիտելիքները հիմնականում վերաբերում են FreeBSD-ին: Հուսով եմ, որ դա չի խանգարի:

Այս ֆայլը երկար ժամանակ կլինի «կառուցման փուլում»: :-)

Ինչ է Unix-ը:


Unix-ը ամբողջական, բնիկ բազմաֆունկցիոնալ, բազմաֆունկցիոնալ և բազմաբնույթ տերմինալ օպերացիոն համակարգ է: Ավելի ճիշտ, սա համակարգերի մի ամբողջ ընտանիք է՝ գրեթե ամբողջությամբ համատեղելի ընկերընկերոջ հետ սկզբնական կոդի մակարդակով:

Որոնք են Unix-ները և ինչ մեքենաներով են դրանք աշխատում:


Այս ցուցակը չի հավակնում ամբողջական լինելուն, քանի որ ի լրումն թվարկվածների, կան շատ ավելի քիչ տարածված Unix «ներ» և «Յունիքս» նման համակարգեր, էլ չեմ ասում հնացած մեքենաների համար հնագույն Յունիքսների մասին:

Պայմանականորեն մենք կարող ենք տարբերակել System V և Berkeley ընտանիքները: System V-ը (արտասանվում է «System Five») ունի մի քանի տարբերակներ, որոնցից ամենավերջինը, ըստ իմ իմացության, System V-ի թողարկումն է 4: Բերքլիի համալսարանը հայտնի է ոչ միայն BSD-ի մշակմամբ, այլև ինտերնետային արձանագրությունների մեծ մասով: Այնուամենայնիվ, շատ Unix-ներ համատեղում են երկու համակարգերի առանձնահատկությունները:

Որտեղ ստանալ անվճար Unix:


  • BSD ընտանիք՝ FreeBSD, NetBSD, OpenBSD:
  • Linux ընտանիք՝ RedHat, SlackWare, Debian, Caldera,
  • SCO-ն և Solaris-ը հասանելի են անվճար ոչ առևտրային օգտագործման համար (հիմնականում ուսումնական հաստատություններ).

    Որո՞նք են հիմնական տարբերությունները Unix-ի և այլ ՕՀ-ների միջև:


    Unix-ը բաղկացած է միջուկից՝ ներառված դրայվերներով և կոմունալ ծառայություններով (միջուկից դուրս գտնվող ծրագրեր): Եթե ​​Ձեզ անհրաժեշտ է փոխել կոնֆիգուրացիան (ավելացնել սարք, փոխել նավահանգիստը կամ ընդհատել), ապա միջուկը վերակառուցվում է (վերահղում) օբյեկտի մոդուլներից կամ (օրինակ՝ FreeBSD-ում) աղբյուրներից։ /* Սա լիովին ճիշտ չէ: Որոշ պարամետրեր կարող են շտկվել առանց վերակառուցման: Կան նաև բեռնվող միջուկի մոդուլներ: */

    Ի տարբերություն Unix-ի, Windows-ում (եթե նշված չէ, թե որ մեկը, ապա նկատի ունենք 3.11, 95 և NT) և OS / 2-ը, բեռնելիս իրականում կապում են դրայվերները շարժման ընթացքում: Միևնույն ժամանակ, կոմպակտությունը. հավաքված միջուկը և ընդհանուր կոդի վերօգտագործումը մեծության կարգով ավելի ցածր են, քան: Բացի այդ, եթե համակարգի կոնֆիգուրացիան անփոփոխ է, Unix միջուկը կարող է գրվել ROM-ում և գործարկվել _not_booted_ RAM-ում՝ առանց վերամշակման (դուք միայն պետք է փոխել սկզբնական մասը: BIOS) Կոդի կոմպակտությունը հատկապես կարևոր է, քանի որ միջուկը և դրայվերները երբեք չեն հեռանում, ֆիզիկական հիշողությունը չի փոխվում սկավառակի վրա:

    Unix-ը ամենաբազմհարթակ ՕՀ-ն է: WindowsNT-ը փորձում է ընդօրինակել այն, բայց մինչ այժմ դա հաջող չի եղել. MIPS-ից և POWER-PC-ից հրաժարվելուց հետո W "NT-ը մնաց միայն երկու հարթակներում՝ ավանդական i * 86 և DEC Alpha: Իհարկե, ծրագրերի տեղափոխելիությունը մեկից: Unix-ի տարբերակը սահմանափակված է մեկ այլով: Անփույթ գրավոր ծրագիր, որը հաշվի չի առնում Unix-ի իրագործման տարբերությունները, անհիմն ենթադրություններ անելով, ինչպիսին է «ամբողջ թվով փոփոխականը պետք է զբաղեցնի չորս բայթ», կարող է լուրջ վերամշակում պահանջել, բայց այն դեռևս շատ մեծության կարգ է: ավելի հեշտ է, քան, օրինակ, OS / 2-ից NT տեղափոխելը:

    Ինչու՞ Յունիքս:


    Unix-ը օգտագործվում է և՛ որպես սերվեր, և՛ որպես աշխատանքային կայան: Սերվերի անվանակարգում նրա հետ մրցում են MS WindowsNT, Novell Netware, IBM OS/2 Warp Connect, DEC VMS և mainframe օպերացիոն համակարգերը։ Յուրաքանչյուր համակարգ ունի իր կիրառման ոլորտը, որտեղ այն ավելի լավն է, քան մյուսները:

  • WindowsNT-ը նախատեսված է ադմինիստրատորների համար, ովքեր նախընտրում են ծանոթ ինտերֆեյսը, քան ծախսերի խնայողությունն ու բարձր կատարողականությունը:
  • Netware - ցանցերի համար, որտեղ անհրաժեշտ են ֆայլերի և տպիչների բարձր արդյունավետության ծառայություններ, իսկ այլ ծառայություններ այնքան էլ կարևոր չեն: Հիմնական թերությունը- Դժվար է հավելվածներ գործարկել Netware սերվերի վրա:
  • OS / 2-ը լավ է, որտեղ ձեզ անհրաժեշտ է «թեթև» հավելվածի սերվեր: Այն պահանջում է ավելի քիչ ռեսուրսներ, քան NT-ն, ավելի ճկուն է կառավարման մեջ (չնայած այն կարող է ավելի դժվար լինել կարգավորելը), և բազմաբնույթ առաջադրանքները շատ լավ են: Մուտքի իրավունքների թույլտվությունը և տարբերակումը չի իրականացվում ՕՀ մակարդակում, ինչը ավելի քան վճարվում է հավելվածի սերվերների մակարդակում իրականացմամբ: (Սակայն հաճախ մյուս ՕՀ-երը նույնն են անում): Շատ FIDOnet և BBS կայաններ հիմնված են OS/2-ի վրա:
  • VMS-ը հզոր, ոչ մի կերպ չի զիջում Unix-ի (և շատ առումներով նրան գերազանցում է) հավելվածների սերվերը, այլ միայն DEC-ի VAX և Alpha հարթակների համար:
  • Mainframes - սպասարկելու շատ մեծ թվով օգտատերերի (մի քանի հազար կարգի): Բայց այս օգտատերերի աշխատանքը սովորաբար կազմակերպվում է ոչ թե հաճախորդ-սերվեր փոխազդեցության, այլ հոսթ-տերմինալի տեսքով։ Այս զույգի տերմինալը ավելի շուտ հաճախորդ չէ, այլ սերվեր (Internet World, N3 1996 թ.): Հիմնական սարքերի առավելությունները ներառում են ավելի բարձր անվտանգություն և սխալների հանդուրժողականություն, իսկ թերությունները նշված որակներին համապատասխանող գինն են:

    Unix-ը լավ է հմուտ (կամ լինել ցանկացող) ադմինիստրատորի համար, քանի որ պահանջում է իր մեջ տեղի ունեցող գործընթացների գործունեության սկզբունքների իմացություն: Իրական բազմաբնույթ առաջադրանքները և կոշտ հիշողության փոխանակումը ապահովում են համակարգի բարձր հուսալիությունը, թեև Unix-ի ֆայլերի և տպման ծառայությունների կատարումը զիջում է Netware-ին:

    WindowsNT-ի համեմատ օգտատերերի ֆայլերին հասանելիության իրավունքներ տրամադրելու ճկունության բացակայությունը դժվարացնում է _at_the_file_system_ մակարդակի խմբային մուտքը տվյալների (ավելի ճիշտ՝ ֆայլերի) կազմակերպումը, ինչը, իմ կարծիքով, փոխհատուցվում է իրականացման հեշտությամբ, ինչը նշանակում է ավելի քիչ սարքաշար: պահանջները։ Այնուամենայնիվ, այնպիսի ծրագրեր, ինչպիսին է SQL Server-ը, ինքնուրույն լուծում է տվյալներին խմբային մուտքի խնդիրը, այնպես որ, իմ կարծիքով, հստակորեն ավելորդ է որոշակի օգտվողին _file_ մուտքը արգելելու հնարավորությունը, որը բացակայում է Unix-ում:

    Գրեթե բոլոր արձանագրությունները, որոնց վրա հիմնված է ինտերնետը, մշակվել են Unix-ի ներքո, մասնավորապես, TCP/IP արձանագրությունների փաթեթը հորինվել է Բերքլիի համալսարանում:

    Unix-ի անվտանգությունը, երբ պատշաճ կերպով կառավարվում է (և երբ ոչ), ոչ մի կերպ չի զիջում ոչ Novell-ին, ոչ WindowsNT-ին:

    Unix-ի կարևոր հատկությունը, որը նրան ավելի է մոտեցնում mainframes-ին, նրա բազմակողմանիությունն է, շատ օգտվողներ կարող են միաժամանակ ծրագրեր գործարկել նույն Unix մեքենայի վրա: Եթե ​​ձեզ հարկավոր չէ գրաֆիկական պատկերներ օգտագործել, կարող եք ձեռք բերել էժան տեքստային տերմինալներ (մասնագիտացված կամ էժան համակարգիչների վրա հիմնված) միացված դանդաղ տողերով: Դրա հետ միայն VMS-ն է մրցակցում։ Գրաֆիկական X տերմինալները կարող են օգտագործվել նաև այն դեպքում, երբ նույն էկրանին առկա են տարբեր մեքենաների վրա աշխատող գործընթացների պատուհաններ:

    Աշխատանքային կայանի անվանակարգում Unix-ը մրցում է MS Windows*, IBM OS/2, Macintosh-ի և Acorn RISC-OS-ի հետ։

  • Windows - նրանց համար, ովքեր գնահատում են համատեղելիությունը արդյունավետության փոխարեն; նրանց համար, ովքեր պատրաստ են գնել մեծ քանակությամբ հիշողություն, սկավառակի տարածություն և մեգահերց; նրանց համար, ովքեր սիրում են չխորանալ էության մեջ, սեղմեք պատուհանի կոճակները: Ճիշտ է, վաղ թե ուշ դուք դեռ պետք է ուսումնասիրեք համակարգի և արձանագրությունների սկզբունքները, բայց հետո արդեն ուշ կլինի՝ ընտրությունը կատարված է։ կարևոր Windows-ի առավելությունըՊետք է նաև ճանաչել մի շարք ծրագրակազմ գողանալու հնարավորությունը:
  • OS/2 - OS/2-ի երկրպագուների համար: :-) Թեև, ըստ որոշ զեկույցների, OS / 2-ն ավելի լավ է փոխազդում, քան մյուսները հիմնական և IBM ցանցերի հետ:
  • Macintosh - գրաֆիկական, հրատարակչական և երաժշտական ​​աշխատանքների համար, ինչպես նաև նրանց համար, ովքեր սիրում են պարզ, գեղեցիկ ինտերֆեյս և չեն ցանկանում (չեն կարող) հասկանալ համակարգի մանրամասները:
  • ROM-ում բռնկված RISC-OS-ը թույլ է տալիս ժամանակ չկորցնել օպերացիոն համակարգը տեղադրելու և ձախողումներից հետո այն վերականգնելու վրա: Բացի այդ, դրա տակ գտնվող գրեթե բոլոր ծրագրերը ռեսուրսները շատ տնտեսապես օգտագործում են, ուստի փոխանակման կարիք չունեն և շատ արագ են աշխատում:

    Unix-ը գործում է ինչպես համակարգիչների, այնպես էլ RISC պրոցեսորներով հզոր աշխատանքային կայանների վրա, իսկապես հզոր CAD համակարգերը և աշխարհագրական տեղեկատվական համակարգերը գրված են Unix-ի տակ: Unix-ի մասշտաբայնությունը, իր բազմպլատֆորմ բնույթի պատճառով, մեծության կարգ է, որը գերազանցում է ցանկացած այլ օպերացիոն համակարգ, որի մասին ես գիտեմ:

    Unix-ի հիմնական հասկացությունները


    Unix-ը հիմնված է երկու հիմնական հասկացությունների վրա՝ «գործընթաց» և «ֆայլ»: Գործընթացները համակարգի դինամիկ կողմն են, դրանք սուբյեկտներ են. իսկ ֆայլերը՝ ստատիկ, սրանք պրոցեսների օբյեկտներն են։ Գրեթե ամբողջ միջերեսը միջուկի և միմյանց հետ փոխազդող գործընթացների միջև կարծես ֆայլեր գրելու/կարդալու է: /* Չնայած մենք պետք է ավելացնենք այնպիսի բաներ, ինչպիսիք են ազդանշանները, ընդհանուր հիշողությունը և սեմաֆորները: */

    Գործընթացները չպետք է շփոթել ծրագրերի հետ. մեկ ծրագիր (սովորաբար տարբեր տվյալներով) կարող է իրականացվել տարբեր գործընթացներում: Գործընթացները կարելի է մոտավորապես բաժանել երկու տեսակի՝ առաջադրանքներ և դևեր: Առաջադրանքը գործընթաց է, որն անում է իր աշխատանքը՝ փորձելով հնարավորինս շուտ ավարտել այն և ավարտին հասցնել: Դեյմոնը սպասում է այն իրադարձություններին, որոնք պետք է մշակի, մշակում է տեղի ունեցած իրադարձությունները և նորից սպասում. այն սովորաբար ավարտվում է մեկ այլ գործընթացի հերթականությամբ, ամենից հաճախ այն սպանվում է օգտագործողի կողմից՝ տալով «kill process_number» հրամանը։ /* Այս առումով պարզվում է, որ ինտերակտիվ առաջադրանքը, որը մշակում է օգտատիրոջ մուտքագրումը, ավելի շատ նման է դեյմոնի, քան առաջադրանքի: :-) */

    Ֆայլային համակարգ


    Հին Unix "s-ում անվանմանը վերագրվել է 14 տառ, նորերում այս սահմանափակումը հանվել է: Գրացուցակում, բացի ֆայլի անունից, կա նրա inode նույնացուցիչը՝ բլոկի համարը որոշող ամբողջ թիվ: որոնցում գրանցված են ֆայլի ատրիբուտները: Դրանցից օգտվողի համարը` ֆայլի սեփականատերը, թվային խմբերը Ֆայլի հղումների քանակը (տես ստորև) Ստեղծման ամսաթիվը և ժամը, վերջին փոփոխությունը և ֆայլի վերջին մուտքը Մուտքի ատրիբուտներ Մուտքի ատրիբուտներ պարունակում է ֆայլի տեսակը (տե՛ս ստորև), գործարկման ժամանակ իրավունքների փոփոխման հատկանիշները (տես ստորև) և սեփականատիրոջ, դասընկերոջ և այլոց՝ կարդալու, գրելու և գործարկելու համար դրա հասանելիության իրավունքը: Ֆայլը ջնջելու իրավունքը որոշվում է ծածկված գրացուցակում գրելու իրավունք:

    Յուրաքանչյուր ֆայլ (բայց ոչ գրացուցակը) կարող է հայտնի լինել մի քանի անուններով, բայց դրանք պետք է լինեն նույն բաժանման վրա: Ֆայլի բոլոր հղումները հավասար են. ֆայլը ջնջվում է, երբ ֆայլի վերջին հղումը հեռացվում է: Եթե ​​ֆայլը բաց է (կարդալու և/կամ գրելու համար), ապա դրա հղումների թիվը ավելանում է ևս մեկով. ահա թե որքան ծրագրեր, որոնք բացում են ժամանակավոր ֆայլը, անմիջապես ջնջում են այն, որպեսզի եթե դրանք խափանվեն, երբ օպերացիոն համակարգը փակի գործընթացի միջոցով բացված ֆայլերը, այս ժամանակավոր ֆայլը կջնջվի օպերացիոն համակարգի կողմից:

    Ֆայլային համակարգի ևս մեկ հետաքրքիր առանձնահատկություն կա. եթե ֆայլը ստեղծելուց հետո դրան գրելը ոչ թե անընդմեջ, այլ մեծ ընդմիջումներով է եղել, ապա այդ ինտերվալների համար սկավառակի տեղ չի հատկացվում։ Այսպիսով, բաժանման ֆայլերի ընդհանուր ծավալը կարող է ավելի մեծ լինել, քան բաժանման ծավալը, և երբ այդպիսի ֆայլը ջնջվում է, ավելի քիչ տարածք է ազատվում, քան դրա չափը:

    Ֆայլերը հետևյալ տեսակների են.

    • կանոնավոր ուղղակի մուտքի ֆայլ;
    • գրացուցակ (ֆայլ, որը պարունակում է այլ ֆայլերի անուններ և նույնացուցիչներ);
    • խորհրդանշական հղում (տող այլ ֆայլի անունով);
    • արգելափակման սարք (սկավառակ կամ մագնիսական ժապավեն);
    • սերիական սարք (տերմինալներ, սերիական և զուգահեռ պորտեր, սկավառակներն ու ժապավենները նույնպես ունեն սերիական սարքի միջերես)
    • անվանված ալիք։

    Սարքերի հետ աշխատելու հատուկ ֆայլերը սովորաբար գտնվում են /dev գրացուցակում: Ահա դրանցից մի քանիսը (FreeBSD անվանակարգում).

    • tty* - տերմինալներ, ներառյալ.
      • ttyv - վիրտուալ վահանակ;
      • ttyd - DialIn տերմինալ (սովորաբար սերիական նավահանգիստ);
      • cuaa - DialOut գիծ
      • ttyp - ցանցային կեղծ տերմինալ;
      • tty - տերմինալ, որի հետ կապված է առաջադրանքը.
    • wd* - կոշտ սկավառակներ և դրանց ենթաբաժիններ, ներառյալ.
      • wd - կոշտ սկավառակ;
      • wds - այս սկավառակի բաժանումը (այստեղ կոչվում է «հատված»);
      • wds - բաժանման բաժին;
    • fd - անգործունյա սկավառակ;
    • rwd*, rfd* - նույնը, ինչ wd* և fd*, բայց հաջորդական մուտքով;

    Երբեմն պահանջվում է, որ օգտատիրոջ կողմից գործարկված ծրագիրը չունենա այն գործարկած օգտատիրոջ իրավունքները, այլ ուրիշների իրավունքները: Այս դեպքում փոփոխության իրավունքի հատկանիշը սահմանվում է օգտվողի՝ ծրագրի սեփականատիրոջ իրավունքներին: (Որպես օրինակ, ես կտամ մի ծրագիր, որը կարդում է ֆայլը հարց ու պատասխանով և դրա կարդացածի հիման վրա թեստավորում է այս ծրագիրը գործարկող ուսանողին: Ծրագիրը պետք է իրավունք ունենա կարդալու ֆայլը պատասխաններով, բայց ուսանողը ով գործարկեց այն չպետք է։) Օրինակ՝ աշխատում է passwd ծրագիրը, որով օգտատերը կարող է փոխել իր գաղտնաբառը։ Օգտագործողը կարող է գործարկել passwd ծրագիրը, այն կարող է փոփոխություններ կատարել համակարգի տվյալների բազայում, բայց օգտվողը չի կարող:

    Ի տարբերություն DOS-ի, որտեղ ֆայլի ամբողջական անվանումը նման է «drive:\path\name» և RISC-OS-ի, որտեղ այն կարծես «-file_system-drive:$.path.name» (որն ընդհանուր առմամբ ունի իր առավելությունները), Unix-ն օգտագործում է թափանցիկ: «/ path/name» նշում: Արմատը չափվում է այն բաժանումից, որտեղից բեռնվել է Unix միջուկը: Եթե ​​մենք պատրաստվում ենք օգտագործել մեկ այլ միջնորմ (և boot partition-ը սովորաբար պարունակում է միայն հիմնականը բեռնման համար), ապա օգտագործվում է «mount /dev/partitionfile dir» հրամանը: Միևնույն ժամանակ, ֆայլերը և ենթադիրեկտորիաները, որոնք նախկինում եղել են այս գրացուցակում, դառնում են անհասանելի մինչև բաժանման ապամոնտաժումը (բնականաբար, բոլոր նորմալ մարդիկ օգտագործում են դատարկ գրացուցակներ՝ միջնորմները տեղադրելու համար): Մոնտաժելու և ապամոնտաժելու իրավունք ունի միայն վերահսկողը:

    Գործարկման ժամանակ յուրաքանչյուր գործընթաց կարող է ակնկալել, որ իր համար բաց կլինի երեք ֆայլ, որոնք նա գիտի որպես ստանդարտ մուտքագրում stdin 0 նկարագրիչում; ստանդարտ ելքային stdout նկարագրիչ 1-ի վրա; և ստանդարտ ելք stderr նկարագրիչ 2-ում: Երբ մուտք է գործում, երբ օգտվողը մուտքագրում է օգտվողի անուն և գաղտնաբառ, և shell-ը գործարկվում է, երեքն էլ ուղղվում են դեպի /dev/tty; հետագայում դրանցից ցանկացածը կարող է վերահղվել ցանկացած ֆայլ:

    հրամանի թարգմանիչ


    Unix-ը գրեթե միշտ գալիս է երկու կեղևով՝ sh (shell) և csh (C-ի նմանվող կեղև): Նրանցից բացի կան նաև բաշ (Բորն), կշ (Կորն) և այլն։ Առանց մանրամասնելու, ահա ընդհանուր սկզբունքները.

    Բոլոր հրամանները, բացառությամբ ընթացիկ գրացուցակի փոփոխման, շրջակա միջավայրի փոփոխականների (միջավայրի) և օպերատորների կառուցվածքային ծրագրավորում- արտաքին ծրագրեր. Այս ծրագրերը սովորաբար գտնվում են /bin և /usr/bin դիրեկտորիաներում: Ծրագրեր համակարգի կառավարում- /sbin և /usr/sbin դիրեկտորիաներում:

    Հրամանը բաղկացած է մեկնարկվող ծրագրի անունից և փաստարկներից: Փաստարկները բաժանվում են հրամանի անունից և միմյանցից՝ բացատներով և ներդիրներով: Որոշ հատուկ նիշեր մեկնաբանվում են հենց կճեպով: Հատուկ նիշերն են " "` \ ! $ ^ * ? | & ; (էլ ինչ?):

    Դուք կարող եք մի քանի հրամաններ տալ նույն հրամանի տողում: Թիմերը կարող են բաժանվել. (հերթական հրամանի կատարում), & (ասինխրոն միաժամանակյա հրամանի կատարում), | (սինքրոն կատարում, առաջին հրամանի stdout-ը կսնվի երկրորդի stdin-ին):

    Դուք կարող եք նաև ստանդարտ մուտքագրում ֆայլից՝ ներառելով «<файл" (без кавычек); можно направить стандартный вывод в файл, используя ">file" (ֆայլը կզրոյացվի) կամ ">>ֆայլ" (գրումը կկատարվի ֆայլի վերջում): Ծրագիրն ինքնին չի ստանա այս արգումենտը. իմանալու, որ մուտքը կամ ելքը վերահանձնվել է, ծրագիրը ինքը պետք է որոշ շատ ոչ տրիվիալ ժեստեր անի:

    Ձեռնարկներ - մարդ


    Եթե ​​Ձեզ անհրաժեշտ է տեղեկատվություն որևէ հրամանի վերաբերյալ, թողարկեք «man command_name» հրամանը: Սա կցուցադրվի էկրանին «ավելին» ծրագրի միջոցով. տեսեք, թե ինչպես կառավարել այն ձեր Unix-ում «man more» հրամանով:

    Լրացուցիչ փաստաթղթեր

  • UNIX- շարժական, բազմաֆունկցիոնալ և բազմաֆունկցիոնալ օպերացիոն համակարգերի ընտանիք:

    UNIX-ի հիմքում ընկած գաղափարները հսկայական ազդեցություն ունեցան համակարգչային օպերացիոն համակարգերի զարգացման վրա: UNIX համակարգերն այժմ ճանաչվում են որպես պատմականորեն կարևորագույն օպերացիոն համակարգերից մեկը:

    Վերանայում

    Առաջին UNIX համակարգը մշակվել է AT&T-ի Bell Labs բաժնի կողմից: Այդ ժամանակից ի վեր ստեղծվել են մեծ թվով տարբեր UNIX համակարգեր: Միայն այն օպերացիոն համակարգերը, որոնք հավաստագրված են Single UNIX Specification-ով, իրավաբանորեն իրավունք ունեն կոչվելու «UNIX»: Մնացածը, թեև օգտագործում են նմանատիպ հասկացություններ և տեխնոլոգիաներ, կոչվում են UNIX-ի նման օպերացիոն համակարգեր (անգլ. UNIX-like): Հակիրճ լինելու համար այս հոդվածում UNIX համակարգերը վերաբերում են ինչպես իրական UNIX, այնպես էլ UNIX-ի նման օպերացիոն համակարգերին:

    Առանձնահատկություններ

    UNIX-ի նման համակարգերի և այլ օպերացիոն համակարգերի հիմնական տարբերությունն այն է, որ դրանք իրենց էությամբ բազմաբնույթ օգտատերերի բազմաբնույթ առաջադրանք ունեցող համակարգեր են: Այսինքն՝ միևնույն ժամանակ շատ մարդիկ կարող են միանգամից կատարել բազմաթիվ հաշվողական առաջադրանքներ (գործընթացներ)։ Նույնիսկ աշխարհահռչակ Microsoft Windows համակարգը չի կարելի անվանել լիարժեք բազմաֆունկցիոնալ համակարգ, քանի որ, բացի սերվերի որոշ տարբերակներից, միայն մեկ մարդ կարող է միաժամանակ աշխատել մեկ Windows համակարգչի վրա: Շատ մարդիկ կարող են միանգամից աշխատել Unix-ի վրա, և նրանցից յուրաքանչյուրը կարող է կատարել բազմաթիվ տարբեր հաշվողական գործընթացներ, որոնք կօգտագործեն տվյալ համակարգչի ռեսուրսները:

    Unix-ի երկրորդ վիթխարի արժանիքը նրա բազմպլատֆորմային բնույթն է: Համակարգի միջուկը նախագծված է այնպես, որ այն հեշտությամբ հարմարեցվի գրեթե ցանկացած միկրոպրոցեսորի:

    UNIX-ն ունի այլ բնորոշ հատկանիշներ.

    • օգտագործելով պարզ տեքստային ֆայլեր՝ համակարգը կարգավորելու և կառավարելու համար.
    • հրամանի տողից գործարկված կոմունալ ծառայությունների լայն տարածում.
    • օգտագործողի հետ փոխազդեցություն վիրտուալ սարքի միջոցով՝ տերմինալ;
    • Ֆիզիկական և վիրտուալ սարքերի և միջգործընթացային հաղորդակցության որոշ միջոցների ներկայացում ֆայլերի տեսքով.
    • մի քանի ծրագրերից խողովակաշարերի օգտագործումը, որոնցից յուրաքանչյուրը կատարում է մեկ խնդիր:

    Դիմում

    Ներկայումս UNIX համակարգերը բաշխված են հիմնականում սերվերների միջև, ինչպես նաև ներկառուցված համակարգեր տարբեր սարքավորումների համար: ՕՀ-երի շարքում աշխատանքային կայանների համար և տնային օգտագործում UNIX-ը և UNIX-ի նման օպերացիոն համակարգերը ժողովրդականությամբ երկրորդն են (macOS), երրորդը (GNU/Linux) և շատ ուրիշներ Microsoft Windows-ից հետո:

    Պատմություն

    նախորդները

    UNIX-ի առաջին տարբերակները գրված էին անսամբլի լեզվով և չունեին ներկառուցված կոմպիլյատոր՝ բարձր մակարդակի լեզվով։ Մոտ 1969 թվականին Քեն Թոմփսոնը, Դենիս Ռիչիի աջակցությամբ, մշակեց և ներդրեց Bee (B) լեզուն, որը լեզվով մշակված BCPL լեզվի պարզեցված (մինի համակարգիչների վրա իրականացման համար) տարբերակն էր։ Bi-ն, ինչպես BCPL-ը, թարգմանված լեզու էր: Թողարկվել է 1972 թ երկրորդ հրատարակություն UNIX-ը վերագրված է Բ. 1969-1973 թթ Bi-ի հիման վրա մշակվել է կազմված լեզու, որը կոչվում է C (C):

    Պառակտում

    UNIX-ի պառակտման կարևոր պատճառը 1980 թվականին TCP/IP արձանագրությունների փաթեթի ներդրումն էր: Մինչ այդ UNIX-ում մեքենա-մեքենա հաղորդակցությունը գտնվում էր սկզբնական շրջանում. հաղորդակցության ամենակարևոր մեթոդը UUCP-ն էր (ֆայլերը UNIX համակարգից մյուսը պատճենելու միջոց, որն ի սկզբանե աշխատում էր հեռախոսային ցանցերի միջոցով՝ օգտագործելով մոդեմներ):

    Ցանցային հավելվածների համար առաջարկվել է երկու ծրագրավորման միջերես՝ Berkley sockets (Berkeley socket) և տրանսպորտային շերտի միջերես TLI (Eng. Transport Layer Interface):

    Berkley sockets ինտերֆեյսը մշակվել է Բերկլիի համալսարանում և օգտագործել այնտեղ մշակված TCP/IP արձանագրության փաթեթը: TLI-ն ստեղծվել է AT&T-ի կողմից՝ համաձայն OSI մոդելի տրանսպորտային շերտի սահմանմանը և առաջին անգամ հայտնվել է System V տարբերակ 3-ում: նման իրականացումներն իրականացվել են երրորդ անձանց կողմից:

    TCP/IP-ի իրականացումը պաշտոնապես և վերջնականապես ներառված էր System V տարբերակի 4-րդ տարբերակի բազային բաշխման մեջ: Սա, այլ նկատառումների հետ միասին (հիմնականում մարքեթինգային), առաջացրեց վերջնական սահմանազատում UNIX-ի երկու ճյուղերի միջև՝ BSD (Բերքլիի համալսարան) և System V (առևտրային տարբերակ AT&T-ից): Հետագայում, շատ ընկերություններ, լիցենզավորելով System V-ը AT&T-ից, մշակեցին UNIX-ի իրենց առևտրային համերը, ինչպիսիք են AIX, CLIX, HP-UX, IRIX, Solaris:

    UNIX-ի ժամանակակից իրականացումները հիմնականում մաքուր V կամ BSD համակարգեր չեն: Նրանք իրականացնում են առանձնահատկություններ ինչպես System V-ից, այնպես էլ BSD-ից:

    UNIX-ի նման անվճար օպերացիոն համակարգեր

    Այս պահին GNU/Linux-ը և BSD ընտանիքի անդամները արագորեն գրավում են շուկան առևտրային UNIX համակարգերից և միաժամանակ ներթափանցում են ինչպես վերջնական օգտագործողի աշխատասեղան, այնպես էլ շարժական և ներկառուցված համակարգեր:

    Գույքային համակարգեր

    AT&T-ի պառակտումից հետո UNIX ապրանքանիշը և սկզբնական կոդերի իրավունքները մի քանի անգամ փոխել են սեփականատերերը, մասնավորապես, դրանք երկար ժամանակ պատկանել են Novell-ին։

    UNIX-ի ազդեցությունը օպերացիոն համակարգերի էվոլյուցիայի վրա

    UNIX համակարգերը պատմական մեծ նշանակություն ունեն, քանի որ դրանք տարածել են որոշ հասկացություններ և մոտեցումներ, որոնք այսօր տարածված են ՕՀ-ի և ծրագրային ապահովման ոլորտում: Նաև UNIX համակարգերի զարգացման ընթացքում ստեղծվեց C լեզուն։

    Համակարգերի ծրագրավորման մեջ լայնորեն օգտագործվող C լեզուն, որն ի սկզբանե ստեղծվել էր UNIX-ի զարգացման համար, ժողովրդականությամբ գերազանցել է UNIX-ին։ C լեզուն առաջին «հանդուրժող» լեզուն էր, որը չփորձեց ծրագրավորման ոճ պարտադրել ծրագրավորողին: C-ն առաջին բարձր մակարդակի լեզուն էր, որը հնարավորություն տվեց մուտք գործել պրոցեսորի բոլոր առանձնահատկությունները, ինչպիսիք են հղումները, աղյուսակները, բիթերի տեղաշարժերը, ավելացումները և այլն: Մյուս կողմից, C լեզվի ազատությունը հանգեցրեց բուֆերի գերակշռմանը: այնպիսի ստանդարտ C գրադարանի գործառույթներ, ինչպիսիք են ստանում և սկանավորում: Բազմաթիվ տխրահռչակ խոցելիություններ եղան, օրինակ՝ հայտնի Morris որդում օգտագործվածը:

    UNIX-ի վաղ մշակողները նպաստեցին մոդուլային ծրագրավորման և վերօգտագործման սկզբունքների ներդրմանը ինժեներական պրակտիկայում:

    UNIX-ը հնարավորություն տվեց օգտագործել TCP/IP արձանագրությունները համեմատաբար էժան համակարգիչների վրա, ինչը հանգեցրեց ինտերնետի արագ աճին: Սա, իր հերթին, նպաստեց UNIX-ի անվտանգության, ճարտարապետության և համակարգի կոմունալ ծառայությունների մի քանի հիմնական խոցելիության արագ հայտնաբերմանը:

    Ժամանակի ընթացքում UNIX-ի առաջատար մշակողները մշակեցին ծրագրային ապահովման մշակման մշակութային նորմեր, որոնք դարձան նույնքան կարևոր, որքան ինքը՝ UNIX-ը: ( )

    UNIX-ի նման OS-ների ամենահայտնի օրինակներից են macOS-ը, Solaris-ը, BSD-ն և NeXTSTEP-ը:

    Սոցիալական դերը ՏՏ մասնագիտական ​​համայնքում և պատմական դերը

    Բնօրինակ UNIX-ն աշխատում էր մեծ բազմաֆունկցիոնալ համակարգիչների վրա, որոնք նաև առաջարկում էին ապարատային արտադրողի սեփական օպերացիոն համակարգեր, ինչպիսիք են RSX-11-ը և նրա ժառանգորդ VMS-ը: Չնայած այն հանգամանքին, որ ըստ մի շարք կարծիքների [ ում?] այնուհետև UNIX-ն ուներ թերություններ՝ համեմատած այս ՕՀ-երի հետ (օրինակ՝ տվյալների բազայի լուրջ շարժիչների բացակայությունը), այն. , որը «կապել» է ծրագրերի մշակումը կոնկրետ սարքավորումներից։ Բացի այդ, օգտատերերի փորձը պարզվեց, որ «կապված» էր սարքաշարից և արտադրողից՝ UNIX-ի հետ VAX-ով աշխատող մարդը հեշտությամբ աշխատել է դրա հետ 68xxx և այլն:

    Սարքավորումների արտադրողները այն ժամանակ հաճախ սառնասրտորեն էին վերաբերվում UNIX-ին, այն համարելով խաղալիք և առաջարկում էին իրենց սեփական OS-ն լուրջ աշխատանքի համար՝ հիմնականում DBMS և դրանց վրա հիմնված բիզնես հավելվածներ առևտրային կառույցներում: Այս մասին հայտնի մեկնաբանություններ կան DEC-ից՝ կապված իր VMS-ի հետ: Կորպորացիաները լսում էին դա, բայց ոչ ակադեմիական միջավայրը, որն ամեն ինչ ուներ UNIX-ում, հաճախ չէր պահանջում արտադրողի պաշտոնական աջակցությունը, կառավարվում էր ինքնուրույն և գնահատում էր UNIX-ի էժանությունն ու շարժականությունը: Այսպիսով, UNIX-ը, թերեւս, առաջին օպերացիոն համակարգն էր, որը շարժական էր տարբեր սարքավորումների համար:

    UNIX-ի երկրորդ դրամատիկ վերելքն էր RISC պրոցեսորների հայտնվելըմոտ 1989 թ. Մինչ այդ էլ եղել են այսպես կոչված. աշխատանքային կայաններ՝ անհատական ​​մեկ օգտատիրոջ բարձր հզորության համակարգիչներ՝ բավարար հիշողությամբ, կոշտ սկավառակև բավականաչափ զարգացած ՕՀ (բազմ առաջադրանք, հիշողության պաշտպանություն) լուրջ ծրագրերի հետ աշխատելու համար, ինչպիսիք են CAD-ները: Նման մեքենաներ արտադրողների թվում առանձնանում էր Sun Microsystems-ը, որն իր անունն էր հանում դրանց վրա։

    Մինչև RISC պրոցեսորների հայտնվելը, այս կայանները սովորաբար օգտագործում էին Motorola  680x0 պրոցեսորը, նույնը, ինչ Apple-ի համակարգիչներում (թեև ավելի առաջադեմ օպերացիոն համակարգով, քան Apple-ը): Մոտավորապես 1989 թվականին շուկայում հայտնվեցին RISC ճարտարապետության պրոցեսորների կոմերցիոն ներդրումները։ Մի շարք ընկերությունների (Sun և այլք) տրամաբանական որոշումն էր UNIX-ը տեղափոխել այս ճարտարապետություններ, ինչը անմիջապես հանգեցրեց ամբողջ UNIX ծրագրային էկոհամակարգի տեղափոխմանը:

    Գույքային լուրջ օպերացիոն համակարգերը, ինչպիսին է VMS-ը, սկսեցին իրենց անկումը հենց այս պահից (նույնիսկ եթե հնարավոր լիներ OS-ն ինքնին տեղափոխել RISC, ամեն ինչ շատ ավելի բարդ էր դրա համար նախատեսված հավելվածների հետ, որոնք այս էկոհամակարգերում հաճախ մշակվում էին assembler կամ սեփական լեզուներով, ինչպիսիք են BLISS-ը), և UNIX-ը դարձավ աշխարհի ամենահզոր համակարգիչների օպերացիոն համակարգը:

    Այնուամենայնիվ, այս պահին էկոհամակարգսկսեց տեղափոխվել GUI՝ ի դեմս Windows 3.0-ի: GUI-ի հսկայական առավելությունները, ինչպես նաև, օրինակ, բոլոր տեսակի տպիչների միասնական աջակցությունը, գնահատվել են ինչպես մշակողների, այնպես էլ օգտագործողների կողմից: Սա մեծապես խարխլեց UNIX-ի դիրքերը համակարգիչների շուկայում. այնպիսի ծրագրեր, ինչպիսիք են SCO-ն և Interactive UNIX-ը, չէին կարողանում հաղթահարել Windows-ի հավելվածների աջակցությունը: Ինչ վերաբերում է UNIX-ի GUI-ին, որը կոչվում է X11 (կային այլ իրականացումներ, շատ ավելի քիչ տարածված), այն չէր կարող լիովին աշխատել սովորական օգտագործողի ԱՀ-ի վրա՝ հիշողության պահանջների պատճառով. գործարկել Word-ը և Excel-ը միաժամանակ 8 ՄԲ-ով (սա այն ժամանակ ԱՀ-ի ստանդարտ հիշողության չափն էր): Հիշողության բարձր գներով սա սահմանափակող գործոնն էր:

    Windows-ի հաջողությունը խթան հաղորդեց Microsoft-ի ներքին նախագծին, որը կոչվում է Windows NT, որը համատեղելի էր Windows-ի հետ API-ի հետ, բայց միևնույն ժամանակ ուներ լուրջ ՕՀ-ի նույն ճարտարապետական ​​առանձնահատկությունները, ինչ UNIX-ը` բազմաֆունկցիոնալություն, ամբողջական հիշողության պաշտպանություն, բազմապրոցեսորի աջակցություն: մեքենաներ, ֆայլերի թույլտվություններ և գրացուցակներ, համակարգի գրանցամատյան: Windows NT-ը նաև ներկայացրեց NTFS ամսագրային ֆայլային համակարգը, որն այդ ժամանակ իր հնարավորություններով գերազանցում էր UNIX-ի հետ ստանդարտ առաքված բոլոր ֆայլային համակարգերը. UNIX-ի անալոգները միայն առանձին առևտրային արտադրանք էին Veritas-ից և այլն:

    Չնայած Windows NT-ն ի սկզբանե հայտնի չէր, հիշողության բարձր պահանջների պատճառով (նույն 16 ՄԲ), այն թույլ տվեց Microsoft-ին մուտք գործել սերվերային լուծումների շուկա, ինչպիսին է DBMS-ը։ Այն ժամանակ շատերը չէին հավատում Microsoft-ի կարողությանը, որն ավանդաբար մասնագիտացած էր աշխատասեղանի ծրագրային ապահովման մեջ, դառնալու ձեռնարկատիրական ծրագրային ապահովման շուկայում, որն արդեն ուներ այնպիսի մեծ անուններ, ինչպիսիք են Oracle-ը և Sun-ը: Այս կասկածին ավելացվեց այն փաստը, որ Microsoft-ի DBMS-ը՝ SQL Server-ը, սկսվեց որպես Sybase SQL Server-ի պարզեցված տարբերակ՝ լիցենզավորված Sybase-ից և 99%-ով համատեղելի դրա հետ աշխատելու բոլոր ասպեկտներում:

    1990-ականների երկրորդ կեսին Microsoft-ը սկսեց UNIX-ը մղել նաև կորպորատիվ սերվերների շուկա:

    Վերոնշյալ գործոնների համադրությունը, ինչպես նաև 3D վիդեո կարգավորիչների գների անկումը, որոնք տուն են դարձել պրոֆեսիոնալ սարքավորումներից, ըստ էության ոչնչացրեցին աշխատանքային կայանի գաղափարը 2000-ականների սկզբին:

    Բացի այդ, Microsoft-ի համակարգերն ավելի հեշտ են կառավարվում, հատկապես սովորական օգտագործման դեպքերում:

    Սակայն այս պահին սկսվել է UNIX-ի երրորդ կտրուկ վերելքը։

    Բացի այդ, Սթոլմանը և նրա ընկերները, քաջ գիտակցելով, որ ոչ կորպորատիվ ծրագրաշարի հաջողության համար անհրաժեշտ են մշակման ոչ գույքային գործիքներ, մշակել են տարբեր ծրագրավորման լեզուների (gcc) կոմպիլյատորների մի շարք, որոնք, հետ միասին. Նախկինում մշակված GNU կոմունալ ծառայությունները (փոխարինելով ստանդարտ UNIX կոմունալ ծառայությունները) մշակողի համար անհրաժեշտ և բավականաչափ հզոր ծրագրային փաթեթ էին:

    Linux-ի լուրջ մրցակիցն այն ժամանակ FreeBSD-ն էր, սակայն զարգացման կառավարման «մայր» ոճը, ի տարբերություն Linux-ի «բազար» ոճի, ինչպես նաև շատ ավելի տեխնիկական հնագիտական ​​այնպիսի հարցերում, ինչպիսիք են բազմապրոցեսորային մեքենաների և գործարկվող ֆայլերի աջակցությունը: ձևաչափերը, զգալիորեն դանդաղեցրել են FreeBSD-ի զարգացումը Linux-ի համեմատ՝ վերջինիս դարձնելով ազատ ծրագրային ապահովման աշխարհի առաջատարը:

    Ապագայում Linux-ը հասել է ավելի ու ավելի բարձունքների.

    • լուրջ ֆիրմային ապրանքների տեղափոխում, ինչպիսին է Oracle-ը.
    • IBM-ի լուրջ հետաքրքրությունն այս էկոհամակարգի նկատմամբ՝ որպես դրա ուղղահայաց լուծումների հիմք.
    • Windows աշխարհից գրեթե բոլոր ծանոթ ծրագրերի անալոգների տեսքը.
    • որոշ ապարատային արտադրողների հրաժարումը Windows-ի պարտադիր նախնական տեղադրումից.
    • նեթբուքերի թողարկում միայն Linux-ով;
    • օգտագործել որպես միջուկ Android-ում:

    Այս պահին Linux-ը արժանիորեն հայտնի ՕՀ է սերվերների համար, չնայած շատ ավելի քիչ տարածված աշխատասեղաններում:

    UNIX OS-ի որոշ ճարտարապետական ​​առանձնահատկություններ

    UNIX-ի առանձնահատկությունները, որոնք այս ընտանիքը տարբերում են այլ օպերացիոն համակարգերից, տրված են ստորև:

    • Ֆայլային համակարգը ծառի նման է, անունների մեջ զգայուն է մեծատառերը, անունների և ուղիների երկարության շատ թույլ սահմանափակումներ:
    • OS միջուկի կողմից կառուցվածքային ֆայլերի աջակցություն չկա, համակարգային զանգերի մակարդակում ֆայլը բայթերի հոսք է:
    • Հրամանի տողը գտնվում է գործարկվող գործընթացի հասցեի տարածքում և չի վերականգնվում հրամանի թարգմանչի գործընթացից համակարգային զանգի միջոցով (ինչպես պատահում է, օրինակ, RSX-11-ում):
    • «Շրջակա միջավայրի փոփոխականներ» հասկացությունը։
    • Գործընթացների մեկնարկը՝ fork(-ը) կանչելով, այսինքն՝ ընթացիկ պրոցեսը ամբողջ վիճակով կլոնավորելու հնարավորություն։
    • stdin/stdout/stderr հասկացությունները։
    • I/O միայն ֆայլերի նկարագրիչների միջոցով:
    • Ավանդաբար շատ թույլ աջակցություն ասինխրոն I/O-ի համար՝ համեմատած VMS-ի և Windows NT-ի հետ:
    • Հրամանի թարգմանիչը սովորական հավելված է, որը հաղորդակցվում է միջուկի հետ սովորական համակարգային զանգերով (RSX-11-ում և VMS-ում հրամանի թարգմանիչը գործարկվել է որպես հատուկ հավելված, որը տեղադրվել է հիշողության մեջ հատուկ ձևով, օգտագործելով հատուկ համակարգային զանգեր, համակարգային զանգեր են կատարվել. նաև աջակցվում է՝ թույլ տալով հավելվածին մուտք գործել իր մայր թարգմանչի հրամանները):
    • Հրամանի տողի հրամանը ոչ այլ ինչ է, քան ծրագրի ֆայլի անվանումը, չի պահանջվում հատուկ գրանցում և ծրագրերի հատուկ մշակում որպես հրամաններ (որը սովորական պրակտիկա էր RSX-11, RT-11):
    • Չի ընդունվում այն ​​ծրագրով մոտեցումը, որը օգտվողին հարցեր է տալիս իր գործողության ռեժիմների մասին, փոխարենը օգտագործվում են հրամանի տողի պարամետրերը (VMS, RSX-11, RT-11, ծրագրերը նույնպես աշխատում էին հրամանի տողով, բայց դրա բացակայության դեպքում դրանք առաջարկվել է մուտքագրել պարամետրեր):
    • Սարքի անվանատարածք սկավառակի վրա /dev գրացուցակում, որը կարող է կառավարվել ադմինիստրատորի կողմից, ի տարբերություն Windows մոտեցման, որտեղ այս անվանատարածքը գտնվում է միջուկի հիշողության մեջ, և այս անվանատարածքի կառավարումը (օրինակ՝ թույլտվությունների կարգավորումը) չափազանց դժվար է, քանի որ այն փաստը, որ այն մշտապես չի պահվում սկավառակների վրա (կառուցվում է ամեն անգամ, երբ դուք բեռնում եք):
    • Պարամետրերը պահելու համար տեքստային ֆայլերի լայնածավալ օգտագործումը, ի տարբերություն երկուական պարամետրերի տվյալների բազայի, ինչպես օրինակ Windows-ում:
    • Տեքստի մշակման կոմունալ ծառայությունների լայն կիրառություն՝ սկրիպտների հսկողության ներքո ամենօրյա առաջադրանքները կատարելու համար:
    • ՕՀ-ի «առաջխաղացում» միջուկը բեռնելուց հետո՝ ստանդարտ հրամանների թարգմանիչով սկրիպտներ կատարելով։
    • Անվանված խողովակների (խողովակների) լայն օգտագործում:
    • Բոլոր գործընթացները, բացի init-ից, հավասար են, չկան «հատուկ գործընթացներ»:
    • Հասցեների տարածքը բաժանված է գլոբալ միջուկի բոլոր գործընթացների համար և գործընթաց-տեղական մասի, հասցեների տարածության «խմբային» մաս չկա, ինչպես VMS-ում և Windows NT-ում, ինչպես նաև այնտեղ կոդը բեռնելու և այն գործարկելու հնարավորություն: այնտեղ։
    • Օգտագործելով երկու պրոցեսորի արտոնությունների մակարդակ VMS-ում չորսի փոխարեն:
    • Ծածկույթների օգտագործման մերժումը՝ ի նպաստ ծրագիրը մի քանի փոքր ծրագրերի բաժանելու, որոնք հաղորդակցվում են անվանված խողովակների կամ ժամանակավոր ֆայլերի միջոցով:
    • APC-ի և անալոգների բացակայություն, այսինքն՝ կամայական (ստանդարտ հավաքածուում կոշտ թվարկված չեն) ազդանշաններ, որոնք չեն առաքվում այնքան ժամանակ, քանի դեռ գործընթացը հստակ չի ցանկանում ստանալ դրանք (Windows, VMS):
    • Ազդանշանի հասկացությունը յուրահատուկ է UNIX-ի համար և չափազանց դժվար է տեղափոխել այլ օպերացիոն համակարգեր, ինչպիսիք են Windows-ը:

    Ստանդարտներ

    Մեծ թվով UNIX համակարգի համային տեսականիների բազմազանությունը հանգեցրել է նրա հնարավորությունների ստանդարտացման անհրաժեշտությանը, որպեսզի հավելվածները դյուրին դարձնեն դյուրակիր և օգտագործողին փրկեն UNIX-ի յուրաքանչյուր համի առանձնահատկությունները սովորելուց:

    Այդ նպատակով դեռ 1980 թվականին ստեղծվել է օգտատերերի /usr/group խումբը։ Առաջին ստանդարտները մշակվել են 1984-1985 թթ.

    Ամենավաղ ստանդարտներից մեկը System V ինտերֆեյսի սահմանումն էր (SVID), որը թողարկվել է UNIX System Laboratories (USL) կողմից՝ UNIX System V թողարկման 4-ի հետ միաժամանակ: Այս փաստաթուղթը, սակայն, պաշտոնական չդարձավ:

    UNIX System V տարբերակների հետ մեկտեղ կար UNIX BSD ուղղությունը: System V-ի և BSD-ի միջև համատեղելիությունն ապահովելու համար ստեղծվել են POSIX աշխատանքային խմբեր ( Պպտտվող Օգործելով Սհամակարգ Իինտերֆեյս UNI-ի համար X) Կան բազմաթիվ POSIX ստանդարտներ, բայց ամենահայտնին POSIX 1003.1-1988-ն է, որը սահմանում է Application Programming Interface (API): Այն օգտագործվում է ոչ միայն UNIX-ում, այլ նաև այլ օպերացիոն համակարգերում։ (

    Sandbox

    զվարճալի բեղերովմարտի 19, 2011, ժամը 23:16

    Ինչպե՞ս է Linux-ը տարբերվում UNIX-ից, և ինչ է իրենից ներկայացնում UNIX-ի նման OS-ն:

    • Փայտանյութի սենյակ *
    UNIX
    UNIX (չարժե այնշփոթված «UNIX-ի նման օպերացիոն համակարգի» սահմանման հետ) - օպերացիոն համակարգերի ընտանիք (Mac OS X, GNU / Linux):
    Առաջին համակարգը մշակվել է 1969 թվականին Bell Laboratories-ում, որը նախկին ամերիկյան կորպորացիա էր։

    UNIX-ի տարբերակիչ առանձնահատկությունները.

    1. Համակարգի հեշտ կոնֆիգուրացիա՝ օգտագործելով պարզ, սովորաբար տեքստային ֆայլեր:
    2. Հրամանի տողի լայն օգտագործում:
    3. Օգտագործելով փոխակրիչներ.
    Ներկայումս UNIX-ը օգտագործվում է հիմնականում սերվերների վրա և որպես սարքավորումների համակարգ։
    Անհնար է չնկատել UNIX համակարգերի պատմական հսկայական նշանակությունը: Նրանք այժմ ճանաչվում են որպես պատմականորեն կարևորագույն օպերացիոն համակարգերից մեկը: UNIX համակարգերի զարգացման ընթացքում ստեղծվել է C լեզուն։

    UNIX տարբերակները ըստ տարիների

    UNIX-ի նման ՕՀ
    UNIX-ի նման ՕՀ (երբեմնօգտագործել *nix հապավումը) - համակարգ, որը ձևավորվել է UNIX-ի ազդեցության տակ:

    UNIX բառն օգտագործվում է և՛ որպես համապատասխանության նշան, և՛ որպես ապրանքային նշան:

    Open Group կոնսորցիումին է պատկանում «UNIX» ապրանքանիշը, սակայն առավել հայտնի է որպես UNIX ապրանքանիշի հավաստագրող մարմին: Open Group-ը վերջերս լույս սփռեց «Single UNIX Specification»-ի հրապարակման վրա, այն չափանիշները, որոնք օպերացիոն համակարգը պետք է համապատասխանի, որպեսզի հպարտորեն կոչվի Unix:

    Դուք կարող եք դիտել UNIX-ի նման օպերացիոն համակարգերի տոհմածառը:

    Linux
    Linux- UNIX-ի վրա հիմնված օպերացիոն համակարգերի ընդհանուր անվանումը, որոնք մշակվել են GNU նախագծի շրջանակներում (բաց կոդով ծրագրային ապահովման մշակման նախագիծ): Linux-ն աշխատում է պրոցեսորային ճարտարապետության հսկայական բազմազանությամբ՝ սկսած ARM-ից մինչև Intel x86:

    Ամենահայտնի և տարածված բաշխումներն են՝ Arch Linux, CentOS, Debian: Կան նաև բազմաթիվ «կենցաղային», ռուսական բաշխումներ՝ ALT Linux, ASPLinux և այլն։

    GNU/Linux-ի անվանման վերաբերյալ բավականին հակասություններ կան:
    «Բաց կոդով»-ի կողմնակիցներն օգտագործում են «Linux» տերմինը, մինչդեռ «ազատ ծրագրային ապահովման» կողմնակիցները օգտագործում են «GNU/Linux» տերմինը։ Ես նախընտրում եմ առաջին տարբերակը. Երբեմն GNU/Linux տերմինը ներկայացնելու հարմարության համար օգտագործվում են «GNU+Linux», «GNU-Linux», «GNU Linux» ուղղագրությունները։

    Ի տարբերություն առևտրային համակարգերի (MS Windows, Mac OS X), Linux-ը չունի աշխարհագրական զարգացման կենտրոն և կոնկրետ կազմակերպություն, որին պատկանում է համակարգը: Համակարգն ինքը և դրա համար նախատեսված ծրագրերը հսկայական համայնքների աշխատանքի, հազարավոր նախագծերի արդյունք են։ Յուրաքանչյուր ոք կարող է միանալ նախագծին կամ ստեղծել ձեր սեփականը:

    Եզրակացություն
    Այսպիսով, շղթան սովորել է մեզանից՝ UNIX -> UNIX-ի նման OS -> Linux:

    Ամփոփելով՝ կարող եմ ասել, որ Linux-ի և UNIX-ի տարբերություններն ակնհայտ են։ UNIX-ը շատ ավելի լայն հասկացություն է, որը հիմք է հանդիսանում UNIX-ի նմանվող բոլոր համակարգերի կառուցման և հավաստագրման համար, իսկ Linux-ը UNIX-ի հատուկ դեպք է:

    Պիտակներ՝ unix, linux, nix, linux, unix

    Այս հոդվածը մեկնաբանության ենթակա չէ, քանի որ դրա հեղինակը դեռևս չկա

    Նոր տեղում

    >

    Ամենահայտնի