Új megjelenés, változatos élmények
kategória: Interfész — forrás: Microsoft TechNet — dátum: 2009-08-14 — értékelés: 0 —
Nem hittem volna, hogy belevágok egy tanulmány megírásába, de célom nekem is az, mint sok más, kicsit az informatikával foglalkozó vagy az informatika közvetlen közelében élő embernek, hogy a legelterjedtebb, egyben legfelhasználóbarátibb operációs rendszer, a lehető legnagyobb teljesítményt ötvözze az újdonságokkal, fejlesztésekkel, rugalmas működéssel. Esettanulmányom a rendszer működésével kapcsolatos, teljesítmény-összehasonlításokkal, részletes elemzésekkel, az adott rendszerrész működésének kifejtésével és természetesen az ezekből levonható konklúziókkal.
Kezdjünk hozzá...
A felület, amivel kommunikálunk
Aero: első benyomásra is igen szépen kidolgozott üveghatású, DirectX 3D megjelenítésű user interface. Igenis egy operációs rendszernek 2009-ben legalább így kell kinéznie! Szebb környezetben a munka is jobban megy, mint tudjuk. Az operációs rendszerek, a Windows is részeire bontható, és a megjelenési felület igen kicsi részét képezi az operációs rendszernek, ám a Windows Vista óta a felületre egyre nagyobb hangsúlyt fektetnek, formázzák, színezik egyre pofásabbá. Feladatát szépen ellátja, továbbítja a felhasználó akaratát az operációs rendszer alsóbb részeinek. Működésbeli zavarok nem tapasztalhatók.
Nézzünk meg 1 lépést, egy "akaratot", miként kerül feldolgozásra, végrehajtásra. Tételezzük fel, hogy kattintunk 2x az asztalon a "Computer" ikonra. Nézzük meg a műveletet, miként fog elénk tárulni az ikon által "meghívott" ablak, a "Computer" tartalma.
A rendszer
Az elemi utasításokra nem térek ki, ugyanis lehet, hogy a Word programom puffertúlcsordulással kilépne, mert nem tudna annyi oldalt kezelni, amennyit teleírnék. :) Az utasítás eljut egy feldolgozó egységhez, hogy mikor, hova, miért kattintunk, ami értelmezi azt, és a hozzátársított műveletet elvégzi. Itt jön 1 "egyenlőre úgy néz ki" javíthatatlan hiba: a Windows-ok fejlődése akaratlanul is azzal jár, hogy a látszólag "legalapvetőbb" kérések is mire eljutnak a processzor feldolgozóegységéhez, azelőtt már 100 000 műveletet végrehajt processzorunk, és még csak akkor jön sorra a mi kérésünk.
"Meg szeretnénk nyitni a Sajátgépet". Szoftveres résznél egy egyszerű példával élnék: azzal, hogy kattintunk az asztalon, körülbelül 2000 műveletsort indítunk el. Először az op. rendszer értelmezi az előzményét (miért oda és mikor kattintunk), mi van a kattintás koordinátái alatt stb. Ezt még lejjebb lehet bontani, a lépések lépéseire, meghívott fájlokra, rutinkönyvtárakra, a fájlokban tárolt utasításokra, az utasítások elemi lépéseire, és ha elérünk a legalsó elemi lépésekhez, amik elvezetnek a feladat megoldásához, már valami irdatlan nagyszámú műveletet végrehajtott a processzorunk irdatlan mennyiségű fizikai fájlon.
A Windows Vistánál előtérbe került az indexelő szolgáltatás, az előtöltés, és az eddigi automatikus folyamatok fejlesztése is, amik akarva-akaratlanul, még ha látszólag nem is aktívak szemünkben, de erőforrásokat fogyasztanak, indexelnek, döntéseket hoznak, hogy mikor mit csinálunk a gyorsabb működés érdekében, és közben elemi lépések millióival dolgoztatják meg a feldolgozóegységet, és eközben a mi feladatunk még mindig nem lett végrehajtva! Észrevételem szerint a Windows 7-ben sincs ez máshogy, túl nagy számú lépéssorozatot hajt végre a feldolgozó egység a ténylegesen szükségesnél, ami miatt lomha az operációs rendszer, egy viszonylag korszerű processzorral ellátott számítógépen is.
Elérkezünk a "Computer" ikon által mutatott művelet elvégzéséhez, értelmezi az operációs rendszerünk, hogy mi a Sajátgépet akarjuk megnyitni. (Egy korszerű számítógépen ezek pillanatok művei, ám a sok felesleges századmásodperc együtt már másodperceket alkot, vagy akár perceket is!) Kiadja a szükséges utasításokat az operációs rendszer, a paramétereket, a műveleteket az ablakkezelőnek, ami meg a grafikus processzornak (a saját drivermeghajtójában leírt utasításokkal) az elemi lépések elvégzéséhez, és megjelenik a Sajátgépünk a megadott paraméterekkel, tartalommal (amilyen beállításokkal azt kértük). Eközben az operációs rendszernek figyelnie kell a kivételekre, más kérések teljesítésére is közben, hiszen az erőforrásokat nem birtokolhatja 1 program, vagy akár az op. rendszer sem.
A látszólag egyszerű folyamat az egyre terebélyesebb Windows-okban egyre bonyolultabban hajtatódik végre, és ennek ára van, az erőforrások egyre nagyobb mértékű kihasználtsága (látszólag) ugyanahhoz a feladat elvégzéséhez. Nem az operációs rendszer alsó részében keresendő a hiba, hanem a felső, illetve más, az operációs rendszer kiegészítő programjainak, részegységeinek együttes működésében, amik a felhasználóval való kapcsolattartásért felelnek. Azt várjuk, hogy a programunk gyorsabban fog működni és reagálni, de közben esélye sincs rá, mert a programok 99%-a a windows-os osztályok rutinjait hívja meg, és mivel ezek a rutinok egyre több műveletet hajtanak végre a műveletvégzés előtt, így a mi látszólagos kérésünk csak később kerül a feldolgozóegységhez.
Ez a probléma addig gyűrűzött, hogy eljutottunk egy olyan égető problémához, hogy bizony túl lomha lett az operációs rendszerünk, valamint egyre terebélyesebb. A Windows 7 lesz hivatott orvosolni ezt a problémát, nehéz dolga lesz a Microsoft szakembereinek, lenyűgözni a felhasználókat, és egyben visszaadni a teljesítményérzetet. Egyelőre a bétaverzióban ugyanaz a jelenség tapasztalható, mint az elődben, túlságosan sok időt vesz igénybe a kérések teljesítése, az erőforrások irracionálisan nagy kihasználása, "parancsra várás", semmittevés közben!
A megoldás az lenne talán, ha az osztályhierarchiát kicsit átrendeznék, az egymáshoz közelebb álló rutinok közelebb kerüljenek egymáshoz, a nélkülözhetetlen rutinkönyvtárak folyamatosan a memóriában legyenek, ne a fizikai tárolóról kelljen előkotorászni őket (egyre nagyobb méretük miatt ez relatív hosszú időt vesz igénybe), valamint a működést gyorsítani vélő szolgáltatások kevesebb terhelést jelentsenek a számítógép számára, mint amennyi hasznosságot hoznak, így elkerülhető az a probléma, ami az alábbi képen is látható: hogy közel 50%-os teljesítménycsökkenést jelent a 2010-ben kiadásra kerülő operációs rendszer a 2002-es, kettővel előtti elődnél.
Reméljük a fejlesztések a felhasználói felület után az operációs rendszer működésére fognak összpontosulni, és akkor elérkezik egy tökéletesebb Windows, ami érinthető lesz. :)
Köszönöm, hogy elolvastad a cikkem!
Szerző: Farkas Gábor
A fenti cikk a Microsoft TechNet Windows 7 pályázat egyik pályaműve, gratulálunk a szerzőnek!