Jump to content

პროგრამების ისტორია


NEIRON

Recommended Posts

დღეს დილით გამახსენდა ოდესღაც ნასწავლი ფაქტები კომპიუტერისა და პროგამირების შესახებ შესახებ და დღეს ვეცდები თქვენც გაგიზიაროთ ჩემი ცოდნა.

ჩარლზ ბებიჯი

charlesbabbage.jpg

თეორიული მოსაზრებები, რომლებიც პერსონალური კომპიურეტის შექმნას დაედო სავფუძლად, საუკუნოვან ისტორიას ითვლის და თავს იჩენს ბევრი მეცნიერის შრომებში. ამ იდეის პრაქტიკული რეალიზაცია მხოლოს XX საუკუნის მეორე ნახევარში მოხერხდა. განვითარების მაღალი ეტაპების მეშვეობით, გამოთვლითი ტექნიკა ძალზე სწრაფად გაუმჯობესდა. და დღესაც მიმდინარეობს :(

kvanzebi.jpg

ჩვენმა წინაპარმა ლერწმის ჩარჩოზე გაჭიმულ თოკზე მძივები აასხა, ყოველ თოკზე 10 ცალი. ასე შეიქმნა პირველი სათვლელი მოწყობილობა - საანგარიშო ანუ აბაკი. აბაკის გავრცელებასა და თვლის მეთოდების შექმნაში განსაკუთრებული წვლილი მიუძღვის ფრანგ მეცნიერს - ჰერბერტს (950 -1003). აბაკს, იყენებდნენ ბაბილონელები, ჩვენს წელთაღრიცხვამდე 4-5 ათასი წლის წინ. სხვათაშორის ეს აბაკი ყველასათვის ნაცნობი "ჩოთქის" წინაპარია.

abaki.jpg

უდიდესი ისტორიული მოვლენა, რომელმაც განსაზღვრა მათემატიკის შემდგომი განვითარება, თვლის პოზიციური სისტემის შექმნა იყო. როგორც ჩანს, იგი შემოიღეს 4000 წლის წინ ძველ ბაბილონში. ჩვენთვის ჩვეული ათობითი პოზიციური ნუმერაცია შექმნეს ძველმა ინდუსებმა. ინდოეთიდან არაბების საშუალებით

ნუმერაციის ეს სისტემა ციფრების აღნიშვნასთან ერთად (რომლებსაც ჩვენ "არაბულს" ვუწოდებთ) გადმოვიდა ევროპაში და შემდეგ კი გავრცელდა ყველა ქვეყანაში.

ყველაზე მნიშვნელოვანი მოვლენა გამოთვლითი ტექნიკის ისტორიაში იყო XVII სუკუნე, როდესაც გამოჩნდა გამომთვლელი მოწყობილობა. დიდი ხნის მანძილზე თვლიდნენ, რომ პირველი ასეთი მანქანა ააგო 1642 წელს ფრანგმა მათემატიკოსმა, ფიზიკოსმა და ფილოსოფოსმა ბლეზ პასკალმა, თუმცა, აღმოჩნდა, რომ მთვლელი მოწყობილობა აუგია გერმანელ მათემატიკოსს და აღმოსავლეთ ენათმეცნიერების პროფესორს ვილჰემ შიკარდს, დაახლოებით 1623 წელს. აღსანიშნავია ის ფაქტი, რომ 1967წ. მადრიდის ეროვნულ ბიბლიოთეკაში აღმოაჩინეს ლეონარდო და ვინჩის (1452-1519) ხელნაწერთა ორი ტომი. სქემის ანალიზიდან გაირკვა, რომ ჯერ კიდევ პასკალისა და შიკარდის არითმომეტრების (არითმეტიკული სათვლელი მანქანა) აგებამდე ერთი საუკუნით ადრე, ლეონარდო და ვინჩს აუგია სათვლელი მანქანა.

XIX საუკუნეში დაისვა საკითხი: შეიძლებოდა თუ არა, შექმნილიყო მანქანა, რომელიც არა მხოლოდ ცალკეულ არითმეტიკულ ოპერაციებს შეასრულებდა, არამედ "შეძლებდა" ეწარმოებინა გამოთვლითი ჯაჭვი, რომელიც აუცილებელი იქნებოდა ამოცანის მთლიანობაში ამოსახსნელად?

ადამიანი, რომელმაც პირველად გამოთქვა გამომთვლელი მანქანის ფუნდამენტური იდეა და შეეცადა მის განხორციელებას, იყო ინგლისელი მეცნიერი ჩარლზ ბებიჯი (1791-1871).

aritmometri.jpg

როგორც ისტორიამ გვიჩვენა, ბებიჯის ჩანაფიქრი, რომ გამომთვლელი მანქანა ემართათ პერფობარათების საშუალებით, წინასწარმეტყველური იყო. პერფობარათების გამოყენების იდეა რეალური გახდა მას შემდეგ, რაც იგი 1804 წელს ფრანგმა გამომგონებელმა ჟოზეფ მარი ჟაკარმა გამოიგონა საქსოვი დაზგის მუშაობის ავტომატიზაციისთვის. პერფობარეათები ეს დაახლოებით საშუალო ზომის დაფის სიგრძე-სიგანის ბარათი იყო რაზეც პროგრამისტები წერდნენ, შემდეგ რაღაც პრინტერისებრი მოწყობილობა კითხულობდა პერფობარათიდან და ბრძანებას ასრულებდა.

პირველი კომპიუტერი 1833 წელს ჩარლს ბებიჯმა შექმნა, ეს იყო მექანიკური მანქანა რომელსაც რეალურად სახლის ზომა ჰქონდა. სხვადასხვა ამოცანების ამოხსნის დროს, გამომთვლელი მანქანის მიერ შესასრულებელ ოპერაციათა აღმწერი თეორიის განვითარების გარეშე, ამ მანქანის მართვა შეუძლებელა. ასე, რომ აუცილებელი გახდა მეცნიერების ახალი მიმართულების - პროგრამირების შექმნა, რაშიც დიდი წვლილი მიუძღვის ცნობილი ინგლისელი პოეტის, ჯორჯ გორდონ ბაირონის ერთადერთ ქალიშვილს - ადა აუგასტას - გრაფ ლავლეისის მეუღლეს.ბებიჯი მანქანის ტექნიკური თვალსაზრისით ‘მამა’ იყო, ხოლო მის პროგრამულ მხარეს კი ხელმძღვანელობდა Ada Lovelace, მას შეგვძლია გადაუჭარბებლად 'დედა' ვუწოდოთ. იგი გახლდათ ჯორჯ გორდონ ბარიონის შვილი (მწერლის), დიახ პირველი პროგრამისტი იყო - ქალი! მის საპატივცემულოდ ერთ-ერთ პროგრამულ ენას Ada ეწოდება. სამწუხაროდ ახალგაზრდა გარდაიცვალა სიმსივნით.

ადა ლოველასი

Ada_lovelace.jpg

1843 წლის 19 ივლისი ითვლება პირველი პროგრამის შექმნის თარიღად - ადა ლავლეისს ეკუთვნის ბურნულის რიცხვების გამოსათვლელი პროგრამა. ამ პერიოდში მანქანას შეეძლო შეესრულებინა არა მხოლოდ არითმეტიკული, არამედ ლოგიკური ოპერაციებიც. ეს შესაძლებელი გახდა მას შემდეგ, რაც 1847 წელს ინგლისელმა მათემატიკოსმა ჯორჯ ბულმა (1815-1864) შექმნა ლოგიკურ გამონათქვამთა თეორია, რომელმაც მიიღო "ბულის ალგებრის" სახელწოდება. თუმცა სიმართლე რომ გითხრათ ყველასათვის ცნობილია რომ ადა მთლად პროგრამისტიც არ იყო, იგი თავდაპირველად ბებიჯს ეხმარებოდა რაღაც ჩნააწერების თარგმანში, კარგად ფლობდა ფრანგულ, იტალიურ და ინგლისურ ენებს. ალბათ ზოგიერთმა თქვეთაგანმა იცის რომ პროგრამა ეს კარგად შემუშავებული ალგორითმია.

ყველა არითმომეტრი, რაც კი შექმნილა ქართველი მეცნერის გიორგი ნიკოლაძის მოღვაწეობამდე, იყო მექანიკური. საფრანგეთში, სამეცნიერო მივლინებაში ყოფნის დროს, გიორგი ნიკოლაძემ (1888-1931) შეისწავლა არსებული არითმომეტრები და გამოიგონა ახალი ტიპის ელექტრომთვლელი - "პირდაპირი გამრავლების ელექტრონული არითმომეტრი", რომელიც სხვა მანქანებისგან განსხვავდებოდა ელექტრული გამანაწილებლით. ეს სიახლე ამსუბექებდა ადამიანის ხელით მუშაობას.

giorgi_nikoladze_small.jpg

ამ გამოგონებით დაინტერესდნენ ევროპისა და ა.შ.შ-ს ფირმები, რომლებმაც სთხოვეს გ. ნიკოლაძეს დახმარებოდა მათ არითმომეტრის აგებაში, თუმცა იგი სამშობლოში წამოვიდა და იქ ააგო არითმომეტრის მოდელი, რომელიც გაიგზავნა მოსკოვში გამოფენაზე. იგი პოლიტექნიკურ მუზეუმში იყო ექსპონირებული, სადაც მნახველებს უჩვენებდნენ მოდელის მუშაობას... ამის შემდეგ, მოდელის ბედი გაურკვეველია. გიორგი ნიკოლაძე მოულოდნელად გარდაიცვალა 1931 წელს. სამწუხაროდ, მას არ დასცალდა დაეზუსტებინა არითმომეტრის მთლიანი კონსტრუქციის დოკუმენტაცია, რომლის გარეშეც, ამჟამად, მეტად რთულდება არითმომეტრის აგება.

PC

პირველი პერსონალური მიკროკომპიუტერი, სახელწოდებით "Altair", შეიქმნა 1974 წელს. ამ კომპიუტერის მწარმოებელი კომპანია MITS დააარსა ედ რობერტსმა. ფაქტიურად, "Altair" წარმოადგენდა მიკროკომპიუტერის ასაწყობ კომპლექტს და ძალიან განსხვავდებოდა თანამედროვე პერსონალური კომპიუტერებისგან. მას არ ჰქონდა კლავიატურა და მონიტორი. მონაცემების შეყვანა ხორციელდებოდა წინა პანელზე მოთავსებული გადამრთველების საშუალებით. ამ კომპიუტერისთვის პროგრამების ინტერპრეტატორი ბეისიკი კი შექმნა კორპორაცია Microsoft-ის დამაარსებელმა - ბილ გეიტსმა.

1977 წლისათვის გამოვიდა სხვადასხვა ფორმის კიდევ რამდენიმე პერსონალური კომპიუტერი: Tandy, Commodore, Apple II. განსაკუთრებით საყურადღებოა კომპიუტერი Apple, რომლის პირველი მოდელი ორმა ახალგაზრდა მეგობარმა სტივ ჯობსმა და სტივ ვოზნეაკმა :thumbdown: შექმნეს. 1976 წელს მათ დააარსეს კომპანია Apple Computer, რომლის სამუშაო ოფისად გამოიყენეს ჯობსის მშობლების ბინის ერთ-ერთი საძინებელი ოთახი. 1977 წელს მათ მიერ შექმნილი კომპუტერის შემდგომი მოდელი Apple II გამოირჩეოდა კარგი დიზაინითა და საიმედოობით. ეს იყო მსოფლიოში პირველი პერსონალური კომპიუტერი, ფერადი გრაფიკით. ამ მოდელს დიდი წარმატება ხვდაწილად. უკვე 1980 წელს Apple Computer-ის შემოსავალი შეადგენდა 117 მლნ. დოლარს.

1979 წელს გამოვიდა Apple II-ის მოდიფიცირებული მოდელი Apple II plus. ის წარმოადგენდა უკვე საკმაოდ დახვეწილ პერსონალურ კომპიუტერს, რომელთანაც სპეციალური პლატების მეშვეობით შეიძლებოდა სხვადასხვა მოწყობილობების (საბეჭდი, დისკური მოწყობილობის, ფერადი ტელევიზორის) მიერთება. Apple II plus-თვის შექმნილმა "ელექტრონული ცხრილების" პირველმა პროგრამამ სახელწოდებით VisiCalc გადააქცია ეს კომპიუტერი სერიოზულ ინსტრუმენტად (მცირე ფირმების ბუღალტერიის წარმოებისათვის).

70-იანი წლების ბოლოს პერსონალური კომპიუტერის გავრცელებამ გამოიწვია დიდი და პატარა ეგმ-ებზე მოთხოვნილების შემცირება. ეს გახა IBM (Intelnational Business Machines Corporation) ფირმის სერიოზული შეშფოთების საგანი და ამიტომ 1979 წლიდან გადაწყვიტეს პერსონალური კომპიუტერების გამოშვება. კომპიუტერის მიკროპროცესორად არჩეულ იქნა უახლესი Intel-8088 მიკროპროცესორი;

ეგმ - ელექტროგამომთვლელი

ახალი პროცესორის გამოყენებამ გაზარდა კომპიუტერის შესაძლებლობები, რადგან ის მუშაობდა 1 მბტ. მეხსიერებასთან, ხოლო ყველა სხვა კომპიუტერი იყო 64 კბტ. შეზღუდული მეხსიერებით. ამ კომპიუტერის პროგრამული უზრუნველყოფა შემუშავებულ იქნა ფირმა Microsoft-ის მიერ. 1981 წლის აგვისტოში გამოვიდა ახალი კომპიუტერი IBM PC და ძალიან მალე დიდი პოპულარობაც მოიპოვა. ერთი-ორი წლის შემდეგ IBM PC კომპიუტერმა წამყვანი ადგილი დაიკავა კომპიუტერული ტექნიკის ბაზაზე და პერსონალური კომპიუტერის სტანდარტად იქცა. დღეს ასეთი კომპიუტერები (IBM PC-თან თავსებადი) შეადგენენ მსოფლიოში წარმოებული კომპიუტერების 90%-ს.

1983 წლს გამოვიდა IBM PC XT კომპიუტერი, რომელსაც ჰქონდა მყარი დისკი "ვინჩესტერი"და 1985 წელს კი გამოვიდა IBM PC AT ახალი Intel-80286 პროცესორის ბაზაზე. იგი 3-4-ჯერ უფრო სწრაფად მუშაობდა, ვიდრე მისი წინამორბედი. მალე სხვა ფირმებმაც დაიწყეს IBM PC- თან თავსებადი კომპიუტერების წარმოება, რომლებსაც უფრო იაფად ყიდნენ. ზოგიერთმა ფირმამ უფრო სწრაფად "აითვისა" ტექნიკური მიღწევები, ვიდრე IBM-მა. ახალი კომპიუტერი Intel-80386-მა, პროცესორით გამოუშვა უკვე არა IBM-მა არამედ ერთ-ერთმა სხვა ძლიერმა კომპანიამ. ასე, რომ IBMMფირმამ დაკარგა ლიდერის როლი და გახდა ერთ-ერთი სხვა ფირმებს შორის.

ამრიგად, დასახელება " IBM PC" სულაც არ ნიშნავს, რომ კომპიუტერი ამ ფირმის მიერ არის დამზადებული. დღეს ამ ტიპის კომპიუტერების უმეტესობა იწყობა სამხრეთ-აღმოსავლეთ აზიაში, სადაც მათი წარმოება უფრო იაფია.

ოპერაციული სისტემა

ოპერაციული სისტემა - ეს არის მასიური პროგრამა რომელი შექმნილი იმისათვის რომ მოახდინოს ინტერკავშირი მანქანასა და მომხმარებელს შორის, შეიცავს სხვადასხვა ფუნდამენტურ კომპონენტს როგორებიცაა ფაილური სისტემა, კერნელი, ინტერფეისი და ა.შ.. ინტერკავშირი ვიხმარე იმის გამო რომ ამ კავშირში თვითონ ოპერაციული სისტემა მონაწილეობას ნაკლებად იღებს. დღეისათვის საკმაოდ გავრცელებულია 3 სახის ოპერაციული სისტემა:

1. OS X

2. Windows

3. UNIX

თუმცა ამ სისტემების განხილვას არ ვაპირებ. მე უფრო მინდა რომ აგიხსნათ როგორ ხდება კავშირი პროგრამასა და მანქანას შორის.

რაც მე მინდოდა ამ ტემით მეთქვა ისაა რომ ნებისმიერ პროგრამა იმისათვის რომ არსებობდეს უნდა შეიქმნას, ანუ დაიწეროს :)

