Advertisement
pan7nikt

sysop_2.1.5_Full

Mar 25th, 2024 (edited)
640
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.75 KB | None | 0 0
  1. #2.1.5.1
  2. #ZROB cd DO FOLDERU Z PROGRAMAMI
  3. #uruchomic w oddzielnych oknach/sesjach ssh
  4. ./prog
  5. ./sprog
  6. #podczas, gdy procesy sa uruchomione
  7. echo -e '\033[0;32m2.1.5.1\033[0m'
  8. echo -e '\033[0;32mCZTERY ROZNICE\033[0m'
  9. echo -e '\033[0;32m1. Liczba nieanonimowych segmentow pamieci w mapie pamieci (fragmentu pamieci o ciaglej logicznej adresacji pamieci)\033[0m'
  10. pidof prog
  11. pidof sprog
  12. pmap -x PID_PROG
  13. pmap -x PID_SPROG
  14. echo -e 'r---- stale\nrw--- zmienne\nr-x-- text\nNieanonimowe bez [anon] i [stack]'
  15. echo -e '\033[0;34m- Wiecej segmentow nieanonimowych dla procesu utworzonego wskutek uruchomienia programu skonsolidowanego statycznie\033[0m';
  16. 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';
  17. echo -e 'nieanonimowe segmenty to te, gdzie dane lub tekst wczytane zostaly z pliku wykonywalnego lub zawierajacego biblioteke';
  18.  
  19. echo -e '\033[0;32m2. rozmiar pliku\033[0m'
  20. stat -c %s prog
  21. stat -c %s sprog
  22. echo -e '\033[0;32mPlik jest wiekszy dla programu skonsolidowanego statycznie\033[0m'
  23.  
  24. echo -e '\033[0;32m3. Biblioteki zainstalowane w systemie/jadrze (dla skonsolidowanego dynamicznie) a zewnetrzne (dla skonsolidowanego statycznie)\033[0m'      
  25.  
  26. echo -e '\033[0;32mProba uruchomiena programu skonsolidowanego dynamicznie bez biblioteki\033[0m'
  27. sudo dnf remove libsodium -yq
  28. ldd prog
  29. ldd sprog
  30. ./prog
  31. ./sprog
  32. echo -e '\033[0;32mInstalacja brakujacej biblioteki\033[0m'
  33. sudo dnf install libsodium -yq
  34. ldd prog
  35. ldd sprog
  36. ./prog
  37. ./sprog
  38.  
  39. echo -e '\033[0;32m4. Liczba wywolan systemowych\033[0m'
  40. #NIE WYSWIETLA SIE PROMPT ALE NADAL TRZEBA WPISAC ZNAKI LUB KLIKNAC ENTER PO PROSTU
  41. strace -c ./prog |& grep 'calls\|total'
  42. strace -c ./sprog |& grep 'calls\|total'
  43. echo -e '\033[0;32mWiecej wywolan dla procesu utworzonego wskutek uruchomienia programu skonsolidowanego dynamicznie\033[0m'
  44.  
  45. echo -e '\033[0;32mOKRESLENIE RODZAJU ZASTOSOWANEJ KONSOLIDACJI\033[0m'
  46. echo -e '\033[0;32mdla biblioteki\033[0m'
  47. file /usr/lib64/libc.so.6
  48. echo -e '\033[0;32mdla programu dynamicznie skonsolidowanego\033[0m'
  49. file prog
  50. echo -e '\033[0;32mdla programu statycznie skonsolidowanego\033[0m'
  51. file sprog
  52.  
  53. #KOLEJNY PODPUNKT NAJLEPIEJ W NOWYM TERMINALU
  54. #2.1.5.2
  55. echo -e '\033[0;32m2.1.5.2\033[0m'
  56. echo -e '\033[0;32mLista bibliotek wymaganych przez program\033[0m'
  57. ldd prog
  58. echo -e '\033[0;32mi biblioteke skonsolidowana dynamicznie\033[0m'
  59. ldd /usr/lib64/libc.so.6
  60. echo -e '\033[0;32mIlosc bibliotek w linkerze\033[0m'
  61. ldconfig -p | grep bibliotek
  62. echo -e '\033[0;32mWszystkie biblioteki zarzadzane przez linker\033[0m'
  63. ldconfig -p
  64.  
  65. #KOLEJNY PODPUNKT NAJLEPIEJ W NOWYM TERMINALU
  66. #2.1.5.3
  67. echo -e '\033[0;32m2.1.5.3\033[0m'
  68. echo -e '\033[0;32mCzas przetwarzania w trybie nieuprzywilejowanym i uprzywilejowanym\033[0m'
  69. time ls
  70. 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)'
  71. echo -e 'proces pochodzi\nw uprzywilejowanym: z jadra\nw nieuprzywilejowanym: z programu lub biblioteki.'
  72. echo -e 'Zmiana nastepuje w momencie zgloszenia wywolania systemowego przez proces (rozkaz pulapki)'
  73.  
  74. #KOLEJNY PODPUNKT NAJLEPIEJ W NOWYM TERMINALU
  75. #2.1.5.4
  76. echo -e '\033[0;32m2.1.5.4\033[0m'
  77. 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'
  78. echo -e '\033[0;32mPorownanie ilosci zgloszen wywolan systemowych\033[0m'
  79. strace -c ./prog |& grep 'calls\|total'
  80. strace -c ./sprog |& grep 'calls\|total'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement