Jądro linuksa. LINUX KERNEL O REILLY Daniel P. Bovet & Marco Cesati

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

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

Sieci komputerowe. Wstęp do systemu Linux/UNIX, część I. Ewa Burnecka / Janusz Szwabiński. ewa@ift.uni.wroc.pl / szwabin@ift.uni.wroc.

Linux: System Plików

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

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

Szkolenie AGH Linux. Nie bój się konsoli i zdaj kolosa na 5.0!!! Tytuł wcale nie przesadzony ;)

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Podstawy administracji systemu Linux

Znaki globalne w Linuxie

Wstęp do informatyki Shell podstawy

Konsola Linux. autor: Mariusz Barnaś

Współczesne systemy komputerowe

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

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Moduł 4: Strumienie, potoki, sterowanie procesami

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

"Klasyczna" struktura systemu operacyjnego:

ZAJĘCIA Komendy Linux WB -> w konsoli tty2 finger exit man pwd pwd finger ls man ls. -> po 2 minusach interpretacja słowa

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Typy plików. Oznaczenie f -

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

2. System uprawnień w linuxie

System plików Linuxa. Tomasz Borzyszkowski

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

System operacyjny Linux

Systemy operacyjne ćwiczenia 1 procesy, wątki, polecenia UNIXa.

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

Podstawy systemów UNIX

Zarządzanie procesami

BASH - WPROWADZENIE Bioinformatyka 4

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

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

Systemy Operacyjne I: System plików

1. Wyrażenia regularne. Symbole w wyrażeniach regularnych 1 :

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

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

Bash - wprowadzenie. Bash - wprowadzenie 1/39

System plików. Podstawy systemu Linux

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

S P I S POLECEŃ LINUXA

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Ćwiczenia Linux konsola

LABORATORIUM 6-7 WSTĘP DO SIECI TELEINFORMATYCZNYCH SYSTEM OPERACYJNY UNIX

Struktura katalogów. Prawa dostępu

Linux. Wprowadzenie do systemu.

Podstawy Informatyki. Michał Pazdanowski

Systemy Operacyjne I: Procesy

System Linux - użytkowanie

Podstawy Informatyki. Michał Pazdanowski

Systemy operacyjne Programowanie w języku powłoki sh

Technologie Informacyjne - Linux 2

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

Ćwiczenie 9 Linux - operacje systemu plików

Elementy wyrażeń regularnych

Systemy operacyjne / Programowanie w języku powłoki sh str.1/19

Ćwiczenie 1. Podstawowe wiadomości

Temat zajęć: Wprowadzenie oraz obsługa systemu plików.

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

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

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

System plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1

Chemiateoretyczna. Monika Musiał. Ćwiczenia

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

host name: protokół SSH System plików - wprowadzenie Ścieżki dostępu

SPIS TREŚCI 1. WIADOMOŚCI OGÓLNE ZARZĄDZANIE SYSTEMEM LINUX WIELODOSTĘPNOŚĆ SYSTEMY PLIKÓW I STRUKTURA FOLDERÓW...

Cechy systemu Linux. Logowanie się do systemu. Powłoka systemowa

LINUX polecenia Uwaga Linux rozróżnia wielkość liter!!!

System operacyjny Linux wybrane zagadnienia. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Linux cz.3: polecenia systemowe, ćwiczenia

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

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

Środowisko programisty

Wstęp do obsługi Linux a

Powłoka, redyrekcja, potok

Podstawy użytkowania Linux a

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Systemy operacyjne Skrypt do ćwiczeń laboratoryjnych

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Powłoka interpreter poleceń systemu UNIX

Wprowadzenie do obsługi systemów obliczeniowych PCSS

Filtry, metaznaki, cytowania. Proste skrypty. Polecenia find, tee, mail.

Powstanie Linuxa Linus Torvalds fiński programista, twórca Linuxa

Podstawy informatyki

Prawa dostępu do plików

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

Podstawy Linuksa. Wiesław Płaczek Postawy Linuksa 1

UNIX SYSTEM PLIKÓW. UNIX System plików

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Wstęp do obsługi Linux a

LINUX. 1. Wprowadzenie: Poznańska Szkoła Bioinformatyki, 2006 Anna Czerwoniec, Łukasz Kościński

Model procesu w systemie Linux. Tomasz Borzyszkowski

1 Przygotował: mgr inż. Maciej Lasota

Transkrypt:

LINUX

Jądro linuksa LINUX KERNEL O REILLY Daniel P. Bovet & Marco Cesati

