background image

 

 

Jak działa program?

Marek Deutsch
wat-wdp@wp.pl

background image

 

 

System informatyczny

S I

Sprzęt

Oprogramowanie

Ludzie

Baza danych

Dokumentacja

Wejście

Wyjście

( użytkownicy,

operatorzy )

systemowe

Oprogramowanie

użytkowe

background image

 

 

Schemat budowy komputera

Procesor

Pamięć  ROM

Pamięć  RAM

(oprogramowanie operacyjne)

(programy użytkowe)

Układy wejścia

Układy wyjścia

- klawiatura
- mysz
- skaner
- pamięć dyskowa

- drukarka
- pamięć dyskowa
- monitor ekranowy
- ploter

- czytniki 

dokumentów

(magnetyczne MICR,

optyczne OCR)

background image

 

 

Działanie programu: program załadowany 

do pamięci

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51...  
52...
53...  
54...

  

23

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 23

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52...  
53...  
54...

  

24

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 24

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 0  
53...  
54...

  

25

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 25

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 0  
53...  
54 0

  

26

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 26

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 0  
53...
54 0

  

27

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 27

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 0  
53 118
54 0

  

28

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 28

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 0  
53 118
54 118

  

29

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 29

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 1 
53 118
54 118

  

30

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 30

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 1 
53 118
54 118

  

26

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 26 (2)

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 1 
53 118
54 118

  

27

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 27 (2)

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 1 
53 17
54 118

  

28

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 28 (2)

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 1 
53 17
54 135

  

29

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 29 (2)

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 2 
53 17
54 135

  

30

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 30 (2)

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 2 
53 17
54 135

  

26

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 26 (3)

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 2 
53 17
54 135

  

31

Pamięć programu

Pamięć danych

Licznik rozkazów

background image

 

 

Działanie programu: po rozkazie 31

22 ...
23 Wczytaj ilość liczb do k(51)
24 Wpisz 0 do k(52)
25 Wpisz 0 do k(54)
26 Jeśli k(51) = k(52), to skocz do 31
27 Wczytaj liczbę do k(53)
28 Dodaj k(53) do k(54)
29 Dodaj 1 do k(52)
30 Skocz do 26
31 Wypisz k(54)
32 ...
33 ...
34 ...

50...  
51 2  
52 2 
53 17
54 135

  

Pamięć programu

Pamięć danych

135

background image

 

 

Zadania systemu operacyjnego

• Zapewnianie komunikacji pomiędzy 

„komputerem” a użytkownikiem

– Tłumaczenie komend
– Konwersja liczb (dziesiętne   dwójkowe)

• Zarządzanie urządzeniami zewnętrznymi
• Zarządzanie pamięcią operacyjną

– Ładowanie programów
– Przydzielanie i zwalnianie pamięci dla danych

• Uruchamianie programów użytkowych

– Przydział czasu procesora
– Identyfikacja sytuacji awaryjnych (np. gdy 

jeden program zmienia dane innego 
programu)

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 1

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

82

...

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 2

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

83

...

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 3

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

82

...

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 4

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

83

...

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 5

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

84

...

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 6

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

90

...

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 7

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

91

82

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 8

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

2044

82

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 9

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

2045

82

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 10

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

2050

82

Licznik rozkazówSTAN

background image

 

 

Działanie systemu operacyjnego: 

uruchomienie programu 11

81 ...
82 Sprawdź bufor klawiatury
83 Jeśli pusty, to skocz do 82
84 Jeśli „uruchom”, to skocz do 90
85 ... 
86 ...
87 ...
88 ...
89 ...
90 82  STAN

91 Załaduj adres programu do LR
92 ...
93 ...

Instrukcje programów

Instrukcje systemu operacyjnego

1123....
1124....
1125....
1126....
1127....
1128....
1129.Odtwórz stan

2831....
2832....
2833....
2834....
2835....
2836....
2837.Odtwórz stan

2044 ...
2045 ...
2046 ...
2047 ...
2048 ...
2049 ...
2050 STAN  LR

82

82

Licznik rozkazówSTAN


Document Outline