Preloader image
 
Menu zagnieżdżone
806
post-template-default,single,single-post,postid-806,single-format-standard,simplicity-core-1.0.3,simplicity-theme-ver-2.0.3,ajax_fade,page_not_loaded,smooth_scroll

Blog

Posted by Maniek in Programy

Menu zagnieżdżone

Optymalizacja konfiguracji systemowej

Polecenia DEVICEHIGH oraz LOADHIGH pozwalają na umieszczenie w pamięci górnej i wysokiej wielu elementów systemu i zwolnienie w ten sposób pokaźnej ilości pamięci konwencjonalnej. Niestety nie zawsze jest możliwe przeniesienie do wyższych obszarów wszystkich elementów systemu. Niektóre sterowniki lub programy rezydentne muszą w całości lub częściowo być umieszczone w pamięci konwencjonalnej, albo po prostu już nie mieszczą się w pamięci górnej.
Poprzez odpowiednie manipulowanie parametrami poleceń DEVICEHIGH oraz LOAD­ HIGH można zmusić system do bardziej wydajnego upakowania tych programów w pamięci górnej. Wymaga to dobrej znajomości zagadnień związanych z pracą systemu i wykorzystaniem pamięci. Źle ustawione parametry mogą spowodować błędy w pracy programów, a nawet uniemożliwić załadowanie systemu.

Jeżeli system nie może się załadować, ze względu na błędy, należy nacisnąć podczas jego startu klawisz F5 (pominięte zostaną polecenia konfiguracyjne) lub F8 (spowoduje krokowe wykonywanie poleceń konfiguracyjnych, które możemy pojedyńczo akceptować lub je pomijać).

Najczęściej wystarczy jednak zmienić kolejność ładowania programów rezydentnych tak, aby największe z nich ładowane były na początku. W ten sposób do pamięci konwencjonalnej trafią mniejsze programy. Jeżeli nie chcemy albo nie wiemy w jaki sposób skonfigurować pliki AUTOEXEC.BAT i CONFIG.SYS możemy powierzyć optymalizację pamięci programowi MemMaker, który automatycznie dokona odpowiedniej modyfikacji plików systemowych.

Wyłączanie poleceń konfiguracyjnych
Może się okazać, że pomimo zoptymalizowania wykorzystania pamięci nadal brakuje wolnego miejsca w pamięci podstawowej do uruchomienia niektórych programów, bardzo często dotyczy to gier, które lubią czerpać jak największą ilość pamięci podstawowej.
Jeżeli program wykorzystujemy sporadycznie można, na dany czas, zrezygnować z ładowania niektórych sterowników lub programów rezydentnych. Jeżeli, że nie potrzebujemy w danym momencie CD-ROM, czy myszki. Nie należy jednak odpowiednich poleceń kasować z plików konfiguracyjnych, wystarczy je tylko wyłączyć. Dzięki temu bez problemu uaktywnimy odpowiednie programy, gdy będą one potrzebne.
Przed modyfikacją plików konfiguracyjnych należy jednak wykonać ich kopie zapasowe oraz powinniśmy sprawdzić, jakie programy lub sterowniki rzeczywiście zajmują pamięć podstawową. W tym celu należy wyłączyć wszelkie programy nakładkowe, jak Norton Commander, czy Windows, po czym można wydać polecenie:

mem /c/p

Na ekranie zostanie wyświetlona informacja o programach załadowanych do pamięci oraz zajętych przez nie obszarach, np.:

Jak widać pliki TOSHV111, DISPLAY oraz MSCDEX umieszczone zostały w pamięci górnej. Programy IMOUSE oraz PC-CACHE załadowane zostały do pamięci konwencjonalnej. Wyłączenie poleceń ładujących te dwa programy spowoduje więc, że wolny obszar pamięci konwencjonalnej powiększy się prawie o 23 KB.
Jak widać wolnej pamięci (Free) górnej jest znacznie więcej niż zajmują te dwa programy.Dlaczego więc nie została ona wykorzystana? Otóż obszar wolny może składać się z bloków (UMB) zbyt małych, aby można było w nich umieścić te programy w całości.

