Cel: Zrozumienie r贸偶nych stan贸w procesu w systemie operacyjnym.
Zadanie: Opisz r贸偶ne stany procesu w systemie operacyjnym i podaj przyk艂ady dla ka偶dego z nich.
Instrukcja:
Oczekiwany wynik:
Cel: Zrozumienie procesu prze艂膮czania kontekstu mi臋dzy procesami i w膮tkami.
Zadanie: Wyja艣nij, czym jest prze艂膮czanie kontekstu i przeprowad藕 symulacj臋 prze艂膮czania kontekstu mi臋dzy dwoma procesami.
Instrukcja:
Symulacja prze艂膮czania kontekstu:
// Proces 1 - zapisz stan // Proces 2 - za艂aduj stan // Zapisywanie stanu procesu 1 process1_state = saveState(process1); // Za艂adowanie stanu procesu 2 loadState(process2);
Cel: Praktyczne zapoznanie z narz臋dziami do zarz膮dzania procesami w systemie Linux.
Zadanie: Uruchom terminal w systemie Linux i wykonaj poni偶sze polecenia:
ps -aux
do wy艣wietlenia listy aktywnych proces贸w.kill
do zako艅czenia procesu.nice
do zmiany priorytetu procesu.Przyk艂adowy kod:
# Wy艣wietlenie listy proces贸w ps -aux # Zako艅czenie procesu kill# Zmiana priorytetu procesu nice -n 10
Cel: Zrozumienie, jak w膮tki wsp贸艂dziel膮 zasoby i jak dzia艂aj膮 w systemie operacyjnym.
Zadanie: Utw贸rz skrypt, kt贸ry symuluje dzia艂anie dw贸ch w膮tk贸w: jeden b臋dzie zlicza艂 liczby, a drugi b臋dzie wypisywa艂 tekst.
Instrukcja:
import threading # Funkcja zliczaj膮ca liczby def count_numbers(): for i in range(1, 6): print(i) # Funkcja wypisuj膮ca tekst def print_text(): for i in range(1, 6): print("W膮tek 2: Tekst", i) # Tworzenie w膮tk贸w thread1 = threading.Thread(target=count_numbers) thread2 = threading.Thread(target=print_text) # Uruchomienie w膮tk贸w thread1.start() thread2.start() # Czekanie na zako艅czenie w膮tk贸w thread1.join() thread2.join()
Cel: Zrozumienie r贸偶nic mi臋dzy procesami a w膮tkami.
Zadanie: Por贸wnaj procesy i w膮tki, wskazuj膮c scenariusze, w kt贸rych lepsze jest u偶ycie proces贸w, a w kt贸rych w膮tki.
Instrukcja:
# Tabela por贸wnawcza proces贸w i w膮tk贸w: # | Kryterium | Procesy | W膮tki | # |-------------------------|-------------------------|------------------------| # | Izolacja pami臋ci | Tak | Nie | # | Koszt prze艂膮czania | Wysoki | Niski | # | Komunikacja | Mi臋dzyprocesowa | Wsp贸lna pami臋膰 | # | Zastosowanie | Aplikacje izolowane | Wielozadaniowo艣膰 |