Kako čitati knjigu „Duboko razumevanje računarskih sistema"?
E, jučer sam, tumarajući po Zhihuu, naišao na pravo blago.
Neki korisnik sa nadimkom „Hodajući paradajz" u odgovoru na pitanje kako čitati knjigu „Duboko razumevanje računarskih sistema" pomenuo je dva video kursa koja su me zaista iznenadila.
Za knjigu „Duboko razumevanje računarskih sistema" verovatno ste već čuli; oni koji su polagali prijemni za diplomski znaju da se ona obavezno čita.
Engleski naslov glasi „Computer Systems: A Programmer's Perspective", skraćeno CSAPP; mnogi univerziteti je koriste kao udžbenik, na primer Peking University, Shanghai Jiao Tong, HIT itd.
Da prvo kažem koji je preduslov za čitanje ove knjige: treba prethodno da naučiš C.
Sada ću navesti adrese ta dva video kursa koje je pomenuo „Hodajući paradajz", kako bih ih podelio s vama.
Adresa prvog videa:
U pitanju je video snimak predavanja dvojice autora knjige CSAPP; na Bilibiliju je neki kreator radio korekciju titla na kineskom i engleskom.
Napravio sam snimak ekrana da vam pokažem cilj ovog kursa: „Da duboko razumete šta se zaista dešava dok se kod izvršava." Može se reći da obuhvata sve aspekte računarskog smera — arhitekturu računara, operativne sisteme, računarske mreže itd.

Adresa drugog videa:
Ovo je video jednom autora u kojem tumači knjigu CSAPP; lično mislim da je on — dobročinitelj? Blago? Bilo koja reč pohvale koja mi u ovom trenutku padne na pamet nije dovoljna da izrazi moje poštovanje prema ovom autoru!
Pre svega, moram da priznam jednu stvar: jedini nedostatak ovog videa jeste što mikrofon prilično šušti; razloga je, mislim, dvoje: prvo, autor možda nije kupio zvučnu karticu; drugo, zvuk nije prošao obradu smanjenja šuma.
Ipak, mana ne kvari vrednost.
Video je podeljen uglavnom u 4 dela:
- Setanje kroz računarski sistem;
- Struktura programa i izvršavanje;
- Kako na sistemu pokrenuti program;
- Interakcija i komunikacija među procesima.

Neka moja zapažanja o videu — deo o setanju kroz računarski sistem.
Već prvi video objašnjava ceo proces izvršavanja hello programa na računaru, što mi je ostavilo veoma jak utisak.

Drugi video objašnjava čitav hardverski deo računara; pogledajte donju sliku — previše je jasna!

Treći video donosi važne teme poput procesa i niti, kao i virtuelne memorije.


Četvrti video objašnjava Amdahlov zakon i rešenja za poboljšanje performansi programa.

Još uvek nisam odgledao oba kompleta video do kraja; pored toga što mi je ponešto nerazumljivo, mnoge tačke zahtevaju više puta pregledanje, a uz to i pronalaženje dodatnih materijala da bih ih razumeo.
Zato vam predlažem — kada učite, ne plašite se da nećete razumeti ili da nećete moći da naučite; jer za većinu običnih ljudi, uključujući i Ergea, prijem znanja proces je od lakšeg ka težem, korak po korak, i ne može se postići preko noći.
Za klasične knjige i kvalitetne kurseve, moguće je da ni za čitav život ne uspete da ih u potpunosti savladate. Možda zvuči preuveličano, ali verovatno je zaista tako. Ne moraš biti previše strog prema sebi; zapamti — 1 bod je bolje od 0, 60 bolje od 59; sve dok si voljan da odvojiš vreme za učenje, makar stekao i samo osnove, i dalje je mnogo bolje nego da nisi učio uopšte.
To je i stav koji ja odavno imam prema učenju.
Možda iz ovog ili onog razloga ne možemo biti prvi u generaciji, ali možemo pokušati da budemo prvi u odeljenju; ako ne možemo biti prvi u odeljenju, onda u top deset odeljenja.
To nije kompromis, već držanje bez potčinjavanja i bez oholosti. Naposletku, uvek ima onih boljih.
Uzmimo mene: nisam ni student 985/211, nemam ni iskustvo u prvoligaškim internet kompanijama, ali šta uopšte? Sve dok stalno napredujem, stalno učim, mogu pratiti talov ovog sveta i dati svoj doprinos — a jedan od tih doprinosa jeste da pomažem svima da rastu zajedno.
Možda bi upravo to trebalo da bude držanje većine običnih ljudi.
Kao kurs CSAPP — zaista je klasičan, zaista je moćan, ali kad si tek početnik u programiranju, nastoj da ga prvo ne diraš, te da ne odustaneš na pola. Osim ako nisi jedan u million.
Ali kada stekneš izvesno iskustvo u programiranju, ne bi trebalo više da bežiš od ovog kursa. Treba da ga učiš, ma koliko „tvrda" bila glava, jer zaista može da podigne tvoju konkurentnost.
Pored ova dva video kursa koja mogu poslužiti kao pomoćni materijal, preporučujem ti i kurs sa Univerziteta Shanghai Jiao Tong, adresa:
Ovaj kurs je nastao 2020. godine, pa će ga biti prijatnije „konzumirati".

Naravno, nije lako dobro savladati kurs CSAPP, jer obuhvata asembler, arhitekturu računara, operativne sisteme, računarske mreže i mnoge druge oblasti — svaka od tih tačaka, razračena posebno, zahteva mnogo vremena i truda.
Ali zar radost saznavanja ne potiče upravo od toga?