Jeżeli programy, które należałoby wyłączyć są nam niezbędne (np. IMOUSE pozwalający na korzystanie z myszki) możemy spróbować wyłączyć jeden z większych programów zajmujących miejsce w pamięci górnej (np. mogą to być sterowniki CD-ROM, czyli TOSHV111 oraz MSCDEX). W zwolnione w ten sposób miejsce być może zostanie załadowany jeden z programów zajmujących pamięć konwencjonalną (np. program IMOUSE).

Chcąc wyłączyć polecenie należy wpisać na początku odpowiedniego wiersza:
– w pliku CONFIG.SYS REM”;
– w pliku AUTOEXEC.BAT znak dwuktopka :
Polecenie REM oznacza, że dalsza część wiersza jest komentarzem, nie jest więc uwzlędniana przez system, natomiast znak „:” (dwukropek) powoduje, że tak zmieniona nazwa komendy jest rozpoznawana przez system jako etykieta i jest ignorowana.
W omawianym przykładzie należy w pliku CONFIG.SYS zmienić polecenie:

DEVICEHIGH=C:\ATAPI\TOSHVlll.SYS /D:MSCDOOO

na:
REM DEVICEHIGH=C:\ATAPI\TOSHVlll.SYS /D:MSCDOOO

oraz polecenie w pliku AUTOEXEC.BAT:

LH C:\DOS\MSCDEX.EXE /D:MSCDOOO /L:G

na:
:LH C:\OOS\MSCDEX.EXE /D:MSCDOOO /L:G

Po zapisaniu zmienionych plików należy zrestartować system. Po jego uruchomieniu ponownie wydajemy polecenie:

mem /c/p

Jak widać rezygnacja z ładowania sterowników stacji CD-ROM sprawiła, że zarówno program PC-CACHE jak i IMOUSE zostały załadowane do pamięci górnej. Wolna pamięć konwencjonalna wzrosła o 23 KB.

Chcąc powrócić do poprzedniej konfiguracji wystarczy usunąć z pliku CONFIG.SYS polecenie REM oraz z pliku AUTOEXEC.BAT znak : i uruchomić ponownie system.
Rozwiązanie takie nie jest wygodne jeżeli często używamy programów wymagających odmiennych konfiguracji. Możemy wtedy skorzystać z poleceń przetwarzania wsadowego, które pozwalają na budowę wielowariantowych plików konfiguracyjnych. Mamy wtedy możliwość wy­brania konkretnej konfiguracji, jaka ma być uwzględniana podczas inicjalizacji systemu i która jest dopasowana do zadań, które będziemy wykonywać na komputerze.

Automatyczna rekonfiguracja systemu

W czasach systemu DOS, bardzo często w codziennej pracy z komputerem spotykano się z problemem rekonfiguracji komputera. Zdarzało się, że programy uzytkowe, czy gry, lepiej lub gorzej współpracowały z danymi rodzajami pamięci. Sam pamiętam jak nie raz konfigurowałem system, bo dana gra potrzebowała te kilka kB pamięci konwencjonalnej więcej. Co więcej, kiedyś, gdy komputer był dobrem o ograniczonym dostępie zdarzało się, że z jednej jednostki korzystało kilku użytkowników o odrębnych potrzebach. Sekretarka korzystała przykładowo z edytora tekstu (np. ChiWriter czy WordPerfect), handlowiec potrzebował bazy danych kontaktów (np. dBASE) a księgowa uzywała arkusza kalkulacyjnego (np. Lotus 123). Każde z nich mogło wymagać uruchomienia systemu z dostepnymi innymi zasobami, które udostępniały pliki konfiguracyjne. Do czasów MS-DOS 6.0 należało za każdym razem dokonywać ręcznie zmian plików AUTOEXEC.BAT i CONFIG.SYS, poprzez ich edycję lub przy starcie systemu wcisnąć klawisz F8 i ręcznie akceptować, które linijki z pliku konfiguracyjnego komputer będzie wykonywał lub nie (wciskając Y – dla akceptacji lub N – dla nie). Nie było to szczęśliwe rozwiązanie, ze względu na niewielką wiedzę komputerowa ówczesnych, typowych, użytkowników (nie było przecież pod ręką Googla by coś spawdzić w internecie) i czas jaki należało poświęcać na tą zmianę. Pamiętać trzeba, że prawidłowa konfiguracja komputera z DOS powinna stwarzać optymalne warunki pracy dla używanego oprogramowania.

Większość tych problemów można rozwiązać korzystając z kilku menu pojawiają cych się podczas włączenia komputera zezwalających na wybranie właściwej konfiguracji. Automatyczna rekonfiguracja jest terminem zastosowanym na wyrost, ale rozwiązania znacznie ułatwią dostosowanie komputera do różnych wymagań.

Wykorzystanie zagnieżdżonych menu w pliku CONFIG.SYS

Do zautomatyzowania wyboru konfiguracji można wykorzystać zagnieżdżanie menu w pliku CONFIG.SYS. Ustalmy sobie, że z systemu korzysta kilku użytkowniaków:
1. Marta, księgowa, używa tylko programu LOTUS, który wykorzystuje tylko pamięć extended oraz może składować zbiory tymczasowe w katalogu określonym przez zmienną LOTUS.
2. Sekretarka Ania, używa edytora WordPerfect oraz ChiWriter do tworzenia druków. Programy te preferują pamięć expanded.
3. Panie znają obsługę tylko wymienionych, swoich programów.
4. Konfiguracja systemu to maszyna z procesorem 386 SX i 4 MB RAM.
5. Ustawimy menu konfiguracyjne dla naszych Pań.

W pliku konfiguracyjnym CONFIG.SYS zamieszczone będa dwa rodzaje wpisów. Jedne będą wspólne i dotyczyć będą scałego systemu, nie zależnie od wybranego menu (cammon). Drugi typ to wpisy związane tylko z daną konfiguracją (rozłaczne). Na początku, w celu zoptymalizowania konfiguracji ogólnej systemu możemy użyć programu systemowego MEMMAKER, umniejsza to trochę pracy, ale pozostała pracę nalezy wykonać ręcznie.
Nowy plik CONFIG.SYS zawiera wszystkie instrukcje uporządkowane w pewien charakterystyczny sposób:

[menu] REM tutaj będą instrukcje menu

[common] REM tutaj będzie pierwszy blok instrukcji wspólnych

[marta] REM tutaj będą instrukcje rozłączne dla księgowego

[ania] REM tutaj będą instrukcje rozłączne dla sekretarki

[common] REM tutaj będzie drugi blok instrukcji wspólnych (jeżeli będzie potrzeby)

CONFIG.SYS jest podzielony na bloki komend, które zaczynają się od nazw (etykiet). Dany blok zaczyna się swoją etykietą (w nawiasach kwadratowych, np.: [Menu]), a kończy przed następną etykietą bloku lub też ciągnie się do końca pliku CONFIG.SYS.

Tworzymy nasz CONFIG.SYS (punktatory utworzone tylko w celach pokazowych):

1. [Menu] 2. menuitem=ania
3. menuitem=marta
4.
5. [Common] 6. DOS=HIGH
7. BUFFERS=15
8. DEVICE=C:\DOS\HIMEM.SYS
9.
10. [ania] 11. FILES=30
12. DEVICE=C:DOS\EMM386 2048
13.
14. [marta] 15. FILES=40
16. DEVICE=C:\DOS\RAMDRIVE.SYS 512 /E
17.
18. [Common] 19. NUMLOCK=OFF

1. Blok definiujący menu składające się w tym przypadku z dwóch opcji.
2. Definiujemy menu o nazwie ania.
3. Definiujemy menu o nazwie marta.
4. Pusty wiersz
5. Pierwszy blok wspólnych instrukcji.
6. Przenosimy DOS z pamięci podstawowej.
7. Ustawienie ilości buforów transmisji dyskowych.
8. Załadowanie sterownika pamięci wysokiej oraz extended w standardzie XMS.
9. Pusty wiersz.
10. Blok o naziwe ania.
11. Wartość files ustawiona na potrzeby WordPress i ChiWriter.
12. Dla potrzeb naszych programów deklarujemy 2MB z pamięci expanded. Pozostała pamięć, z 4 MB, przeznaczona będzie dla SMARTDRV.
13. Pusty wiersz
14. Blok marta.
15. Programy arkusza klakulacyjnego powinny mieć większą ilość files.
16. Przygotowanie RAM dysku na składowanie zbiorów tymczasowych programu LOTUS.
17. Pusty wiersz
18. Drugi blok instrukcji wspólnych.
19. Dla Marty i dla Ani, wspólnie, wyłączymy status NumLock(może się okazać, że posiadamy klawiaturę starego typu i na bloku numerycznym klawiatury będziemy potrzebowali używać klawiszy strzałek).

