Archiwum
czyli czego się możecie ode mnie nauczyć
 Oceń wpis
   
_-¯ Ruszyłem po śladach, jakie zostawił Martwy Kod. Nie było to trudne, bo niczym olbrzymi ślimak znaczył drogę swego przejścia warstwą cuchnącego śluzu. Wziąłem odrobinę na palec i polizałem - tak, jak się spodziewałem były to pozostałości po Borland C w wersji chyba 3.1, zmieszane z Turbo Assemblerem. Dało się wyczuć niewyraźny posmak kolorowanej składni z czasów, gdy była jeszcze fanaberią. Martwy Kod był nie tylko martwy, ale i stary. Właściwie, był tak stary że mógłby umrzeć ze starości. A może właśnie dlatego był martwy?

_-¯ Te filozoficzne rozważania przerwała mi ciężka klapa w podłodze, przy której urywał się ślad. A właściwie - pod którą wpełzał. Właz na poziom -1 wyglądał na dawno nie używany, jeżeli nie liczyć wydarzeń ostatnich kilku minut. Oddzielał przestrzeń jądra systemu trójki od przestrzeni użytkownika. Ująłem w dłoń pokrętło rygla i szarpnąłem do siebie - ku mojemu zdziwieniu właz nie ustąpił. Nie podejrzewałem Martwego Kodu by dbał o to by zamykać za sobą drzwi - a więc był ktoś jeszcze... Chwilę analizowałem tę myśl, po czym szybkim ruchem odblokowałem zamek i odskoczyłem po ścianę.

_-¯ Nic się nie stało.

_-¯ Odczekałem kilka chwil, i trzymając wzniesiony nad głową zdobyczny template podszedłem do włazu. Zacisnąłem lewą rękę na uchwycie i znów szarpnąłem. Łoskot upadającej żeliwnej klapy rozległ się donośnym echem. W kilku miejscach z kostropatych szaroburych nitów odskoczyła skorupa rdzy... I to było wszystko.

_-¯ Zajrzałem ostrożnie w ciemny otwór, lecz jedyne co dostrzegłem to słabo oświetloną, biegnącą w dół drabinkę. Zadając sobie pytanie, po co to do cholery robię, spuściłem nogi w dół i zacząłem ostrożnie schodzić.

_-¯ Większości użytkowników wydaje się, że wnętrza systemów operacyjnych to prawdziwe cuda. State-of-the-art inżynierii programowania. Kod, który jest doskonale przemyślany i zoptymalizowany, który w wyglądzie przypomina zaawansowane laboratorium skrzyżowane z nowoczesnym szpitalem i wysokiej klasy hotelem. Nic bardziej błędnego. To, co zobaczylibyście, gdybyście się odważyli zajrzeć na najniższe poziomy Waszych komputerów bardziej przypomina skrzyżowanie meliny z pokojem w akademiku po imprezie. Podstawowe funkcje zarządzania pamięcią czy obsługi przerwań wyglądają jakby były tworzone nawet nie pod wpływem alkoholu (bo wtedy czasami może wyjść coś ciekawego), ale na drańskim kacu. Błędy w ich działaniu starają się maskować kolejne, jeszcze gorzej napisane funkcje, i tak dalej, aż do momentu gdy sami twórcy zaczynali się w tym gubić. Wtedy nastawał czas by zacząć pisać kolejną wersję - jeszcze gorszą i jeszcze wolniejszą...

_-¯ Gdy znalazłem się wreszcie na dole zdałem sobie sprawę, że nie jest jednak tak źle jak to sobie wyobrażałem. System trójki musiał być bardzo stary, gdyż rozglądając się dokoła dostrzegłem pewne ślady logiki. Musiał powstawać w czasach, gdy kompilator do spółki z IDE nie zdejmowały z twórcy obowiązku myślenia... W polu widzenia zauważyłem również cienie poruszających się szybko sylwetek. Na ułamek sekundy sprężyłem się, lecz momentalnie przyszło opanowanie. Na tym poziomie mój chakierski umysł po prostu zaczynał wizualizować procesy jądra - była to jedna z cech, które czyniły ze mnie tak doskonałego chakiera. Ja po prostu widziałem dziury, nie musiałem ich szukać.

_-¯ W celu zasięgnięcia informacji podszedłem do najokazalej prezentującego się procesu, który - wydawało mi się - dyrygował kilkoma pomocnikami zwijającymi się przy zachodniej ścianie tunelu. Zbliżając się coraz wyraźniej słyszałem wykrzykiwane przez niego polecenia.
- Żwawo, lenie! Już, mieszaj i cementuj. I cementuj! Hej! Ty tam, gdzie leziesz do swapa! Już ja Was znam, cwaniaki. Niby sleep, a tylko byście się forkowali po kątach, cholera jasna, a tu tymczasem robota jest do zrobienia.
- Witam - zacząłem stanąwszy mu parę kroków za plecami - jak idzie?
- Ach, szkoda słów, obijają się, lenie patentowane. To nie to, co było na starym ABI, kiedy... - w tym momencie uświadomił sobie chyba, że nie wie z kim rozmawia. Obejrzał się, a gdy mnie spostrzegł - odwrócił się całkiem w moją stronę.
- Przepraszam bardzo. Uświadomiłem sobie chyba, że nie wiem z kim rozmawiam. Pańska godność?
- Supervisor - zablefowałem.
- Przykro mi, nie ma Pan tu czego szukać. Pomylił Pan poziomy.
- Hypervisor - spróbowałem oczko wyżej. Zmiękł.
- Ale... O co chodzi?
- Gdy nie wiadomo o co chodzi, to chodzi o wydajność - odparłem filozoficznie. - Co tu robicie? - poszedłem od razu za ciosem.
- Aaaa... to. Mamy wyciek pamięci, próbujemy to jakoś okiełznać.
- O! Wyciek pamięci w jądrze?
- Uhm... Sterownik alokuje sobie nowe strony przy przesyłaniu kolejnych danych, a starych nie oddaje, drań. Zawsze się wykręca sianem. Że dziś nie może, że niby jutro odda z procentem, że miał oddać ale żona akurat przez pomyłkę wzięła i poszła do koleżanki. I taka z tym robota.
- Hmmm... I to pewnie dlatego trójka muli - powiedziałem sam do siebie.
- Słucham?
- A dużo już tych stron zabrał? - spytałem pragnąc potwierdzić swoje podejrzenia.
- Dwie.
- ILE!?
- Też mu mówiłem, że tyle nie można...
- Znaczy, takie po 4KB?
- Uhm...
Byłem rozczarowany. Więc to jednak nie to... Szkoda. Robota byłaby załatwiona. No, ale nic to.
- Którędy do Kontrolera Przerwań? - spytałem na odchodnym.
- Tym korytarzem, drugie drzwi po lewej za schowkiem na szczotki.
Skinąłem głową i poszedłem we skazanym kierunku, jednocześnie uświadamiając sobie że nie podjąłem dalszej części tropu zostawionego przez Martwy Kod.

_-¯ Ten błąd miał mnie drogo kosztować...