ჩვენთვის ყველასათვის ცნობილია რომ მანქანა ‘აზროვნებს’ ორობით სისტემაში, 0-ისა და 1-იანის გამოყენებით (0-გამორთული, 1 - ჩართული). შესაბამისად იმისათვის რომ კომპიუტერს რამე ვუბრძანოთ უნდა იყოს ეს მის ენაზე ნათქვამი. რათქმაუნდა მეცნიერების დოქტორი არ უნდა იყო რომ მიხვდე რომ ძნელია კომპიუტერს ელაპარაკო მის მშობლიურ ენაზე :D

Native - ისეთი რამ რაც კომპიუტერთან პირდაპირი კავშირი აქ.

ამისათვის შეიქმნა პროგრამული ენები, საკმაოდ მრავალგვარი, მრავალფეროვანი, რათქმა უდნა განსხვავდებიან დანიშნულების მიხედვით. პროგრამული ენა არის ადამიანისათვის ადვილად გასაგები სინტაქსისა და სიტყვების მქონდე ბრძანებების ერთობლიობა იგივე კომპილატორი. პროგრამული ენა თავად პროგრამაა რომელიც კვლავ სხვადასხვა კომპონენტისაგან შედგება

სამივე ზემოთ ჩამოთვლილი ოპერაციული სისტემები დაწერილია ამ ენებზე (ძირითადად! რადგან ოპერაციული სისტემაში ბევრი კომპონენტია იღებს მონაწილეობას, შესაბამისად სხვადასხვა ენა) – C \ C++

