Czy BIOS jest uważany za system operacyjny? [Zamknięte]


11

To pytanie przychodzi na myśl, gdy mamy do czynienia z macierzami RAID, ale niekoniecznie ma zastosowanie do tematu.

W jaki sposób BIOS jest w stanie odczytać dane z dysku twardego, aby skutecznie załadować system operacyjny, skoro wiele systemów operacyjnych potrzebuje sterowników, aby móc zrobić to samo? Czy BIOS ma listę sterowników, które pobiera z jednego z głównych systemów operacyjnych, takich jak Windows lub Linux?


2
Administratorzy SU nie są konstruktywni
Stumbler

Odpowiedzi:


10

Po pierwsze, BIOS jest Podstawowym systemem wejścia / wyjścia, a nie technicznie systemem operacyjnym ... Jeśli chodzi o ładowanie RAID i tak dalej, to, co dzieje się podczas rozruchu, to komputer odpytuje każdą dodatkową kartę z pytaniem, czy ma BIOS do załadowania. Karta RAID krzyczy: „Tak, najpierw mam coś do zrobienia”, potem uruchamia swój „BIOS” (w tym przypadku system operacyjny), sam wykonuje obliczenia, a następnie przekazuje kontrolę z powrotem do głównego systemu BIOS („Hej, Skończyłem, oto wszystkie informacje, które musisz wiedzieć o potrzebie wiedzieć, wiesz? ”).

Gdy główny BIOS ponownie przejmie kontrolę, może przejść przez: „Achhh, widzę, że pan RAID ma wolumin rozruchowy, przejdę przez to, jeśli to możliwe, a następnie spróbuję innych sztuczek”.

BIOS nie jest więc „technicznie” systemem operacyjnym, ale systemem wejścia / wyjścia, który przygotowuje się do prawdziwego systemu operacyjnego


11
odpala swój„ BIOS ”(w tym przypadku system operacyjny) ” - rozszerzenia BIOS lub BIOS po prostu nie są systemem operacyjnym. Istotnym celem systemu operacyjnego jest zarządzanie zasobami . BIOS, jako samodzielny program rozruchowy, nie zawraca sobie głowy utrzymywaniem informacji o alokacji zasobów. BIOS nie udostępnia żadnych procedur open () ani close (), które ograniczałyby dostęp do sprzętu. Każdy wykonywany kod może korzystać z funkcji odczytu / zapisu systemu BIOS. System BIOS nie spełnia podstawowego celu systemu operacyjnego.
trociny

@sawdust co z włączaniem lub wyłączaniem urządzeń pokładowych? Ograniczyłoby to dostęp do sprzętu.
Bon Gart

@BonGart - Włączanie / wyłączanie przez BIOS to po prostu narzędzie konfiguracyjne, które zastępuje fizyczną instalację lub usunięcie urządzenia. Jest to akcja ogólnosystemowa i obowiązuje do momentu ponownej konfiguracji lub awarii urządzenia. W rzeczywistości miałem na myśli koncepcje systemu operacyjnego dotyczące synchronizacji i wykluczania, takie jak muteksy i semafory, które mogą kontrolować / ograniczać na poziomie procesu i / lub wątku. Lub na przykład bufor wydruku; program buforowania systemu operacyjnego jest właścicielem drukarki i nie zezwala na bezpośrednie korzystanie z tej drukarki. Musisz przesłać swoje zadanie drukowania do bufora, który kolejkuje żądania drukowania.
trociny

10

BIOS , dosłownie „podstawowy system wejścia / wyjścia”, to zbiór małych programów zakodowane na płycie głównej komputera (zazwyczaj przechowywane na EEPROM ). Programy te obejmują możliwość modyfikowania ustawień, pisania tekstu i pobierania danych wejściowych od podstawowych urządzeń we / wy (płyta główna musi je emulować w przypadku zaawansowanych urządzeń myszy / klawiatury VGA i USB), a co najważniejsze, zapewnia funkcje wyszukiwania i uruchamiania systemy operacyjne obecne na atakowanych urządzeniach pamięci masowej.

