ჩამტვირთავი დისკი და დისკის გეომეტრიის პარამეტრები
დღეს არსებული BIOS–ების უმრავლესობა გვაძლევს იმ მოწყობილობის თანმიმდევრობის მითითების საშუალებას, საიდანაც მოხდება ოპერაციული სისტემის ჩატვირთვა. აღნიშულ თანმიმდევრობაში BIOS შეეცდება ოპერაციული სისტემის ჩატვირთვას პირველივე ხელმისაწვდომი მოწყობილობიდან. თუ ვერცერთი მითითებული მოწყობილობიდან ვერმოხერხდება ოპერაციული სისტემის ჩატვირთვა, BIOS–ი გამოიტანს შეტყობინებას რომ ოპერაციული სისტემის ჩატვითვა შეუძლებელია. როგორც უკვე ავღნიშნეთ BIOS–ში შესაძლებელია იმ მოწყობილობების თანმიმდევრობის განსაზღვრა, საიდანაც მოხდება ოპერაციული სისტემის ჩატვირთვა. ხშირ შემთხვევაში უსაფრთხოების მიზნით აღნიშნულ თანმიმდევრობას ცვლიან, ან საერთოდ ზღუდავენ, რათა ოპერაციული სისტემა მხოლოდ ერთი კონკრეტული მოწყობილობიდან ჩაიტვირთოს. როგორც წესი, ასეთი მოწყობილობა არის მყარი დისკი. ასეთი შეზღუდვა განპირობებულია იმით, რომ შეუძლებელი იყოს კომპიუტერში რაიმე სხვა ოპერაციული სისტემის ჩატვირთვა და სისტემაში შესვლა. მაგალითად: თუ BIOS–ში მითითებული იქნება პირველ ჩამტვირთავ მოწყობილობად CD-ROM, ნებისმიერი მსურველი, ვისაც ხელი მიუწვდება ფიზიკურ მანქანაზე, შეძლებს სისტემაში შესვლას მისი გადატვირთვით და საკუთარი ჩამტვირთავი CD დისკის გამოყენებით.
კომპიუტერის ჩართვისას, გარდა ჩამტვირთავი მოწყობილობების თანმიმდევრობისა, BIOS–ისთვის მნიშვნელოვანია ამ მოწყობილობების დეტექცია. თანამედროვე კომპიუტერებში უმეტეს შემთხვევაში დისკების დეტექცია და BIOS–ის მიერ მათი შესაბამისი კონფიგურაცია ხდება ავტომატურად. თუმცა არსებობს გამონაკლისებიც. თუ საქმე გვაქვს მოძველებულ მყარ დისკებთან, შესაძლოა საჭირო გახდეს BIOS–ში Cylinder/Head/Sector (CHS– ცილინდრი/თავაკი/სექტორი) გეომეტრიის მითითება.
აღნიშნული CHS გეომეტრია წარმოადგენს ძველი x86 არქიტექტურის გადმონაშთს. 2.1 სურათზე ნაჩვენებია ტრადიციული მყარი დისკის გამოსახულება, რომელსაც გააჩნიაჩაწერა/წაკითხვის თავაკების ფიქსირებული რაოდენობა. თითოეული თავაკი მოძრაობს დისკის ზედაპირის (platter) გასწვრივ და დისკის ტრიალის დროს მოცემულ ზედაპირზე შემოხაზავს წრიულ ბილიკს (track). ასეთი ბილიკების ერთობლიობა ვერტიკალურად შეადგენს ერთ ცილინდრს (cylinder). თითოეული ბილიკი დაყოფილია მცირე ზომის სექტორებად (sectors). შესაბამისად, მყარ დისკზე შესაძლებელია თითოეული სექტორის იდენტიფიცირება სამი ძირითადი პარამეტრით: ცილინდრის ნომერი, თავაკის ნომერი და სექტორის ნომერი. ძველ x86 არქიტექტურის მქონე კომპიუტერების BIOS–ში აუცილებელი იყო აღნიშნული პარამეტრების განსაზღვრა. საბედნიეროდ თანამედროვე კომპიუტერებში ეს ინფორმაცია მიეწოდება BIOS-ს ავტომატურად. თუმცა დღეს უკვე არსებობს ისეთი სისტემებიც, რომლებშიც მყარი დისკის თითოეულ სექტორს ენიჭება უნიკალური ნომერი და დისკზე ინფორმაციის ჩაწერა/წაკითხვის დროს მისი დრაივერი თავად ახდენს სწორი ცილინდრის და თავაკის ამორჩევას ამ ნომრის მიხედვით.
სურ. 2.1
Coldplug და Hotplug მოწყობილობები
სხვადასხვა აპარატურული კომპონენტების კომპიუტერში ინტეგრაციისას უნდა გვახსოვდეს, რომ ეს მოწყობილობები იყოფა ორ კატეგორიად. ცივი მიერთების (Coldplug) და ცხელი მიერთების (Hotplug) მოწყობილობებად. პირველ კატეგორიაში შემავალი მოწყობილობების მიერთებისათვის აუცილებელია ფიზიკური მანქანის გამორთვა, ხოლო მეორე კატეგორიის მოწყობილობების მიერთება შესაძლებელია ჩართული კომპიუტერის დროს.
ტრადიციულად ისეთი კომპონენტები, როგორიცაა ცენტრალური პროცესორი, მეხსიერება, PCI გაფართოების ბარათები და მყარი დისკი, მიეკუთვნება ცივი მიერთების მოწყობილობებს. თუმცა არსებობს PCI ბარათების ცხელი მიერთების ვარიანტიც, რომელიც უფრო ხშირად გამოიყენება სერვერებში, რადგან სერვერების გათიშვა ახალი კომპონენტის დასამატებლად უფრო კრიტიკულია ვიდრე ჩვეულებრივი სამომხმარებლო კომპიუტერის.
თანამედროვე გარე მოწყობილობების უმრავლესობა, როგორიცაა Ethernet და USB მოწყობილობები, წარმოადგენენ ცხელი მიერთების მოწყობილობებს, რომელთა მიერთება შესაძლებელია ჩართულ კომპიუტერზეც. სპეციალური სისტემური უტილიტები კი ეხმარება ოპერაციულ სისტემას მათ დეტექციაში და სწორ კონფიგურაციაში. ასეთ უტილიტებს მიეკუთვნება:
Sysfs - ეს არის ფაილური სისტემა, რომელიც მიბმულია (დამაუნტებულია) სისტემაში როგორც /sysდა აწვდის სხვადასხვა მიერთებული მოწყობილობების შესახებ ინფორმაციას ამა თუ იმ გაშვებულ პროგრამას, რომელსაც სჭირდება მოცემული მოწყობილობის გამოყენება.
D-Bus (Desktop Bus)- ეს არის სპეციალური სერვისი, რომელიც გაშვებულია სისტემაში დემონის სახით და უზრუნველყოფს სისტემაში სხვადასხვა მიმდინარე პროცესებს შორის ურთიერთშეთანხმებას ამა თუ იმ მოწყობილობის გამოყენებაზე და ახალი მოვლენების შესახებ (მაგ. ახალი USB მოწყობილობის მიერთება) შეტყობინების გაგზავნას ამ პროცესებთან.
udev - წარმოადგენს თანამედროვე ლინუქსის ბირთვისთვის მოწყობილობების მენეჯერს, რომელიც გაშვებულია სერვისის (daemon) სახით და ელოდება ბირთვიდან შესაბამის uevent პარამეტრებს ამა თუ იმ მოვლენის შესრულების შესახებ (მაგ. ახალი მოწყობილობის მიერთება ან გამორთვა). udev სისტემა მოიცავს სპეციალური წესების ნაკრებს, რომელთანაც ხდება აღმოჩენილი მოწყობილობის მიერ შესრულებული მოქმედების და მისი სხვადასხვა მახასიათებლების (სერიული ნომრის, ბირთვში მითითებული მოწყობილობის სახელის, მოწყობილობის ადგილმდებარეობის) შედარება. თუ აღმოჩენილი იქნება შესაბამისი კონკრეტული წესი, ამ წესის მიხედვით მოხდება მოწყობილობის სახელის განსაზღვრა და შესაბამისი პროგრამის (დრაივერის) გამოძახება, რომელიც ბოლომდე დააკონფიგურირებს ახალ მოწყობილობას.udevვირტუალური ფაილური სისტემა მიბმულია /dev დირექტორიაზე, რომელშიც დინამიურად იქმნება მოწყობილობების ფაილები მათი კომპიუტერთან მიერთებისას.
HAL (Hardware Abstraction Layer) - გარკვეული ფუნქციები, რომლებიც დღეს უკვე ინტეგრირებულია udev–ში, ლინუქსის შედარებით ძველ დისტრიბუტივებში სრულდებოდა HAL სერვისის (დემონის) მიერ. მაგალითად, HAL აგზავნიდა სპეციალურ შეტყობინებას ახალი მოწყობილობის აღმოჩენის შესახებ ყველა გაშვებულ პროგრამასთან, რის შედეგადაც კომპიუტერის გრაფიკულ ინტერფეისში იხსნებოდა ფაილ–მენეჯერი პროგრამა ამ კონკრეტული მოწყობილობისთვის (მაგ. USB Flash მოწყობილობა). 2011 წლიდან HAL სისტემა აღარ გამოიყენება მოწყობილობების მართვისთვის ლინუქსის უმეტეს დისტრიბუტივებში, რადგან მისი ძირითადი ფუნქციები უკვე ინტეგრირებულია udev სისტემაში ან წარმოდგენილია ცალკეული პროგრამის სახით – udisks და upower.
ყველა ზემოთ ჩამოთვლილი ინსტრუმენტი ეხმარება სისტემას ცხელი მიერთების მოწყობილობებთან მუშაობაში, რაც აისახება სხვადასხვა პროგრამების მიერ ახალი მოწყობილობების ავტომატურ აღქმაში და ასევე მათ კონფიგურაციაში ცვლილებების შესახებ შეტყობინების მიღებაში.