Spis treści

DOS

DOS - Disk Operating System. Twórcy systemu operacyjnego DOS wzorowali się na popularnym uniwersalnym systemie operacyjnym CP/M, przeznaczonym dla komputerów 8-bitowych. Ułatwiło to przenoszenie oprogramowania na nową platformę 16-bitową i nie nastręczało użytkownikom komputerów posługiwanie się nowym, wówczas, systemem operacyjnym. System operacyjny DOS został wyprodukowany przez firmę IBM (wersja 1.0), jako popularny system operacyjny dla komputerów osobistych. System konsekwentnie ulepszano, powstawały coraz to nowsze wersje DOS’a produkowane równolegle przez firmy IBM i Microsoft. PC-DOS - firma IBM MS-DOS - firma Microsoft Obecnie DOS nie odgrywa większej roli w posługiwaniu się sprzętem komputerowym. Współczesne chipsety płyt głównych i większość sterowników urządzeń współpracujących z komputerami nie obsługuje w stu procentach DOS’a. Stąd wynikają kłopoty np. z zakupem nowej drukarki, która umożliwiłaby drukowanie dokumentów tworzonych w programach DOS’owych. Jedną z najważniejszych cech systemu DOS jest jego jednozadaniowość - to znaczy, że nie można wykonywać więcej niż jednej akcji w tym samym czasie. Kolejne zadania mogą się wykonać po zakończeniu się poprzednich - w odróżnieniu do systemu Windows, który jest wielozadaniowy (wiele operacji wykonuje się w tym samym czasie). Mimo to w wielu uruchamianych codziennie komputerach jest ładowany DOS. W środowiskach graficznych Windows 3.1, 3.11, 95, 98, 98Se, Me DOS był podstawą, mimo, że czyniono wysiłki aby 32-bitowe produkty pracowały samodzielnie - bez udziału DOS’a. Zaawansowany użytkownik komputera musi posiadać umiejętność korzystania z systemu DOS. W przypadku awarii graficznej części systemu Windows zawsze istnieje wysokie prawdopodobieństwo, że podstawa Windows - system MS-DOS - nadal będzie sprawny i naprawę będzie można przeprowadzić z wiersza poleceń systemu MS-DOS. Podobnie, usunięcie niektórych wirusów i koni trojańskich, można przeprowadzić wyłącznie z poziomu DOS’a, ponieważ po uruchomieniu graficznej części systemu ładują się one do pamięci i albo nie pozwalają na ich usunięcie albo przywracają zarażone pliki po ich skasowaniu. Wersje systemu Windows należące do rodziny NT (Windows NT, Windows 2000, Windows XP, Windows Server 2003)nie są zbudowane na podstawie DOS’a i nie wykorzystują go na żadnym etapie swojego działania. Zawierają one jednak szczątkową wersję DOS’a, by możliwe było uruchamianie programów napisanych dla starszych systemów operacyjnych. W systemach operacyjnych rodziny Windows NT pozostał tekstowy interfejs z MS-DOS’a. Pozwala to na uruchomienie testowego trybu pracy np. w celu uaktywnienia konsoli odzyskiwania systemu i posługując się podstawowymi komendami DOS’a pozwala to niekiedy dokonać naprawy środowiska Windows rodziny NT. Tekstowy tryb pracy umożliwia również tworzenie skryptów i plików wsadowych, dzięki którym można automatyzować działania wymagające podania z klawiatury kilku poleceń odwołujących się do kilku programów. Pisanie takich skryptów i ich zastosowanie zostało omówione w dalszej części opracowania. Należy zwrócić również uwagę na fakt, że w dalszym ciągu wielu użytkowników korzysta z aplikacji napisanych dla DOS’a. Są to głównie programy magazynowe, zakupu i sprzedaży oraz do prowadzenia księgowości w firmach. Ich profesjonalna obsługa jak również uruchamianie w środowisku Windows, wymaga znajomości DOS’a.W systemie operacyjnym DOS wydajemy komendy posługując się klawiaturą - piszemy słowne polecenia. 

System operacyjny - program który steruje działaniem wszystkich urządzeń komputera, wyświetla na ekranie komunikaty, odczytuje polecenia i wykonuje inne programy, zarządza danymi zapisanymi na dyskach (twardych i elastycznych - dyskietkach).


Zakres czynności wykonywanych przez system operacyjny DOS obejmuje: 

  • Zarządzanie pamięcią operacyjną (przydzielenie pamięci zadaniu, zwolnienie pamięci). 
  • Sterowanie pracą urządzeń zewnętrznych (obsługa klawiatury, wyświetlania na monitorze, obsługa odczytu i zapisu pamięci zewnętrznej, obsługa złącz szeregowych i równoległych). 
  • Zarządzanie informacją zapisaną w pamięci zewnętrznej poprzez organizację systemu plików (tworzenie, zapisywanie, odczytywanie, kasowanie plików w hierarchicznej strukturze).
  • Komunikację z użytkownikiem i udostępnianie pozostałych elementów oprogramowania (podstawowego, narzędziowego, użytkowego). 
  • Kontrolę poprawności pracy sprzętu i organizację w sytuacjach awaryjnych (brak urządzenia zewnętrznego, brak dostępu do urządzenia zewnętrznego, błąd w pamięci operacyjnej, błąd odczytu z klawiatury, błąd zapisu w pamięci zewnętrznej). 

Plik - zbiór danych stanowiących logiczną całość. Plik może zawierać słowa, liczby, polecenia, ciągi znaków o specjalnym znaczeniu itd. Każdy plik ma nazwę składającą się z najwyżej 8 znaków (dla DOS’a), po niej występuje kropka oraz rozszerzenie, które mówi o funkcji pliku. Rozszerzenie ma najwyżej 3 znaki. nazwa_pliku.rozszerzenie np. szkola.doc 

Rozszerzenia plików, przykłady: .txt - pliki tekstowe, .doc – plik tekstowy programu MS Word, .xls – plik arkusza kalkulacyjnego programu MS Excel, .dat, .dbf – pliki baz danych, .bak – kopie plików tworzonych automatycznie przez dany program, .sys – plik systemowy, .dll – plik systemu Windows, .bmp, .jpg, .gif - pliki graficzne, .com, .exe - pliki uruchamiające programy, .bat – pliki wsadowe 

Katalog - Dla wygody użytkowników stworzone zostały katalogi, które pozwalają na segregowanie (układanie) plików w grupy tematyczne, co pozwala na łatwiejsze ich odnajdywanie. Katalogi mają nazwę składającą się z najwyżej 8 znaków. W każdym katalogu można utworzyć kolejny katalog - tzw. podkatalog i umieścić w nim pliki. 

Znak zachęty - Jest to znak, który oznacza oczekiwanie komputera na wpisanie przez użytkownika komendy. Zazwyczaj wygląda następująco:

C:> C: - to oznaczenie dysku, na którym aktualnie pracujemy - po tym znaku będą się pokazywać nazwy katalogów, do których wejdziemy > - zakończenie znaku zachęty, po tym symbolu należy wpisywać wszystkie polecenia C:>polecenie. Przykład: A:LICEUM> Taki znak zachęty oznacza, że znajdujemy się na dyskietce, w katalogu LICEUM. 

Katalog główny - Partycja na dysku twardym symbolizowana jest przez katalog główny. Zapis C:> oznacza katalog główny dysku C. Zapis A:> oznacza katalog główny dysku A. 

Zasadniczy system operacyjny MS-DOS składa się z czterech programów:

  • programu ładującego, umieszczanego przez program FORMAT na ścieżce zerowej strony zero w sektorze pierwszym dyskietki; na dysku twardym program umieszczany jest w pierwszym sektorze strefy (partycji) podstawowej dysku przeznaczonej dla systemu DOS,
  • pliku IO.SYS, zawierającego wbudowane programy obsługi standardowych urządzeń, współpracujące z procedurami wejścia-wyjścia programu BIOS umieszczonego w pamięci stałej komputera,
  • pliku MSDOS.SYS, zawierającego procedury realizujące zadania właściwego systemu operacyjnego (jądro systemu), m.in. zarządzania plikami, pamięcią, procesorami,
  • pliku COMMAND.COM - interpretatora (procesora) poleceń systemu.

Pliki te muszą znajdować się na dysku, z którego następuje zainicjowanie systemu. Miejsce umieszczenia pierwszych dwóch programów jest ściśle określone. Dwa pierwsze pola katalogu głównego zawierają dane o plikach IO.SYS i MSDOS.SYS w podanej kolejności; IO.SYS zaczyna się w początkowych sektorach dysku przeznaczonych dla pliku. 


INICJACJA SYSTEMU:

Inicjacja systemu operacyjnego rozpoczyna się od próby załadowania przez BIOS programu ładującego z dyskietki znajdującej się w napędzie A lub z dysku twardego C, jeżeli w napędzie A nie ma dyskietki. 

  • Program ładujący sprawdza, czy na dysku znajdują się pliki IO.SYS i MSDOS.SYS; jeśli tak, to ładuje do pamięci operacyjnej program IO.SYS i przekazuję mu sterowanie. Program IO.SYS ma część inicjującą, która określa konfigurację systemu, inicjuje system dysków oraz układy wejścia-wyjścia, wpisuje część tablicy wektorów przerwań oraz ładuje MSDOS.SYS. Podczas tych operacji jest odczytywany, o ile znajduje się na dysku, i interpretowany plik CONFIG.SYS.
  • Po zakończeniu działania części inicjującej IO przekazuje sterowanie do programu MSDOS.Program MSDOS inicjuje tablice robocze systemu, wpisuje pozostałą część tablicy wektorów przerwań i tworzy blok wstępny programu (PSP) dla programu COMMAND.COM, a następnie go ładuje.
  • Procesor poleceń COMMAND.COM zawiera procesor pliku wsadowego AUTOEXEC.BAT, procesor poleceń wewnętrznych, procesor plików wsadowych, procedury obsługi klawiatury, wyświetlania znacznika zgłoszenia systemu oraz procedury ładujące i inicjujące wykonanie programów (plików z rozszerzeniem nazwy COM i EXE), w tym poleceń zewnętrznych systemu.

KONFIGURACJA SYSTEMU MS-DOS

Rodzaje pamięci, do której może mieć dostęp komputer typu PC, są następujące: 

  • pamięć konwencjonalna - obszar 640 KB, których uzywał pierwszy komputer IBM PC; służy on do przechowywania programów i wiele programów może korzystać tylko z niego.
  • pamięć górna UMB - pamięć zaraz powyżej 640 KB, zawiera całe 384 KB; karta wideo, karta sieciowa, i inne składniki sprzętowe korzystają ze znacznej części tej pamięci; pamięć konwencjonalna i górna dają w sumie 1024 KB, czyli pierwszy megabajt pamięci RAM.
  • pamięć typu expanded (EMS) - pamięć używająca 64 KB bloku pamięci konwencjonalnej albo górnej jako bufora (cztery tzw. ramki po 16KB) udostępniającego zapisane w niej dane. Obecnie ta pamięć jest rzadko używana a odpowiednie oprogramowanie emuluje ją w pamięci XMS.
  • pamięć typu extended (XMS) - pamięć powyżej 1 MB; 64 MB pamięci RAM oznacza, że komputer ma 63 MB pamięci extended; dzisiejsze komputery typu PC mogą korzystać z tej pamięci bezpośrednio lecz wymaga to specjalnych metod dostępu.
  • pamięć wysoka HMA - obszar 64 KB pamięci powyżej granicy 1 MB, adresowany przez program HIMEM.SYS, dostarczony z nowszymi wersjami DOS i Windows; pamięć ta jest najczęściej używana przez część pliku COMMAND.COM w systemach DOS 5 i 6.x firmy Microsoft; ten schemat przydzielania pamięci pozwala systemowi DOS zajmować znacznie mniejszą część cennego obszaru 640 KB.

Podczas korzystania z pamięci komputer typu PC pracuje w dwóch trybach: 

  • trybie rzeczywistym,
  • trybie chronionym.

Tryb rzeczywisty jest zgodną w dół technologią wprowadzoną dla procesorów x86. Oznacza to, że programy przeznaczone dla pierwszego komputera IBM XT będą nadal pracować na komputerach wyższych generacji. Tryb chroniony został wprowadzony dla procesorów 286 i późniejszych. Programy napisane dla pierwszego procesora 8086 mogły mieć dostęp do tego samego obszaru pamięci, powodując konflikty i niestabilność. Tryb chroniony pomaga rozwiązywać te konflikty, sprawiając, że programy muszą prosić system operacyjny o przydzielenie pamięci. Teoretycznie pamięć używana przez program jest chroniona przez system operacyjny. Inny program uruchamiany na komputerze musi żądać pamięci od systemu operacyjnego, który zezwoli na korzystanie tylko z nie używanej pamięci. Procesor 8086 Intela dla pierwszego komputera IBM PC mógł adresować tylko 1 MB pamięci, a programy mogły korzystać tylko z 640 KB pamięci konwencjonalnej. Późniejsze procesory Intela zachowywały ten układ, aby zapewnić zgodność w dół i upewnić programistów, że nowy sprzęt nie spowoduje, iż ich programy staną się przestarzałe. Firmy Lotus, Intel i Microsoft zjednoczyły siły podczas wprowadzania procesora 286 i utworzyły LIM - standard pamięci, który umożliwiał programom korzystanie z pamięci ponad 640 KB. Standard ten utorował drogę pamięci typu expanded, obecnie używanej dzięki plikom HIMEM.SYS Microsoftu i programom obsługi EMM386.EXE dla systemów Windows i DOS. Mimo że wprowadzenie pamięci typu expanded pokonało barierę 640 KB, limit ten nadal może dotyczyć wielu programów, używających wyłącznie pamięci konwencjonalnej. Dlatego nawet przy 64 MB pamięci RAM może pojawić się komunikat o braku pamięci. Najprawdopodobniej będzie on dotyczył wyczerpania 640 KB pamięci konwencjonalnej. Aby temu zaradzić wymyślono dwa standardy rozszerzenia pamięci. eXtended Memory Specification i Expanded Memory Specification jest dostępny tylko dla komputerów z procesorem 80286, 80386,80486 i Pentium. Drugi można stosować nawet w XT, a poza tym akceptuje go większa część programów. Rozszerzeniem steruje program Expanded Memory Manager, ładowany automatycznie z pliku CONFIG.SYS poleceniem DEVICE=. Najbardziej znanym programem zarządzającym pamięcią rozszerzoną jest Emm386.exe. Standardowo system oraz sterowniki ładowane są do pamięci konwencjonalnej. Jednak istnieje sposób aby część systemu oraz sterowników przenieść do pamięci górnej za pomocą polecenia DEVICEHIGH w pliku CONFIG.SYS i polecenia LoadHigh w pliku autoexec.bat. Dzięki temu zwalniamy część pamięci konwencjonalnej. Ma to szczególne znaczenie przy uruchamianiu aplikacji korzystających z tego rodzaju pamięci Np. gry.


Metody przydzielania pamięci rozszerzonej. 

  • Sterownik HIMEM.SYS tworzy pamięć XMS 
  • Polecenie DOS=HIGH powoduje uruchomienie systemu MS-DOS w obszarze pamięci wysokiej HMA 
  • Polecenie EMM386.EXE [RAM | NOEMS] powoduje utworzenie pamięci EMS i/lub bloków pamięci górnej UMB przy użyciu pamięci XMS 
  • Polecenie DOS=UMB umożliwia systemowi MS-DOS zarządzanie blokami pamięci górnej UMB
  • DEVICEHIGH=[:][<ścieżka>] umożliwia załadowanie pliku sterownika urządzenia do bloku pamięci górnej UMB systemu MS-DOS, o ile dostępny jest blok o wystarczająco dużym rozmiarze. 
  • Polecenie LH (lub LOADHIGH) umożliwia załadowanie pliku programu do bloku pamięci górnej UMB systemu MS-DOS, o ile dostępny jest blok o wystarczająco dużym rozmiarze.

Organizacja pamięci

Polecenie MEM informuje o stanie pamięci zarządzanej przez system MS-DOS

Pamięć