Sam BIOS nie jest systemem operacyjnym. BIOS to mały program do ładowania systemu operacyjnego. Chociaż w niektórych systemach operacyjnych możliwe jest wywołanie różnych podsystemów BIOS, wymaga to, aby CPU przełączył się z powrotem do trybu rzeczywistego, ponieważ BIOS nie zapewnia obsługi pamięci wirtualnej, przełączania zadań (a tym samym zdolności do uruchamiania programów ) lub obsługa sterowników urządzeń (a zatem nie może bezpośrednio uzyskać dostępu do sprzętu poza zasięgiem mapy bezpośredniej ani niczego, co nie jest uwzględnione w połączeniach przerywających BIOS ).

Jak powiedział Linus Torvalds :

Nie, żebym kiedykolwiek twierdził, że BIOS też jest wspaniały, ale przynajmniej wszyscy wiedzą, że BIOS to tylko bootloader i nie próbuje zrobić z niego nic innego.

Absolutnie największą zaletą systemu BIOS jest to, że jest on tak niewygodny i oczywiście staroświecki, że musisz być szalony, aby chcieć zrobić w nim coś poważnego [...], nie mam pojęcia, że ​​jest to okazała platforma dla czegokolwiek innego niż „po prostu załaduj system operacyjny i wynoś się stamtąd”.

Na koniec należy zauważyć, że BIOS różni się znacznie od UEFI ( Unified Extensible Firmware Interface ), przy czym ten ostatni jest znacznie bliższy do zapewnienia podstawowego interfejsu systemu operacyjnego (zapewniającego sterowniki urządzeń i obsługę aplikacji). Nadal jest wątpliwe, czy nawet UEFI może być uważany za prawdziwy system operacyjny, chociaż jest znacznie bliżej do uznania go za system operacyjny niż BIOS.


2

Aby poradzić sobie z wieloma poruszonymi uwagami i uwagami, ponownie zredagowałem odpowiedź.

Czy BIOS jest systemem operacyjnym?

Cóż, jeśli system operacyjny jest zdefiniowany jako oprogramowanie, które pozwala użytkownikowi na interakcję ze sprzętem „komputera”, to tak… technicznie i dosłownie jest to system operacyjny.

Czy przełączanie zadań określa, co czyni system operacyjny?

Biorąc pod uwagę, że MS-DOS był prawidłowym systemem operacyjnym i do czasu zmiany wersji 5 przełączanie zadań nie było obsługiwane, przełączanie zadań nie wpływa na to, czy system operacyjny jest oprogramowaniem.

Czy wirtualizacja pamięci określa, co czyni system operacyjny?

Ponownie, używając MS-DOS jako przykładu, chociaż można by dodać obsługę wirtualizacji pamięci przez uruchamianie ekstenderów podczas procesu ładowania, nie było potrzeby ich używania. W związku z tym wirtualizacja pamięci nie jest również warunkiem wstępnym systemu operacyjnego.

Jeśli jest przechowywany w oprogramowaniu układowym, czy jest to system operacyjny?

Niektórzy twierdzą, że router nie używa systemu operacyjnego. Na przykład wydaje się, że istnieje spór o to, czy DD-WRT jest uważany za system operacyjny. Czy istnieją urządzenia przechowujące system operacyjny w oprogramowaniu układowym? Nowoczesne telefony, iPody i inne przechowują złożone systemy operacyjne, w których można dodawać programy w oprogramowaniu sprzętowym. Tak więc, ponieważ system operacyjny jest załadowany do oprogramowania układowego, nie wyklucza to, że dane oprogramowanie może być uważane za system operacyjny.

Jeśli nie możesz dodawać programów, nie jest to system operacyjny.

Odejdź od nowoczesnego smartfona. Spójrz na tani jednorazowy telefon komórkowy. Ma system operacyjny zapisany w oprogramowaniu układowym, ale nie można dodawać programów. Działa tak, jak jest i tylko z oferowaną funkcjonalnością. Poruszasz się po menu, tak jak każdy inny system operacyjny, wybierasz, co chcesz robić (grać w gry itp.), A przy dużej liczbie z nich sprzed kilku lat nie mieli możliwości dodania żadnego dodatkowego oprogramowania.

Jeśli nie jest nowoczesny, czy nie jest to system operacyjny?

Punkt w historii, w którym system operacyjny został stworzony i uruchomiony, nie ma wpływu na to, czy jest to system operacyjny, czy nie.

