(Не)запостављени (Таненба)ум

Када се помињу велики савремени хакери (наравно користим тај термин у позитивном смислу), обично се помињу Сторструп, Торвалдс, Керниген, Ричи, Томсон или чак и Џобс и Гејтс. Ипак, једно име је остало, рекао бих, прилично запостављено. Реч је о особи која је свакако позната по својим књигама, али није добила статус неког важнијег покретача у свету ИТ. Човек о коме бих да напишем неколико реченица је Ендрју Таненбаум, професор на Универзитету Врије у Холандији.

Мотив за писање кратког осврта на овог уистину великог хакера, јесте куповина једне његове књиге – „Архитектура и организација рачунара“, која ми је стигла управо пре неколико дана. Реч је о преводу петог издања, а оригинал носи наслов „Structured computer organization“.  Мало је рећи да је ова књига опширна, или квалитетна. У питању је изузетно обимно и детаљно написано штиво, које обрађује рачунарску архитектуру кроз више слојева – од дигиталних кола до оперативних система, уз бројне примере и објашњења, представљене кроз различите процесоре: Pentium, UltraSparc и чип 8051 (коришћен у embeded решењима у виду микроконтролера). У оквиру додатка дат је преглед асемблерског језика, а на пратећем CD-у дат је софтвер за симулацију и асемблер.

Уистину, ова књига је само повод за причу о проф. Таненбауму. Није реч „само“ о квалитетном писцу и научнику, који у неком академском „буџаку“ теоретише о рачунарима. Таненбаумов рад је блиско везан за настанак Линукса. Наиме, за потребе наставе крајем 80-их, он је креирао оперативни систем MINIX, који је у потпуности био заснован на микрокернел архитектури, а који је требао да за симболичну новчану накнаду студентима пружи систем за свакодневно коришћење, али и пручавање. Једна од Таненбаумових књига – „Оперативни системи: дизајн и имплементација“ управо своју тематику поткрепљује овим системом.

Таненбауму су са више страна стизале замерке на MINIX, пре свега на систем датотека. Један од приговарача био је и сам Торвалдс. Таненбаум није намеравао да промени MINIX, пре свега зато што би то усложнило систем, тиме га учинивши комплекснијим за савладавање. Такође, издавачка кућа, која је издала поменуту књигу, имала је одређена права и на сам систем, тако да није било једноставно извршити значајније измене. Касније је Линус креирао свој систем, а изузетно позната је постала преписка са дискусионе групе, у којој су главни учесници били управо Торвалдс и Таненбаум. Основни мотив ове дебате био је дизајн кернела оперативних система. Као што сам поменуо, MINIX је конципиран са микрокернелом, што подразумева да се већина сервиса повлачи у кориснички простор (userland), док кернел фактички остаје као њихов координатор. На тај начин се добија на стабилности, јер отказом појединих модула (нпр. драјвера за мрежу), кернел остаје функционалан. Линукс је, са друге стране, конципиран као монолитни кернел, код кога се гро функција самог оперативног система налази у оквиру језгра. Предност овог приступа је у брзини извршавања. Наравно, спорост је основни недостатак микрокернел архитектуре…

MINIX није једини ОС чији је кернел – микро. Таква архитектура одликује и Windows NT. Ипак, да би се направио компромис са произвођачима драјвера, код XP-а је мноштво сервиса повучено у kernel-space. Управо због те чињенице, нестабилни драјвери лако проузрокују пад система. Резултат је BSOD.

У свом поседу имам још један Таненбаумов литерарни бисер у укориченом издању – Рачунарске мреже, превод четвртог издања. Кроз слојеве OSI модела темељно су обрађене мреже, али и фундаменти дигиталних комуникација уопште.

У е-облику поседујем поменуту књигу о оперативним системима. Иначе, за више својих књига Таненбаум је добио награду за квалитетан уџбеник.

За крај – ево и официјелне Таненбаумове веб-адресе: http://www.cs.vu.nl/~ast/

(Ипак, још једна напомена. Када се погледају цене информатичких издања, стоји чињеница да нису јефтинe. Али, довољно је само погледати званичне цене оригинала, па променити став. Нпр. „Архитектура и организација рачунара“, превод Микрокњиге, стаје 1500 динара, док оригинал кошта ~120$ ;-))