Linux/Definicje/Proces
Proces to w największym uproszczeniu program wykonujący się w komputerze. Nie jest to bynajmniej pojęcie jednoznaczne z pojęciem "program":
- program - jest to kod wykonywalny, zawarty w pliku (wielu plikach), a więc np. zapisany na dysku
- proces - jest to aktualnie wykonywany przez procesor ciąg poleceń (czyli np. program, ale też może to być część, jakaś funkcja programu)
Kluczowe jest tutaj stwierdzenie, że w obrębie jednego procesu, następna "czynność" może zostać rozpoczęta dopiero po zakończeniu poprzedniej, czyli jeżeli dany proces wykonuje jakieś działanie, to następne może on zacząć wykonywać, jak zakończy poprzednie.
Proces
[edytuj]Proces jest jednym z podstawowych pojęć w Unixie ( drugim jest plik). Na proces składa się :
- wykonywany kod programu
- zasoby komputera :
- wewnętrzne dane jądra
- przestrzeń adresowa pamięci
- wątki
- część pamięci zawierająca zmienne globalne [1]
Wieloprocesowość
[edytuj]Jądro Linux umożliwia uruchamianie wielu procesów równocześnie - w rzeczywistości, każdy z procesów jest kolejno "włączany" na krótką chwilę, a potem zatrzymywany, uruchamiany następny itd. Jest to przełączanie procesów - więcej na ten temat w pojęciu Linux/Definicje/Wielozadaniowość.
Pojedynczy program może się wykonywać w postaci wielu procesów - np. może przetwarzać w tle dane, ale nie zatrzymuje to działania interfejsu, ponieważ jest on wykonywany w osobnym procesie.
Podgląd listy procesów
[edytuj]Listę aktualnie wykonujących się procesów, jak i informacji na ich temat, możemy podejrzeć:
- w trybie tekstowym wpisując polecenie top (wyświetla kilka(naście) procesów najbardziej obciążających procesor)
- w środowisku KDE wciskając kombinację [Ctrl] + [ESC] - otworzy się okno "ProcessTable", które oprócz wyświetlania informacji, pozwala na zakończenie (zabicie) wybranych procesów (o ile oczywiście mamy odpowiednie uprawnienia).
Uprawnienia
[edytuj]Każdy proces, podobnie jak każdy plik w systemach uniksowych, jest uruchamiany w Linuksie z pewnymi uprawnieniami. Jeżeli uruchamiamy program, będąc zalogowanym jako "majkel", to procesy tego programu będą miały uprawnienia należące do użytkownika "majkel".
Proces główny i potomne
[edytuj]Procesem głównym danego programu jest proces uruchomiony przy starcie programu - jest to inaczej wykonujący się główny kod programu. Może on ponadto uruchamiać wiele procesów potomnych, które są jemu przyporządkowane, tworząc strukturę drzewa. W domyślnym zachowaniu, jeżeli zabijemy (w terminologii linuksowej - zakończymy proces natychmiast; ang. kill) proces główny programu, to automatycznie "znikną" jego procesy potomne. Czasem się zdarza że taki proces potomny nie kończy swojego działania - i wtedy zamienia się w tzw. proces zombie. Proces potomny może zostać także uruchomiony z opcją, dzięki której staje się niezależny od procesu inicjującego go.
Przykłady
[edytuj]- getty [2]
Odnośniki
[edytuj]Zobacz również
[edytuj]