





 | |
Witam wszystkich!
Poniższy tekst jest odpowiedzią na tekst Singolla z AM nr 8. Trochę tam było opinii o Linuxie, które wskazują na to, że autor po
prostu przeniósł swoje doświadczenia z Windows na Linuxa bez zastanowienia. Do rzeczy.
Singollo: "Zastanów się, ile procesów jest jednocześnie aktywnych w Win32? U mnie co najmniej 5 + jakieś programy rezydentne
(Winamp, serwer MySQL) + co najmniej 3 inne procesy, odpowiadające za bierzącą pracę (u mnie czasem dochodzi to do 10 programów, np:
edytor WWW, program do obslugi FTP, program do obslugi baz danych, Outlook pozostający w trybie "nasłuch", manager downloadu, 3
procesy IE (1 do sprawdzania wyników pracy, 2 otwarte z dokumentacją w html'u i coś tam jeszcze). System musi wszystkiemu
przydzielić zasoby, a należy pamiętać, że nie są to programy wychodzące spod ręki jednego twórcy i czasami mogą się pokłócić o jakiś
szczególny bajt pamięci. I czasami system problem rozwiąże a czasami nie. Nie wiem, czy zauważyłeś, że zazwyczaj "pady" zaczynają
się od jednego programu."
Ja: U mnie w chwili pisania tego tekstu (pod Linuxem), na komputerze nie podłączonym do sieci, w którym jest tylko jeden użytkownik,
uruchomionych jest 29 procesów. Są to instancje programów pisanych w sumie pewnie przez kilkaset osób (taka jest natura wielu
projektów Open Source). Jakoś nie padają, i mógłbym kompa zostawić na wiele dni włączonego bez obawy o pad systemu - robiłem takie
rzeczy, uruchamiając jakiś program obliczeniowy pochłaniający np. 98% czasu procesora. Pozostałe 2% wystarczały systemowi, aby
sprawnie i bezpiecznie zarządzać pamięcią. Jeżeli Windows nie radzi sobie z ochroną pamięci, to nie jest to kwestia typu "mówi się
trudno", ale WADA. OLBRZYMIA WADA. Bo ochrona pamięci to podstawowe wymaganie wobec współczesnego systemu operacyjnego. Pady systemu
nie są konsekwencją błędu w programie użytkowym. Jedyną dopuszczalną konsekwencją błędu w programie użytkowym jest pad tegoż
programu. Jeżeli pociąga on za sobą cały system, to jest to błąd w systemie operacyjnym. Duży błąd. I nie jest to kryterium
wymyślone po to, żeby pognębić Microsoft - jeżeli ktoś napisze program dla Linuxa, który padając wykrzacza cały system, to ogłasza
że... znalazł błąd w jądrze Linuxa! I nikt tego nie ukrywa, energię poświęcając na coś znacznie bardziej produktywnego, czyli
usuwanie tego błędu. Czego z całego serca życzę firmie Microsoft.
Singollo: "Życzę dużo szczęścia w uruchamianiu wszystkich urządzeń w tym systemie."
Ja: Dziękuję. Linux często lepiej sobie radzi z wykrywaniem sprzętu niż Windows. Gdyby tak jeszcze wszyscy producenci sprzętu
udostępniali programistom Linuxa pełną dokumentację techniczną swoich cudeniek, umożliwiając im napisanie sterowników...
Singollo: "I tu się pojawia pytanie: czy niestabilne sterowniki mogą zdestabilizować ponoć stabilny system? Ano mogą, bo same stają
się systemem, z definicji już niestabilnym."
Ja: Mogą, ale tylko pod warunkiem że będą użyte. Linux nie ładuje wszystkich sterowników do pamięci przy starcie systemu.
Singollo: "I kolejny sprawa, dotycząca stablności systemu: jesli ciągle będziesz instalował nowe elementy, to nawet po ich
deinstalacji pozostaną jakieś śmieci, które, prędzej czy później, zachwieją całością. Najlepszym rozwiązaniem jest chyba unikanie
instalacji wszystkich programów, poza tymi naprawdę niezbędnymi. Bo, powiedzmy sobi szczerze, po co instalować 20 dem gierek? Każda
z nich dorzuci swoje 3 grosze do rejestru, katalogu windows\system, win.ini i pewnie jeszcze gdzieś. A Uninstalery do gier są
robione wyjątkowo niechlujnie."
Ja: Są to wady Windows. Powyższy problem nie dotyczy Linuxa, choćby dlatego, że nie istnieje jeden ogólny plik konfiguracyjny, tylko
każdy program trzyma swoją konfigurację w oddzielnym pliku, przez co usunięcie jej sprowadza się do wykasowania tegoż pliku(plików).
Menedżery pakietów typu rpm czy Debianowy dpkg usuwają pakiety z programami "do ostatniego pliku". Jeżeli chodzi o gry pod Linuxa
(istnieją, a jakże - choćby Unreal Tournament czy Theocracy), to na ogół wrzucają one wszystkie swoje pliki do jednego katalogu. I
_całkowite_ usunięcie gry sprowadza się do usunięcia tego katalogu. Jest to spowodowane tym, że program nie musi ładować np.
bibliotek dzielonych (aka .DLL) z jednego, specjalnego katalogu typu windows\system. Może je trzymać gdzie chce, i nie musi
zaśmiecać katalogu /usr/lib czy /lib (tam standardowo trzymane są biblioteki dzielone w Linuxie), jeżeli nie jest w stanie
dostarczyć informacji (np. przez mechanizm systemu pakietów .rpm) n/t ich deinstalacji.
Singollo: "Przy okazji - nie trzeba się szczególnie natrudzić, żeby skutecznie spiep... Linuksa już na starcie (bo oczywiscie żaden
automat tu nie pomaga) - wystarczy podać złe częstotliwości odświerzania ekranu i wybrać opcję "startuj w trybie GUI". Skutecznie
uniemozliwia jakąkolwiek pracę. Windowsy chodzą przynajmniej w trybach VESA (mój monitor pod Linuchem podaje tryb jako non-VESA), co
nie grozi eksplozją kineskopu w twarz."
Ja: Nie trzeba się szczególnie natrudzić, żeby spieprzyć cokolwiek. Świat nie jest i nie będzie idiotoodporny. A twoje dalsze
zastrzeżenie, sorry, ale wynikają z niewiedzy. Co nie jest niczym złym, ale trzeba sobie zdać z tego sprawę zanim się napisze tekst
do gazety. Po pierwsze:
- Kto ci każe ustawiać tę opcję? W instalerze Red Hata przy pytaniu o start w trybie GUI pada ostrzeżenie, żebyś nie wybierał tej
opcji, zanim nie będziesz pewien, że masz dobre ustawienia X-Window (czyli np. częstotliwość odświerzania). W innych instalerach (a
są dystrybucje które takowych nie mają - np. PLD (www.pld.org.pl) - i co wtedy?) pewnie jest podobnie.
- Nawet, jeżeli ustawiłeś taką opcję, to i tak możesz odpalić Linuxa "bez trybu GUI", czyli w runlevelu 3 a nie 5 (przy domyślnej
konfiguracji, w której xdm jest uruchamiany w 5). Uruchamiając Linuxa w lilo, wystarczy wpisać przy starcie "linux 3" albo "linux
2", i masz konsolę tekstową.
- Nawet, jeżeli odpaliłeś Linuxa z xdm (czyli demonem logowania się do GUI), i widzisz sieczkę na ekranie, to nic straconego.
Przełączasz się na konsolę tekstową klawiszami Ctrl+Alt+F<1..5> (czasem konsoli jest więcej, wtedy F<1..7> na przykład) i logujesz
do systemu, spokojnie poprawiając błędne ustawienia.
- Windowsy IMHO _nie_ chodzą w trybach VESA. Gdyby tak było, to nie trzeba by było instalować driverów do każdej karty graficznej
oddzielnie. A Linux owszem, "chodzi". W jądrze wystarczy wkompilować obsługę Framebuffera (jądra z pakietów dystrybucyjnych już ją
mają), w /etc/lilo.conf podaje się odpowiedni tryb VESA (polecam przeczytać dokumentację do kernela odnośnie tego. W ogóle polecam
przeczytać dokumentację :)) i voila. Mamy konsolę tekstową w rozdz. 1024x768 jak ktoś chce. Ma to swoje zalety przy dużych (17'' i
więcej) monitorach. A X-Window toże może korzystać z Framebuffera - byle by karta była zgodna ze standardem Vesa 2.0.
Singollo: "I kończąc: gdybyś dysponował 10% wiedzy na temat twojego kompa, jaką trzeba posiadać, aby korzystać z Linuksa, gwarantuję
Ci, że Windows chodziłoby dwa razy stabilnej."
Ja: Gruba przesada. Wady Windows - o których sam pisałeś - są zaszyte w jego podstawowej strukturze - system ochrony pamięci,
rozmieszczenie plików w systemie - tego się nie da zmienić. Dobrą konfiguracją można podnieść stabilność systemu, ale czy
przypadkiem ta "wiedza na temat twojego kompa" nie oznacza wiedzy "czego nie mogę zrobić, bo mi Windows padnie". A ja chcę robić
różne rzeczy na kompie, i nie chcę być ograniczany przez błędy systemu.
Nie posiadam wcale przesadnie dużej wiedzy n/t komputerów, a mimo to korzystam z Linuxa w domu i administruję serwerem chodzącym na
Linuxie. Po prostu czasem mi się chce usiąść i nad czymś pomyśleć chwilę. Zawsze wychodziło to na moją korzyść.
Na zakończenie: Warto czytać dokumentację systemu.
Pozdra
Romek
--
Roman Werpachowski
\left(- \frac{\hbar^{2}}{2m}\Delta + V\left(x\right)\right)\Psi =
\imath\hbar\frac{\partial}{\partial t}\Psi
linux registered user 183124
sysadm @ student.ifpan.edu.pl
{no, wreszcie ktoś oprócz mnie męczy
Singolla :) - cieszę się, że chociaż Tobie, Romku, Gill Bates nie zrobił wody z
mózgu :) - Tilk}
|