| ტეგები: მაკი, ლინუქსი, ოპერაციული სისტემა, აიოსი, ვინდოუსი
10:14
ოპერაციული სისტემების ისტორია. UNIX-ის დიალექტები. პაკეტური დამუშავების სისტემები, მულტიპროგრამირება, დროის დაყოფის რეჟიმი


ოპერაციულ სისტემებს ხანგრძლივი (50 წელზე მეტი) ისტორია აქვთ. პირველი თაობის mainframe-კომპიუტერებში (1940-1950 წწ.), რომლის პირველი წარმომადგენელი იყო ENIAC (1947 წ., აშშ), ოპერაციული სისტემა არ არსებობდა. ამ კომპიუტერებში მეხსიერებაზე მიმართვა ხორციელდებოდა რეალური (ფიზიკური) მისამართებით, ხოლო გარე მოწყობილობებზე მიმართვა (მაგალითად, მიმართვა პერფობარათების წამკითხავ მოწყობილობასთან) ხორციელდებოდა სპეციალური ბრძანებებით ასევე ფიზიკური მისამართებით. ასეთი კომპიუტერები ძალიან დიდი ზომის იყვნენ, თითოეული მათგანი იკავებდა დიდ დარბაზს, ამ დარბაზში მომხმარებლები რიგ-რიგობით მუშაობდნენ კომპიუტერებზე. თითოეული მომხმარებელი „მანქანიდან“ წასვლის წინ (მუშაობის დამთავრების წინ) აჩერებდა „ანულებდა“ მას ღილაკებზე დაჭერით და უთმობდა ადგილს სხვა მომხმარებელს, რომელსაც შეჰყავდა თავისი პროგრამები და მონაცემები პერფობარათებიდან ან პერფოლენტიდან, კრეფდა საწყის მისამართს პულტზე და უშვებდა მას სპეციალური ღილაკების საშუალებით. ნებისმიერი შეფერხების ან პროგრამაში შეცდომის შემთხვევაში სიტუაციის გარჩევა ხდებოდა პულტზე ნათურების კომბინაციის მიხედვით, რომელიც შეესაბამებოდა რეგისტრების შემცველობას ორობით კოდში. კომპიუტერებთან ასეთი ურთიერთობა ძალიან მოუხერხებელი იყო საჭირო იყო მინიმალური ავტომატიზაცია მაინც. ამისთვის 1950-1960-იან წლებში შეიქმნა დისპეტჩერები (dispatchers) - რომლებიც ითვლება ოპერაციული სისტემების წინამორბედებად, ისინი წარმოადგენდენ სისტემურ პროგრამებს, რომლებიც მართავდნენ პერფობარათებიდან შეტანილი ამოცანათა პაკეტების გატარებას. დისპეტჩერი ახორციელებდა ამოცანების გატარებას რიგის მიხედვით, FIFO (First-In-First-Out) პრინციპით - მოსვლის რიგის მიხედვით. რიგიდან რომელიმე ამოცანის ამორჩევის შემდეგ დისპეტჩერი ათავსებდა მას მეხსიერებაში და უშვებდა შესრულებაზე. დავალების შესრულების ან შეცდომის გამო შეწყვეტის შემდეგ საბეჭდ მოწყობილობაზე გამოიტანებოდა შედეგები და მუშაობა გადაეცემოდა შემდეგ დავალებას. კომპიუტერთან მუშაობის ასეთი რეჟიმი იყო გაცილებით მოხერხებული ვიდრე პულტთან მუშაობა. მათთან მუშაობისას უარყოფითი იყო ის რომ პროგრამების გაშვება ხდებოდა რიგრიგობით . (არ არსებობდა ერთდროულად რამდენიმე ამოცანის დამუშავების შესაძლებლობა). არ ხდებოდა რესურსების, რომელიც საჭირო იყო ამოცანის შესრულებისთვის, დათვლა. პროგრამა რომლის შესრულებასაც სჭირდებოდა 1 წუთი უნდა დალოდებოდა დიდი ამოცანის დასრულებას, 2 რომელსაც მაგალითად შესრულებაზე სჭირდებოდა 5 საათი, მხოლოდ იმიტომ რომ იდგა რიგში მის უკან. 1960-1970 წლებში დამუშავებული იქნა კლასიკური ოპერაციული სისტემები, რომლებიც სულ უფრო და უფრო რთულდებოდა. სულ უფრო რთული ხდებოდა მათი ფაილური სისტემები და ოპერაციული სისტემების სხვა კომპონენტები. ამ დროის ოპერაციული სისტემებიდან მეტად იყო ცნობილი - ATLAS, MULTICS, OS IBM/360. კლასიკურ ოპერაციული სისტემებისთვის დამახასიათებელი იყო: 1. მულტიპროგრამირება (multi-programming) - ერთდროულად რამდენიმე დავალების დამუშავება; 2. პაკეტური დამუშავება (batch mode) - პერფობარათებიდან ან ტერმინალიდან შეტანილი დავალების დამუშავება მათი რესურსების და პრიორიტეტის გათვალისწინებით. 3. დროის დაყოფა (time sharing) - ტერმინალთან რამდენიმე მომხმარებლის პარალელური მუშაობა . 4. პროცესების მართვა - მომხმარებლის პროცესების პარალელური (ან მონაცვლეობით შესრულება, თუ კომპიუტერი ერთ პროცესორიანია), სამომხმარებლო პროცესების შესრულება, პარალელური პროცესის ცხადად გაშვების შესაძლებლობა. კომპიუტერების თითოეული ახალი მოდელისთვის ოპერაციული სისტემის დამუშავება მოითხოვდა მრავალიწლის მაღალკვალიფიცირებულ შრომას. ამიტომ ყოველი ოპერაციული სისტემა თავიდანვე მუშავდებოდა დაპროგრამების დაბალი დონის ენაზე - ასემბლერზე. ამიტომ ჯერ კიდებ 1970-იან წლებში გაჩნდა იდეა დამუშავებული ყოფილიყო მობილური (გადასატანი) ოპერაციული სისტემები ე. ი. ოპერაციული სისტემები, რომლებიც გამოყენებულნი იქნებოდნენ კომპიუტერების რამდენიმე ოჯახში მათი კოდის გადატანით (არა დიდი ცვლილებით) უფრო ძველი მოდელებიდან უფრო ახალ მოდელებში. (შენიშვნა. ტერმინი მობილური დღეს გამოიყენება სხვა მნიშვნელობით მობილური ტელეფონები და მათი ოპერაციული სისტემები.) პირველი მობილური ოპერაციული სისტემა დამუშავებული იყო 1970 წელს, ეს იყო ოპერაციული სისტემა UNIX (ბრაიან კერნიგანი (B. Kernighan) და დენის რიტჩი (D. Ritchie) ფირმა AT & T). ამ სისტემის ძირითადი იდეა იყო ფაილების წარმოდგენის და მათზე ოპერაციების, მომხმარებლების პროგრამების და პროცესების უნიფიცირება და გამარტივება. (UNIX ფაილი ეს არის ბიტების მიმდევრობა). უნიფიცირებული იყო ასევე UNIX საწყისი კოდი, რომელიც მთლიანად დაწერილი იყო С ენაზე. მაღალი დონის დაპროგრამების ენის გამოყენება UNIX ოპერაციული სისტემის დამუშავებისას იყო ოპერაციული სისტემების დამუშავებაში 3 რევოლუციური ნაბიჯი. ის საშუალებას იძლეოდა პირველი- მნიშვნელოვნად დაჩქარებულიყო და გამარტივებული ყოფილიყო დამუშავება, მეორე- შესაძლებელი გახდა UNIX -ის გადატანა კომპიუტერების ბევრ მოდელზე. (ამისთვის რა თქმა აუცილებელი იყო С ენის კომპილიატორის დამუშავება). 1980 -იან წლებში გამოჩნდენ პირველი პერსონალური კომპიუტერები. მათში გამოიყენებოდა წინა თაობების ოპერაციული სისტემების ანალოგიური იდეები და მეთოდები. აღსანიშნავია, რომ პირველი პერსონალურ კომპიუტერებს მეინფრეიმებთან შედარებით გააჩნდათ მაღალი სიმძლავრე, მეხსიერების მოცულობა ჰქონდათ დიდი, ასევე სწრაფქმედება და მიკროპროცესორის თანრიგიანობა იყო მაღალი. ფირმა Intel-ის მიერ გამოშვებული პირველი მიკროპროცესორი იყო 8- თანრიგა და მისთვის დამუშავებული იყო ასევე 8-თანრიგა ოპერაციული სისტემა CP/M. 1975 წელს დამუშავდა ფირმა Microsoft-ის მიერ პირველი 16 თანრიგა ოპერაციული სისტემა MS DOS, პერსონალური კომპიუტერერებისთვის პროცესორებით Intel 8086 (ან მოკლედ, x86). MS-DOS საბრძანებო ენას გააჩნია შედარებით მცირე შესაძლებლობები ვიდრე UNIX-ს. 1980-იანი წლების დასაწყისში ფირმა Apple გამოუშვა პერსონალური კომპიუტერი Lisa და Macintosh ოპერაციული სისტემით MacOS. მას ჰქონდა მომხმარებლის გრაფიკული ინტერფეისი (GUI) ფანჯრებით, მენიუთი, პიქტოგრამებით, და სხვა მრავალი ელემენტით. 1980-იანი წლების დასასრულს და 1990 წლების დასაწყისში MacOS გავლენით Microsoft-მა დაამუშავა გრაფიკული გარსი Windows, რომელიც დაშენებული იყო MS-DOS ოპერაციულ სისტემაზე. Windows პირველი ვერსია ჯერ კიდევ არ იყო ოპერაციული სისტემა, ის იშვებოდა ბრძანებით Win MS-DOS-ის საბრძანებო სტრიქონიდან. შემდეგ გამოშვებული იყო Windows 3.x და Windows for Workgroups (რომელიც უკვე წარმოადგენდა ოპერაციულ სისტემას). 1995 წლიდან - გამოდის ოპერაციული სისტემა Windows 95, (რომელსაც ჰქონდა მულტიმედიური შესაძლებლობები, სხვადასხვა მოწყობილობებისთვის დიდი რაოდენობის ჩაშენებული დრაივერები და Plug-and-Play მექანიზმისთვის მხარდაჭერა- კომპიუტერის გამორთვის გარეშე ახალი მოწყობილობის მიერთების შესაძლებლობა) და Windows NT რომელსაც ჰქონდა განვითარებული ქსელური შესაძლებლობები და ხასიათდებოდა მაღალი საიმედობით. Windows NT გახდა საფუძველი Windows-ის შემდგომი განვითარების. დღეისათვის Windows-ის პოპულარული მოდელებია Windows XP (რომლის მხარდაჭერაც Microsoft ფირმის მიერ უკვე წყდება სისტემა გამოშვებულია– 2001 წელს), Windows 2003 Server, Windows Vista, Windows 2008 Server და Windows 7. 4 1990 -იანი წლების დასაწყისში გამოჩნდა ოპერაციული სისტემა ОС Linux (UNIX-ის ტიპის ოპერაციული სისტემა ბირთვის ღია კოდით), რომელმაც მოიპოვა პოპულარობა, მაგრამ ძირითადად ის გამოიყენება სერვერებზე. მსოფლიოში მომხმარებლების (კლიენტების) უმრავლესობა ამჯობინებს თავის კომპიუტერებზე დაყენებული ქონდეთ Windows ან MacOS. (ავღნიშნოთ, რომ აშშ-ში და კანადაში უფრო პოპულარულია მაკინტოში, ვიდრე ვინდოუს მანქანები ინტელის ან მისი ანალოგების პროცესორებზე). უნდა აღვნიშნოთ, რომ იმისი თქმა რომელი ოპერაციული სისტემაა მსოფლიოში ყველაზე პოპულარული საკმაოდ რთულია, Microsoft ფირმის წარმომადგენლებიც ვერ პასუხობენ ამ კითხვაზე, რომ ესაა Windows, რადგან მსოფლიოში ყველაზე პოპულარული კომპიუტერული მოწყობილობები არა სამაგიდო და პორტატული კომპიუტერები, არამედ ისინი არიან მობილური ტელეფონები, მათზე დაყენებულია სპეციალიზირებული ოპერაციული სისტემა Symbian, რომლებიც გამოიყენება უმსხვილესი ფირმა Nokia-ს მიერ გამოშვებულ ტელეფონებზე. Symbian -ს ოპერაციული სისტემების ბაზარზე აქტიურ კონკურენციას უწევს მობილური მოწყობილობების ოპერაციული სისტემა Google Android. UNIX 1970-იან წლებში ერთ-ერთი ფართოდ გავრცელებული ოპერაციული სისტემა იყო UNIX, დღეისათვის არსებობს ამ ოპერაციული სისტემის მრავალი დიალექტი. ყველა მათ აქვთ მძლავრი საბრძანებო ენა და განვითარებული სისტემური ბიბლიოთეკები. ისინი განსხვავდებიან ერთმანეთისგან. დიდი ფირმების უმრავლესობამ ინფორმაციული ტექნოლოგიების სფეროში დაამუშავა და ამუშავებს UNIX-ის საკუთარ ვარიანტს. მათ შორის ყველაზე ცნობილი არის:  Berkeley Software Distribution (BSD), დღეისათვის – FreeBSD (University of Berkeley). მასში პირველად იყო რეალიზებული ქსელური სოკეტები; სწორედ ის გამოიყენებოდა Sun ფირმის მიერ დამუშავებულ ოპერაციულ სისტემა Solaris-ის პირველ ვერსიაში.  System V Release 4 (SVR4) - დამუშავებულია AT&T ფირმის მიერ. მისთვის მეტადაა დამახასიათებელი multi-threading - პარალელური მრავალნაკადიანი პროგრამირების შესაძლებლობები. ის გამოიყენებოდა Sun ფირმის მიერ დამუშავებულ ოპერაციული სისტემა Solaris (Solaris 2.x) მეორე ვერსიაში. 5  Linux (RedHat, SuSE, Mandrake, Caldera, Debian, Fedora და სხვ.) –UNIX -ის ტიპის ოპერაციული სისტემა თავისუფლად გავრცელებადი ბირთვის ღია კოდით. პირველი ვერსიები ლინუქსის დამუშავებული იყო 1990-იან წლებში, დღეისათვის ლინუქსის სხვადასხვა ვერსიები გამოიყენება როგორც სერვერული ოპერაციული სისტემები, ასევე მობილური მოწყობილობების ოპერაციული სისტემების დამუშავების საფუძვლად.  Solaris (Sun Microsystems, ныне – Oracle / Sun) - UNIX -ის ერთ-ერთი ყველაზე გავრცელებული ვერსიაა. მას აქვს მოხერხებული გრაფიკული გარსი, განვითარებული პროცესების დაპარალელების და სინქრონიზაციის საშუალებები, მოხერხებული ქსელური შესაძლებლობები (კერძოდ კლასიკური ქსელური ფაილური სისტემა NFS), ახალი ორიგინალური ფაილური სისტემები (კერძოდ, ZFS - ფაილური სისტემა ფაილების დიდი ზომით და ინფორმაციის კოდირების შესაძლებლობით).  IRIX (Silicon Graphics) –UNIX-ის დიალექტია, რომელიც დამუშავებულია Silicon Graphics (SGI), აშშ, კარგად არის ცნობილი გრაფიკული სამუშაო სადგურების დამმუშავებლებისთვის.  HP-UX (Hewlett-Packard) –UNIX-ის დიალექტია დამუშავებულია და გამოიყენება მსოფლიოს ერთ-ერთი მძლავრი ფირმის, Hewlett-Packard-ის მიერ.  Digital UNIX (DEC) –UNIX-ის დიალექტია, რომელიც დამუშავებულია 1990-წლების შუა პერიოდში Digital Equipment Corporation (DEC) ფირმის მიერ, საერთო დანიშნულების კომპიუტერების (მეინფრეიმების) ოპერაციული სისტემების თავისებურებანი პაკეტური რეჟიმი (batch mode). ოპერაციული სისტემების მუშაობის ერთ-ერთი ძირითადი რეჟიმია - რომელიც საშუალებას იძლევა ერთდროულად გაშვებული და დამუშავებული იყოს მომხმარებლის დავალებები (jobs )- პროგრამები, რომლებიც შეტანილია გარე მატარებლებიდან ან ტერმინალიდან, პრიორიტეტის და მოთხოვნილი რესურსების გათვალისწინებით. ამ გზით ოპერაციული სისტემა მაქსიმალურ ეკონომიას უკეთებს დავალების პაკეტის გაშვების დროს, რადგან აფორმირებს მათ ოპტიმალურად მაგალითად, პროცესორზე შესასრულებლად გაუშვებს მოკლე ამოცანას, მანამ სანამ გრძელი ამოცანა ასრულებს შეტანა-გამოტანის ოპერაციას. 6 ჯერ კიდევ პირველ ოპერაციულ სისტემებში რეალიზებული იყო - დავალებიდან დავალებაზე მართვის ავტომატური გადაცემა, მას შემდეგ როცა პროცესორი დაამთავრებდა ან შეწყვეტდა მუშაობას გაშვებულ დავალებასთან შემდეგი დავალების გაშვება შესრულებაზე ხდებოდა ავტომატურად. ამისთვის ოპერაციული სისტემა იყენებს რეზიდენტულ (მუდმივად იმყოფება მეხსიერებაში ფიქსირებულ მისამართებში) მონიტორ - პროგრამას, რომელიც რიგრიგობით გადასცემს მართვას დავალებიდან დავალებას, მათი დამთავრების შემდეგ. მონიტორის მუშაობის ალგორითმი მდგომარეობს შემდგომში. კომპიუტერის გაშვების შემდეგ მართვა გადაეცემა მონიტორს, რომელიც ირჩევს მორიგ დავალებას და გადასცემს მართვას. დავალების დამთავრების შემდეგ მართვა გადაეცემა მონიტორს და ა.შ. მეხსიერების განაწილება დავალების პაკეტური დამუშავების ერთ ამოცანიან სისტემებში ნახ. 2.1 მეხსიერების განაწილება პაკეტური დამუშავების მარტივ სისტემაში მეხსიერების ორგანიზების ეს მეთოდი ძალიან მარტივია ოპერაციული სისტემა მეხსიერებაში იკავებს მუდმივად ერთი და იგივე არეს (მაგალითად, უმცროს თანრიგების მისამართებს). მეხსიერების დანარჩენი ნაწილი გამოეყოფა მომხმარებლის პროგრამას. ასეთ ოპერაციულ სისტემას ჰქვია ერთამოცანიანი - რადგან დაამუშავებს, ასრულებს და ინახავს ოპერატიულ მეხსიერებაში, დროის მომენტში, მომხმარებლის მხოლოდ ერთ ამოცანას. მიმდინარე დავალების შესრულების შემდეგ ოპერაციული სისტემა განთავისუფლებულ მეხსიერებაში ჩატვირთავს შემდეგ დავალებას. მუშაობის ასეთი რეჟიმი არა მოხერხებული და ეფექტური, რადგან დავალების შესრულებისას შესაძლო ადგილი ქონდეს წყვეტას ან სხვა პაუზას, მაგალითად, შეტანა-გამოტანის ოპერაციების ოპერაციული სისტემა მომხმარებლის პროგრამების არე 7 ოპერაციული სისტემა დავალება 1 დავალება 2 დავალება 3 დავალება 4 შესრულების დროს, რომლის დამთავრებას ელოდება ოპერაციული სისტემა, ამ დროში კი მას შეეძლო შეესრულებინა სხვა დავალება. პაკეტური დამუშავების ოპერაციული სისტემები მულტიპროგრამული მხარდაჭერით უფრო განვითარებული ოპერაციული სისტემები მხარს უჭერენ მულტიპროგრამირებას - მეხსიერებაში მომხმარებლის ერთდროულად რამდენიმე პროგრამის მოთავსებას და დამუშავებას. ასეთ სისტემებში მეხსიერესბის განაწილებას აქვს სახე. ნახ.2.2 მეხსიერების განაწილება პაკეტური დამუშავების სისტემებში მულტიპროგრამირების მხარდაჭერით ასეთ სისტემებში ოპერაციული სისტემა იკავებს მეხსიერების უმცროს თანრიგებს, ოპერაციული სისტემის შემდეგ მეხსიერება დაყოფილია განყოფილებებად თითოეულ განყოფილებაში თავსდება მომხმარებლის პროგრამები. განყოფილებების რიცხვი და ზომა ცვალებადია. ოპერაციული სისტემები მულტიპროგრამული მხარდაჭერით ხასიათდებიან შემდეგი თავისებურებებით: ოპერაციული სისტემა დავალება 1 დავალება 2 დავალება 3 დავალება 4 8 შეტანა-გამოტანის პროგრამების გამოყენება. ერთამოცანიან სისტემებში ყოველი ამოცანა იღებდა კომპიუტერის ყველა რესურსს სრულ განკარგულებაში, მათ შორის შეტანა-გამოტანის მოწყობილობებსაც. ბოლო დავალების შესრულების შემდეგ პროცესორი გადადიოდა ლოდინის მდგომარეობაში. მულტიპროგრამულ რეჟიმში უკვე წარმოიშვა სპეციალური შეტანა -გამოტანის ქვეპროგრამების არსებობის აუცილებლობა, რომელიც შეიძლება გამოძახებულნი იყვნენ მომხმარებლის ან ოპერაციული სისტემის მიერ აუცილებლობის შემთხვევაში. მომხმარებლის ერთერთი პროგრამის მიერ შეტანა-გამოტანის ქვეპროგრამის გამოძახება ნიშნავს, რომ როცა ის იწყებს ამ პოგრამასთან მუშაობას (ე.ი. შესრულების მომენტში ) ოპერაციულ სისტემას შეუძლია წარუდგინოს პროცესორს მომხმარებლის სხვა ამოცანა შესასრულებლად. მეხსიერების მართვა. მეხსიერებაში შეიძლება იყოს რამდენიმე დავალება, მეხსიერების არეების რიცხვი და ზომა შეიძლება შეიცვალოს. ოპერაციული სისტემის წინაშე დგება ამოცანა როგორ გაანაწილოს მომხმარებლის პროგრამებს შორის მეხსიერება - ანუ მომხმარებლის ამოცანისთვის ჩატვირთვის წინ მეხსიერების გამოყოფა და ამ ამოცანის დასრულების შემდეგ მეხსიერების განთავისუფლება. ამ ამოცანის გადასაჭრელად არსებობს მთელი რიგი პრობლემა: თავისუფალი და დაკავებული მეხსიერების სიის შენახვა, მეხსიერების თავისუფალი არის მოძებნის და გამოყოფის ოპტიმალური ალგორითმი, მეხსიერების განთავისუფლების რეალიზაცია, ფრაგმენტაცია - მეხსიერების დაყოფა მცირე ზომის უბნებად, თავისუფალი და საჭირო მეხსიერების უბნების ზომების არა ზუსტი დამთხვევა და ა.შ. პროცესორის დატვირთვის დაგეგმვა (CPU scheduling) - ოპერაციული სისტემის მიერ მეხსიერებაში ჩასატვირთი დავალებებიდან დავალების არჩევის ალგორითმის რეალიზება, ამ დავალებისთვის დროის ქვანტის გამოყოფა. ერთამოცანიანი რეჟიმისაგან განსხვავებით ოპერაციულმა სისტემამ უნდა გააკეთოს არჩევანი, რომელი აირჩიოს რამდენიმე გაშვებული დავალებიდან. გარე მოწყობილობების მართვა და შეტანა-გამოტანის ბუფერიზაცია. ერთამოცანიან რეჟიმში მეხსიერებაში დასაბეჭდად ჩატვირთული პროგრამის ბეჭვდა სრულდება ერთი სპეციალური მანქანურ ბრძანების მიერ და არ არსებობდა პრობლემა, რომ ეს ამოცანა მთლიანად მონოპოლურ რეჟიმში გადაიყვანდა კომპიუტერს. მულტიპროგრამულ რეჟიმში სხვაგვარი სიტუაცია იქმნება. თუ შენახული იქნება ბეჭვდის იგივე რეჟიმი, შესაძლებელია მივიღოთ ფურცელზე დაბეჭდილი სხვადასხვა დავალებებიდან ფრაგმენტები. სხვადასხვა დავალებების გამოსატანი ინფორმაციის დაჯგუფების და ერთმანეთისგან განცალკავებისთვის მულტიპროგრამულ სისტემებში გამოიყენება გამოტანის ბუფერიზაცია (spooling) - რაც ნიშნავს, რომ თითოეულ დავალებას ინახება გამოტანის 9 ბუფერში (მეხსიერების არის ან ფაილის სახით) და მისი სრულად დაბეჭვდა იწყება მას შემდეგ რაც დამთავრდება დავალება. დროის დაყოფის რეჟიმი და ამ რეჟიმის ოპერაციული სისტემების მუშაობის თავისებურებანი მას შემდეგ რაც კომპიუტერულ სისტემებში გაჩნდა ტერმინალები (საწყის ეტაპზე ტელეტაიპი, შემდეგ დისპლეი) შეიქმნა იმის აუცილებლობა, რომ ოს -ს შეძლებოდათ დროის დაყოფის რეჟიმის რეალიზება ( time sharing ) - რაც ნიშნავს, რომ ტერმინალებიდან მომხმარებლების დავალებებს ჰქონოდათ ერთდროულად მუშაობის, სისტემაში დავალების შეტანის და გაშვების (თავისუფალი პროცესორის არსებობისას), ტერმინალიდან დავალების მართვის, ტერმინალზე მათი შედეგების ვიზუალიზაციის შესაძლებლობა. დროის დაყოფის სისტემების ოპერაციული სისტემების თავისებურებანი მდგომარეობს შემდეგში: დავალების შენახვა მეხსიერებაში ან დისკზე. ოპერაციულ სისტემაში დროის დაყოფის რეჟიმით, პროცესორის რესურსები განაწილებულია მეხსიერებაში ან დისკზე მყოფ რამდენიმე დავალებას შორის. დავალება თუ ის არის პაკეტურია და არჩეულია ოპერაციული სისტემის მიერ შესრულებისთვის იტვირთება მეხსიერებაში (თავისუფალი მეხსიერების არსებობისას). პროცესორი გამოეყოფა იმ დავალებას, რომელიც იმყოფება მეხსიერებაში. Откачка и подкачка (swapping) - ნიშნავს დავალების ჩატვირთვას დისკიდან მეხსიერებაში და პირიქით მეხსიერებიდან დისკზე გადატვირთვას. დროის დაყოფის სისტემაში შესაძლებელია ისეთი სიტუაცია, რომ რომელიმე დავალება, რომელიც იმართება ტერმინალიდან, არაქტიურია (მაგალითად, ასრულებს შეტანა-გამოტანას, ან სისტემა ელოდება მომხმარებლიდან პასუხს, რომელიც იმ მომენტში არ მუშაობს). ასეთ შემთხვევაში ოპერაციულმა სისტემამ მეხსიერების განთავისუფლების მიზნით შეიძლება მიიღოს გადაწყვეტილება რომ ასეთი დავალება გადატვირთული იყოს (swap out) დროებით ოპერატიული მესიერებიდან დისკზე, რათა გაათავისუფლოს მეხსიერება სხვა დავალებისთვის. დავალების განმეორებითი აქტივიზაციისას ის თავიდან ჩაიტვირთება მეხსიერებაში ( swapped in ). ასეთ სტრატეგის ეწოდება откачкой и подкачкой . სისტემასა და მომხმარებელს შორის დიალოგის მხარდაჭერა. როდესაც ოპერაციული სისტემა ამთავრებს მომხმარებლის ბრძანების შესრულებას, ის ეძებს მომხმარებლის მიერ კლავიატურიდან შეტანილ შემდეგ შესასრულებელ მმართველ ოპერატორს (control statement). 10 დიალოგურ რეჟიმში მონაცემებთან და მომხმარებლის პროგრამის კოდთან წვდომა . ოპერაციულ სისტემას დროის დაყოფით აქვს შესაძლებლობა, რომ მომხმარებელმა ტერმინალიდან შეიტანოს, გაუშვას, რედაქტირება გაუკეთოს, გამართოს თავისი პროგრამა. მართოს თავისი დავალება, დაათვალიეროს შუალედური შედეგები, მეხსიერების და რეგისტრების მდგომარეობა, დაათვალიეროს დავალების დასრულების შემდეგ საბოლო შედეგები ტერმინალზე. უნდა გავითვალისწინოთ, რომ ოს დროის დაყოფის რეჟიმით ამუშავებენ დავალებას როგორც პაკეტურ ასევე ინტერაქტიურ (დიალოგურ) რეჟიმში. ამიტომ სისტემამ უნდა შეძლოს საჭირო დროს დავალების გადართვა დიალოგურიდან პაკეტურზე, ან ერთი დიალოგური (პაკეტური) დავალებიდან მეორეზე.
მიმაგრება: სურათი 1
კატეგორია: ინტერნეტ სივრცე | ნანახია: 52 | დაამატა: TeMo | რეიტინგი: 0.0/0
loading...
სულ კომენტარები: 0
avatar