VI. A JÖVŐ
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
- azok versengenének a kapcsolat kiszolgálásáért
- ú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.