C -ს მალე 40 წელი შეუსრულდება: D C++-ს კი 20 წელი თუ კიდე მეტი Ⴀრა: D როგორც ხედავთ პროგრამული სამყარო ძალიან ნელა ვითარდება, უფროსწორედ კი ის მუდმივად ვითარდება მაგრამ მხოლოდ მისი ‘დამატებები’, აი ადვილად რომ მიხვდეთ მაგალითად ფრეიმვორკები, გარემოები და ა.შ. მაგრამ დანარჩენი თითქმის იგივე რჩება. კომპანია Google გეგემავს რომ შემქნას ზემოტხსენებული ენების კონკურენტი ენა - Go.

პროგრამული ენები:

1. სისტემური პროგრამირების ენები

მაგ: C\C++, Assembly (ASM მოკლედ), Python და ა.შ. C#-ით და Java-თი კი შეიძლება სისტემური განხრის პროგრამა დაიწეროს თუმცა სისტემურ პროგრამირების ენაში ადგილს ვერ იმკვიდრებენ.

პროგრამულ ენებს აქვთ ალგორითმის წერის თავისებური პარადიგმები, ეს პარადიგმები განსხვავდებიან დანიშნულების მიხედვით. სიტყვაზე რომ ვთქვათ კალკულატორის შექმნას პროცედურული (როდესაც ერთ ბრძანებას შემდეგი მოყვება)პარადიგმაც ეყოფა მაგრამ ხელოვნურ ინტელექტს უფრო რთული რაცხები სჭირდება :D

