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

Ինչի համար է նախատեսված օպերացիոն համակարգերի դասընթացը

Օպերացիոն համակարգերն ընկած են բոլոր տեսակի ծրագրային ապահովումների հիմքում, որոնք կազմում են այսօրվա ծրագրային աշխարհը։ Մեր օրերում գրեթե անհնար է գրել ծրագիր, որը կկարողանա աշխատել սարքերի հետ՝ շրջանցելով օպերացիոն համակարգերը։

Ծրագրավորողներն ամեն օր գործ են ունենում օպերացիոն համակարգի տված հնարավրությունների հետ՝ իրենք էլ հստակ չգիտակցելով դա։ Օպերացիոն համակարգերի տրամադրած ինտերֆեյսը միակն է, որը թույլ է տալիս ծրագրերին աշխատել սարքերի հետ։ Օպերացիոն համակարգը փաստացի տրամադրում է վիրտուալ մեքենա, որի հետ աշխատելը շատ ավելի հեշտ է ծրագրավորողի համար, քան իրական մեքենայի հետ աշխատանքն է։

Եվ, այնուամենայնիվ, այնքան էլ հասկանալի չէ, թե ծրագրավորողի ինչին է պետք այս գիտելիքը։ Փորձեմ հիմնավորել։

Ծրագրի աշխատանքի ընթացքում տեղի են ունենում տասնյակ հարցումներ, որոնք մշակվում են օպերացիոն համակարգի կողմից։ Այսինքն ծրագրի աշխատանքը բերում է փոփոխությունների օպերացիոն համակարգի ներքին օբյեկտների մեջ։ Կա նաև հակադարձ կապը՝ օպերացիոն համակարգն էլ ազդում է ծրագրի աշխատանքի վրա։ Մասնավորապես՝ պատկերացում ունենալով համակարգի ներքին գործընթացների մասին, կարելի է ավելի արդյունավետ օգտագործել համակարգիչը։

Կա մի շատ պատկերավոր օրինակ։ Եթե մեկ կենտրոնական պրոցեսորից բաղկացած համակարգչի վրա բարդ հաշվարկներ անող ծրագիրը գրենք օգտագործելով շատ thread-ներ, ապա հաշվարկներն ավելի շուտ կավարտվեն, քան եթե չանեինք այդ զուգահեռացումը։ Ինչպե՞ս հասկանալ արդյունավետության նման փոոխությունն այն դեպքում, երբ հայտնի է, որ մեկ պրոցեսսորը չի կարող տրամադրել իրական զուգահեռացում։ Այս հարցի պատասխանը հասկանալու համար պետք է խորանալ օպերացիոն համակարգի կոմպոնենտների և դրանց աշխատանքի նրբությունների մեջ։

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

Ծրագրավորողի և օպերացիոն համակարգի փոխգործակցության մասին առավել հետաքրքիր մի օրինակ դիտարկված է չորս մասին բաղկացած «Ծրագրավորողը և օպերացիոն համակարգը» հոդվածը։

Ընդհանուր տեղեկություն

Ծանոթացում օպերացիոն համակարգերի սահմանման, հիմնական գործառույթների, ճարտարապետության և կոմպոնենտների հետ։ Օպերացիոն համակարգը՝ որպես ծրագրավորողի անփոխարինելի գործիք և գործընկեր։

Դասավանդող՝ Վահրամ Մարտիրոսյան

Տևողությունը՝ 2 ամիս

Բովանդակություն

  • Ներածություն։ Ինչ է օպերացիոն համակարգը և ինչու է այն անհրաժեշտ ծրագրավորողին
  • ԷՀՄ ճարտարապետության տարրեր՝ կենտրոնական պրոցեսոր, հիշողություն, հաղորդակցության միջոցներ, արտաքին սարքեր
  • Օպերացիոն համակարգերի ճարտարապետություններ և դրանց համեմատությունը
  • Պրոցեսներ և thread-ներ։ Զուգահեռ ծրագրավորում, սինխրոնիզացիա
  • Հիշողության կառավարում՝ էջային և սեգմենտային հիշողություն
  • Ֆայլային համակարգեր
  • Աշխատանք արտաքին սարքերի հետ