Co w procesorze wielordzeniowym, co dzieje się z zawartością pamięci podręcznej rdzenia (powiedzmy L1), gdy w tej pamięci podręcznej występuje zmiana kontekstu? Czy zachowanie zależy od architektury, czy jest to ogólne zachowanie stosowane przez wszystkich producentów układów?
Po przeczytaniu kilku źródeł wciąż nie rozumiem wątków na poziomie użytkownika i jądra. W szczególności: Wątki mogą istnieć zarówno na poziomie użytkownika, jak i jądra Jaka jest różnica między poziomem użytkownika a poziomem jądra?
Studiuję procesory i wiem, jak odczytuje program z pamięci i wykonuję jego instrukcje. Rozumiem również, że system operacyjny oddziela programy w procesach, a następnie przełącza się między nimi tak szybko, że wydaje się, że działają one w tym samym czasie, ale w rzeczywistości każdy program działa sam na procesorze. Ale …
Mam zestaw par. Każda para ma taką postać (x, y), że x, y należą do liczb całkowitych z zakresu [0,n). Jeśli więc n wynosi 4, to mam następujące pary: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) Mam już pary. Teraz muszę zbudować kombinację za pomocą n/2par, tak aby żadna liczba całkowita …
W słynnym eseju Richarda Gabriela The Rise of Worse is Better kontrastuje karykaturalne wersje filozofii projektowych MIT / Stanford (Lisp) i New Jersey (C / Unix) wzdłuż osi prostoty, poprawności, spójności i kompletności. Podaje przykład „problemu utraty komputera” ( omówionego gdzie indziej przez Josha Habermana ), aby argumentować, że Unix …
To jest ogólne pytanie. A jeśli ktoś chce sprecyzować tę implementację, wolę rzeczy związane z Uniksem. Ale najpierw trzeba znać następujące problemy w ogólności: Czytam, że pojedynczy proces może mieć wiele wątków. Wiele wątków tego samego procesu dzieli się między nimi. Chcę wiedzieć, co dzielą, a co nie. Biorąc pod …
Wiele odniesień do systemów operacyjnych mówi, że w przypadku wielozadaniowości kooperacyjnej (w przeciwieństwie do zapobiegawczej) proces utrzymuje procesor do momentu, aż jawnie się dobrowolnie zawiesi. Jeśli uruchomiony proces wykonuje żądanie we / wy, którego nie można natychmiast zaspokoić (np. Żąda naciśnięcia klawisza, który nie jest jeszcze dostępny), to czy program …
Rozważmy segment pamięci (którego rozmiar może się zwiększać lub zmniejszać, jak plik, w razie potrzeby), na którym można wykonać dwie podstawowe operacje alokacji pamięci obejmujące bloki o stałym rozmiarze: przydział jednego bloku uwolnienie wcześniej przydzielonego bloku, który nie jest już używany. Ponadto, jako wymaganie, system zarządzania pamięcią nie może poruszać …
Z moich odczytów na temat systemów operacyjnych (czytanie podstawowych materiałów na Wikipedii, stronach technicznych itp.) Dowiedziałem się, że system operacyjny to program, który pozwala programom i aplikacjom na interakcję ze sprzętem w wydajny i bezpieczny sposób. Jestem jednak zdezorientowany, w jaki sposób system operacyjny nadzoruje działanie komputera, gdy sam musi …
Myślę, że wiem, czym jest „twardy” system operacyjny w czasie rzeczywistym. Jest to system operacyjny z harmonogramem, który zawiera umowę z programistą aplikacji. Aplikacja określa termin dla każdego wniosku o przydział zasobów. Jeśli żądania terminu są wykonalne , planista gwarantuje, że każdy zasób zostanie przydzielony do wnioskującej aplikacji przed upływem …
Załóżmy, że otrzymaliśmy dwie liczby i i że chcemy znaleźć dla l \ le i, \, j \ le r .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Naiwny algorytm sprawdza po prostu wszystkie możliwe pary; na przykład w rubinie mielibyśmy: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if …
Załóżmy, że chcę zbudować system operacyjny oparty na bardzo małym macierzystym dolnym jądrze, które działa jako interpreter / środowisko wykonawcze kodu zarządzanego i większe górne jądro skompilowane do nienatywnego języka maszynowego (bajtowy kod Java, CIL itp.). Przykładami podobnych systemów operacyjnych byłyby Osobliwość i Kosmos . Jakie pułapki i wyzwania związane …
Mikrojądro implementuje wszystkie sterowniki jako programy przestrzeni użytkownika i implementuje podstawowe funkcje, takie jak IPC w samym jądrze. Jądro monolityczne implementuje jednak sterowniki jako część jądra (np. Działa w trybie jądra). Czytałem niektóre twierdzenia, że mikrojądra są wolniejsze niż monolityczne jądra, ponieważ muszą obsługiwać przekazywanie wiadomości między sterownikami w przestrzeni …
Niektóre hiperwizory optymalizują użycie pamięci za pomocą metody nazywanej balonowaniem (przynajmniej tak ją nazywa KVM), ta metoda deduplikuje pamięć między maszynami wirtualnymi i ustawia wspólne strony na tylko do odczytu z kopiowaniem przy zapisie. Jest to swego rodzaju przeciwieństwo wywołania wideł. Czy można wdrożyć procesy na poziomie systemu operacyjnego (myślałem …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.