C და C++ არიან native ენები და აქვთ პირდაპირი კავშირი ოპერაციულ სისტემასთან (საუბარია ლინუქსზე და ვინდოუსზე) იმის გამო რომ როდესაც რამე პროგრამას წერ ამ ენებზე ამის შემდეგ პროგრამა ითარგმენბა მანქანურ ენაზე (01010101010-ებზე რა), შესაბამისად პროგრამა სწრაფია მაგრამ მანქანაზე დამოკიდებული! ამიტომაა რომ ოპერაციულ სისტემებს წერენ ამ ენებზე ძირითადად და არა სხვებზე.

2. ვებ პროგრამირების ენები

მაგ: php, asp.net და ა.შ.

ზოგიერთს ჰგონია რომ html და javascript პროგრამული ენებია, მარა მთლად მასე არ არის. HTML არის მარკირების ენა, ანუ მარტივად რომ ვტქვათ მისი ‘მისიაა’ რომ საიტის შიგთავსი დაიჭიროს. Javascript_ს კი გინდა დაიჯერეთ გინდ არა არანაირი კავშირი არ აქვს პროგრამულ ენა Java-სთან :D უბრალოდ როდესაც ეგ სკრიპტინგის ენა შეიქმნა მაშინ ჯავა პოპულარული იყო და იმათაც დრო იხელთეს და სახელი შეუცვალეს :D სკრიპტინგი არის როდესაც კომპიუტერული პროგრამა ასრულებს ბრძანებას, bat ფაილების პონტში რა. ხოლო საიტის ძებნის ძრავები და მისთანები იწერება ვებ-პროგრამირების ენებზე. ზემოთ ჩამოთვლილი 2 მათგანი არის ყველაზე პოპულარული (კონკურენტები)

