To, co wszyscy uważają za program pomocniczy, w rzeczywistości także jest rozkazem DOS-u i może być stosowany na przykład w sekwencji startowej po to, aby taki kalkulator (od czasu do czasu przydatny) umieścić rezydentnie. W zależności od systemu operacyjnego Calculator znajdziemy w katalogu Tools lub Utilities.
COLCULATOR (kalkulator)
Składnia dla systemów 1.2 i 1.3 : CALCULATOR dla systemu 2.0 : CALCULATOR [PUBSCREEN= >ekran<] [TAPE], (UWAGA: parametr PUBSCREEN występuje jedynie w nowych wersjach systemu 2.04. System w wersji 2.0 i wcześniejsze wersje systemu 2.04 nie mają tego parametru.)
Składnia dla systemów 2.1 i 3.0 : CALCULATOR [TAPE= >urządzenie<] [PUBSCREEN= >ekran<]
Dla systemu 3.1 : CALCULATOR [TAPE= >urządzenie<] [PUBSCREEN= >ekran<] [INACTIVE= >ekran1<]
Gdzie : ekran - to nazwa ekranu publicznego (Public Screen), na którym ma zostać wyświetlony kalkulator, ekran1 - zaś to nazwa ekranu, na którym wyświetlane są wyniki działania opcji TAPE.
Wzorzec dla systemu 2.0 : PUBSCREEN, TAPE/K z uwagą jak przy składni), dla systemów 2.1 i 3.0 : TAPE/K, PUBSCREEN/K
Wzorzec dla systemu 3.1 : TAPE/K, PUBSCREEN/K, INACTIVE/K
(UWAGA: ten ostatni parametr występuje też w niektórych wersjach systemu 3.0).
Primitywny kalkulator (dla systemów 1.2 i 1.3) został uzupełniony w systemach od 2.0 w górę o bardzo ciekawą opcję TAPE. Pozwala ona wyświetlić lub wydrukować wyniki kolejnych działań na zdefiniowanym przez użytkownika urządzeniu. Domyślnie ustawiona jest tu komsola RAW: czyli wyświetlanie wyników w dodatkowym oknie. Najlepiej jednak obliczenia będą wyglądały wydrukowane na papierze. Aby to zrobić, wystarczy napisać :
CALCULATOR TAPE="PRT:"
Wyniki możemy oczywiście "wypuścić" na dowolne urządzenie DOS-u, pamiętając o tym, że jeśli urządzenie nie jest zamontowane, to jego nazwę należy umieścić w cudzysłowie, na przykład:
CALCULATOR TAPE=RAM:Wyniki
zapisze działania kalkulatora w RAM-Dysku w zbiorze o nazwie "wyniki", a
CALCULATOR TAPE=DH0:Obliczenia
na twardym dysku DH0: w zbiorze o nazwie "obliczenia". Od późniejszych wersji systemu 2.04 dodany jest kolejny parametr PUBSCREEN. Określa on ekran, na jakim zostanie wyświetlony kalkulator. Przykładowo :
CALCULATOR PUBSCREEN=MTOOLSCREEN TAPE=CON:0/0/640/400/Obliczenia/CLOSE
włączy kalkulator, którego okno znajdzie się na ekranie publicznym o nazwie MTOOLSCREEN, a zapis obliczeń w okienku "Obliczenia" (zamykalnym) o rozmiarach 640 na 400 pikseli. (Przykład ten jest dość głupi, bo okno taśmy zasłoni nam przy tym kalkulator, ale jest już późno i nie chce mi się myśleć). Przy takim "włączeniu" kalkulatora nie będziemy jednak mogli zamknąć okna ekranu głównego, zanim nie wyłączymy kalkulatora (klikając na gadżet w lewym górnym rogu liczydła).
CD (current directory - aktualny katalog)
Składnia (dla wszystkich systemów): CD [ [DIR=] >katalog<] gdzie: katalog - to nazwa katalogu lub podkatalogu. W nazwie można używać symboli określonych w numerze 3/94 Magazynu Amiga, ale TYLKO dla systemów w wersjach 2.04 i wyższych. Wpisanie :
CD Df0:d#?
w systemach 1.2 i 1.3 spowoduje, że pojawi się komunikat o błędzie, natomiast w systemach "o wyższych numerach" przeniesie nas do katalogu zaczynającego się na literę "d" (UWAGA! Przy większej liczbie takich katalogów wyświetlony zostanie błąd).
Wzorzec (dla wszystkich systemów): CD DIR
Powoduje przejście do katalogu (lub podkatalogu) o podanej nazwie. Jako nazwa katalogu może występować :
- Pełna nazwa, na przykład :
CD Obrazki
spowoduje przejście do katalogu (podkatalogu) o nazwie obrazki.
- Nazwa ze ścieżką :
CD dh2:rysunki/iff
przeniesie nas do podkatalogu "iff" znajdującego się w katalogu "rysunki" na dysku dh2: UWAGA: jeśli podana przez nas ścieżka nie istnieje (co zdarza się bardzo często w wypadku błędu literowego), zostaniemy poinformowani, że Amiga nie może znaleźć takiej ścieżki.
- Dwukropek :
CD :
spowoduje, że znajdziemy się w katalogu głównym aktualnie używanego dysku (bez względu na to w jakim podkatalogu byliśmy przed użyciem tego rozkazu).
- Slash
CD /
przemieści nas do katalogu nadrzędnego (na przykład jeśli byliśmy w podkatalogu devs/pronters, to po użyciu powyższego rozkazu znajdziemy się w katalogu devs. W rozkazie CD można używać dowolnej liczby / - każdy z nich cofnie nas o jeden stopień hierarchii katalogu w górę. Na przykład jeśli po :
CD obrazki/rysunki/iff/hires/32kolory
użyjemy
CD ////
to trafimy z powrotem do katalogu głównego.
- Rozkaz CD może być także użyty bez żadnych parametrów. W takim wypadku wyświetli na nazwę aktualnego katalogu.
Jeśli korzystamy z systemu 2.0 lub wyższego, możemy przejść do potrzebnego nam katalogu bez użycia rozkazu CD. Wystarczy wpisać przykładowo :
libs
aby znaleźć się w katalogu bibliotek, jeżeli aktualnie znajdujemy się w katalogu "nad nim", czyli zwykle w katalogu głównych; jeżeli chcemy przejść do bibliotek z dowolnego miejsca na dysku, należy wpisać :
libs:
Przy systemach 1.2 i 1.3 operacja taka spowoduje pojawienie się komunikatu o błędzie nawet wtedy, jeśli taki katalog istnieje na dysku.
CHANGETASKPRI (zmień priorytet zadania)
Składnia :
- Dla systemu 1.2 - CHANGETASKPRI >n1<
- Dla systemu 1.3 - CHANGETASKPRI >n1< [ >n2< ]
- Dla systemów 2.0, 2.1, 3.0 i 3.1 - CHANGETASKPRI [PRIORITY=] >n1< [PROCESS= >n2< ]
Gdzie : n1 - priorytet, n2 - numet zadania.
Wzorzec :
- Dla systemu 1.2 : CHANGETASKPRI PROCESS/A
- Dla systemu 1.3 : CHANGETASKPRI PRIORITY/A, PROCESS/K
- Dla pozostałych systemów : CHANGETASKPRI PRIORITY/A/N, PROCESS/K/N
Rozkaz ten zmienia priorytet dla poszczególnych zadań wykonywanych przez Amigę. W każdym komputerze wielozadaniowym, a takim jest Amiga, można uruchomić wiele procedór (procesów) jednocześnie, tak aby działały one równolegle. Domyślnie wszystkim procesom nadawany jest priorytet średni (czyli 0). Oznacza to, że mają taki sam czas dostępu do procesora i procent jego wykorzystania.
Jeśli jednak chcemy przyśpieszyć działanie jakiegoś procesu, to musimy mu dać większy dostęp do procesora (oczywiście odbędzie się to kosztem szybkości pozostałych procesów, bo czas, niestety, nie jest z gumy i nie da się rozciągnąć). Zmiany takiej dokonamy za pomocą rozkazu ChangeTaskPri.
W systemie 1.2 pozwala on zmienić jedynie priorytet dla zadania aktualnego, w kolejnych wersjach systemu możemy ustawiać już priorytet dla dowolnego procesu (na marginesie: jeśli lubimy wpisywać opcjonalne nazwy operacji, to tutaj zamiast PRIORITY możemy użyć skróconej wersji PRI). Każdemu procesowi można nadać wartość z zakresu od -128 do 127.
Nie należy jednak przesadzać, zwłaszcza przy zwiększaniu priorytetu, gdyż mogłoby to spowodować zbytnie zwolnienie procesów systemowych. Stosuje się zatem przeważnie wartości z zakresu od -5 do +5. Przykład :
CHANGETASKPRI 5
Wszystkie procesy, jakie zostaną uruchomione z CLI (lub Shell-a), w którym się znajdujemy, będą odtąd działały odrobinę szybciej niż pozostałe.
Przypuśćmy, że chcemy coś wydrukować. Drukarka jest urządzeniem powolnym i domyślny priorytet 0 zabiera zbyt wiele cennego czasu procesora. Można zatem bez żadnych konsekwencji zmniejszyć priorytet drukowania przez :
CHANGETASKPRI -5 ; tu zmniejszamy priorytet
COPY df0:list TO PRT: ; tego chyba nie muszę tłumaczyć
CHANGETASKPRI 0 ; bo przecież mniejszy dostęp do procesora ma mieć
; tylko operacja drukowania
A teraz pewna sztuczka, (niedostępna niestety dla użytkowników systemu 1.2). Mamy do rozdysponowania nieco "czasu procesora". Może zatem zobaczymy przez ten czas (bo drukować się będzie długo), co mamy na dysku df1:? Strasznie to wolne. Ale przecież mamy "czas". Przyśpieszmy sobie zatem rozkaz DIR. Wiemy, jak to zrobić..., tylko nie wiemy, jakie zadanie wykonuje ten rozkaz. Pomożemy sobie, wpisując :
STATUS COM=DIR
Po naciśnięciu klawisza [Return] pojawi się na ekranie liczba (na przykład 2). No to jesteśmy w domu. Wystarczy teraz wpisać :
CHANGETASKPRI 5 PROCESS=2
UWAGA: Rozkaz STATUS pozwala na określenie procesu nie tylko dla rozkazów. Tu należy pamiętać o tym, że jeśli aktualnie nie będzie wykonywany rozkaz dir, wówczas na ekranie nic nie zostanie wypisane. Dokładniej będzie to omówione później.)
UWAGA: Nadmierna zabawa z tym rozkazem może doprowadzić naszą Amigę do Górowania. Początkującym użytkownikom radzę się zatem zająć najpierw innymi rozkazami.
Marek Pampuch
Magazyn Amiga, Sierpień 1994r.