Tak więc BIOS może nie być ładny i może nie oferować ekstremalnej funkcjonalności. Jednak nadal jest to system operacyjny.


3
Definicja systemu operacyjnego na wikipedii sama w sobie jest wątpliwa. (Słyszałem kilka innych) Ale i tak całkowicie brakuje wam [...] wspólnych programów dla programów komputerowych , które moim zdaniem są niezbędne dla systemu operacyjnego.
Baarn

1
Skłaniam się bardziej ku oprogramowaniu układowemu niż systemowi operacyjnemu. Bios nie ma inteligencji, po prostu komunikuje się ze sprzętem na bardzo niskim poziomie i przekazuje te informacje do systemu operacyjnego. UEFI zmienia jednak grę.
Moab

1
Jest to cienka linia między oprogramowaniem układowym a systemem operacyjnym, subiektywnie jak diabli.
Moab

1
OK, poddaję się, to biOS, możesz teraz obalić mi głowę ... ;-)
Moab

2
@ BonGart BIOS nie ma obsługi pamięci wirtualnej i planowania zadań - a zatem brakuje możliwości uruchamiania programów (tzn. Nie można go uruchamiać jednocześnie z niczym innym). Chociaż zgadzam się, że zapewnia podstawową obsługę we / wy, to jest to mały program, a nie system operacyjny ... Czy może sklasyfikowałbyś mały fragment kodu na moim mikrokontrolerze, który odbiera hasło i włącza diodę LED (zapewniając w ten sposób podstawowe I Wsparcie / O) również system operacyjny?
Przełom

2

To, co jest lub nie jest „systemem operacyjnym”, jest kwestią osądu. Prawdopodobnie (i argumentowałem to w 1980 r.), Oryginalny DOS PC / MS nie był „systemem operacyjnym” (pomimo swojej nazwy), ponieważ zapewniał tylko usługi I / O (i prymitywny analizator poleceń) i nie miał prawdziwych możliwości zarządzania systemem .

OTOH, wiele implementacji BIOS-u zawiera teraz pewien stopień funkcji hypervisora, która zarządza zasobami systemu w dość wyrafinowany sposób.

Jeśli chodzi o sposób, w jaki BIOS ładuje się z dysku itp., Bez sterowników, konwencja / standardowe urządzenia „rozruchowe” obejmują zestaw operacji, z których można korzystać bez konieczności konfigurowania zaawansowanej infrastruktury zarządzania. W niektórych przypadkach jest to tylko umiejętność odczytu kilku sektorów we względnie stałej lokalizacji, ale to wszystko, co jest potrzebne w większości przypadków.


Więc włączasz komputer, ładujesz MS-DOS, a potem możesz uruchamiać programy. Mówisz, że MS-DOS nie był systemem operacyjnym ... gdzie wtedy był system operacyjny? Wygląda na to, że mówisz, że MS-DOS nie jest tym, co uważasz za prawdziwy system operacyjny, nawet jeśli technicznie działał jako jeden (i dlatego był jednym).
Bon Gart

1
Kiedyś było dużo komputerów bez „systemu operacyjnego”, tylko „wykonawczy wykonawca” lub niektóre takie, które zapewniały usługi plików i analizator poleceń. Nigdy nie nazywali ich „systemami operacyjnymi”.
Daniel R Hicks

2
@bonGart „ gdzie był wtedy system operacyjny? ” nie ma wymogu posiadania systemu operacyjnego, to znaczy alokatora / menedżera zasobów, do wykonywania programów na komputerze. Wczesne (lub proste) komputery (w tym mikroskopy z uruchomionym CP / M) miały po prostu rezydentny program ładujący, a załadowany program miał pełny dostęp do wszystkich zasobów komputerowych. Nie było rywalizacji o zasoby, a zatem nie było potrzeby systemu operacyjnego.
trociny

@sawdust - poprawnie. I jeden krok od „rezydentnego programu ładującego” była rezydentna biblioteka środowiska wykonawczego (taśma papierowa, dyskietka i funkcje klawiatury / wyświetlacza - może drukarka) oraz „monitor” lub „wykonawczy” lub niektóre takie, które wykrywałyby, gdy jeden program zakończono ładowanie następnego. DOS nie był dużo bardziej wyrafinowany niż te.
Daniel R Hicks
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.