🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.advocacy
Article #2866

Re: Używanie narzędzi M$ przez studentów

#2866
From: Jaroslaw Lis
Date: Thu, 15 Jan 1998 13:26
116 lines
6462 bytes
Piotr Trzcionkowski <ZmieńNa_trzcionk@us.edu.pl> wrote:
: >Do tego żeby Szkapa zaczęła gadać po polsku
: >wystarczy wrzucić sobie w katalog domowy plik tekstowy o rozmiarach od 240
: >do 300 parę KB (w zależności od wersji) i poprostu ją wystartować.

: O boziu, zaczyna się ta sama dyskusja.

: Plik tekstowy ma sekwencyjną naturę. Jedynym rozsądnym sposobem
: skorzystania z niego jest przeczytanie całości od początku do końca.
: Toteż programy tak robią i wszystko ładują do pamięci. Całe te
: 240..300KB wylądowało więc w pamięci. Gdyby nawet program usiłował
: pominąć jakieś rzadko używane fragmenty to w perspektywie miałby
: przeglądanie całego pliku lub zorganizowanie tego tak jak poniżej, ale
: "na piechotę".

Czesciowo sie mylisz. W Unix'ach od lat sa sposoby otwarcia pliku
takie ze udaje on pamiec. Otwarcie zwraca Ci adres pamieci pod ktorym
plik "jest", a jak zaczynasz czytac ten obszar pamieci, to dopiero
wtedy swapper dba o to zeby program odczytal prawidlowe dane. 
Tyle ze jesli to czysty plik tekstowy, to najpierw wypadaloby go 
"przeskanowac" celem np zapamietania indeksow. Co troche zmniejsza
wydajnosc.

: Teraz opiszę jak to wygląda w Windows. Zamiast plików tekstowych są
: binarne. Cechą plików binarnych jest możliwość skakania po nich.
: Wymaga to oczywiście pewnej organizacji jednak pozwala na
: skonstruowanie czegoś takiego jak windowsowe zasoby. Zasoby to różnego
: rodzaju dane czy to ciągi, czy np. bitmapy, które są połączone z
: plikiem wykonywalnym, lecz nie są wczytywane do pamięci wraz z
: uruchomieniem programu. Dopiero jawne odwołanie się w kodzie programu
: do zasobu powoduje, że znajdzie się on w pamięci fizycznej. Czyli
: jeśli program wyświetla okienko z zapytaniem to tylko wtedy.

Jesli wspominasz o bitmapach, to i pod unixami sa one zazwyczaj "binarne",
i jesli sa w osobnych plikach to efekt jest dokladnie ten sam.
Jesli myslisz o "text table", to masz troche racji, ale:
1) Windows chyba i tak musi ten fragment przeskanowac zeby znalezc
   indeksy poszczegolnych tekstow.
2) komunikaty sa rozrzucone, a blok wczytywany z dysku zwykle spory 
   wiec kilkanascie uzywanych czesto komunikatow to bedzie pewnie 
   koniecznosc zaladowania kilkudziesieciu KB - czyli polowy pliku
3) czasy takie ze wczytanie calych 300KB do pamieci trwa 50ms,
   a wczytanie 4KB - 30ms. To co sie bardziej oplaca ?
4) jak bardzo,bardzo potrzebujesz wersje polska to przy pliku tekstowym 
    poprawisz te komunikaty sam. Przypliku binarnym ... tez, o ile 
    masz program do poprawiania.
5) mimo ze jest "string table" w resourcach, to nie wszystkie komunikaty
   programow MS sie tam mieszcza.

6) jak juz wspominalismy - grep szybciej przeszukuje pliki tekstowe, niz
   regedit binarne :-)

7) stosowanie funkcji alokujacych i zwalniajacych zasoby jawnie - wydluza
   program i zwalnia pamiec. Chyba lepiej bedzie jak zrobi to
   automatycznie swapper systemowy - w razie potrzeby.

: Jako, że
: wiadomo, gdzie (w exe,dll) mieści się oryginał, pamięć zajęta przez
: niego nigdy nie zostanie wymieciona do pliku wymiany tylko co najwyżej
: zwolniona. 

Przy wspomnianym specjalnym trybie otwierania pliku na unixie
bedzie to samo. Tyle ze nie wiem czy sie oplaca. Przy wczytywaniu pliku
mozna z niego troche usunac i z 200KB zrobi sie 50. A pod Windowsem

