SO instrukcja 1


Instrukcja laboratoryjna
Systemy operacyjne
sem. 1
wiczenie pierwsze
Temat: Usługi systemu DOS
Opracował:
mgr inż. Arkadiusz Chrobot
1. Wstęp
Jednym z zadań systemu operacyjnego jest pośredniczenie pomiędzy
oprogramowaniem użytkownika, a sprzętem na którym to oprogramowanie
będzie pracować. Celem tego pośrednictwa jest ułatwienie pracy programiście
(nie musi on znać szczegółów obsługi urządzenia podłączonego do komputera),
uniezależnienie programów użytkowych od platformy sprzętowej (tj. jeśli system
operacyjny jest dostępny na kilku różnych pod względem budowy maszynach,
to oprogramowanie napisane z myślą o tym systemie powinno pracować tak
samo na każdej z tych platform1) oraz zapewnienie stabilności działania
systemu komputerowego, poprzez odseparowanie procesów (programów)
użytkownika od sprzętu. Najbardziej oczywistym przykładem realizacji tej idei i
jest obsługa urządzeń wejścia  wyjścia. Załóżmy, że program użytkownika
musi pobrać dane niezbędne do jego pracy z pewnego urządzenia wejściowego.
Teoretycznie mógłby uczynić to samodzielnie, ale wiąże się z tym konieczność
umieszczenia w nim procedur obsługujących to urządzenie. Lepszym
rozwiązaniem jest zwrócenie się do systemu operacyjnego, który posiada
wbudowane takie procedury. Czynność tę nazywany wywołaniem usługi
systemu operacyjnego.
2. Wywoływanie usług systemu operacyjnego
Aby wyżej opisany mechanizm mógł zadziałać musi istnieć jakiś sposób
zażądania przez program użytkownika dostarczenia usługi przez system
operacyjny. Wymaga to aby w systemie komputerowym obecne były dwa
elementy: specjalny rozkaz i tablica wektorów przerwań. Tablica wektorów
przerwań jest to niewielki obszar pamięci operacyjnej znajdujący się na jej
początku lub końcu. Indeksami tej tablicy są numery przerwań, natomiast
wartościami adresy procedur obsługi przerwań. Tablica ta wraz z procedurami
stanowi część systemu operacyjnego. Jeśli program zechce skorzystać z
którejkolwiek z tych procedur (zazwyczaj dokumentacja systemu podaje do
czego służą procedury skojarzone z odpowiednimi przerwaniami i jak się nimi
posłużyć) wywołuje przerwanie o odpowiednim numerze korzystając ze
wspomnianego wcześniej specjalnego rozkazu (w przypadku architektur Intela
jest to rozkaz INT) powodując tzw.  przerwanie programowe . Podobnie jak
 zwykłe podprogramy, procedury obsługi przerwań mogą wymagać
