Microsoft Windows forráskód!

Microsoft Windows forráskód!
2003-08-05T20:18:26+02:00
2003-08-11T17:23:46+02:00
2022-11-02T01:41:50+01:00
  • Szerintem viszont a WIN32 subsystem maga a windows. Az hogy milyen kernel van alatta az a stabilitás / sebesség szempontjából ugyan nagyon nem mindegy, de a felhasználói programok szempontjából nagyjából Windows = WIN32 API.

    pont ez az amiert nem kell altavolitni


    Na igen. Csakhogy ez nem a kernel+glibc analogiaja.

    A Win32-t meg szerintem eleg maceras lenne eltavolitani ugy hogy az meg kezelheto maradjon.

    NT Kernel + win32 = Linux kernel + glibc + full gnome + a fel gnu

    Ergo a Linuxra epulo rendszerek sokkal inkabb lecsupaszithatoak, ez pedig valahol ekvivalens a reszletesebb komponensekre bonthatosaggal.

    Ez technikai szempontbol persze nem gond, hogy a Windows ilyen, amig a felhasznalonak ugyis kell az egesz. Amikor viszont nem kell neki, akkor zur van, mert nem lehet tovabb csupaszitani.
    Mutasd a teljes hozzászólást!
  • Szerintem viszont a WIN32 subsystem maga a windows.


    Akkor miért akarod szétszedni? :) Egyébként _tényleg_ nagyon sok minden van ám a Win32 alatt, nézz meg egyszer egy NT DDK-t, ott nem a Win32 subsystemet programozod és így is meglepően széles szolgáltatáshalmazod van. A Win32 valóban nem maga a Windows, hidd el.

    A Win32 alatt még ott figyel a threading, memory management, WDM, HAL, scheduler, whatever, rengeteg minden.

    Péter
    Mutasd a teljes hozzászólást!
  • Most csunya leszek, nem akarok fizetni erte pedig az milyen jo a kiadonak :))))Fileban nincs meg veletlenul? :)


    Renegades of the Empire: How Three Software Warriors Started a Revolution Behind the Walls of Fortress Microsoft
    Renegades of the Empire: How Three Software Warriors Started a Revolution Behind the Walls of Fortre
    Mutasd a teljes hozzászólást!
  • Az OLE csak egy példa volt. A WIN32 egy egységes egész aminek nem tudod kivenni egy-egy elemét mert erősen hivatkoznak egymásra. Ez akkor látszik szépen ha Pl. wine alól vegyesen használsz natív és built-in dll-eket és a natív dll nekikezd kiabálni hogy neki kellene az xxx függvényhívás valamelyik built-in dll-ből de azt a wine-ban még nem implementálták.
    Mutasd a teljes hozzászólást!
  • Szerintem viszont a WIN32 subsystem maga a windows. Az hogy milyen kernel van alatta az a stabilitás / sebesség szempontjából ugyan nagyon nem mindegy, de a felhasználói programok szempontjából nagyjából Windows = WIN32 API.


    pont ez az amiert nem kell altavolitni
    Mutasd a teljes hozzászólást!
  • Az ilyen jellegu szoftverek ala real-time oprendszer kell, mint amilyen a QNX vagy a Nucleus. Az NT nem ilyen (habar az os OpenVMS kivaloan alkalmas folyamatvezerlesre).


    Ebben egyetertunk, de ez olyan eset volt, hogy olyan platform van, amit a megrendelo megvesz (megvett).
    Mutasd a teljes hozzászólást!
  • <i>Summa summárum, a Win32-t kioperálni olyan, mintha kivágnád magad alatt a fát és jól vigyorognál közben, hogy mostmár jobban látszol a fotón :)</i>

    Szerintem viszont a WIN32 subsystem maga a windows. Az hogy milyen kernel van alatta az a stabilitás / sebesség szempontjából ugyan nagyon nem mindegy, de a felhasználói programok szempontjából nagyjából Windows = WIN32 API.
    Ha az NT kernel tetejére tennél egy Posix alrendszert, feltennél rá egy GNU-s környezetet az XFree-től a KDE-ig ugyanakkor eltávolítanád a WIN32-t, az már szerintem már nem windows lenne hanem Gatex
    Mutasd a teljes hozzászólást!
  • Te Attila, mégis miért lenne jó, ha nem lenne OLE egy NT-s gépen?
    Szerintem szedjük ki a signalokat a POSIX-ből, mert nekem nem tetszenek, ez ziher ugyanaz.

    Péter
    Mutasd a teljes hozzászólást!
  • És itt szükségleted szerint tudod az egyes elemeket cserélni.


    Jaaa! Hogy neked nem az a bajod, hogy nem lehet lecserélni, hanem hogy senki nem készített olyan alkalmazást, ami lecserélné!

    Egyébként a desktopos cucc környékén asszem a headless server témakörben kell kutakodni kicsit, de erre most öt forintot sem tennék fel, csak épp futólag olvastam valamit.

    Ezzel szemben windows esetén a kernel felett van a win32, fölötte az alakalmazás. A win32 viszont egységes, annak egyes komponenseit már nem tudod eltávolítani.


    Naná, hogy nem. Te sem tudsz élni a libc nélkül, nem igaz? :) A win32
    subsystem
    olyan szolgáltatásokat nyújt, amelyek az operációs rendszer alapján képezik. Ugyanakkor az NT itt már sokszor említett subsystemes architektúrája lehetővé teszi, hogy a kernelt akármilyen subsystemről elérd (így van pl. egy egyszerű POSIX subsysteme is a Windowsnak), a Win32 úgymond egy wrapper a native API felé csak. Ha úgy tetszik, az NT kernel fölé implementálhatsz egy full POSIX subsystem layert, mint ahogy az meg is történt már.

    Mondhatnók a Windows tervezésileg képes lenne egyszerre Win32-es és Linux-os programok futtatására.

    Summa summárum, a Win32-t kioperálni olyan, mintha kivágnád magad alatt a fát és jól vigyorognál közben, hogy mostmár jobban látszol a fotón :)

    Péter
    Mutasd a teljes hozzászólást!
  • A vezerloszoftver max prioritasu realtime processzkent futott. Az ilyen processzt mint mar azt hiszem pBoy mar korabban emlitette, a kernel nem szakithatja meg. Elvileg.


    Ilyet én nem mondtam :) Windows 3.1 alatt, kooperatív multitaszkban (lol :) volt esetleg ilyen, NT alatt nincs valódi realtime prioritás, legalábbis user mode-ban nincs. A hardvervezérlés egyébként is a kernel mode-ra tartozik, oda kell egy driver és azt kell meghajtani user mode-ból.

    A fenti igényelt tulajdonsággal többek között a netchan kolléga által említett RTOS rendszerek bírnak, az NT by design nem az.

    Péter
    Mutasd a teljes hozzászólást!
  • Ez itt elegge off bocs
    Ha erdekel a tema, akkor javaslom olvasd el ezt a konyvet:

    Renegades of the Empire: How Three Software Warriors Started a Revolution Behind the Walls of Fortress Microsoft
    Renegades of the Empire: How Three Software Warriors Started a Revolution Behind the Walls of Fortre


    arrol szol hogy hogyan szuletett a directx. elegge durvan haboruznak a cegen belul az eroforrasokert (pl elemegy a win9x feje vakaciora mire visszajon mar mindent kiszerveztek alola es a winnt -s fonok vitt mindent ...)

    Én úgy tudom, hogy az MS a világ legjobb fejeit probálja összeszedni a munkákhoz. Én úgy gondolom, hogy érdekesek lehetnek a napjai.
    Mutasd a teljes hozzászólást!
  • az, h nem tudod te vagy akkar en mint "mezei felhasznalo" ezeket kivenni megintcsak nem azt jelenti, h ezeket nem lehet eltavolitani lasd azon hozzaszolot aki a beagyazott XP-t emlitette
    azzal egyetertek, h vannak esetek amikor nincs szukseg ezek jelentos reszere (a web-es peldanal azert a COM nem gyengen kelhet), es mint "mezei felhasznalo" nem tavolithatom el ezen reszeket rossz, de igazabol csak a helyet foglaljak (meg a shell sem indul el!!!!)
    Mutasd a teljes hozzászólást!
  • Azért ezt a nem kell vele foglalkoznotok kérdést igazán akkor hiszem el ha az XP-ből ki tudod szedni OLE-t anélkül hogy el kellene dobnod az egész win32-t.

    Az hogy minden ott van az addig nagyon jó amíg az user interface ablak. Ha nem ablak akkor fölösleges. Azaz ha Pl. csinálni akarsz egy kis szervert ami csak egy kis doboz amiben nincs videó csak hálózati kártya, feldugod a netre aztán megy, csak weben keresztül adminisztrálod, nos itt Pl. már teljesen felesleges a win32 API nagy része. Egy rész persze kell (Pl. fájlkezelés) de mivel integrálva van így hurcolnod kell. Enni persze nem kér (sokat) de finoman szólva meglehetősen mérsékelten elegáns. Manapság már lassan a wc lehúzóba is számítógép lesz, de ez még nem jelenti azt hogy a wc-t egérrel és ikonnal a legegyszerűbb lehúzni
    Mutasd a teljes hozzászólást!
  • LC elozo nem idezem mert az egesz

    a Linuxot Te/Ti modularisabbnak LATJATOK mert nektek kell felepiteni ezeket, de ez igy van WIN alatt is csak neked N E M K E L L V E L E F O G L A L K O Z N O D (m.e. is lehetnek )

    az, h a kernel felett van a win32 mint egyseges api es vannak elonyei kijelentesnel nem az a lenyeg, h vannak elonye IS, hanem ez az igazan JO, h mindig szamithatok ra, mig ha mondjuk Qt re epitek akkor arra nem es a user-nek csak az en kedvemert kell felraknia es forditva

    a "rugalmassag" oltaran kellenne felaldoznom, h a programon minden win-es rendszerben szamithat a win32-re, igy ertelmezve a rugalmassagot, ahogy te itt hasznalod, csak is hatrany (lsd. fentebb)

    gondoldd at LC
    Mutasd a teljes hozzászólást!
  • Egyébként a Windowsra jellemző a viszonylag egységes platform a Linuxokkal szemben, ami egyszerre előny és egyszerre hátrány. Az egységesség része a széles, platformonként fixen elérhető szolgáltatáscsomag, aminek része az említett WMI és MSHTML.


    Pontosan erről szól az egész modularitás/monolitikus felépítés vita. Míg linuxon egymásra épülő szintek vannak, alul a kernel, fölötte az X11, a fölött egy widget library, fölötte egy desktop environment és legfelül az alkalmazás. És itt szükségleted szerint tudod az egyes elemeket cserélni. A kernel fölött nem muszály feltétlenül X-nek lennie, az X felett lehet Qt, Gtk, Fltk, Motif, XForms, Fox, stb, a Qt felett lehet KDE, a GTK felett lehet Gnome de lehet XFCE is.

    Ezzel szemben windows esetén a kernel felett van a win32, fölötte az alakalmazás. A win32 viszont egységes, annak egyes komponenseit már nem tudod eltávolítani. Ennek persze vannak előnyei is /Pl. a programod bizton számíthat arra hogy az adott rendszerhívás létezik/ de az biztos hogy sokkal kevésbé rugalmas felállás mit a fenti.
    Mutasd a teljes hozzászólást!
  • Az ilyen jellegu szoftverek ala real-time oprendszer kell, mint amilyen a QNX vagy a Nucleus. Az NT nem ilyen (habar az os OpenVMS kivaloan alkalmas folyamatvezerlesre).

    netchan
    Mutasd a teljes hozzászólást!
  • Már az előbb is kértem, hogy fejtsd ki ezt a sztorit, mert én nagyon nem értem


    Bocs, lehet hogy elsiklottam felette, bar egyszer mar kifejtettem ha jol remlik.


    - hogyan jönnek össze ezek a dolgok? (prioritás, felhasználói felület, processzek)


    A haver egy epitoanyaggyarnak fejlesztett vezerloszoftvert a gepekhez.

    Ehhez a szoftvert NT4.0 alatt futtatta, mert hogy az stabil, nem szall el, stb.
    Elszallasrol valoban nem hallottam tole ezzel kapcsolatban.

    A vezerloszoftver max prioritasu realtime processzkent futott. Az ilyen processzt mint mar azt hiszem pBoy mar korabban emlitette, a kernel nem szakithatja meg. Elvileg.

    Amit viszont hallottam tole, az az volt, hogy bizonyos user interface-en vegzett muveletek eseten (erre sajnos nem emlekszem pontosan hogy mely muveletek, de ha jol remlik olyasmi ami a user interface animaciojaval volt kapcsolatos, pl. animalt menukirajzolas) elofordult, hogy a kernel megszakitotta a vezerloszoftver elvileg megszakithatatlan processzet.

    Igy jonnek ossze a processzek a user interface-el.


    - mi a probléma velük ?


    Szerintem ez egyertelmu a fent leirtak utan.


    - mi köze a modularitáshoz/összedrótozáshoz a sztorinak ?


    Az osszedrotozashoz az, hogy a desktop-nak olyan jogokat adott a kernel, amit az utemezo specifikacioja szerint nem adhatott. Ergo nem specifikalt uton epult be a desktop az utemezobe.

    A forras modularizaciojanak hianya az abbol kovetkezik egy normalis komponens alapu megkozelitesnel, hogy ami nem a specifikacioban meghatarozott modon illeszkedik az nincs rendesen modularizalva, mert mas akinek a drotozas lehetosege nem all rendelkezesere, nem tudja a specifikacio szerint utana csinalni.


    (Mondjuk az ilyen haverom-barátnőjének-az-ismerősétől-hallottam jellegű sztorik nem feltétlenül túl hitelesek, bár igazak még lehetnek.)


    Ez nem 'n'+vegtelen emberen keresztul jott. Szemelyesen hallottam attol aki tapasztalta. Ennel ketsegtelenul erosebb bizonyitek lett volna ha sajat magam tapasztaltam volna, de ha egyszer nem en csinaltam hanem o csinalta...

    En mindenesetre megbizom a haver hozzaerteseben es oszintesegeben hogy tenyleg az tortent amit mondott.

    ----------------------------------------

    Desktop/bongeszo/vizualis komponens tema.

    Tenyleg nincs sok ertelme vitatkozni rajta. En ugyanis arra hoztam fel peldanak (kivansagnak ) hogy kihajitani az egeszet, tokkal vonoval, mindegy hany komponens.

    Mondjuk kicsit durva kivansag. A Windowsnak nagyjabol a legjobb resze a user interface, tenyleg nem fair kihajitani :) De nem is lehet :)

    Es igen, tudom, ha kihajitom, akkor mar nem is Windows, hanem csak valami Win32+NT kernel+csiriz :)
    Mutasd a teljes hozzászólást!
  • "Az explorer meg erősen integrált az iexplorer-rel.
    Ez miben is nyilvánul meg? (úgy értem az integráció)"

    Abban, hogy ha elindítod az IE-t, akkor megjelenik a taskbar-on az ikonja. Mi ez ha nem integráció
    Mutasd a teljes hozzászólást!
  • Valóban, a desktop nem a böngészoben fut, a böngésző maga a desktop.

    Ha a "böngésző" fogalmát úgy definiáljuk, hogy "a desktop", akkor biztosan igaz ez a kijelentés. Ellenben ha a klasszikus értelemben vesszük, amely szerint a böngésző a web böngészésére használható célprogram, akkor nagy marhaság.

    A shell az explorer.exe, annak egy listview-ja az asztal

    Listview-ja? Érdekes. Az előbb még a böngésző volt "maga az asztal", és nem pedig egy "buta" listview...

    Az explorer meg erősen integrált az iexplorer-rel.

    Ez miben is nyilvánul meg? (úgy értem az integráció)
    Mutasd a teljes hozzászólást!
  • Idáig n-szer el lett mondva, hogy a desktop NEM a böngészőben fut. Semmi sem fut a "böngészőben" (ha egyáltalán technikai értelemben értelmesnek fogadjuk el ezt a kijelentést).


    Valóban, a desktop nem a böngészoben fut, a böngésző maga a desktop. A shell az explorer.exe, annak egy listview-ja az asztal, egy tab control-ja a taskbar, stb.. Az explorer meg erősen integrált az iexplorer-rel.
    Mutasd a teljes hozzászólást!
  • Hat, pl. azt mondanam, user interface a kernel folul.
    Szerintem az is gyanusan ossze van drotozva, a mar emlegetett megnyomok valamit, preemptalodik a max prioritasu realtime processz esetbol itelve.
    Mint mar irtam korabban, haverral tortent meg, NT 4.0-n.

    Már az előbb is kértem, hogy fejtsd ki ezt a sztorit, mert én nagyon nem értem
    - hogyan jönnek össze ezek a dolgok? (prioritás, felhasználói felület, processzek)
    - mi a probléma velük ?
    - mi köze a modularitáshoz/összedrótozáshoz a sztorinak ?
    (Mondjuk az ilyen haverom-barátnőjének-az-ismerősétől-hallottam jellegű sztorik nem feltétlenül túl hitelesek, bár igazak még lehetnek.)

    De pl. a Desktop is miert egy bongeszoben fut? Ha ez nem igy van, miert nem lehet az Internet Explorer-t eltavolitani (Microsoft szerint).

    Idáig n-szer el lett mondva, hogy a desktop NEM a böngészőben fut. Semmi sem fut a "böngészőben" (ha egyáltalán technikai értelemben értelmesnek fogadjuk el ezt a kijelentést).

    A nagy helyzet az, hogy a böngésző is ugyanazt a HTML megjelenítő/böngésző komponenst használja, amit a help rendszer, meg amit a desktopon is be lehet opcionálisan (!) kapcsolni.
    Mutasd a teljes hozzászólást!
  • Hat, pl. azt mondanam, user interface a kernel folul.
    Szerintem az is gyanusan ossze van drotozva, a mar emlegetett megnyomok valamit, preemptalodik a max prioritasu realtime processz esetbol itelve.
    Mint mar irtam korabban, haverral tortent meg, NT 4.0-n.

    Van olyan hogy az ember nem akar user interface-t egyaltalan.

    De pl. a Desktop is miert egy bongeszoben fut? Ha ez nem igy van, miert nem lehet az Internet Explorer-t eltavolitani (Microsoft szerint).

    A MSN ajanlgatas sem tudom, hogy teljesen kitakarodott-e mar. A kovetkezo ilyen dolog, ami van az meg a Netscape-el jott. De mostmar az AOL is csinalja
    Mutasd a teljes hozzászólást!
  • Neki is szuksege van ra, mert nelkule nem megy a rendszer, ezert mondtam, hogy helyettesitsd be valami masra, amire nincs szuksege.


    Értem én, csak mondom: nekem nem ugrik be olyasmi, ami olyan lenne, mint amiről beszélünk. Biztos van tucatszámra, de nekem most egy sem ugrik be.

    És Neked?

    Péter
    Mutasd a teljes hozzászólást!
  • A WMI-re nem az egységnyi sugarú felhasználónak van szüksége.


    Neki is szuksege van ra, mert nelkule nem megy a rendszer, ezert mondtam, hogy helyettesitsd be valami masra, amire nincs szuksege.

    Mutasd a teljes hozzászólást!
  • helyettesitsd be a WMI-t valami massal, amire nincs szuksege az az egysegsugaru felhasznalonak.


    Nem ugrik be semmi az MSN Messengeren kívül, de az eltávolítható és nekem pl. nem is ajánlkozik. A WMI-re nem az egységnyi sugarú felhasználónak van szüksége BTW, hanem a rendszernek. Egységuser nem libc-vel dolgozik, hanem OpenOffice-al.

    pl. MSN ajanlgatas agyba fobe Win9x-en (lehet hogy ujabb-ban is).


    A Win9x nem Windows, az egy vicc, részemről nem képez semmilyen vitaalapot :)

    Péter
    Mutasd a teljes hozzászólást!
  • akkor rossz pelda volt.

    helyettesitsd be a WMI-t valami massal, amire nincs szuksege az az egysegsugaru felhasznalonak. a windows tele van olyan komponensekkel amit ezzel egyutt nem lehet eltavolitani.

    pl. MSN ajanlgatas agyba fobe Win9x-en (lehet hogy ujabb-ban is).
    Mutasd a teljes hozzászólást!
  • Pontosan errol beszelek, hogy en szeretnem ezt a dontest meghozni, hogy nem futtatok pl. WMI-re epulo programot, es ennek fejeben nem lesz benne a WMI az en rendszeremben.


    A WMI egy rendszerkomponens, amit maga a Windows is aktívan használ, ugyanúgy, mint az MSHTML engine-t. Eltávolítása az operációs rendszer alapszolgáltatásainak elérhetetlenségét jelentené, úgyhogy valószínű egy másik, jobb példát kellene keresni. Ötlet?

    Egyébként a Windowsra jellemző a viszonylag egységes platform a Linuxokkal szemben, ami egyszerre előny és egyszerre hátrány. Az egységesség része a széles, platformonként fixen elérhető szolgáltatáscsomag, aminek része az említett WMI és MSHTML.

    Péter
    Mutasd a teljes hozzászólást!
  • Tételezzük fel, hogy úgy döntesz, nincs szükséged WMI-re. Rendben, de akkor ne akarj olyan programot futtatni, aminek szüksége van a WMI-re a működéséhez.


    Igy van. Pontosan errol beszelek, hogy en szeretnem ezt a dontest meghozni, hogy nem futtatok pl. WMI-re epulo programot, es ennek fejeben nem lesz benne a WMI az en rendszeremben.

    De nem hozhatom meg, mert ossze-vissza van drotozva az egesz, es nem tavolithatom el a WMI-t sem, hiaba nem akarnek raepulo programot futtatni.
    Mutasd a teljes hozzászólást!
  • Úgy is dönthetsz, hogy nincs szükséged kernelre, de akkor nem futtass programot.


    a valodi valsztas
    Mutasd a teljes hozzászólást!
  • (A -> B, vagy A => B), es B -> A egyidejuleg all fenn, es en tenyleg nem akarom A-t hasznalni.


    egy peldat a win-ben, h jol lassam amit irsz
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd