Czy istnieje system operacyjny, którego można używać bez pamięci RAM, a konkretnie taki, w którym mogę utworzyć bootowalny pendrive i używać go na komputerze? Staje się to niezręczne, ponieważ ładowanie systemu polega na ładowaniu systemu operacyjnego do pamięci RAM.
Uwaga: pierwotnie chciałem wiedzieć o systemie operacyjnym bez pamięci RAM, aby sprawdzić, czy mój laptop (który nie uruchamia się, ale wyświetla pusty ekran) Pamięć RAM poszła nie tak, ale podoba mi się sposób, w jaki to pytanie się zawiesiło.
boot
memory
operating-systems
ramdisk
Suvarna Pattayil
źródło
źródło
Odpowiedzi:
Czy każdy system operacyjny potrzebuje pamięci RAM?
W przypadku sprzętu kompatybilnego z IBM PC obowiązkowym krokiem procesu POST systemu BIOS jest sprawdzenie, czy jest pamięć RAM do załadowania systemu BIOS. Opcjonalnie sprawdzenie poprawności działania funkcji RAM przez proces POST. Po zakończeniu procesu POST BIOS ładuje bootloader do pamięci RAM i daje kontrolę bootloaderowi. Tak więc odpowiedź na twoje pytanie („Czy każdy system operacyjny potrzebuje pamięci RAM?”) Brzmi : tak, każdy sprzęt kompatybilny z IBM PC wymaga przynajmniej trochę działającej pamięci RAM do uruchomienia. Dotyczy to każdego systemu operacyjnego działającego na tym sprzęcie.
Zauważ, że w pierwotnym pytaniu OP było odniesienie do „laptopa”, który zinterpretowałem jako: sprzęt kompatybilny z IBM PC. Do końca tej odpowiedzi założę sprzęt kompatybilny z IBM PC.
Czy system operacyjny może uruchomić się z wadliwą pamięcią RAM?
Jeśli RAM jest uszkodzony (nie całkowicie nieobecny / uszkodzony) lub jeśli można (częściowo) zastąpić RAM, może być w stanie uruchomić za pomocą BadRAM z BadMEM łatek jądra. Wymaga to ponownej kompilacji jądra (brzmi łatwiej niż wtedy, gdy robisz to po raz pierwszy) oraz możesz zrestartować komputer i poinformować jądro, gdzie jest zła pamięć. Ładne wyjaśnienie zastosowania Memtest86 / Memtest86 + , BadRAM / BadMEM można znaleźć tutaj .
Czy system operacyjny może uruchomić się bez pamięci RAM i używać pamięci podręcznej procesora jako pamięci RAM?
O ile mi wiadomo, nie ma sposobu na użycie pamięci podręcznej procesora jako pamięci RAM bez pamięci RAM w systemie (jak sugeruje @philipp i inne) w komentarzach. Jeśli tak, dobrze byłoby dodać go tutaj. Jedyny artykuł, jaki mogłem znaleźć na ten temat, to ten artykuł, który stwierdza: „Używanie pamięci podręcznej procesora jako pamięci RAM do momentu zainicjowania pamięci RAM”. Nie jestem pewien, czy (i jak) będzie działać bez pamięci RAM. O ile mi wiadomo, nie ma działającego kodu, który uruchamiałby system operacyjny na komputerze kompatybilnym z IBM. Wszelkie komentarze do proof-of-concept, działającego kodu lub czegokolwiek są mile widziane w komentarzach i dodam je do tej odpowiedzi.
Czy mogę dostać się do BIOS-u?
Pytanie OP jest nieco niejasne, czy laptop jest w stanie przejść test POST systemu BIOS. Jak zauważa @Tonny, żaden system operacyjny nie pomoże ci „ dostać się do BIOS-u ”. Wprowadzić BIOS używając F1lub F2lub F10lub DELlub ESCklucz, w zależności od marki BIOS.
Jak odzyskać dane z laptopa bez pamięci RAM?
Co do celu stojącego za pytaniem: dlaczego potrzebujesz dostępu do laptopa? Prawdopodobnie dlatego, że na dysku twardym nadal znajdują się dane, które chcesz odzyskać? W takim przypadku znacznie łatwiej jest wyciągnąć dysk twardy (patrz instrukcja) i podłączyć go do zewnętrznego urządzenia pamięci masowej lub bezpośrednio do komputera. Oto fajny przewodnik, aby to zrobić.
źródło
Jest to teoretycznie możliwe , ale byłoby bardzo powolne, ponieważ musiałby użyć dysku do dowolnego tymczasowego magazynu, który nie mieściłby się w pamięci podręcznej procesora. (Procesory mają kilka megabajtów pamięci podręcznej, ponieważ nawet pamięć RAM jest dla nich zbyt wolna . Pomyśl o tym.) Więc potrzebujesz raczej małego systemu operacyjnego.
(Cóż, wbudowane systemy na chipie mogą wykonywać kod z pamięci RAM lub wewnętrznej pamięci Flash - BIOS komputera może teoretycznie zrobić to samo, ale nie może uruchomić całego systemu operacyjnego.)
Ale kolejną rzeczą jest to, że BIOS działa przed i na zewnątrz dowolnego zainstalowanego systemu operacyjnego, i to BIOS pozwala na rozruch z pendrive'a lub cokolwiek innego. Jeśli więc nie możesz uzyskać dostępu do systemu BIOS, żaden inny system operacyjny na świecie nie pomoże.
źródło
Z pewnym wysiłkiem można zaprojektować system, który nie zawiera pamięci RAM. Załaduj oprogramowanie z pamięci ROM (lub pamięci) i zrób wszystko w rejestrach lub w pamięci podręcznej. Taki system miałby wyjątkowo wąskie zastosowanie, a biorąc pod uwagę dzisiejsze ceny pamięci RAM, byłoby trochę bezcelowe. Gotowy laptop nie będzie działał bez wbudowanej pamięci.
Twoje prawdziwe pytanie jest bardziej prawdopodobne: „Jak uzyskać informacje z komputera, który nie chce się uruchomić” i to łatwe. Zdemontuj go, wyjmij napęd i podłącz go do zewnętrznej obudowy napędu.
Należy jednak pamiętać, że każdy komputer na tyle stary, że nie można po prostu uzyskać działającej pamięci RAM o wartości 20 USD, będzie miał napęd ATA (zwykły ATA, a nie SATA). Interfejs ten jest dziś prawie wygasły, więc musisz także znaleźć obudowę dysku z kartą ATA, a także adapter w pełnym rozmiarze do laptopa. Mam taki, który kupiłem w 2000 roku i trzymam kilka starych skrzynek tylko w tym celu.
źródło
Jeśli dobrze przeczytam pytanie, wszyscy tutaj szczekają niewłaściwe drzewo.
Mówi wprost: „aby dostać się do BIOS-u”.
Jeśli laptop jest tak zepsuty, że nawet nie dostanie się do BIOS-u, wszystko inne jest bezcelowe.
Nie można uruchomić ŻADNEGO systemu operacyjnego na tym, niezależnie od sytuacji RAM.
źródło
Twoje założenie, że pamięć jest zła, jest prawdopodobnie nieprawidłowe. Jeśli nie usłyszysz sygnałów dźwiękowych ani komunikatów na ekranie, główną przyczyną jest prawie na pewno awaria procesora (nieco mało prawdopodobne) lub awaria płyty głównej (bardzo prawdopodobne). Płyty główne cały czas zawodzą z powodu złączy lutowanych na zimno, które były częstym zjawiskiem we wczesnych dniach ruchu ROHS i wymogiem stosowania lutu bezołowiowego. Techniki produkcji zostały zoptymalizowane pod kątem użycia lutu ołowiowego, a przemysł zajął trochę czasu, aby złapać i rozwiązać problemy. Wielu producentów komponentów nie było skłonnych wydawać pieniędzy na modernizację swoich procesów. W końcu urządzenia będą testować i wypalać się w porządku, ale zepsują się miesiące lub lata później, po tym, jak prawdopodobnie wygasła jakakolwiek gwarancja. Dopiero wraz z rosnącą górą niepowodzeń i intensywnymi negatywnymi opiniami użytkowników producenci zaczęli ulepszać. W takim laptopie ponowne przepłynięcie płyty głównej w celu naprawy połączeń lutowanych na zimno jest prawie na pewno kosztowne.
źródło
Większość wczesnych komputerów z lat osiemdziesiątych lub mniej więcej miała system operacyjny (sterowniki sprzętowe, wsparcie IO, ładowanie programu, bardzo prosty interfejs wiersza poleceń itp.) W układzie ROM. Może nieco funkcjonować, nawet gdy układy RAM były nieoperacyjne. Ta funkcja była używana w specjalnych wersjach zawartości pamięci ROM zaprojektowanych do przeprowadzania testów sprzętowych i komunikowania się głównie za pomocą sygnałów dźwiękowych i lampek klawiatury.
CPU ma kilka rejestrów, które pamiętają przynajmniej adres wykonywanego polecenia, ale zwykle nie są one nazywane RAM.
Zwykły kod C nie może działać w systemie bez pamięci RAM, ponieważ używa pamięci stosu do przydzielania zmiennych, a stos jest w pamięci RAM. Po uruchomieniu ostatniego komputera zwykła dynamiczna pamięć RAM początkowo nie jest dostępna, ponieważ urządzenie do odświeżania pamięci RAM wymaga wstępnej konfiguracji do działania. Kod zestawu jest uruchamiany jako pierwszy i inicjuje płytę główną. Pamięć RAM zaczyna działać, a następnie można uruchomić kod C.
źródło
Kiedy poszedłem na uniwersytet w 1967 r., Dział informatyki miał Stantec Zebra . Pamięć składała się z magnetycznego bębna o długości 8192 słów. Było też 12 rejestrów i dwa akumulatory. Możesz wziąć pod uwagę tę pamięć RAM, ale nie taką, jaką znamy.
źródło
Będziesz potrzebował przynajmniej pamięci podręcznej chipów dla rejestrów (zasadniczo bardzo małej ilości pamięci RAM na chipie), aby jednostka wykonawcza CPU mogła działać. Więc nawet twój procesor ma „RAM”.
Uważam, że żaden system operacyjny Von-Neumann nie został zaprojektowany bez wymaganej pamięci.
Więc nie.
źródło
Jak wszystkie inne osoby tutaj, zgadzam się co do tego, że potrzebujesz pamięci RAM i nie mogę bez niej pracować, ale czytam również:
To faktycznie istnieje w BIOSie, istnieje funkcja dogłębnego sprawdzenia pamięci RAM. Podczas uruchamiania i wchodzenia do BIOS-u zmień opcję „Szybki autotest po włączeniu” na „wyłączony”, a następnie przeprowadzi pełne sprawdzenie pamięci RAM. Ta opcja powinna znajdować się w „zaawansowanych funkcjach BIOS-u”, coś w rodzaju drugiego wyboru w BIOS-ach AMI.
Mam nadzieję, że postawi cię o krok dalej. ;-)
źródło
Nie potrzebujesz pamięci RAM, np. Użyj maszyny Turinga .
(Nie uważałbym taśmy za pamięć RAM.)
Teraz twoje prawdziwe pytania powinny dotyczyć „użytecznego” i zdefiniować, co rozumiesz przez „użyteczny” .
źródło
Istnieją specjalne systemy operacyjne do wbudowania, które wyczerpują się całkowicie z pamięci ROM (pamięć tylko do odczytu). Aby jednak zrobić coś pożytecznego, zwykle potrzebujesz co najmniej niewielkiej ilości pamięci RAM. Nie widziałem jednak komputera, który uruchomiłby się bez pamięci RAM.
Jeśli chodzi o pierwotne pytanie dotyczące testu pamięci, jeśli komputer wykona test POST (tj. Przejdzie autotest po włączeniu zasilania i spróbuje się uruchomić), to Memtest86 został zaprojektowany specjalnie do testowania pamięci RAM. Testuje pierwsze 64 KB pamięci RAM, ładuje się do tej pamięci RAM, a następnie testuje resztę pamięci systemowej tak dokładnie, jak chcesz. Pamięć „płatkowa” (w przeciwieństwie do zwykłej złej pamięci) jest rzadka, ale widziałem, że Memtest86 łapał sporadycznie zły fragment, który został pominięty przez test pamięci komputera (w końcu test pamięci POST ma się zakończyć w rozsądnym czasie , podczas gdy najszybszy test memtest86 trwa 5-10 minut, a bardziej kompleksowe testy trwają kilka godzin).
źródło
Tak, możesz mieć komputer bez pamięci RAM. W większości procesorów x86 istnieje tryb specjalny, który pozwala na uruchamianie go tylko z pamięcią podręczną. Jeśli sprawdzisz Coreboot (wcześniej Linux), może to zrobić. Nazywa się to cache-as-ram. Właściwie możesz na tym opierać cały system operacyjny, a dzięki nowoczesnym dużym pamięciom podręcznym może nawet mieć GUI (sprawdź menuet-os). Ale nikt jeszcze tego nie zrobił.
źródło