1991 Linus Torvalds Intel 80386, inne architektury: Alpha, SPARC, Motorola MC680x0, PowerPc, IBM System/390 Kod źródłowy dostępny w ramach licencji GNU (http://www.kernel.org) Kod źródłowy Linuksa 4500 plików w C i asemblerze w 270 podkatalogach 2 000 000 linii kodu 58MB na dysku (książka 2MB)

jądro Linuksa a jądra uniksowe Monolityczne jak większość komercyjnych odmian Uniksa Dobre wsparcie dla modułów. Tradycyjne jądra kompilowane i łączone statycznie; dynamiczne ładowanie pewnych modułów (sterowniki urządzeń) używa wątków jądra w ograniczonym zakresie. Niektóre nowoczesne jądra bazują na wątkach jądra Wsparcie dla aplikacji wielowątkowych (procesy lekkie) Jądro bez wywłaszczania Wsparcie dla SMP (Symetryczna wieloprocesorowość) Standardowy system plików prosty, można przenieść JFS, XFS Nie ma strumieni (I/O STREAMS) preferowanego interfejsu sterowników urządzeń

Zalety Linuksa Darmowy GPL można modyfikować kody Działa na prostych, tanich platformach sprzętowych Szybki, w pełni wykorzystuje możliwości sprzętu Stabilny rzadko zdarzają się błędy jądro może być bardzo małe Kompatybilny z różnymi so Montowanie różnych systemów plików Biblioteki do uruchamiania programów napisanych dla innych systemów Dobre wsparcie, szybko dostępne sterowniki

Wersje jądra Linuksa stabilne 2.2.14 2.6 (2003r) 2.6.11.x 2.6.39 3.0 (2011) 3.5,.3.16 rozwojowe 2.3.51 3.4-rc1

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

/ / tmp tmp etc etc dev dev bin bin usr usr home home proc proc bin bin lib lib

ułatwienia pliki ukryte <tab> <Ctrl+d> pol1;pol2 pol1 \ arg1 \ arg2 ~/.. $HOME.nazwa ls -a metaznaki *? [.] maskowanie \

polecenie_opcje_argumenty passwd pwd clear cal who touch ls ld tree cd mkdir mkdir -p cat more less head tail wc cut sort touch rm rmdir rm -r mv cp cp r /katalogi cp a1 a2 a3 -i

[anka@mars anka]$ ls -la total 188 drwx------ 12 anka workers 4096 Sep 15 08:56. drwxr-xr-x 22 root root 4096 Sep 29 09:13.. -rw-r--r-- 1 anka workers 788 May 17 16:37 A.c -rw-r--r-- 1 anka workers 0 Mar 12 2004.addressbook -rw------- 1 anka workers 4210 Oct 7 17:38.bash_history -rw-r--r-- 1 anka workers 24 Sep 22 2003.bash_logout -rw-r--r-- 1 anka workers 191 Sep 22 2003.bash_profile -rw-r--r-- 1 anka workers 124 Sep 22 2003.bashrc -rw-r--r-- 1 anka workers 755 May 17 16:36 B.c typ pliku: -, d, b, c, l, s, p

Przekierowania <, >, >> klawiatura filein < stdin 0 polecenie stdout 1 stderr 2 > monitor fileout cat <plik cat <plik1 > plik2 cat plik 1>wynik 2>&1 cat>plik cat plik 2>/dev/null ls l >plik /rozmiar pliku cat>>plik cat plik 1>wynik 2>blad cat plik>plik >& plik

Potoki polecenie1 polecenie2 stdout stdin 0 polecenie1 polecenie2 stderr stderr ls l more who wc -l

tee polecenie1 tee plik monitor stdin 0 polecenie stdout plik stderr cat plik1 plik2 sort cat n tee wynik cat plik1 plik2 sort cat n>wynik

Porównywanie plików cmp diff patch diff u plik1 plik2>lata patch<lata patch R <lata

wyszukiwanie Ciągu znaków w pliku(ach) grep opcje wzorzec plik Plików wg. atrybutów which whereis find kat_startowy opcje kryterium

grep wzorzec. [a-z] ^.. - początek..$ - koniec [^ ] - negacja. \ - lub opcje -i ignor. wlk. liter -v - inwersja -c zlicza linie -n numeruje linie grep ^[^d-] plik ls l grep ^[^d-] grep v ^[cc] plik.f>plikbk.f grep \.$ plik grep int\ long *.c

find kat_start {opcja kryterium} Opcje: -name -type [dfbcsl] -size [+-]n[bcwk] np.. -100c -mtime [+-n] -atime -user -perm [+-]sugo s,u,g,o - <0;7> -exec np. exec cat {} \; -ok -newer operatory logiczne: a; o;! find. type l o type f

Pomoc man whatis aproppos info

katalog nazwa nr i-węzła plik1 plik2 plik3 1099 1080 1065

i-węzeł typ pliku: - plik zwykły, d katalog, p łącze nazwane FIFO, b plik specjalny blokowy, c plik specjalny znakowy, l link symboliczny, s gniazdo (semafor), identyfikator właściciela oraz grupy pliku, prawa dostępu, rozmiar pliku w bajtach/porcjach 512B (32bity); pow(2,41) - max. rozmiar pliku ostatni czas dostępu, modyfikacji, czas utworzenia i skasowania, liczba dowiązań, liczba bloków dyskowych zajmowanych przez plik, adresy dyskowe (12+3).

twarde ln plik linktw ograniczenia) symboliczne ln s plik linksymb ln s kat kat2 ls kat2 ls l kat2 cd kat2 linki (liczba dowiązań, numery i-węzłów, (atrybuty linku, link do katalogu, linku)

ln plik linktw ln s plik linksymb i-węzły bloki danych cat > plik.. <ctrl+d> plik linktw linksymb linktw linksymb plik linktw linksymb N1 N2 N1 N2 N1 N2 N3 rm plik

atrybut link twardy link symboliczny typ - l rozmiar jak plik =długości nazwy nr i-węzła jak plik nowy ograniczenia pliki zwykłe w tym samym file systemie brak

Prawa dostępu DO PLIKU r - oglądanie zawartości pliku, prawo do kopiowania w zezwolenie na modyfikację zawartości x prawo do uruchomienia pliku wykonywalnego DO KATALOGU r umożliwia przeszukiwanie zawartości katalogu, jest interpretowane jako prawo wypisywania zawartości (komenda ls) w umożliwia modyfikowanie zawartości katalogu, dodawanie oraz usuwanie plików z katalogu x pozwala na dostęp do plików zapisanych w nim oraz na wejście do danego katalogu uczynienie go katalogiem bieżącym (komenda cd katalog)

chmod 7777 plik rozszerzone prawa dostępu do pliku rwxrwxrwx s SUID s SGID t sticky bit

chmod u+w,og+r-w plik chmod a=rw plik chmod o= plik

PROCESY fork Proces macierzysty wait Proces potomny zombie exec exit

init fork init PID 225 PID 1 getty exec PID 225 exec login PID 225 exec PID 225 PID 225 bash fork bash PID 578 ls PID 578

Atrybuty procesu PID identyfikator procesu (process ID) PPID identyfikator procesu przodka UID identyfikator użytkownika, który proces uruchomił (jest on właścicielem procesu) EUID efektywny identyfikator użytkownika (effective user ID), który określa jakie prawa przysługują danemu procesowi RUID rzeczywisty identyfikator użytkownika (real user ID), który rozpoczął proces; RUID różni się od EUID, jeżeli uruchomiony program miał ustawione rozszerzone prawa dostępu SUID (s zamiast x na pozycji użytkownika) RGID rzeczywisty identyfikator grupy użytkownika (real group ID) EGID efektywny identyfikator grupy użytkownika (effective group); Effective Group ID różni się od RGID, jeśli uruchomiono program z ustawionym prawem SGID ( s zamiast x na pozycji grupy) TIME czas trwania TTY terminal COM, CMD faktyczne polecenie, które uruchomiło proces NI Liczba nice mająca wpływ na priorytet procesu, określa poziom uprzejmości procesu PRI aktualny priorytet procesu (obliczany dynamicznie) SIZE wielkość pamięci wirtualnej procesu RSS wielkość użytej pamięci rzeczywistej STIME czas rozpoczęcia procesu.

Atrybuty procesu-cd. STAT aktualny stan procesu; R run (działający), S sleep (uśpiony), D oczekujący na operację dyskową, T stopped lub traced (zatrzymany lub śledzony), Z zombie (proces, który zakończył swoje działanie, zwolnił wszystkie używane zasoby, ale nie otrzymał potwierdzenia przyjęcia sygnału zakończenia od procesu rodzica) Status dodatkowo może być oznaczony symbolami: W nie ma strony zaalokowanej w pamięci operacyjnej, L ma stronę w pamięci, < wysoki priorytet, N obniżony priorytet

ps aux ps l ps U user ps eo pid,ppid,user,ruid,euid,cmd --sort pid top ( interakcyjne - r,h,k,q) kill l - lista sygnałów kill -9 pid echo $? /128+nr sygnału

sygnały 1 SIGHUP 2 SIGINT ctrl+c 3 SIGQUIT ctrl+\ 9 SIGKILL 14 SIGALARM 15 SIGTERM 19 SIGSTOP ctrl+z

procesy Interakcyjne Pierwszoplanowe Tła Wsadowe Demony

Procesy pierwszoplanowe i tła polecenie & jobs fg %n bg %n <ctrl+z> ; bg % <del> - usuwa proces tła <ctrl+c> - usuwa proces pierwszoplanowy