Środowisko procesu Unixowego

Podobne dokumenty
procesami w systemie Unix

Administracja systemem Linux p. 1

Procesy. w systemach operacyjnych (quasi)równoleg le wykonywanie wielu być wykonywane naprzemiennie i/lub jednocześnie.

procesami w systemie Unix

procesami w systemie Unix

Funkcje systemu Unix

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

Utwórz na pulpicie katalog: pierwsza-litera-imienia_nazwisko (np. j_kowalski). W tym katalogu zapisz pliki, które będą tworzone w ramach ćwiczenia

Systemy Operacyjne I: Procesy

Linux: Procesy. Systemy Operacyjne. Mateusz Hołenko. 26 marca 2013

Laboratorium Procesy w systemach UNIX 3.2 Polecenia związane z procesami

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

Administracja serwerami

przerwany proces móg l zareagować na określone zdarzenie. Można je traktować jako software owe wersje przerwań sprz etowych.

Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej.

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Procesy. w systemach operacyjnych (quasi)równoleg le wykonywanie wielu być wykonywane naprzemiennie i/lub jednocześnie.

Laboratorium systemów operacyjnych ćwiczenie nr 3. [ilość modułów: 1] Temat zajęć: Procesy w systemie operacyjnym

Procesy. w systemach operacyjnych (quasi)równoleg le wykonywanie wielu być wykonywane naprzemiennie i/lub jednocześnie.

Zarządzanie procesami (omawiane zagadnienia)

Zarządzanie procesami

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

9. Procesy, urządzenia i system plików w systemie Linux

Model procesu w systemie Linux. Tomasz Borzyszkowski

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Tryby działania i zamykanie systemu

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Test. Administrowanie sieciowymi systemami operacyjnymi

Administracja systemem Linux

Programowanie Współbieżne. W Linuxie/Unixie

Zakład Systemów Rozproszonych

ABA-X3 PXES v Podręczna instrukcja administratora. FUNKCJE SIECIOWE Licencja FDL (bez prawa wprowadzania zmian)

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Unix: programowanie procesów

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

Unix: programowanie procesów

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Interfejs GSM/GPRS LB-431

Systemy Operacyjne - Operacje na plikach

pami eć operacyjna przechowuje dane do przetworzenia, tymczasowe dane pomocnicze,

Obsługa sygnałów. Tomasz Borzyszkowski

Zarządzanie użytkownikami w

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Unix: programowanie procesów

Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011

Uruchamianie SNNS. Po uruchomieniu. xgui & lub snns & pojawia si e okno. programu. Symulator sztucznych sieci neuronowych SNNS 1

Instrukcja obsługi terminal A300

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Podstawowa konfiguracja routerów. Interfejsy sieciowe routerów. Sprawdzanie komunikacji w sieci. Podstawy routingu statycznego

Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej. KomKOD

Jądro Powłoka System plików Programy użytkowe

Unix: programowanie procesów

Linux. Uprawnienia pliku / katalogu, właściciel pliku, UID, GID, sticky bit.

Narzędzia zarzadzania i monitorowania w systemach Linux

System plików Linuxa. Tomasz Borzyszkowski

Usługi sieciowe systemu Linux

Podstawowe zasady bezpieczeństwa

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

"Klasyczna" struktura systemu operacyjnego:

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

SERWER AKTUALIZACJI UpServ

NFS jest protokołem zdalnego wywoływania procedur (RPC)

4. Procesy pojęcia podstawowe

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

Bezpieczeństwo systemów informatycznych

Instrukcja konfiguracji programu Fakt z modułem lanfakt

System operacyjny UNIX - użytkownicy. mgr Michał Popławski, WFAiIS

DLA DREAMBOX & FLASHWIZARD

QuickStart TechBase S.A. Technical contact - support.techbase.eu 1/8

PCBIZNES Instalacja wersji sieciowej na serwerze z Microsoft Windows 7

Warstwy systemu Windows 2000

ABA-X3 PXES v Podręczna instrukcja administratora. XDMCP Licencja FDL (bez prawa wprowadzania zmian) Tryb X terminala

1

SERWER AKTUALIZACJI UpServ

Dokument zawiera instrukcję samodzielnej Instalacji Microsoft SQL Server 2008 R2 RTM - Express na potrzeby systemu Sz@rk.

Systemy Operacyjne Ćwiczenia

SPIS TREŚCI: KARTY GRAFICZNE... 15

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

Instalacja SAS Forecast Studio for Desktop 12.1

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Instalacja programu Warsztat 3 w sieci

Windows 10 - Jak uruchomić system w trybie

System operacyjny Linux

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

Wymagania edukacyjne z przedmiotu SYSTEMY OPERACYJNE. Klasa I i II- Technik Informatyk

TRX ELARM Łódź ul. Mochnackiego 34 tel/fax +48 (42)

Jednorazowe zaplanowanie zadania program at.

Pracownia komputerowa. Dariusz wardecki, wyk II

Instrukcja obsługi. Rozdział I. Wprowadzenie. 1.1 Wstęp. Techtop USB-P1 Telefon VoIP na USB. 1.2 Specyfikacja:

Win Admin Replikator Instrukcja Obsługi

DESlock+ szybki start

Pracownia Komputerowa wykład III

INSTRUKCJA INSTALACJI I KONFIGURACJI KARTY GOLIATH UNI HD PROTECTOR

Instalacja Ubuntu 12.12

System komputerowy. System komputerowy

Włóż płytę instalacyjną z systemem Windows Vista do napędu DVD ROM lub podłącz pamięć flash USB do portu USB.

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Systemy operacyjne Programowanie w języku powłoki sh

Transkrypt:

Środowisko procesu Unixowego Proces unixowy jest wykonywalnym programem za ladowanym do pami eci operacyjnej komputera, wraz z pewnym środowiskiem (zestawem zmiennych z wartościami). Jadro Unixa utrzymuje tablice wszystkich istniejacych procesów wraz z zestawem informacji o nich, np. zestawem otwartych plików, maska sygna lów procesu, priorytetem, i innymi. Procesy tworzone sa zawsze przez klonowanie istniejacego procesu funkcja fork, zatem każdy proces posiada tzw. proces nadrzedny, albo rodzicielski (parent process), który go utworzy l. Wyjatkiem jest proces numer 1, utworzony przez jadro Unixa, i wykonujacy program init, który jest protoplasta wszystkich innych procesów w systemie. Grupa procesów: wszystkie podprocesy (child processes) uruchomione przez jeden proces nadrz edny. Proces charakteryzuja: pid,pgrp,uid,euid,gid,egid Administracja Unixa kontrola procesów 1

W lasności procesu i podprocesu wspólne: otwarte pliki (deskryptory) real i effective UID i GID, proces group ID (PGRP) terminal i sesja kartoteka bieżaca i root maska praw dostepu tworzonych plików (umask) maska sygna lów i handlery środowisko (zbiór zmiennych środowiskowych) otwarte wspólne obszary pamieci ograniczenia zasobów różne: PID wartość zwracana z funkcji fork blokady plików nie sa dziedziczone ustawiony alarm procesu nadrzed- nego jest kasowany dla podpro- cesu zbiór wys lanych (ale jeszcze nieodebranych) sygna lów jest kasowany dla podprocesu Administracja Unixa kontrola procesów 2

Stany procesów Stan Ang. Znaczenie wykonywalny runnable proces w kolejce do wykonywania uśpiony sleeping proces czeka na dostep do zasobu wymieciony swapped-out proces usuniety z pamieci nieusuwalny zombie proces nie może sie zakończyć zatrzymany stopped wykonywanie procesu wstrzymane sygna lem proces wymieciony jest normalnie w jednym z pozosta lych stanów, lecz zosta l usuni ety z pami eci i aż do chwili ponownego za ladowania nic nie może si e z nim stać Administracja Unixa kontrola procesów 3

Kończenie pracy procesów Proces unixowy kończy sie normalnie albo anormalnie (np. przez otrzymanie sygna lu), zawsze zwracajac kod zakończenia, tzw. status. Rodzic procesu normalnie powinien odczytać kod zakończenia potomka wywo lujac funkcje systemowa wait. Dopóki ten kod nie zostanie przeczytany, proces nie może umrzeć do końca i pozostaje w stanie zwanym zombie. Istnieje mechanizm adopcji polegajacy na tym, że procesy, których rodzic zgina l przed nimi, zostaja adoptowane przez proces init. init wywo luje okresowo funkcje wait aby umożliwić poprawne zakończenie swoich potomków. Gdy proces nadrzedny żyje w chwili zakończenia pracy potomka, i nie wywo luje funkcji wait, to potomek pozostaje w stanie zombie na czas nieograniczony, co może być przyczyna wyczerpania jakichś zasobów systemu (np. zape lnienia tablicy procesów). Administracja Unixa kontrola procesów 4

Sygna ly Sygna ly sa mechanizmem asynchronicznego powiadamiania procesów o wydarzeniach. Domyślna reakcja procesu na otrzymanie sygna lu jest natychmiastowe zakończenie pracy (niektóre sygna ly maja inne reakcje domyślne). Proces może zadeklarować w lasna procedure obs lugi sygna lu, lub zadeklarować ignorowanie sygna lu (pewnych sygna lów nie można przechwycić ani ignorować). Administracja Unixa kontrola procesów 5

Mechanizmy generowania sygna lów naciskanie pewnych klawiszy na terminalu użytkownika (SIGINT, SIGQUIT) wyjatki sprzetowe: nielegalna instrukcja, nielegalne odwo lanie do pamieci, dzielenie przez 0, itp. (SIGILL, SIGSEGV, SIGFPE) wywo lanie komendy kill przez użytkownika (SIGTERM, i inne) funkcje kill i raise mechanizmy software-owe (SIGALRM) Administracja Unixa kontrola procesów 6

Obs luga sygna lów sprawdzenie na poczatku programu, czy dyspozycja sygna lu nie jest ignorowanie (program może być wywo lywany w specjalnym środowisku, ignorujacym sygna ly) ignorowanie sygna lu na wejściu do handlera zakończeniem pracy handlera może być: koniec procesu kontynuacja kontynuacja z przekazaniem informacji kontynuacja od określonego punktu ponowne zadeklarowanie handlera w przypadku kontynuacji Administracja Unixa kontrola procesów 7

Administracja Unixa kontrola procesów 8

Automatyczne uruchamianie procesów: crontab /var/spool/cron/crontabs/root: 0 2 * * 0,4 /etc/cron.d/logchecker 5 4 * * 6 /usr/lib/newsyslog 30 23 * * 0 /usr/local/sbin/rotate-logs-weekly 30 22 1 * * /usr/local/sbin/rotate-logs-monthly 15 3 * * * /usr/lib/fs/nfs/nfsfind 1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 /var/spool/cron/crontabs/sys: 0,10,20,30,40,50 * * * 0-6 /usr/lib/sa/sa1 5 22 * * 1-5 /usr/lib/sa/sa2 -s 8 -e 22 -i 1800 -A QNX:/var/spool/cron/crontabs/root: 0,10,20,30,40,50 * * * * rtc -S 360 net 1 Administracja Unixa kontrola procesów 9

Automatyczne uruchamianie procesów: at sierra-63> echo echo otwarcie pracowni \ mailx -s "szkola, 15:00" witold \ at 11 am november 8 warning: commands will be executed using /usr/bin/tcsh job 973677600.a at Wed Nov 8 11:00:00 2000 sierra-64> at -l 973677600.a Wed Nov 8 11:00:00 2000 Selektywna autoryzacja użytkowników do używania crontab i at: /usr/lib/cron/{cron,at}.{allow,deny} Administracja Unixa kontrola procesów 10

Rozwiazywanie problemów z procesami program systemowy ps wyświetla liste procesów z jednolinijkowymi informacjami o każdym procesie, co pozwala np. wykrywać procesy zużywajace dużo zasobów (czas CPU, pamieć fizyczna) różnice w wywo laniu i dzia laniu ps na różnych systemach (AT&T/BSD) program top pokazuje zestaw najaktywniejszych procesów również dzia la w zależności od systemu ustawianie ograniczeń na zasoby procesu: RLIMIT_CORE,RLIMIT_CPU,RLIMIT_DATA,RLIMIT_FSIZE,RLIMIT_NOFILE bardzo duże rozbieżności mi edzy systemami sterowanie priorytetami procesów: wartość nice procesu, komendy nice (użytkownik) i renice (administrator): nice -n 20 pid-dlugiego-zadania </dev/null & administrator może nak laniać użytkowników do stosowania wyższych wartości nice przez zagnieżdżanie aplikacji systemowych w skryptach ustawiajacych wartość nice Administracja Unixa kontrola procesów 11

znajdowanie procesów, które korzystaja z danego pliku, lub katalogu (np. partycji dyskowej): fuser /cdrom informacje o plikach otwartych przez dany proces: pfiles pid zabijanie procesów przez wys lanie sygna lu: kill pid domyślny sygna l TERM=15 może być przechwycony przez proces, wtedy: kill -9 pid zatrzymywanie procesu do wyjaśnienia : kill -STOP pid aby kontynuować: kill -CONT pid Administracja Unixa kontrola procesów 12

