Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #2.1.5.1
- #ZROB cd DO FOLDERU Z PROGRAMAMI
- #uruchomic w oddzielnych oknach/sesjach ssh
- ./prog
- ./sprog
- #podczas, gdy procesy sa uruchomione
- echo -e '\033[0;32m2.1.5.1\033[0m'
- echo -e '\033[0;32mCZTERY ROZNICE\033[0m'
- echo -e '\033[0;32m1. Liczba nieanonimowych segmentow pamieci w mapie pamieci (fragmentu pamieci o ciaglej logicznej adresacji pamieci)\033[0m'
- pidof prog
- pidof sprog
- pmap -x PID_PROG
- pmap -x PID_SPROG
- echo -e 'r---- stale\nrw--- zmienne\nr-x-- text\nNieanonimowe bez [anon] i [stack]'
- echo -e '\033[0;34m- Wiecej segmentow nieanonimowych dla procesu utworzonego wskutek uruchomienia programu skonsolidowanego statycznie\033[0m';
- echo -e '\033[0;34m- Mniej segmentow nieanonimowych dla procesu utworzonego wskutek uruchomienia programu skonsolidowanego dynamicznie\n(Taki proces ma wiecej jednostek alokacji)\033[0m';
- echo -e 'nieanonimowe segmenty to te, gdzie dane lub tekst wczytane zostaly z pliku wykonywalnego lub zawierajacego biblioteke';
- echo -e '\033[0;32m2. rozmiar pliku\033[0m'
- stat -c %s prog
- stat -c %s sprog
- echo -e '\033[0;32mPlik jest wiekszy dla programu skonsolidowanego statycznie\033[0m'
- echo -e '\033[0;32m3. Biblioteki zainstalowane w systemie/jadrze (dla skonsolidowanego dynamicznie) a zewnetrzne (dla skonsolidowanego statycznie)\033[0m'
- echo -e '\033[0;32mProba uruchomiena programu skonsolidowanego dynamicznie bez biblioteki\033[0m'
- sudo dnf remove libsodium -yq
- ldd prog
- ldd sprog
- ./prog
- ./sprog
- echo -e '\033[0;32mInstalacja brakujacej biblioteki\033[0m'
- sudo dnf install libsodium -yq
- ldd prog
- ldd sprog
- ./prog
- ./sprog
- echo -e '\033[0;32m4. Liczba wywolan systemowych\033[0m'
- #NIE WYSWIETLA SIE PROMPT ALE NADAL TRZEBA WPISAC ZNAKI LUB KLIKNAC ENTER PO PROSTU
- strace -c ./prog |& grep 'calls\|total'
- strace -c ./sprog |& grep 'calls\|total'
- echo -e '\033[0;32mWiecej wywolan dla procesu utworzonego wskutek uruchomienia programu skonsolidowanego dynamicznie\033[0m'
- echo -e '\033[0;32mOKRESLENIE RODZAJU ZASTOSOWANEJ KONSOLIDACJI\033[0m'
- echo -e '\033[0;32mdla biblioteki\033[0m'
- file /usr/lib64/libc.so.6
- echo -e '\033[0;32mdla programu dynamicznie skonsolidowanego\033[0m'
- file prog
- echo -e '\033[0;32mdla programu statycznie skonsolidowanego\033[0m'
- file sprog
- #KOLEJNY PODPUNKT NAJLEPIEJ W NOWYM TERMINALU
- #2.1.5.2
- echo -e '\033[0;32m2.1.5.2\033[0m'
- echo -e '\033[0;32mLista bibliotek wymaganych przez program\033[0m'
- ldd prog
- echo -e '\033[0;32mi biblioteke skonsolidowana dynamicznie\033[0m'
- ldd /usr/lib64/libc.so.6
- echo -e '\033[0;32mIlosc bibliotek w linkerze\033[0m'
- ldconfig -p | grep bibliotek
- echo -e '\033[0;32mWszystkie biblioteki zarzadzane przez linker\033[0m'
- ldconfig -p
- #KOLEJNY PODPUNKT NAJLEPIEJ W NOWYM TERMINALU
- #2.1.5.3
- echo -e '\033[0;32m2.1.5.3\033[0m'
- echo -e '\033[0;32mCzas przetwarzania w trybie nieuprzywilejowanym i uprzywilejowanym\033[0m'
- time ls
- echo -e 'Suma tych czasow nie musi byc zgodna, poniewaz proces w trakcie swojego zycia nie musi byc przetwarzany w zadnym trybie (moze np. oczekiwac na input)'
- echo -e 'proces pochodzi\nw uprzywilejowanym: z jadra\nw nieuprzywilejowanym: z programu lub biblioteki.'
- echo -e 'Zmiana nastepuje w momencie zgloszenia wywolania systemowego przez proces (rozkaz pulapki)'
- #KOLEJNY PODPUNKT NAJLEPIEJ W NOWYM TERMINALU
- #2.1.5.4
- echo -e '\033[0;32m2.1.5.4\033[0m'
- echo -e 'Wywolanie systemowe to rozwiazanie/funkcjonalnosc (procedura obslugi wywolania systemowego), ktore umozliwia procesowi skorzystanie z funkcjonalnosci oferowanych przez jadro\nTakie wywolania umozliwia biblioteka VDSO\nFragment kodu uruchamiany po wykonaniu wywolania systemowego to PROCEDURA'
- echo -e '\033[0;32mPorownanie ilosci zgloszen wywolan systemowych\033[0m'
- strace -c ./prog |& grep 'calls\|total'
- strace -c ./sprog |& grep 'calls\|total'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement