diff --git a/Microshell/katalog/plik1.txt b/Microshell/katalog/plik1.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Microshell/katalog/test/test.txt b/Microshell/katalog/test/test.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Microshell/katalogz/plik1.txt b/Microshell/katalogz/plik1.txt new file mode 100644 index 0000000..fb37ef9 --- /dev/null +++ b/Microshell/katalogz/plik1.txt @@ -0,0 +1 @@ +hdhd diff --git a/Microshell/katalogz/test/test.txt b/Microshell/katalogz/test/test.txt new file mode 100644 index 0000000..1210b79 --- /dev/null +++ b/Microshell/katalogz/test/test.txt @@ -0,0 +1 @@ +testtt diff --git a/Microshell/opis b/Microshell/opis index 70a88c1..ab9320e 100644 --- a/Microshell/opis +++ b/Microshell/opis @@ -20,6 +20,68 @@ dodam moja funkcje showtree ktora bedzie wyswietlac w formie drzewa strukture ka oraz funkcje wyswietlajaca procesy proc !!! +jak dziala showtree +-->fork() //pierwszy +tab=0 +otwieramy katalog zrodlowy +czytamy zawartosc +name = pierwszy element +jesli nie rowna sie . lub .. to +-->fork() //drugi (pierwszy sie zatrzymuje) +trafiamy na katalog mozna go otworzyc +zamykamy poprzednia sciezke +nie printujemy tab +print name w niebieskim +otwieramy nowy katalog tab++ +____ +katalog +____ +czytamy teraz z katalogu +name = test +nie rowna sie . lub .. +-->fork() //trzeci pierwszy i drugi czeka +mozna otworzyc test +printujemy jeden tab +printujemy test w niebieskim +zamykamy stara sciezke +otwieramy nowa tab++ +____ +katalog + |test +____ +czytamy teraz z katalogu test +name = test.txt +nie rowna sie . lub .. +-->fork() //czwarty trzeci drugi pierwszy czeka +nie mozna otworzyc +printujemy tab i nazwe pliku +___ +katalog + |test + | |test.txt +____ +exit(0) +czwarty fork koniec +trzeci na stanie otwarty test czytamy dalej zawartosc +nie ma juz nic wychodzimy z while zamykamy katalog test +exit(0) +trzeci fork koniec +drugi na stanie czytamy z katalog tab = 1 +printujemy plik1.txt +koniec elementow +zamykamy katalog exit +drugi fork koniec +pierwszy na stanie czytamy z Microshell i tab=0 +wyswietlamy dalej elementy +koniec elementow zamykamy microshell i exit +pierwszy fork koniec +showtree czekalo i teraz zwraca return + +wydaje mi sie ze mozna juz bez tego pierwszego forka + +po showtree mozna zmieniac pliki i katalogi wiec wszystko jest ok +dobrze zamyka sciezki + z komentarzy p->pw_name mozna zrobic (*p).pw_name