parametrów wywołania. Te argumenty mogą być przekazywane na kilka
sposobów: przez wskazanie miejsca ich umiejscowienia w pamięci operacyjnej,
poprzez rejestry lub poprzez stos.
1 Po uprzednim skompilowaniu.
2
3. Usługi systemu DOS
W komputerach kompatybilnych z IBM PC tablica wektorów przerwań znajduje
się na początku pamięci operacyjnej, ma rozmiar 1KB i może pomieścić 256
adresów procedur przerwań. Przerwania systemu DOS zaczynają się od
numeru 20h i kończą na numerze FFh, ale nie wszystkie z nich są
wykorzystane. Najważniejszym przerwaniem tego systemu jest przerwanie 21H.
Jest z nim skojarzona procedura, która w zależności od zawartości rejestru AH
realizuje różne zadania. System DOS pozwala programom użytkownika na
zastąpienie oryginalnej procedury obsługi przerwania swoją własną.
4. Korzystanie z przerwań i pisanie własnych procedur obsługi w języku Turbo
Pascal
Wszystkie niezbędne narzędzia konieczne do interakcji programu użytkownika
z systemem operacyjnym zostały zawarte w module Dos. Udostępnia on między
innymi typ rekordowy Registers pozwalający na umieszczanie wartości w
rejestrach procesora oraz procedurę Intr, służącą do wywołania przerwania
(jako parametry przyjmuje numer przerwania i rekord rejestrów). Jeśli chcemy
korzystać wyłącznie z przerwania 21h, to możemy posłużyć się procedurą
MsDos, która pobiera tylko rekord rejestrów. Język Turbo Pascal umożliwia
również pisanie własnych procedur obsługi przerwania. Procedura taka w
nagłówku powinna posiadać odpowiednią listę parametrów, jeśli korzysta z
rejestrów, a po nagłówku powinna zawierać słowo kluczowe interrupt.
Podmiany adresu procedury przerwania możemy dokonać przy pomocy
procedur GetIntVec i SetIntVec. Przed zakończeniem programu zawsze należy
przywrócić oryginalną procedurę obsługi danego przerwania.
5. Zadania
1. [0,5 punktu] Zaprezentuj działanie funkcji przerwania 21h kończącej
działanie programu.
2. [0,5 punktu] Zaprezentuj działanie funkcji przerwania 21h odczytującej
czas systemowy.
3. [0,5 punktu] Zaprezentuj działanie funkcji przerwania 21h odczytującej
datę systemową.
4. [0,5 punktu] Zaprezentuj działanie funkcji przerwania 21h zmieniającej
katalog bieżący.
3
5. [0,5 punktu] Zaprezentuj działanie funkcji przerwania 21h zmieniającej
nazwę pliku.
6. [0,5 punktu] Zaprezentuj działanie funkcji przerwania 21h tworzącej
nowy plik.
7. [0,5 punktu] Zaprezentuj działanie funkcji przerwania 21h usuwającej
plik.
8. [0,5 punktu] Zaprezentuj działanie funkcji przerwania 21h odczytującej
znak z klawiatury.
9. [0,5 punktu] Zaprezentuj działanie funkcji przerwania 21h wysyłającej
znak na ekran.
10. [1 punktu] Zaprezentuj działanie funkcji przerwania 21h wysyłającej
ciąg znaków na ekran.
11. [0,5 punkt] Znajdz numer przerwania z którym nie jest stowarzyszona
żadna procedura obsługi. Napisz taką procedurę, skojarz ją z tym
numerem i zaprezentuj jak działa.
12. [1 punkt] Wybierz którekolwiek z istniejących przerwań i zmodyfikuj
jego procedurę obsługi poprzez np. dodanie nowej funkcji (zachowując
wszystkie funkcje oryginału).
13. [2 punkty] Napisz program, który wydrukuje na ekranie komputera
zawartość tablicy wektorów przerwań. Numery przerwań i adresy
procedur ich obsługi powinny być wydrukowane w kodzie
szesnastkowym, przy czym adresy powinny być podzielone na segment i
offset.
14. [1 punkt] Wzorując się na programie z poprzedniego zadania napisz
program, który wypisze na ekran adres procedury obsługi wybranego
przerwania, przed jego przejęciem, po jego przejęciu i po przywróceniu
oryginalnej procedury obsługi.
4


Wyszukiwarka

Podobne podstrony:
SO instrukcja 4
SO instrukcja 5
SO instrukcja 6
SO instrukcja 3
instrukcja prezentacja2
instrukcja bhp przy obsludze euro grilla
DS1000PL Instrukcja
Blaupunkt CR5WH Alarm Clock Radio instrukcja EN i PL
Instrukcja do cwiczenia 4 Pomiary oscyloskopowe
Instrukcja F (2010)
Instrukcja Programowania Zelio Logic 2 wersja polska
Instrukcja kociol MODERATOR 75 200kW pl

więcej podobnych podstron