სხვაობა სისტემურ ზარსა და შეწყვეტას შორის

სხვაობა სისტემურ ზარსა და შეწყვეტას შორის
სხვაობა სისტემურ ზარსა და შეწყვეტას შორის

ვიდეო: სხვაობა სისტემურ ზარსა და შეწყვეტას შორის

ვიდეო: სხვაობა სისტემურ ზარსა და შეწყვეტას შორის
ვიდეო: Linux vs Windows File System Structure Compared! 2024, ივლისი
Anonim

სისტემური ზარი შეწყვეტის წინააღმდეგ

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

რა არის სისტემური ზარი?

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

რა არის შეფერხება?

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

როგორც ზემოთ აღინიშნა, ტერმინი Interrupt ჩვეულებრივ დაცულია ტექნიკის შეფერხებისთვის. ეს არის პროგრამის კონტროლის შეფერხებები, რომლებიც გამოწვეულია გარე აპარატურის მოვლენებით. აქ გარე ნიშნავს გარე პროცესორს. ტექნიკის შეფერხებები, როგორც წესი, მოდის მრავალი სხვადასხვა წყაროდან, როგორიცაა ტაიმერის ჩიპი, პერიფერიული მოწყობილობები (კლავიატურები, მაუსი და ა.შ.), I/O პორტები (სერიული, პარალელური და ა. ბარათი და ა.შ.). ეს ნიშნავს, რომ ტექნიკის შეფერხებები თითქმის არასოდეს ხდება განმახორციელებელ პროგრამასთან დაკავშირებული რაიმე მოვლენის გამო. მაგალითად, მოვლენამ, როგორიცაა მომხმარებლის მიერ კლავიატურაზე კლავიშის დაჭერა, ან შიდა აპარატურის ტაიმერის დროის ამოწურვა, შეიძლება გამოიწვიოს ასეთი სახის შეფერხება და შეიძლება აცნობოს პროცესორს, რომ გარკვეულ მოწყობილობას გარკვეული ყურადღება სჭირდება. ასეთ სიტუაციაში CPU შეწყვეტს რასაც აკეთებდა (ანუ შეაჩერებს მიმდინარე პროგრამას), უზრუნველყოფს მოწყობილობის მიერ მოთხოვნილ სერვისს და დაუბრუნდება ნორმალურ პროგრამას.

რა განსხვავებაა სისტემურ ზარსა და შეწყვეტას შორის?

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

გირჩევთ: