Celem projektu jest stworzenie skryptu w języku Bash, który umożliwi efektywne zarządzanie zasobami systemowymi oraz komunikację z podłączonym urządzeniem USB. Projekt integruje funkcjonalności związane z zarządzaniem procesami, monitorowaniem pamięci oraz filtrowaniem danych.
Projekt ten stanowi narzędzie pomocnicze dla studentów w ramach nauki na przedmiot Systemy Operacyjne.
- Identyfikacja, monitorowanie i zarządzanie procesami oraz wątkami.
- Monitorowanie i zarządzanie pamięcią główną, pomocniczą i wirtualną.
- Identyfikacja, monitorowanie urządzeń blokowych i znakowych podłączonym przez USB
- Liczba procesów i wątków w systemie
- Dla największego procesu w systemie:
- Nazwę
- PID
- rozmiar
- klasę planowania
- priorytet planowania
- Liczbę procesów potomnych
- liczbę otwartych plików
- Dla procesu o największej liczbie wątków:
- Nazwę
- PID
- klasę planowania
- priorytet planowania
- Dla procesu o podanej nazwie przez użytkownika:
- PID
- rozmiar pamięci wirtulnej (VmSize)
- rozmiar pamieci fizycznej (VmRSSS)
- Liczbę wątków,
- liczbę otwartych plików
- Liczba dobrowolnych przełączeń kontekstu (voluntary_ctxt_switches)
- Liczba przymusowych przełączeń kontekstu (nonvoluntary_ctxt_switches)
- Rozmiar zajętej i wolnej pamięci głównej
- Rozmiar aktywnej i nieaktywnej pamięci głównej
- Ilość pamięci głównej mapowanej za pomocą stron o rozmiarze 4k i 2M
- Rozmiar zajętej i wolnej pamięci na dysku
- Rozmiar zajętej i wolnej pamięci na poszczególnych partycjach dysk
- Nazwę, rozmiar i typ dysku
- Liczba i nazwy urządzeń blokowych o unikatowych numerze głównym
- Nazwę, rozmiar i typ pamięci operacyjnej
- Liczba i nazwy urządzeń znakowych o unikatowych numerze głównym
- Nazwę i typ karty sieciowej
- Lista aktywnych gniazd w systemie
- Listę otwartych portów w systemie
- System operacyjny Linux (np. Ubuntu, Debian).
- Bash w wersji 4.0 lub wyższej.
- Uprawnienia administratora (sudo) do wykonywania niektórych poleceń.
- Podstawowe narzędzia systemowe.
- Sklonuj repozytorium:
git clone <URL_REPO>
- Przejdź do katalogu projektu:
cd system-multitool
- Nadaj uprawnienia do wykonania skryptu:
chmod +x tool.sh
- Uruchom skrypt:
./tool.sh