Slajd PPT
Algorytm fork : zarządzanie pamięcią procesu
- Funkcja do_fork wykonuje do przepisania przestrzeni adresowej procesu funkcję: int copy_mm(unsigned long clone_flags, struct task_struct * tsk)
- Sprawdzenie flagi CLONE_VM
- Jeśli ustawiona - ustawienie wskaźnika na katalog stron procesu na katalog stron ojca za pomocą makra SET_PAGE_DIR, zwiększenie liczby odwołań do ramki zawierającej katalog stron i zakończenie funkcji)
- Jeśli nie jest ustawiona (nowy proces) tworzony jest za pomocą funkcji new_page_tables() nowy, zawierający tylko odwołania do pamięci jądra, katalog stron
- Struktura mm procesu jest blokowana i wykonywana jest funkcja dup_mmap(), a następnie po jej zakończeniu zwalniana jest blokada