Programy, które nie powinny być uruchamiane z okienka DOS w Windows

Programy napisane do uruchamiania z DOS-u nie zawsze działają poprawnie, gdy uruchamia się je z Windows z okienka DOS-owego, nawet pełnoekranowego. Zresztą i te, które działają poprawnie, powinny - dla osiągnięcia pełnej efektywności działania - być uruchamiane za pomocą specjalnego pliku o nazwie Program Information File (PIF). W jednym z następnych odcinków opiszemy jak przygotowuje się pliki PIF dla uruchamiania programów.

Programy napisane do uruchamiania z DOS-u nie zawsze działają poprawnie, gdy uruchamia się je z Windows z okienka DOS-owego, nawet pełnoekranowego. Zresztą i te, które działają poprawnie, powinny - dla osiągnięcia pełnej efektywności działania - być uruchamiane za pomocą specjalnego pliku o nazwie Program Information File (PIF). W jednym z następnych odcinków opiszemy jak przygotowuje się pliki PIF dla uruchamiania programów.

Jeżeli nie potrzebujemy pełni możliwości, jakie daje środowisko Windows, a wystarcza nam eleganckie uruchamianie programów DOS-owych ze środowiska graficznego, to powinniśmy zastanowić się nad celowością użycia DOS Shell-a, dostarczanego z systemem DOS od wersji 4 poczynając. DOS Shell prawie całkowicie usuwa się z pamięci po uruchomieniu programu i nie ma wpływu na szybkość działania.

Jeżeli jednak chcemy przełączać się szybko między różnymi aplikacjami z DOS i Windows, a także odczuwamy potrzebę pracy wielozadaniowej, to w zasadzie nie mamy wyboru - powinniśmy korzystać z Windows.

W tym ostatnim przypadku musimy jednak pamiętać, że istnieją programy DOS-owe, które pod żadnym pozorem nie powinny być uruchamiane z Windows, bowiem w razie użycia niektórych z nich ryzykujemy utratą całej zawartości dysku stałego!

Uruchomienie sesji DOS-u z Windows jest bardzo proste i sprowadza się do tupnięcia na ikonę DOS-u. Uruchomiona pełnoekranowa sesja DOS-u wygląda jak normalny DOS: większość poleceń działa normalnie, otrzymujemy standardową formę zachęty, dokładnie taką jak stosowana przez nas w "czystym" DOS-ie itd. Łatwo zapomnieć, że gdzieś tam w tle działa sprawnie system Windows, z mnóstwem otwartych plików, plikami roboczymi itd. Jeśli więc uruchomimy w tym czasie program poszukujący na dysku niedołączonych sektorów, to wykryje on, że wszystkie otwarte pliki Windows są właśnie niedołączone i gdyby je usiłował zamienić na pliki stałe (tak jak czyni to na przykład CHKDSK z opcją /F), to nieszczęście gotowe.

Istnieje wiele grup programów, które nie powinny być uruchamiane z okienka DOS-owego Windows:

1. Programy, które przeprowadzają reorganizację położenia plików na dysku lub optymalizują położenie w celu przyśpieszenia operacji dyskowych. Z DOS-owych poleceń należą do nich: CHKDSK /F (ale CHKDSK bez opcji /F można uruchomić), FDISK (co czasem uruchamiamy, gdy mamy na dysku kilka partycji z różnymi systemami operacyjnymi), RECOVER. Nie należy także uruchamiać żadnego z programów optymalizacji dysku: Norton Disk Doctor lub SpeedDisk ani podobnie działających programów z PCTools, Mace Utilities i in.

2. Programy odzyskiwania pomyłkowo usuniętych plików (Unerase, Qunerase itp.), gdyż przeprowadzają one bezpośrednie modyfikacje tablic alokacji plików (FAT) i zmieniając te tablice mogą uniemożliwić systemowi plików Windows zapisanie właściwej konfiguracji.

3. Programy buforów dyskowych, typu FAST.EXE, PC-Kwik powinny być zawsze uruchamiane przed włączeniem Windows, po upewnieniu się, że dobrze działają w środowisku Windows. Zaleca się jednak używanie dostarczanego z DOS-em lub Windows programu SMARTDRV.EXE.

4. Programy archiwizowania dysku, szczególnie te, które korzystają z szybkiego odczytu/zapisu za pośrednictwem DMA; przykładem takiego programu jest Fastback, Norton Backup i in. Archiwizowanie dysku powinno być wykonywane tylko wtedy, gdy nie działają żadne programy w tle. Natomiast programy archiwizowania dysku przystosowane do pracy z Windows pozwalają na uruchomienie operacji w tle, co znacznie obniża jej pracochłonność.

5. Polecenia DOS-owe redefiniujące dyski i katalogi: APPPEND, ASSIGN, JOIN i SUBST oraz rezydentne rozszerzenia DOS-u o nowe funkcje: SHARE i FASTOPEN. Jak pisałem w jednym z wcześniejszych odcinków, polecenie SHARE powinno być uruchamiane wcześniej, z pliku AUTOEXEC.BAT w celu ochrony plików w DOS-ie i Windows.

6. Aplikacje DOS-owe, oparte na tzw. DOS-Extenderach, powodujące przełączanie komputera w tryb z protekcją, mimo, że już w tym trybie pracuje on (na przykład niektóre aplikacje z ORACLE).

7. Niektóre programy rezydentne. Istnieje ogromna różnorodność programów rezydentnych i nie można z całą pewnością stwierdzić, które z nich nie powinny być uruchamiane z okienka DOS-owego z Windows. Jeżeli mamy wypróbowany i ulubiony program rezydentny, który przydaje nam się przy pracy w DOS-ie, to uruchamiamy go przed wywołaniem Windows. Zajmuje on wtedy cenną pamięć w każdym oknie DOS-owym z Windows, ale mamy przynajmniej pewność, że niczego nam nie zniszczy.

Jak stwierdzić, że pracujemy w okienku DOS-owym?

Istnieje kilka metod stwierdzenia, czy pracujemy w okienku DOS-owym z Windows. Najprostsza polega na napisaniu polecenia DOS-owego EXIT, co spowoduje powrót do środowiska Windows i ewentualnie potrzebę powtórnego wejścia do DOS-u. Inna metoda polega na użyciu polecenia SET; w wykazie ustawionych zmiennych środowiska pojawi się zmienna "windir=C:\WINDOWS" (jeśli nasz program Windows jest zainstalowany w katalogu WINDOWS na dysku C:). Niestety nie możemy napisać takiego pliku wsadowego (typu BAT), który jest w stanie testować obecność tej zmiennej; wynika to z ograniczeń DOS-u zmieniającego na duże litery każdy testowany parametr pliku wsadowego, a tymczasem zmienna "windir" zapisana jest małymi literami. Następna metoda polega na wywołaniu polecenia MEM /C |MORE i poszukaniu na ekranie wiersza WIN; jeśli jest, to pracujemy z okienka DOS- owego w Windows.

Jak ustrzec się przed wywołaniem "niebezpiecznych" programów?

Aby uniknąć przykrej niespodzianki po skorzystaniu z programu, często używanego, ale niebezpiecznego dla środowiska Windows należy zmienić nazwę tego programu (na przykład mój program archiwizowania dysku FB.EXE nazywa się teraz FBX.EXE) i napisać plik wsadowy o takiej nazwie jak nasz program (w tym przypadku będzie to FB.BAT). Plik ten powinien zawierać dwa polecenia: EXIT i zmienioną nazwę programu. W moim przypadku plik FB.BAT zawiera następujące wiersze:

EXIT FBX

Jeżeli przez pomyłkę wywołam ten program z okienka DOS-owego w Windows, to polecenie EXIT spowoduje powrót do Windows, a polecenie FBX nigdy nie zostanie wykonane.

Stałe przypomnienie o okienku DOS

Istnieje nieudokumentowana metoda stałego przypominania o tym, że pracujemy w okienku DOS-owym w Windows. W tym celu w pliku AUTOEXEC.BAT należy napisać następujący wiersz:

set winpmt=[Napisz EXIT aby opuścić DOS]$p$g

Gdy będziemy pracować w okienku DOS-owym, ten komunikat (lub jakikolwiek inny wybrany przez nas) będzie nam przypominać, że nie jesteśmy w "czystym" DOS-ie, lecz w okienku DOS-owym w Windows. Uwaga: ten trick działa tylko w Windows 3.1.

W następnych odcinkach: optymalizacja użycia pamięci w DOS i Windows.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200