Po zakończeniu edycji powyższego pliku, z chwilą włączenia komputera pojawi się na ekranie następujące menu:

MS-DOS 6 Startup Menu
====================

1. ania
2. marta

Enter a choice: 1

Naciskając odpowiedni numer wybieramy konfigurację księgowej (marta) lub też sekretarki (ania). System MS-DOS automatycznie, po zakończeniu wykonywania instrukcji z pliku CON­FIG.SYS, udostępni w środowisku zmienną o nazwie CONFIG, której zawartość będzie równa nazwie bloku wyselekcjonowanego w powyższym menu:
– jeśli wybierzemy opcję 1 to CONFIG=ania;
– jeżeli wybierzemy opcję 2 to CONFIG=marta.

Podmenu w pliku CONFIG.SYS

Jak zrobić podmenu w pliku CONFIG.SYS? Demonstracja poniżej (numery lini tylko w celach pokazowych):

1. [menu] 2. menuitem glowna, Konfiguracja główna,
3. menuitem standard, Konfiguracja standardowa,
4. submenu siec, Konfiguracja standardowa + siec,
5.
6. [siec] 7. menuitem lan, Uruchomienie programu Microsoft LAN Manager,
8. menuitem novell, Uruchomienie programu Novell Netware,
9.
10. [glowna] 11. DOS=HIGH
12. DEVICE=C:\DOS\HIMEM.SYS
13.
14. [standard] 15. include=glowna
16. DOS=UMB
17. DEVICE=C:\DOS\EMM386.EXE RAM
18. DEVICE=C:\DOS\RAMDRIVE.SYS 512 /E
19.
20. [lan] 21. include=standard
22. rem Tutaj należy dołączyć komendy dla Microsoft LAN Manager
23. [novell] 24. include=standard
25. rem Tutaj należy dołączyć komendy dla Novell Netware

1. Blok definiujący menu główne składające się z trzech opcji.
2. Opcja nr 1 – konfiguracja główna.
3. Opcja nr 2 – konfiguracja standardowa.
4. Opcja nr 3 – konfiguracja standardowa + sieć.
5. Wiersz pusty.
6. Etykieta identyfikująca podmenu wprowadzające dwie opce konfiguracyjne oprogramowania sieciowego.
7. Opcja nr 1 „Uruchomienie programu Microsoft LAN Manager”.
8. Opcja nr 2 „Uruchomienie Novell Netware”.
9. Wiersz pusty.
10. Tutaj rozpoczyna się blok komend konfiguracji glowna.
11. Usunięcie systemu DOS z pamięci podstawowej.
12. Załaduj sterownik pamięci wysokiej i standardu XMS.
13. Wiersz pusty.
14. Blok konfiguracji standard.
15. Dołącz instrukcje zawarte w bloku glowna.
16. Zainicjuj pamięć górną (UMB).
17. Uruchom sterownik EMM386.
18. Zainstaluj RAM dysk w pamięci extended.
19. Wiersz pusty.
20. Blok konfiguracji sieci – opcja nr 1.
21. Dołącz instrukcje zawarte w bloku standard.
22. Wiersz komentarza. Tutaj muszisz samodzielnie dołączyć komendy dla Microsoft LAN Manager.
23. Blok konfiguracyjny sieci – opcja nr 2.
24. Dołącz instrukcje zawarte w bloku standard.
25. Wiersz komentarza. Tutaj muszisz samodzielnie dołączyć komendy dla Novell Netware.

W wyniku działania utworzonego przez nas pliku CONFIG.SYS pojawi się następujące menu:

MS-DOS 6 Startup Menu
==================

1. Konfiguracja podstawowa
2. Konfiguracja standardowa
3. Konfiguracja standardowa + siec

Enter a choice: 1

Gdy wybierzemy opcję 3 naszym oczom ukarze się:

MS-DOS 6 Startup Menu
==================