ბევრჯერ გაგიგიათ სიტყვა ბირთვი (არა OC-ს განხრით ოღნდ). ვინდოუსის ბირთვი, პროგრამის ბირთვი, დრაივერის ბირთვი. ზუსტად აი ეგ ბირთვები იწერება ASM ენაზე. ეს არის low-level ენა (დაბალი დონის, რაც დაბალია დონე მით უფრო რთულია ენა ანუ მით უფრო მიახლოებულია მანქანურ ენასთან). პროგრამის ბირთვებს იმიტომ წერენ ამ ენაზე რომ ეს არის ყველაზე ახლოს მდგომი ენაზე თავად მანქანურ კოდთან! ფაქტიურად იგივეა რომ 011010 შეცვალო რარაც სიტყვით და ვსო, და ურთულესი ენაა მაგრამ რადგანაც ასე მჭიდრო კავშირი აქ პროცესორთან შესაბამისად უფრო ოპტიმიზრებულია მასზე დაწერილი პროგრამები. აი რაიმე გრაფიკის რენდერს ჰგავს რა, შენ ნახაზებს აგებ, მატერიალებს ადებ და შემდეგ რენდერზე უშვებ რომ საბოლოო სახე მიიღო 

yv4z6.jpg

3. ხელოვნური ინტელექტის პროგრამირება

