Pytania otagowane jako operating-systems

Pytania dotyczące zasad działania oprogramowania, które łączy sprzęt i aplikacje.




6
Generowanie kombinacji z zestawu par bez powtarzania elementów
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 …


4
Jakie wątki ogólnie się dzielą?
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 …


4
Czy harmonogramowanie kooperacyjne zawiesza procesy podczas wykonywania operacji we / wy?
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 …

3
Sprytne zarządzanie pamięcią ze stałymi operacjami czasowymi?
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ć …

4
Jak system operacyjny może działać na tym samym układzie, którym ma zarządzać?
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 …

3
Jakie gwarancje faktycznie zapewniają „miękkie” systemy operacyjne w czasie rzeczywistym
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 …

6
Znalezienie maksymalnego XOR dwóch liczb w przedziale: czy możemy zrobić coś lepszego niż kwadratowy?
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 …

2
Jakie są potencjalne pułapki związane z minimalnym jądrem, które uruchamia kod zarządzany?
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 …

2
Wydajność mikrojądra vs jądro monolityczne
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 …

1
Balonowanie pamięci w systemie operacyjnym
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 …

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.