: Z tego też powodu plików używanych w systemie windows nie
: da się modyfikować, kiedy są "uruchomione".


Tu za przeproszeniem programistow z MS nalezy odeslac na kurs unixa.
Tu od samego poczatku mozesz sobie pliki kasowac, zakladac, zmieniac
nazwy, nie bacza na rownolegle dzialajace programy - a wszystko 
ciagle dziala, w dodatku z pewnym sensem :-)
A nie - program sie wysypal, pliku skasowac nie moge, bo winda
mysli ze program ciagle dziala, no coz - troche dziala bo 
"program nie odpowiada i nie moge go zakonczyc" :-)

: W taki to właśnie sposób
: da się oszczędzić ogromne ilości pamięci i nigdy całe 300KB nie
: znajduje się w pamięci tylko jakiś skromny procent.

I to bezczelnie piszesz o systemie ktoremu pamieci nigdy za duzo :-)
64MB - swapuje, 128MB - swapuje, 256MB - swapuje, 512MB - nie obsluguje tak
duzo :-)

Dyski potanialy, i to nie jest 300KB pamieci, tylko 300KB swapa na dysku.
Tyle ze troche tracimy przy jego zapisie. [O ile nie stosujemy podanych
technik otwarcia].

: Niektóre z języków
: programowania robią jeszcze lepszą robotę. Np. w Delphi
: resourcestringi są integralną częścią języka. Odwołuje się do nich jak
: do zwykłych łańcuchów tekstowych. Nie dość tego Delphi próbuje
: odnaleźć właściwy moduł językowy na podstawie locale i lokalizacja
: polega na podłożeniu modułu (już tylko zasoby, bez kodu) dla danej
: wersji językowej. 

Przeciez to to samo :-) [co pod unixem - zewnetrzny modul]
Tylko co z tego - MS zwalczy Delphi :-)

: Jak widać Linux "może się schować" ze swoimi pliczkami tekstowymi.
: ZAWSZE będzie zżerał więcej zasobów (rozumianych ogólnie).

Czy "zawsze" to bym sie spieral, ale za to zyskujemy elastycznosc -
a osobiscie uwazam to za wazniejsze. Zasoby szybko tanieja :-)

: A cały ten wywód dowodzi tylko jak bardzo ograniczona jest wiedza
: linuxiarzy na temat nowoczesnych technik w szczególności tych
: zastosowanych w windows.

Ktorem Windows? Win32? byc moze.

Ale to co piszesz jest od Win 3.0 - wybacz, najbardziej udziwnione
zarzadzanie pamiecia ktore zdarzylo mi sie zobaczyc...

J.
Technical Details
Message-ID: <69l2qt$6h9$13@okapi.ict.pwr.wroc.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!lis
References: <69g437$9md$1@sunrise.pg.gda.pl> <35251cc3.481832191@zeus.polsl.gliwice.pl> <34BCECBE.4019@krysia.uni.lodz.pl> <69j1lq$a6b$2@newsfeed.onet.pl> <69jane$2m8$1@sunrise.pg.gda.pl> <34fd7c93.571909582@zeus.polsl.gliwice.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!lis
From: "Jaroslaw Lis" <lis@papuga.ict.pwr.wroc.pl>
Newsgroups: pl.comp.os.advocacy
Subject: Re: Używanie narzędzi M$ przez
 studentów
Date: 15 Jan 1998 13:26:53 GMT
Organization: Technical University of Wroclaw, Poland
Lines: 116
Message-ID: <69l2qt$6h9$13@okapi.ict.pwr.wroc.pl>
References: <69g437$9md$1@sunrise.pg.gda.pl> <35251cc3.481832191@zeus.polsl.gliwice.pl> <34BCECBE.4019@krysia.uni.lodz.pl> <69j1lq$a6b$2@newsfeed.onet.pl> <69jane$2m8$1@sunrise.pg.gda.pl> <34fd7c93.571909582@zeus.polsl.gliwice.pl>
NNTP-Posting-Host: okapi.ict.pwr.wroc.pl
Mime-Version: 1.0
X-Newsreader: TIN [UNIX 1.3 unoff BETA 970304; sun4m SunOS 5.4]
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit