Po co ustawianie trybów jądra zamiast rozdzielania uprawnień?


12

Ustawienie trybu jądra na początku było trochę bolesne, ale teraz jest całkiem niesamowite. Mam na myśli, że X nie musi działać jako root? Konsole przyspieszane sprzętowo w wysokiej rozdzielczości? Fajne rzeczy.

Problem w tym, że wiele platform UNIX nie ma żadnych sterowników jądra do ustawiania trybu. Sprzęt oparty na KMS jest teraz w większości ograniczony do Linuksa.

Moje pytanie: po co właściwie to implementować w jądrze?

Jeśli do ustawienia rozdzielczości ekranu potrzebny jest dostęp sprzętowy, dlaczego nie użyć osobnego uprzywilejowanego demona lub małego pliku binarnego setuid? Zapewniłoby to korzyść polegającą na oddzieleniu uprzywilejowanego kodu i umożliwieniu serwerowi wyświetlania działania jako ograniczonego użytkownika; jednocześnie eliminując specjalne wymagania dotyczące sterowników i ułatwiając obsługę wielu systemów UNIX. Dobrze? A może brakuje mi tutaj czegoś ważnego?


To jest idea architektur systemu operacyjnego mikrojądra .
Barmar

W tym przypadku nie myślę o modelu typu mikrojądra, a bardziej o przenośności między różnymi jąderami.
DanL4096,

1
KMS jest również używany przez OpenBSD i FreeBSD, a Solaris ma również KMS w trakcie pracy. W ten sposób, gdy programiści stworzą działający sterownik dla Linuksa, obsługa sterowników przejdzie również do innych użytkowników korzystających z KMS.
hspaans

1
To rzecz architektoniczna. Dostęp sprzętowy to jedno, jeśli nie THE, zadanie jądra. Podział pracy pomiędzy jądro i przestrzeń użytkownika jest niewygodny, ponieważ będziesz potrzebować dwóch komponentów, które faktycznie wykonują tylko jedną pracę z rozmytym interfejsem. Ostatecznie wykonasz pracę w domenie jądra, dlatego jest mocny argument za umieszczeniem całej rzeczy w jądrze. Oczywiście możesz go jednak wdrożyć i gdziekolwiek chcesz. W solidnych platformach chodzi o wyraźnie (!) Zdefiniowane architektury i interfejsy. Wszystko jest chwiejnie chwiejne.
Bananguin,

1
Był dość długi okres, w którym różnego rodzaju awarie powodowały, że konsola znajdowała się w dziwnym trybie, w którym X już nie działał, ale dostęp do konsoli w stylu TTY nie został w rzeczywistości przywrócony. Problemy z przyspieszaniem IIRC GL i awarie używane do dość częstego wywoływania tej sytuacji. KMS oznacza, że ​​jądro wie, jak rozwiązać problem i przywrócić stan konsoli. IOW częściowo poprawia użyteczność. Chociaż można argumentować, że jądro może poprosić o to demona przestrzeni użytkownika, myślę, że nie zawsze działa to dobrze. Również umieszczenie go w jądrze oznacza brak problemów z zamkniętym źródłem.
James Youngman

Odpowiedzi:


1

Jądro już zarządza sprzętem sieciowym, sprzętem audio, wentylatorami i innym sprzętem, więc ma sens, że sprzętem graficznym zarządza również jądro.

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.