Startowanie systemu 1. hardware 2. bootstrap z dysku (lub sieci) 3. jadro Unixa na dysku: (a) sprawdza stan hardware u (b) montuje / (c) uruchamia init 4. init bootuje system wg specyfikacji w pliku /etc/inittab, w szczególności: (a) montuje dodatkowe file-systemy (plik /etc/fstab), np.: /usr, /home,... (b) odpala procesy us lugowe (daemony) Administracja Unixa procedury startowe 13

Stany pracy i gaszenie systemu tryby pracy systemu Unix: single-user, multi-user, inne normalny proces gaszenia: parametry grace, init, i komunikat: shutdown -g 60 -i 6 "restart systemu dla rekonfiguracji" po zatrzymaniu może nastapić: zwyk le zatrzymanie systemu: -i 0 wy l aczenie zasilania, jeśli możliwe: -i 5 ponowny restart: -i 6 restart do trybu single-user: -i 1 lub -i s szybki restart bez zatrzymywania procesów, ale sync reboot ekspresowe zatrzymanie systemu, jak reboot ale bez restartu halt zatrzymanie jak halt plus wy l aczenie zasilania poweroff Administracja Unixa procedury startowe 14

Poziomy pracy Systemu V konfiguracje uruchamianych procesów, definiowane w /etc/inittab poziom 0: system wy l aczony poziom 1,S: tryb single-user, systemy plików dyskowych zamontowane, uruchomiony jest tylko minimalny zestaw procesów poziom 2: tryb multi-user, uruchomione interface-y sieciowe (w starszych Unixach ten poziom nie uruchamia l oprogramowania sieciowego) poziom 3: rozszerzenie poziomu 2, uruchamiane sa wszystkie procesy poziomu 2, plus dodatkowe, np. sieciowy serwer plików (NFS) poziom 4: poziom wielodost epu alternatywny do 3, pozwala wprowadzić inny zestaw procesów poziom 5: tryb gaszenia systemu aż do wy l aczenia zasilania poziom 6: tryb gaszenia systemu aż do pe lnego zatrzymania i natychmiastowy restart Administracja Unixa procedury startowe 15

Unix pliki startowe: /etc/inittab /etc/inittab (System V, Linux) id:3:initdefault: si:s:sysinit:/etc/rc.d/rc.s su:s:wait:/etc/rcs l0:0:wait:/etc/rc0 >/dev/console 2>&1 </dev/console l1:1:wait:/etc/rc1 >/dev/console 2>&1 </dev/console l2:2:wait:/etc/rc2 >/dev/console 2>&1 </dev/console l3:3:wait:/etc/rc3 >/dev/console 2>&1 </dev/console l5:5:wait:/etc/rc5 >/dev/console 2>&1 </dev/console l6:6:wait:/etc/rc6 >/dev/console 2>&1 </dev/console rc:123456:wait:/etc/rc.d/rc.m ca::ctrlaltdel:/sbin/shutdown -t3 -rf now pf:0123456:powerfail:/sbin/shutdown -f +5 "THE POWER IS FAILING" pg:0123456:powerokwait:/sbin/shutdown -c "THE POWER IS BACK" ps:s:powerokwait:/sbin/init 5 # Dialup lines d1:2345:respawn:/sbin/mgetty -n 1 /dev/ttys0 C38400 #d2:2345:respawn:/sbin/agetty 19200 ttys1 b0:2345:respawn:/sbin/mgetty -n 1 /dev/ttye0 C38400 x:5:respawn:/usr/bin/x11/xdm -nodaemon Administracja Unixa procedury startowe 16

W l aczanie użytkownika do systemu 1. init uruchamia proces getty, który inicjuje port i oczekuje na po l aczenie użytkownika. 2. Użytkownik dokonuje fizycznego po l aczenia z interface-m komputera. 3. getty wykrywa w l aczonego użytkownika, wyświetla komunikat login, wczytuje wprowadzona nazwe użytkownika, i uruchamia program login. 4. login czyta i sprawdza has lo użytkownika, i wywo luje w laściwy interpreter komend (shell) ze środowiskiem zainicjowanym znanymi sobie parametrami. 5. Interpreter komend znajduje w laściwe sobie pliki startowe (systemowe i w lasne) i ostatecznie konfiguruje środowisko użytkownika, a nast epnie przechodzi do pracy interakcyjnej. 6. Po zakończeniu pracy interpretera komend init wykrywa brak programu obs lugi portu i ponownie uruchamia getty (w przypadku po l aczeń sieciowych oczekiwanie na po l aczenia trwa ca ly czas). Administracja Unixa procedury startowe 17