Co jest technicznie nie tak z szybkim przełączaniem systemu operacyjnego?

6

Aplikacja (szybki przełącznik) pozostaje rezydentem przed uruchomieniem systemu operacyjnego i zostanie aktywowana za pomocą kombinacji klawiszy (na przykład: Ctrl + Alt + Shift + Esc). Po wykryciu kombinacji klawiszy przełącznik przełącza się i zapisuje wszystkie rejestry systemowe + pamięć RAM (może użyć przesunięcia pamięci RAM, aby uniknąć zapisania pamięci RAM w pliku) do pliku i przełącza się na inny rejestr systemu operacyjnego + pamięć RAM.

Byłby to szybki przełącznik systemu operacyjnego bez konieczności ponownego uruchamiania komputera .

Chcę wiedzieć, co jest technicznie nie tak z szybkim przełączaniem systemu operacyjnego (pamiętaj o hibernacji).

użytkownik24263
źródło
@Chet A po edycji masz rację, zgadzam się. Jest ważny i powinien zostać otwarty. Przepraszam za to!
alex
To było prawdziwe pytanie jeszcze przed edycją. Tylko prostak założyłby, że nie jest to pytanie, ponieważ nie zawierało znaku zapytania.
Geoffrey Chetwood
Chociaż zgadzam się, że ta funkcja może nie być dla wielu interesująca, nie sądzę, aby była to ważna kwestia. Przeciwnie (z technicznego punktu widzenia). + Otwarte
wieża
1
Czy to nie tyle, co OS / 2 1.x zrobił na 286, aby uruchomić programy DOS w trybie rzeczywistym? pages.prodigy.net/michaln/history/os213/index.html
Andrew J. Brehm

Odpowiedzi:

9

Opisujesz niektóre (mniej istotne) funkcje hiperwizora klienta typu 1 (lub baremetalu) - jest ich obecnie kilka, ale większość z nich nie działa na platformie x86 lub tradycyjnej platformie PC. Duzi gracze na rynku wirtualizacji x86 (Citrix \ Vmware \ Microsoft) jeszcze nie wydali, ale istnieją wyraźne oznaki, że zarówno Citrix, jak i VMware aktywnie je rozwijają.

Nie ma dużego zapotrzebowania na te obszary, ponieważ (jak powiedzieli inni) można to wszystko osiągnąć dzięki Hypervisorowi klienta typu 2. Istnieje przekonanie, że będą one popularne w środowiskach biznesowych, choć z tych samych powodów, dla których znaleźli niszę na niektórych platformach embedded \ mobile - powinny one zapewnić uproszczenie zarządzania i wsparcia. W tym miejscu znajduje się stosunkowo stary (pod koniec 2008 r.) Post na blogu dotyczący perspektyw hiperwizorów klienta typu 1 x86 autorstwa Briana Maddena .

Helvick
źródło
1
Wydaje mi się, że jego pomysł związany z hiperwizorem typu 1, takim jak przełączanie zadań, dotyczy wielozadaniowości. W przypadku hiperwizora typu 1 oba systemy operacyjne działają w tym samym czasie. Przełącznik systemu operacyjnego pozwalałby na działanie tylko jednego systemu operacyjnego na raz i nie miałby kontroli nad tym systemem podczas jego działania (dopóki nie zostanie ponownie wywołany przez użytkownika).
Andrew J. Brehm,
Zgadzam się z twoim punktem widzenia i to był jeden z powodów, dla których powiedziałem, że były to niektóre z mniej istotnych cech hiperwizora klienta baremetal. Bardzo szybki „przełącznik” hibernacji, który zasugerował, nie potrzebowałby wielu rzeczy (takich jak abstrakcja sprzętu i udostępnianie zasobów), które utrudniają zbudowanie hiperwizora, ale takie rozwiązanie wymagałoby niesamowicie szybkiego przechowywania, aby było przydatne. Nie sądzę, aby nawet macierz SSD RAID na SATA 6 Gb / s była wystarczająco szybka, podczas gdy hiperwizor klienta bez systemu metalowego mógłby zapewnić ją nawet przy dzisiejszej wydajności pamięci masowej i wkrótce ją zobaczymy.
Helvick
Zasugerował użycie 40-50% pamięci RAM dla jednego systemu operacyjnego i 40-50% pamięci RAM dla drugiego. Może się wydawać, że wszystkie te potrzeby to rozsądny system IO ... może być również bardzo błędny - może dlatego zapytał.
n611x007,
7

Nie jest to szczególnie interesujące dla większości ludzi, ponieważ w dzisiejszych czasach możesz po prostu uruchomić maszynę wirtualną prawie dowolnego systemu operacyjnego. Pamięć RAM jest również bardzo tania. Jeśli nie dotyczy pamięci RAM i wirtualizacji, ten pomysł może być opłacalny. Jednak nie widzę, by zyskał dużą przyczepność na dzisiejszym rynku.