_-¯ Tymczasem dotarłem pod wskazany adres. Zapukałem kurtuazyjnie, i nie czekając na zaproszenie wszedłem do środka. Za okazałym biurkiem siedział postawny koleś o wyglądzie księgowego. Specjalnie mnie to nie zdziwiło - wszystkie kontrolery przerwań wyglądają w ten sposób. A obok... - popatrzyłem w lewo, gdzie zwykle projektanci umieszczają dalszą część systemu (z wyjątkiem Mac OSa Apple'a) - obok na stołeczkach siedziały przerwania. Co chwila któreś z nich podrywało się, wybiegało przez obrotowe drzwi i wracało z flagą statusu bądź paczką danych. Jedno z przerwań zaś podskakiwało na stołeczku, coś odmierzając - domyśliłem się, że to przerwanie od zegara...
Postałem chwilę przy wejściu, czekając aż zostanę zauważony. Czyniłem tak raczej z przyzwyczajenia, gdyż rzadko kiedy kontrolery przerwań projektowane są tak by zauważały więcej niż czubek własnego nosa. Oczywiście nie doczekałem się. Przerwanie obok mnie wydawało się nadzwyczaj spokojne - siedziało w kowbojskiej chuście na twarzy (takiej jaką naciągali sobie na westernach ci źli). Nachyliłem się ku niemu:
- Zauważyłeś coś dziwnego może ostatnio?
Zero reakcji. Szturchnąłem go (ją? ono?) lekko łokciem...
- Hej! Słyszysz mnie?
Tym razem wydawało mi się, że słyszę coś, co mogłoby być odpowiedzią. Przerwanie jednak wydawało się mieć wyraźne trudności z mówieniem przez chustę. Sięgnąłem ku niej i ściągnąłem w dół.
- No, mów, mały, bo nic Cię nie rozumiem.
- STOP! Co Pan robi?
Odwróciłem się w stronę głosu. Aha - to szanowny Pan Kontroler raczył mnie wreszcie zauważyć. Otworzyłem usta, by powiedzieć kilka cierpkich słów, ale Kontroler wszedł mi w słowo.
- Dlaczego odmaskował Pan to przerwanie! - z tonu i interpunkcji wynikało, że nie było to pytanie.
- Ja...
- Proszę natychmiast je zamaskować! Już! Bo jak nie to... już za późno...
Zanim zdołałem zapytać ,,za późno na co?'' przerwanie wyprysnęło przez obrotowe drzwi. Spodziewałem się, że wróci za moment, jednak tak się nie stało. Powoli zacząłem sobie uświadamiać jak kolosalne głupstwo zrobiłem.
- To nie było przerwanie od dysku? - spytałem, choć nie wiem po co. Wiedziałem, że to było przerwanie od dysku.
- To przerwanie od dysku - wyjęczał Kontroler.
- Ale nie od czwartego dysku drugiej macierzy RAID1? - spytałem znów. To było jak wiercenie palcem w ranie.
- Od czwartego dysku drugiej macierzy RAID1.
- A ten narastający szum to nie jest...?
- Jest.

_-¯ Jak zahipnotyzowany wpatrywałem się w obrotowe drzwi, przez które napływał potęgujący się hałas. Po kilku sekundach szum zmienił się w stuk, jakby w taflę uderzały kulki gradu. I tak było w istocie, gdyż szkło momentalnie zmatowiało od pajęczynek pęknięć. Chwilę trzymało się ram, by po chwili wyprysnąć do wnętrza kaskadą odłamków. Za nim zaś wlało się zło, które uwolniłem.

Bad Sectory
 
 

Komentarze

2008-02-28 00:17:12 | 83.10.155.* | batwing
Re: Programowanie niskopoziomowe. Jeszcze niżej. [1]
Ktoś tu chyba czytał ostatnio "Pamiętnik znaleziony w wannie" ;) skomentuj
2008-02-28 00:19:48 | 83.5.229.* | antonii
Re: Programowanie niskopoziomowe. Jeszcze niżej. [0]
Chakier, jak zawsze mistrzostwo. Tylko dlaczego tyle muszę czekać na kolejną
część? ;) skomentuj
2008-02-28 01:05:27 | 87.206.253.* | Agencik_Szczecin
Re: Programowanie niskopoziomowe. Jeszcze niżej. [1]
Jesteś Boski Chakier! Nawet dywizionu 303 tak codownie mi sie nie czytalo!
Ukłony! skomentuj
2008-02-28 10:46:44 | 80.53.175.* | golem14
Re: Programowanie niskopoziomowe. Jeszcze niżej. [0]
Ciemna strona roboty chakiera. Kiedyś się ludiom wydawało, że wystarczy wparować
do sytemu oznajmiając wszem - jestem UŻYTKOWNIK - a wszyscy padną na kolana. A tu
babraj się w tym błocie, maskuj i udawaj "kogośtam".
Swoją drogą przypomniałeś mi pewien artykuł z Scientific Armenican o łataniu
dziur w kodzie. Otóż informatycy wymyślili sobie sieciowy protokół komunikacji
pomiędzy komputerami Tip/Top. Wszystko było ładnie do czasu jak pakiety danych
zaczęły się gubić w stopniu, z którym nie mógł sobie poradzić wbudowany algorytm
odzyskiwania. Zaczęto węszyć i znaleziono - dane gubiły się w miejscach, gdzie
krzyżowały się drogi różnych pakietów. Pokombinowano i wymyślono tzw. Patch
Tup/Tup. Pakiety przychodziły teraz nie w tych kolejnościach co wychodziły, ale
przychodziły. Mimo, że prędkość spadła to dane dane przestały się gubić a o to
chodziło. Parę lat później kulisy całej sprawy odkrył pewien student Uniwersytetu
w Erywaniu, który podobnie jak Ty, musiał zejść głęboko w czeluście
informatycznego świata w celach naukowych. Tam zobaczył piekło komunikacji
protokołem Tip/Top z Patchem Tup/Tup. Okazało się, że dla każdej transmisji
danych z punktu A do B zestawiany był osobny ciąg transmisyjny na bazie rur
aluminiowych fi 20. Problem w tym, że twórcy protokołu popełnili poważny błąd. Na
odcinkach prostych rury wciskane były jedna w drugą, natomiast na zakrętach rury
dostawione były jedna do drugiej i przycięte pod odpowiednim kątem a miejsca
styku oklejone taśmą malarską. Działało to dopóki taśma nie zamokła, po czym
pakiety zaczęły się wylewać. Co w takim razie robił Patch Tup/Tup? Na każdym
zakręcie siedziały dwa algorytmy przechwytujące. Jeden łapał we wiaderka pakiety
wyciekające z rury, drugi wlewał je do następnej - i tak to działało z wiadomym
skutkiem.
Szperanie na najniższym poziomie może czasami dostarczyć ciekawych wrażeń
prawda?! skomentuj
2008-02-28 11:12:16 | 83.23.55.* | wariat2k
Nie mówi się chyba codownie tylko code'ownie ;-)