სულ მხოლოდ რამოდენიმე ენაა გავრცელებული, ჩემთვის ცნობილია მხოლოდ Haswell და LISP.

ხელოვნური ინტელექტის პარადიგმა არის სრულიად განსხვავებული და რადგან გამოცდილება ამ სფეროში არ მაქ ვერ აგიხსნით ზუსტად როგორი.

ზოგს შეიძლება კითხვა დაებადოს რატომ იყენებნ კიდევ C-ს, კიდე 10 წელი და ნახევარი საუკუნე შეუსრულდება 

პასუხი მარტივია - პროგრამული ენის შემქნა (ანუ იგივე კომპილატორის) არის ურთულესი პროცესი. კომპილატორი (პროგრამული ენა) იწოდება ზერთულ პროგრამად, რადგან მისი შექმნა მოითხოვს ბევრად უფრო დიდი ძალისხმევას და ცოდნას ვიდრე ვინდოუს 2012 დაწერო ან უბუნტუ 56,23 :D

პროგრამული ენები როგორც წესი იწერება ASM ენაზე, რადგან ყველაზე ახლოა მანქანურ ენასთან, ხოლო თვითონ ASM კი პირდაპირ 01-ებით შეიქმნა.

Java და C#_ზე დაწერილი პროგრამები არ გადადიან 01-ებში პირდაპირ 

ალბათ ყველა თქვეთაგანს დაუყენებია Java Runtime Environment (JRE), თუმცა უბრალოდ ფლაგინი ეგონა. საქმე ისაა რომ ჯავაზე დაწერილი პროგრამა ინახევა „შუალედურ“ ენაზე იმისათვის რომ სხვადასხვა პლატფორმაზე გაიხსნას  როდესაც პროგრამა მიხვდება რა პლატფორმაზე მოხდა მისი გაშვება შესაბამის კოდს მიიღებს. ზუსტად ამისა გამოა რომ OpenOffice.org პროგრამა ძალიან ნელია! ჯავაზე დაწერილი პროგრამები ნელია! ეს გამოგადებათ იმედია. :D ხოლო C# ენა იყენებს ყველასათვის ნაცნობ .Net Framework-ს რომელიც ზარმაცი პროგრამისტებისთვის შექმნეს :D

ახლა კი გადავიდეთ უფრო საინტერესო თემაზე.

დრიავერები და რატოა რომ მისი საშუალები შეიძლება უკეთესი შედეგი მივიღოთ ბენჩებში.

დრაივერი არის პროგრამა რომელიც კომპიუტერს აწვიდს საჭირო მისამართებს რომ სისტემამ აღიქვას უცხო სხეული. რაც მეტად ოპტიმიზირებულია დრაივერი, ანუ მისი ალგორითმი რაც ნაკლებ ოპერაციებს შეიცავს მით უფრო სწრაფია.

