VI. A JÖVŐ

- 1. Az új kernel és a khttpd
- 2. Az új Debian
- 3. Az új Apache
- 4. PHP4

##
VI. A jövő

Hogy mit hoz a jövő azt a számítástechnikában igen nehéz megjósolni. Egyesek szerint a Linux világuralomra tör, mások szerint végül mindenki át fog térni majd a FreeBSD-re (vagy valamelyik más BSD variánsra). Néhányan pedig a szabadszoftver-mozgalom teljes bukását és a kommerciális szoftverek monopolista-centralista Orwell-i rémképét vetítik felénk. Ma még nem tudhatjuk.
Saját véleményem az, hogy a Linux és a szabad szoftverek széles körben elterjednek, és használatban lesznek az informatika minden területén, többek között az otthoni és kisvállalkozói asztalon - a másik végletben a nagyvállalati szerverközpontokban is.

###
1. Az új kernel és a khttpd

A nem is olyan távoli jövő Linux kernele akár kávét is tud majd nekünk főzni és felhív telefonon, ha baj van a számítógép áramellátásával. (Már létezik olyan kézigép, amely egyben mobiltelefon, határidőnapló, email-kliens, Web-böngésző, diktafon és Linux-ot futtat.)
Viccet félretéve, a most megjelenő 2.4-es kernelsorozat rengeteg újítást és sok új eszközvezérlőt tartalmaz. Ezzel a rendszermaggal szeretnének betörni az "Enterprise" (nagyvállalati) piacra.178
Néhány paraméter és újdonság:179

- teljesen új erőforrás-menedzsment alrendszer (plug-and-play180)

- automatikus és kernelszintű ISA-PnP

- új VFS181 és cache182-rendszer

- 4.2 billió felhasználó (és csoport) használhatja egyidejűleg a rendszert

- több mint 4 GB memória egy gépben (akár 64GB is lehet)

- akár 16 db Ethernet-kártya egy gépben

- akár 10 db IDE vezérlő egy gépben

- a fájlrendszer réteg újraírva, több mint 8 processzoros rendszerekhez optimalizálva183

- új SMP ütemező, jobb multiprocesszoros teljesítmény, jobban skálázható

- NFSv3 implementáció (Network FileSystem version 3)

- IA64 és Crusoe processzorok támogatása

- DevFS (Device FileSystem) - a hardvereszközök ezután nem a lemezen helyezkednek el a /dev könyvtárban, hanem a kernel kezeli azokat. Amikor betöltődik a kernelbe az eszközvezérlő és az megtalálja a hardvert, akkor jelenik meg a hozzá tartozó eszközjelölő. (Ez persze a terjesztések átalakítását is igényli.)

- I2O184 támogatás

- PCMCIA és PC Card támogatás integrálása a kernelbe

- Teljes USB185 támogatás

- FireWire támogatás (nagysebességű eszközökhöz)

- LVM (Logical Volume Manager) új partícionálási eljárás

- "wake one" - pl. egy Web-szerver esetén ha kérés érkezik a hálózatról, akkor csak egy folyamatot "kelt föl" a kernel, nem többet, mert akkor

1. azok versengenének a kapcsolat kiszolgálásáért

2. úgyis csak egy kaphatja meg a kérést, így a többi feleslegesen foglalta le az erőforrásokat.

Ez nagyban javíthatja a Web-szerverek teljesítményét.

- Teljesen újraírt és párhuzamosított hálózati réteg

- Új csomagszűrő alrendszer (NetFilter, NAT Network Address Translation)

- Új PPP alrendszer, új ISDN vezérlők

- és még sok más...

kHTTPd: kernelszintű HTTP démon: ez egy ún. "közvetlen" hálózati kiszolgáló, egy nem-kernelszintű Web-szerver szoftverrel kombinálva nagyban meggyorsíthatja a statikus tartalmak kiszolgálását (Értsd: statikus HTML oldalak, képek, programfájlok, stb. ) Ez a rendszer nem képes pl. CGI-t futtatni és dinamikus oldalakat generálni.
Ha ki akarjuk próbálni, mindenképp fordítsuk modulba.
Tapasztalataim szerint ez a kernelszintű Web-gyorsítás igen hatásos. Maga az egész rendszermag sokkal gyorsabb és ténylegesen hatékonyabb a 2.2-es sorozatnál. Ha nagyon számít a sebesség, akkor mindenképp érdemes megpróbálkozni vele. Egyetlen nagy hátránya, hogy a virtual hosting-ot még nem ismeri, csak egyetlen documentroot áll rendelkezésre.
Fontos!
Az új kernelnek teljesen más a csomagszűrő rendszere, az ipchains ugyan még működik egy ún. "wrapper186" modul segítségével. Nézzünk szét a kernel konfig Netfilter szekciójában és tegyünk mindent modulba, amire szükségünk lehet.
A következő indítóprogramot helyezzük el az /etc/init.d/ könyvtárban és nevezzük el khttpd-nek:

    #-------Beállítások

    clientport=80 #Az igazi webszerver port-ja

    serverport=8080 #A kernel HTTPD figyelési portja (ha élesben akarjuk

    # használni, akkor cseréljük meg a kettőt. SSL-es kapcsolatokat nem kezel.

    documentroot=/var/www #Az adott webszerver dokumentum-gyökérkönyvtára

    threads=2 #hány szál induljon el, processzoronként egy javasolt.

    din1=php3 # milyen kiterjesztése van a dinamikus oldalaknak

    din2=shtml

    din3=cgi

    #-------Indítófájl

    NAME="khttpd"

    DESC="Kernel httpd accelator daemon"

    set -e

    case "$1" in

    start)

    echo -n "Starting $DESC: "

    modprobe khttpd #itt töltjük be a kernelmodult

    echo $clientport > /proc/sys/net/khttpd/clientport

    echo $serverport > /proc/sys/net/khttpd/serverport

    echo $documentroot > /proc/sys/net/khttpd/documentroot

    echo $threads > /proc/sys/net/khttpd/threads

    echo $din1 > /proc/sys/net/khttpd/dynamic

    echo $din2 >> /proc/sys/net/khttpd/dynamic

    echo $din3 >> /proc/sys/net/khttpd/dynamic

    echo 1 > /proc/sys/net/khttpd/start

    #a fenti sorokkal a khttpd konfigurációját írtuk be a /proc fs-be

    echo "$NAME." ;;

    stop)

    echo -n "Stopping $DESC: " # leállítás

    echo 1 > /proc/sys/net/khttpd/stop

    echo 1 > /proc/sys/net/khttpd/unload

    echo "$NAME." ;;

    restart|force-reload)

    echo -n "Restarting $DESC: " # újraindítás

    echo 1 > /proc/sys/net/khttpd/stop

    sleep 1

    echo 1 > /proc/sys/net/khttpd/start

    echo "$NAME." ;;

    *)

    N=/etc/init.d/$NAME

    # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2

    echo "Usage: $N {start|stop|restart|force-reload}" >&2

    exit 1 ;;

    esac

    exit 0

###
2. Az új Debian

Az új Debian változat kódneve "Woody". Még keveset tudni róla. Most kezdték csak fejleszteni és a programozók szerint aktívan fejlesztik. Valószínűleg 2.4-es kernelre fog épülni. Tartalmazni fogja a 2.0-s Apache-ot, a végleges PHP4-et és egy sereg más friss programot. Valószínűleg 2001 második felében lesz kész.

###
3. Az új Apache

Az új Apache szerver a 2.0-s sorozat lesz. Főleg a skálázhatóság és a sebesség növelése volt a cél a fejlesztésnél. Jelenleg a 2.0a3 (vagyis a 2.0-s verzió harmadik alfája) érhető el. Már sokan letöltötték és kipróbálták. Számunkra ez a verzió addig nem lehet aktuális, amíg a Debian stabil változata nem ezt fogja tartalmazni, éles szervereknél nem ajánlatos alkalmazni.
Ezek az új tulajdonságok lesznek benne: Mag bővítések:

- Unix Threading (többszálúsítás). Olyan UN*X alapú rendszereken, melyek POSIX kompatíbilis többszálúságot nyújtanak, az Apache képes futni hibrid többszálú és több processzű üzemmódban. Ez a skálázhatóságot növeli.

- Új fordítási mechanizmus. Autoconf és libtool alapú fordítás előtti konfigurálás.187

- Multiprotokoll támogatás.

- Nem UN*X alapú rendszerek jobb támogatása.

- Új API. Az API jelentősen megváltozott az 1.3-as változathoz képest. Új modul-rendező eljárás.

Sajnos erről sem lehet még sokat tudni, kevés információ van fenn a hivatalos oldalakon, még erősen fejlesztés alatt áll.

###
4. PHP4

Ahogy a PHP egyre népszerűbb és elterjedtebb lett, egyre többféle platformon szeretnék alkalmazni. Az új változat sokkal skálázhatóbb, nagyobb teljesítményű és sokkal több platformon fut, mint elődje. A fordítási eljárást is leegyszerűsítették. A rendszer motorját teljesen újraírták.
Újdonságok:

- A "Zend" motor. Ez a PHP-nek egy teljesen újraírt rendszermagja. Nagy teljesítménybeli gyorsulások várhatóak tőle. Továbbá tartalmaz új nyelvi elemeket, mint pl. bővített objektum-kezelés, új változó típusok.

- Szerver Absztrakciós Réteg. Segítségével nem csak az Apache-ba integrálható könnyedén, hanem más Web-szerver szoftverekbe is.

- "HTTP session" natív támogatás.

- Általánosított fordítási mechanizmus UN*X típusú rendszereknél. Megkönnyíti az újabb PHP modulok dinamikus fordítását.

- Az Apache konfig' fájljain keresztül beállítható a PHP viselkedése is.

A PHP4 már kész, nem béta szoftver. Rengeteg előnnyel rendelkezik a PHP3-al szemben. Hátránya épp az újdonságában rejlik:

- Nem tesztelt

- Még csak kevesen értenek hozzá

- Kevés írott dokumentáció / szakkönyv kapható hozzá (vagy épp egy se)

Gondoljuk végig, kell-e nekünk az újabbik változat. Ha igen, keressünk dokumentációkat a Web-oldalon.
A Potato-ban benne van a PHP4 béta 3. A PHP4 végleges változata valószínűleg már csak a Woody-ban lesz meg.