1. Uruchomienie programu Microsoft LAN Manager
2. Uruchomienie programu Novell Netware

Enter a choice: 1

Nie wolno używać komendy MemMaker do optymalizacji pamięci, jeżeli zastosowano menu zagnieżdżone, gdyż spowoduje to błędy w działaniu tego programu. Każda opcja musi być zoptymalizowana oddzielnie.

Konfiguracja AUTOEXEC.BAT dla menu zagnieżdzonego

Jak odpowiednio zmodyfikować plik AUTOEXEC.BAT w stosunku do menu zagnieżdzonego przedstawiam poniżej. Przykładowy plik związany z naszymi Paniami Martą i Anią.

1. @ECHO OFF
2. PROMPT $P$G
3. C:\DOS\SMARTDRV.EXE
4. SET TEMP=C:\TEMP
5. C:\DOS\MSAV
6. GOTO %CONFIG%
7.
8. :ania
9. PATH=C:\DOS;C:\CHIWRITER;C:\WP
10. C:\MOUSE\MOUSE.COM
11.
12. ECHO Witaj Aniu! Wybierz jedna z opcji
13. ECHO 1 – uruchomienie programu ChiWriter
14. ECHO 2 – uruchomienie programu WordPerfect
15.
16. CHOICE /C:12 /N Twoj wybór:
17. IF ERRORLEVEL 2 GOTO 2
18. VPPROF
19. GOTO END
20. :2
21. WP
22. GOTO END
23.
24. :marta
25. PATH=C:\DOS;C:\LOTUS;C:\UTILITY
26. SET LOTUS=D:\
27. LOTUS
28. :END

1. Wyłączenie wyświetlania komend, zawartych w pliku.
2. Ustalenie systemowego znaku zachęty.
3. Uruchomienie programu przyspieszającego transmisje dyskowe SMARTDRV.EXE.
4. Wybieramy miejsce składowania zbiorów tymczasowych.
5. Uruchamiamy skan systemu przez program antywirusowy.
6. Wykonujemy skok do zmiennej przekazanej przez plik CONFIG.SYS (będzie to, w tym przypadku, imię marta albo ania).
7. Pusty wiersz.
8. Etykieta rozpoczynająca blok komend przeznaczonych dla sekretarki Ani
9. Ustawienie listy katalogów.
10. Ładujemy sterownik myszki.
11. Wprowadzenie odstępów „jednej linii” przy wyświetlaniu menu pomocniczego.
12. Wyświetlenie menu pomocniczego.
13. Wyświetlenie opcji nr 1.
14. Wyświetlenie opcji nr 2.
15. Wprowadzenie odstępów „jednej linii” przy wyświetlaniu menu pomocniczego.
16. Korzystamy z komendy CHOICE.
17. Jeśli wybrana zostanie opcja nr 2, to skocz do etykiety 2.
18. Nie wybrano 2 a zatem wybrano opcję nr 1. Zostaje uruchomiony plik VPPROF.BAT.
19. Koniec pracy z ChiWriter, skocz na koniec pliku.
20. Etykieta 2, tutaj skacze system jeżeli wybrano opcję nr 2 (deklaracja w linii 17).
21. Uruchomienie programu WordPerfect.
22. Koniec pracy z WordPerfect, skocz na koniec pliku.
23. Wiersz pusty.
24. Etykieta rozpoczynająca blok komend przeznaczonych dla Pani Marty.
25. Ustawienie listy katalogów.
26. Ustawienie zmiennej LOTUS w celu wskazania RAM dysku do składowania zbiorów tymczasowych dla arkusza kalkulacyjnego.
27. Uruchomienie arkusza kalkulacyjnego.
28. Koniec naszego pliku AUTOEXEC.BAT.

Warto zauważyć, że przy takiej konfiguracji użytkowniczki, po zakończeniu działania AUTOEXEC.BAT, zostaną z DOSem sam na sam, co przy ich niewiedzy użytkowania systemu może być dużym dyskomfortem zwłaszcza, gdy nie wiedzą jak powtórnie uruchomić swoje programy, oprócz wyłaczenia i właczenia systemu ponownie. Najlepiej rozwiązać to powiekszając wiedzę naszych Pań i zostawić im notatki z nazwami swoich programów i sposobie ich uruchomienia.