MSPANC skomentuj
2008-02-28 11:58:45 | 212.76.37.* | Viiking
Re: Programowanie niskopoziomowe. Jeszcze niżej. [1]
Chakier, nudzi Ci się w domu, nie ?:P skomentuj
2008-02-28 13:17:57 | *.*.*.* | piio
Re: Programowanie niskopoziomowe. Jeszcze niżej. [1]
Kurcze, poziom niżej niż ostatnio :P

"Niby sleep, a tylko byście się forkowali po kątach, cholera jasna, a tu
tymczasem robota jest do zrobienia." - takie życiowe ;)

Mam tylko jedno pytanie: zaczęli już kręcić dokument na podstawie Twych przeżyć,
Charyzjuszu? skomentuj
2008-02-28 13:19:06 | 80.53.175.* | golem14
Nie sądzę... sam widzisz ile ma roboty. Chyba, że sam chcesz się włóczyć po
kazamatach tego serwera. skomentuj
2008-02-28 14:46:38 | 80.54.177.* | sz
Re: Programowanie niskopoziomowe. Jeszcze niżej. [1]
z takimi bad sectorami może poradzić sobie tylko światowej sławy torreador Bud
Sekator, więc lepiej uciekaj, chakierze :-) skomentuj
2008-02-28 15:57:11 | 80.53.204.* | Filipbe
Bad Sectory? Chakier, znowu się bawisz słowami! Nietoperska, druga opowieść? Co
nietoperze robią w starym serwerze? ;)
(Bad = Bat - ubezdźwięcznienie wstecznie między wyrazowe; Second Story = Sectory) skomentuj
2008-02-28 20:07:57 | *.*.*.* | chakier
Re: Programowanie niskopoziomowe. Jeszcze niżej. [0]
@batwing: ,,Pamiętnik...'' czytałem niestety tylko raz i to dawno. Przed maturą
;) I z kompletnych cytatów pamiętam tylko ,,barbimuchowie'' :)
@antonii: Ja też się zastanawiam, dlaczego ludzie którzy dla mnie piszą tak się
obijają
@Agencik_Szczecin: Tak Ci się nie czytało, bo wtedy pewnie jeszcze słabo czytałeś
:)
@golem14: Ten artykuł o którym wspomniałeś był o łataniu dziur w kocie, a ten
patch tup-tup nosił nazwę katzenjammer
@wariat2k: Nie mówi się code ownie tylko code owner
@Viiking: Wręcz przeciwnie. Nudzi mi się w robocie ;)
@piio: No nareszcie jakaś trzeźwa ocena. Mnie też się średnio podoba ten odcinek
;)
@sz: Nawet Bud Sekator nie dałby rady. Te sektory są złe do szpiku kości...
@Filipbe: Uwielbiam bawić się słowami. Słowa są takie... zabawne. :) skomentuj
2008-02-28 21:31:31 | 85.89.189.* | AutorDodaj
Re: Programowanie niskopoziomowe. Jeszcze niżej. [0]
Im niżej tym wyżej. Najpierw trzęsienie ziemi, a potem napięcie rośnie" - ta
słynna metoda Hitchocka zdecydowanie rządzi akcją . skomentuj
2008-02-28 21:46:36 | 88.217.94.* | anuszka
Kurcze, wiedziałam! Całe to jądro wyglądało mi zupełnie jak Gmach! skomentuj
2008-02-28 21:47:56 | 88.217.94.* | anuszka
Re: Programowanie niskopoziomowe. Jeszcze niżej. [1]
> Ktoś tu chyba czytał ostatnio "Pamiętnik znaleziony w wannie" ;)

