05 ოპერატიული სისტემა და პროგრამები
პროგრამები
რა არის პროგრამა
პროცესორის ინსტრუქციების ერთობლიობა კონკრეტული დავალების შესასრულებლად.
პროგრამის მუშაობის სქემა
გაშვება
ოპერატიული სისტემა
- წაიკითხავს პროგრამის კოდს, რომელიც წერია დისკზე და გადაიტანს მეხსიერებაში
- გამოუყოფს საწყის მეხსიერებას
- პროცესორს მიუთითებს პროგრამის კოდის პირველ ხაზზე მეხსიერებაში
ოპერირება
ამის შემდეგ, პროგრამას შეუძლია მოითხოვოს მხოლოდ გამოყოფილი მეხსიერების წაკითხვა/ჩაწერა
ოპერატიულ სისტემას მისცემს მეხსიერების ზომას, იგი გამოუყოფს ამ ზომის ადგილს და დაუბრუნებს მისამართს, საიდანაც არის იმ ზომის ადგილი გამოყოფილი. მაგალითად, თუ გვჭირდება 100 ბაიტი, ოპერატიული სისტემა გვეტყვის რომ ეს ბაიტები გამოყო 3456 მისამართზე, ანუ 3456-დან 3556-მდე შეგვიძლია გამოვიყენოთ.
გაათავისუფლოს მეხსიერება, რომელიც არ ჭირდება ხშირად პროგრამისტებს ეს ავიწყდებათ ხოლმე, რის გამოც შეიძლება მაგ. კომპიუტერმა დაიწყოს გაჭედვა, რასაც “შველის” პროგრამის გამორთვა და თავიდან ჩართვა ან კომპიუტერის გადატვირთვა.
შენი აზრით, რა მოხდება, თუ პროგრამა ამ წესს დაარღვევს?
ავარიული გამორთვა
გამოყოფილი მეხსიერების რეგიონის დარღვევისას
თუ პროგრამა შეეცდება იმ მეხსიერების წაკითხვა/ჩაწერას, რომელიც ოპერატიულ სისტემას არ მოუცია, ოპერატიული სისტემა მომენტალურად გათიშავს პროგრამას
კიდევ რა შემთხვევაში ითიშებიან პროგრამები ავარიულად?
Error control
სხვადასხვა ენებს აქვთ სხვადასხვა გზა ასეთ შემთხვევებთან გამკლავების.
შეიძლება მოხდეს შეცდომა და პროგრამა შეეცადოს ისეთი ფაილის წაკითხვას, რომელიც არ არსებობს. თუ პროგრამისტი არ დაწერს, რა მოხდეს ამ შემთხვევაში (მაგალითად, შეიქმნას ცარიელი ფაილი ან მომხმარებელს აცნობოს), შეიძლება მთლიანი პროგრამა გაითიშოს
გამორთვა
პროგრამის გამორთვისას, ოპერატიული სისტემა
- ათავისუფლებს პროგრამის გამოყენებულ მეხსიერებას
- შლის პროგრამის კოდს მეხსიერებიდან
თუმცა ოპერატიულ სისტემასაც შეიძლება ქონდეს მეხსიერების მართვის პრობლემები, რა შემთხვევაშიც კომპიუტერის გადატვირთვაა საჭირო