არის ასეთი რამ API (Aplication Programming Interface) - რაც გაძლევს წვდომას გარკვეულ ფუნქიცამდე.

რომ იყოს TV როგორ გამოიყენებ მას თუ არ მოგცემენ Swith(On, Off) ფუნქციას?

საქმეც მაგაშია რომ სანამ კომპიუტერს არ ექნება საჭირო მისამართები, წვდომის უნარი ისე ვერაფერს ვერ იზავ.

მაგალითისთვის კიდევ გამოვიყენებ ასეთ რამეს - iPhone-ს. ამ ტელეფონის ოპერაციულ სისტემას აქვს ტონობით API, რაც დეველოპრებს საშუალებას აძლევს რომ მისი ყველა ნაწილი გამოიყენოს მრავალგვარად, მიკროფონიტ დაწყებული ვიბრაციით დამთავრებული.

თუმცა თავად ეს ფუნქციებიც ხო იწერება არა? ხოდა ეს ფუნქციები რაც უფრო მეტად არის ოპტიმიზირებული მით უკეთ აკეთებს მის შამუშაოს 9სწრაფად და ადვილად, ელემნტალური პროგრამაში სჯობს გამოკლება და გამრავლება გამოიყენო როცა შეგიძლია ვიდრე გაყოფა და გამრავლება - ესეც კი ოპტიმიზაციაა თქვენ წარმოდიგინეთ).

დრაივერის ალგორითმი რაც მეტად ოპტიმიზირებულია მით უფრო კარგი კავშირის დამყარება ხდება კომპიუტერსა და მის შმეადგენე ნაწილს შორის.

კავშირის დამყარება ხდება კერნელის საშუალებით.

მომხმარებელი აწვდის ბრძანებას პროგრამას -> პროგრამა ოპერაციულ სისტემას -> ოპერაციული სისტემა კერნელს -> კერნელი მანქანას -> შემდეგ ხდება შედეგის უკუპროცესი.

Kernel-simple.png

ოპერაციულ სისტემას აქვს თავისივე ფუნქციები, ისევე როგორც დრაივერი სძენს ფუნქციებს ვიდეოკარტას ან რამე სხვა მოწყობილობას.

ავიღოთ Windows, Windows-ს აქვს Win32 API სადაც არის თავმოყრილი ტონობით ფუნქციები. ყველაზე თვალსაჩინო მაგალითი - ფანჯარა, არ დაგბადებიათ კიტხვა ყველა პროგრამას ვინდოუსში ერთნაირი ფანჯარა რატო აქ :D იმიტომ რომ როცა პროგრამისტი პროგრამაში მიუთითებს ვინდოუსის ფანრჯის ფუქნციას შესაბამისად პროგრამა default ფანჯარას გამოიყენებს. Win32 API შეიცავს უამრავ ფუნქციას. Win32 API იწერება VB, C\C++ ენებზე.

შევაჯამოთ:

1. პროგრამები იქმნებიან პროგრამული ენების საშუალებით

2. პროგრამული ენები განსხვავდებიან დანიშნულების მიხედვით

3. პროგრამული ენის შემქნა ურთულესი პროცესია

მომიტევეთ თუ აბდაუბდათ მიწერია :( თავი მტკივა და კარგად ვერ ვაზროვნებ.

  • Upvote 2
Link to comment
Share on other sites

ძალიან საინტერესო ინფოა,

მაგრამ ერთ შსწორებას შევიტან:

OSX-იც UNIX ტიპის სიტემაა, ოღონდ Linux-ისგან განსხვავეით არა აქვს ღია კოდი (Apple-ს აქვს ღია კოდიანი Darwin OS, რომელიც ძალიან გავს OSX და მასზე MAC-ის პროგრამებიც პირდაპირ ეშვება...

ისე, OS-ები ტიპებად ბევრი რამის მიხედვით შეიძლება დაიყოს..

მაგ, Disk Operating System-იგივე DOS (არ აგერიოთ MS-DOS-ში)ანუ ოპერაციული სისტემა, რომელიც მუშაობს დისკებთან

შეიძლება ეს იყოს პერსონალური კომიუტერი, სერვერი, სუპერკომპიუტერი და მობილური ტელეფონიც კი

Network Operation System- NOS ანუ ის იტვირთება ქსელში მაგალითად Novell NetWare, Windows NT

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.