Kurcze, wiedziałam! Całe to jądro wyglądało mi zupełnie jak Gmach! skomentuj
2008-02-28 21:50:01 | 88.217.94.* | anuszka
> Mam tylko jedno pytanie: zaczęli już kręcić dokument na podstawie Twych
> przeżyć, Charyzjuszu?

Skończy się tak, jak z radziecką ekranizacją Solaris. Zaproszą Mistrza do
konsultacji na planie, po czym on z wielkim hukiem wróci wkurzony do Polski,
uprzednio zwyzywawszy reżysera od duraków. skomentuj
2008-03-02 13:43:29 | 80.54.22.* | Jurgi
Może i "Pamiętnik...", ale skrzyżowany z "Cyberiadą". };> skomentuj
2009-02-26 10:38:08 | 195.150.61.* | hihi
Re: Programowanie niskopoziomowe. Jeszcze niżej. [0]
oj le Ci się chłopie pieprzy głupoty!!!! skomentuj
 


Najnowsze komentarze
 
2016-03-27 11:01
loan offer do wpisu:
Jak się włamać na konto pocztowe
Dobry dzień, Jestem MR larryt, prywatnej pożyczki Pożyczkodawca oraz współpracy finansowej[...]
 
2016-03-12 03:02
Pani Tamara Tita do wpisu:
Jak się włamać na konto pocztowe
Cześć, Nadchodzi Affordable kredytu, która zmieni twoje życie na zawsze, jestem Pani Tamara[...]
 
2016-03-11 18:49
Josephine Halalilo do wpisu:
Jak się włamać na konto pocztowe
Cześć wszystkim, Gorąco polecam to wspaniałe świadectwo, że w moim życiu trzymałem miłości[...]
 
2016-02-23 21:39
pharoah do wpisu:
Wybory coraz bliżej...
Charyzjuszu! Na święte Kontinuum i Infundybułę Chronosynklastyczną - powiadam Ci: Wróć!
 
2016-02-23 18:03
janrski do wpisu:
Jak się włamać na konto pocztowe
HEJ POMOZESZ MI SIE WŁAMAC NA KONTO MOJEJ ZONY??MA TROJE DZIECI OD 10LAT DO 4 LAT MOGE JEJ[...]
 
2016-02-09 00:03
vektra es a do wpisu:
Jak się włamać na konto pocztowe
Drodzy Użytkownicy, chcielibyśmy odnieść się do poruszanych na tej stronie kwestii jak i[...]
 
2016-02-04 02:07
Pani maris smith do wpisu:
Jak się włamać na konto pocztowe
Zeznania w sprawie jak mam pożyczkę zmienić życie mojej rodziny Nazywam się Babara Curtney.[...]
 
2016-01-18 21:36
jolasia do wpisu:
Jak się włamać na konto pocztowe
Witam czy ktoś by mógł włamać mi się na konto?
 



 
Chakier, Charyzjusz. Q2hhcnl6anVzeiBDaGFraWVyCg== chakier[at]vp.pl