Brian Knoblauch
źródło
1
Eee ... dlaczego -1? +1 ode mnie, / zgadzam się.
RJFalconer,
1
+1 stąd. Zgadzam się, że nie jestem tak interesujący.
Gawron
2
niektóre z moich sprzętowych laptopów nie współpracują z Linuksem, takie jak modem do wysyłania faksu !, i nie jest możliwe (?) przekazywanie modemu z Linuksa na VM
user24263
3
Cóż, ja tak. Wszystkie moje arkusze czasu pracy są przesyłane faksem do firmy zajmującej się obsługą płac. Zamówienia są przesyłane do nas faksem. Musimy przesłać faksem do firm spedycyjnych itp. Faks jest nadal bardzo ważną częścią biznesu!
Brian Knoblauch,
3
ja, w moim kraju muszę korzystać z faksu, a czasami dialup
user24263
5

Hibernacja działa, ponieważ system operacyjny ma gwarancję, że po przebudzeniu wszystko jest dokładnie w takim stanie, w jakim znajdowało się, gdy system operacyjny poszedł spać.

Jeśli zezwolisz na uruchomienie drugiego systemu operacyjnego, gdy pierwszy jest w trybie uśpienia, może to spowodować zmiany na dysku twardym; po przejściu z powrotem do pierwszego systemu operacyjnego wyglądałoby to tak, jakby dysk natychmiast się zmienił. Albo system operacyjny musi być na to przygotowany, albo będziesz musiał trzymać każdy system operacyjny na osobnych partycjach i upewnić się, że nie będą sobie przeszkadzać.

Prawdopodobnie mógłbyś go uruchomić, ale dwa systemy operacyjne w ogóle nie mogły się ze sobą komunikować, co prawdopodobnie uczyniłoby tę funkcję mniej interesującą niż uruchomienie drugiego systemu operacyjnego na maszynie wirtualnej.

benzado
źródło
myślę, że hibernacja nie jest snem, jest całkowicie wyłączona
user24263
Istnieje niewielka różnica między hibernacją a trybem uśpienia w celu przełączania systemu operacyjnego. Tak czy inaczej, dysk musi być w tym samym stanie, kiedy komputer się budzi, inaczej wystąpią problemy.
benzado
Możemy to zrobić, aby każdy system operacyjny miał dostęp tylko do niektórych części (partycji) dysku twardego. Chociaż zmieniają się stany partycji należących do innego systemu operacyjnego niż obecny, teoretycznie nadal istnieje możliwość przełączania się tam iz powrotem.
Frank
Rozsądnie jest mówić o dysku / partycji systemowej, ale co z innymi dyskami / partycjami (danymi)? System operacyjny może być w trakcie pisania do nich. Hibernacja musi się upewnić, że system operacyjny nie robi takich rzeczy. Myślę, że bezpieczniej jest, jeśli skonfigurujesz dysk jako urządzenie wymienne i wyjmiesz go przed przełączeniem.
n611x007,
1

Więc w zasadzie pytasz, czy możesz hibernować, a następnie uruchomić ponownie w innym systemie operacyjnym, ale oszczędzasz kilka sekund czasu potrzebnego na przejście przez BIOS? Wydaje się, że wysiłek polega na zaoszczędzeniu tych kilku sekund. Większość czasu spędziłaby hibernacja jednego systemu operacyjnego i hibernacja drugiego systemu operacyjnego, więc zaoszczędziłoby to tylko niewielką część całkowitego czasu.

davr
źródło
nie oszczędzam kilku sekund, chcę przełączyć się w mniej niż 5 sekund.
user24263,
1
Nie ma mowy, żeby mógł się tak szybko przełączyć ... jeśli masz 2 GB pamięci, musisz zapisać to wszystko na dysk dla jednego systemu operacyjnego, a następnie załadować 2 GB stanu pamięci zapisanego z drugiego systemu operacyjnego. Nawet jeśli masz naprawdę szybki dysk SSD o prędkości 200 MB / s, to wciąż 10 sekund na zapisanie jednego i 10 sekund na załadowanie drugiego, minimum 20 sekund. Gorzej, jeśli masz więcej niż 2 GB pamięci.
davr
możesz użyć połowy
pamięci
5 sekund? Niektóre dość szybkie i fantazyjne dyskowe operacje we / wy do zrobienia tego, ponieważ wszystko musi się załadować z dysku, do pamięci i zgasić. Nie widziałbym tego 5 sekund z 10 GB pamięci, którą aktualnie używam. Tak więc system VM jest i działa bardzo dobrze. Uruchom oba jednocześnie.
Fiasco Labs,
nie jest to czysto techniczny powód, jeśli mnie o to poprosisz (choć można go obronić). także ... jak komentarz. dobry punkt z dyskiem SSD i obliczeniami!
n611x007,