Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Administracja systemami operacyjnymi Wiosna 2014

Podobne prezentacje


Prezentacja na temat: "Administracja systemami operacyjnymi Wiosna 2014"— Zapis prezentacji:

1 Administracja systemami operacyjnymi Wiosna 2014
Wykład 1 System plików UNIX / Linux dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki

2 Istota systemu plików UNIX jako system operacyjny jest zbudowany wokół pojęcia systemu plików, które używane są do przechowywania informacji składających się na długofalowy stan systemu. W Unixie wszystko jest plikiem. Stan ten zawiera: jądro systemu operacyjnego, pliki wykonywalne dla poleceń wspieranych przez system, informacje konfiguracyjne, tymczasowe pliki robocze, dane użytkownika różne pliki specjalne służące do kontroli dostępu do składników sprzętowych systemu i funkcji systemu operacyjnego. Każdy element przechowywany w systemie plików UNIX należy do jednego z czterech typów: Zwykły plik Katalog Urządzenie Dowiązanie

3 Rodzaje plików w UNIX PLIK ZWYKŁY KATALOG Specjalne nazwy katalogów
Może zawierać tekst, dane lub informacje programu Nie może zawierać innych plików lub katalogów. Nazwy plików w UNIX’ie mogą zawierać dowolny znak z wyjątkiem / i mieć do 256 znaków długości (znaki *, ?, # i & mogą mieć specjalne znaczenie dla powłoki i nie należy ich używać w nazwach). Spacja w nazwie powoduje niewygodę w korzystaniu – lepszy jest podkreślnik _. KATALOG Zawiera pliki i inne katalogi Specjalne nazwy katalogów W każdym katalogu są zdefiniowane dwa specjalne katalogi: . bieżący katalog .. katalog nadrzędny W niektórych powłokach zdefiniowane są ponadto katalogi: ~ katalog domowy zalogowanego użytkownika ~nazwa_uzytkownika katalog domowy określonego użytkownika

4 Rodzaje plików UNIX Dowiązanie – wskazanie na inny plik zwykły lub katalog Dowiązania twarde (hard links). Dowiązanie twarde to utworzenie nowej nazwy dla istniejącego pliku. Dowiązania symboliczne (symbolic links). Link symboliczny to dowiązanie do pliku wskazujące na jego nazwę. Urządzenie jest traktowane przez UNIX jak plik, aby zapewnić aplikacjom łatwość dostępu do niego. Są dwa rodzaje urządzeń urządzenie znakowe – pseudoplik reprezentujący urządzenie przesyłające dane strumieniem, bajt po bajcie (np. modem) urządzenie blokowe – pseudoplik reprezentujący urządzenie zapewniające swobodny dostęp do danych, wymieniające dane w blokach (np. dysk twardy) Nazwany potok – specjalny plik, który ma służyć jako łącznik między procesami Gniazdo – plik służący jako mechanizm komunikacji sieciowej między procesami

5 Drzewo katalogów Linuksa
System plików UNIX ma strukturę odwróconego drzewa. Początek jest w katalogu root (korzeń), oznaczanym /.

6 Katalogi domowe i systemowe
Osobiste pliki użytkowników znajdują się zwykle w katalogu /home/nazwa_uzytkownika (dla zwykłych użytkowników) i /root (dla superużytkownika). Katalog domowy jest zwykle ustawiany jako bieżący katalog roboczy powłoki zaraz po zalogowaniu. Użytkownik może swobodnie tworzyć, modyfikować i usuwać pliki i katalogi w obrębie swojego katalogu domowego i jego podkatalogów. Może również ograniczać dostęp do nich innym użytkownikom (ale nie superużytkownikowi). W katalogach systemowych przechowywane są pliki systemu operacyjnego, aplikacji, dokumentacja – wszystko oprócz plików prywatnych użytkowników. Zwykli użytkownicy mogą przeglądać większość zawartości katalogów systemowych, choć zwykle nie mogą w nich pisać (tworzyć, modyfikować lub usuwać plików i podkatalogów). Nazwy katalogów systemowych składają się zwykle z 3 części:

7 Zakres katalogu Zakres ścieżki katalogu określa przeznaczenie całej hierarchii katalogów. Najczęstsze zakresy to: / pliki systemowe (hierarchia podstawowa); /usr pliki wspólne użytkowników tylko do odczytu, zawiera większość narzędzi i aplikacji (hierarchia drugorzędna) /usr/local dane lokalne, specyficzne dla maszyny (hierarchia trzeciorzędna) /usr/X11R6 pliki systemu X Window /usr/games pliki gier /opt pliki opcjonalnych pakietów oprogramowania /srv dane udostępniane przez system, specyficzne dla maszyny; /var pliki czasu wykonania

8 Kategorie katalogów Kategorie programów Kategorie dokumentacji bin
programy (pliki binarne lub skrypty) przewidziane do ogólnego użytku sbin programy (pliki binarne lub skrypty) przewidziane do wykonywania przez superużytkownika lib, lib64 biblioteki kodów używanych przez inne programy libexec programy przewidziane do wywoływania przez inne programy Kategorie dokumentacji doc pliki dokumentacji; info pliki pomocy systemu info man pliki stron podręecznika share inne pliki związane z programem (przykłady, instrukcje instalacji, grafiki, dane).

9 Kategorie katalogów Kategorie konfiguracji Kategorie usług etc
pliki konfiguracyjne systemu i usług; init.d, rc.d, rc0.d, rc1.d,. . . , rc6.d pliki konfiguracyjne wykorzystywane podczas rozruchu systemu. Kategorie usług ftp pliki udostępniane przez serwer FTP www pliki udostępniane przez serwer WWW html strony WWW w języku HTML i PHP cgi-bin skrypty i programy działające na stronach WWW

10 Kategorie katalogów Kategorie systemu wyświetlania Kategorie sprzętu
fonts Pliki czcionek X11 Pliki systemu X Window Kategorie sprzętu dev pseudopliki urządzeń media punkty montowania nośników wymiennych mnt punkty montowania tymczasowych systemów plików Kategorie plików czasu wykonania lock pliki blokad log pliki dzienników systemowych mail skrzynki pocztowe dla przychodzącej poczty run pliki przechowujące identyfikatory działających procesów spool pliki kolejkowane lub przesyłane (poczta wychodząca, zadania wydruku, zadania planowane) tmp pliki tymczasowe, dostępne dla programów i użytkowników

11 Katalogi systemu operacyjnego
/boot pliki potrzebne w trakcie rozruchu systemu (przechowują jądro systemu, najczęściej /boot/vmlinuz); /lost+found odzyskane dane z uszkodzonych plików /proc działające procesy, m.in.: /proc/ioports lista urządzeń wejścia – wyjścia /proc/version wersja systemu operacyjnego /proc/uptime czas działania systemu (w sek.); /proc/nnn (nnn — liczba całkowita dodatnia) informacje o procesie nr nnn ; /proc/self informacja o aktualnie wykonywanym procesie.

12 Polecenia obsługi plików
pwd print working directory drukuj katalog roboczy ls List lista plików w katalogu cd Change directory zmień katalog mkdir Make directory utwórz katalog rmdir Remove directory usuń katalog cp Copy Kopiuj mv Move Przenieś lub zmień nazwę rm Remove Usuń cat Concatenate Dołącz, połącz pliki more Więcej – wyświetl po stronie lub po linii (tylko przewijanie w dół) less Mniej – wyświetl po stronie lub po linii (przewijanie w dół i do góry) tail Ogon - Wyświetl ostatnich kilka linii pliku

13 Tworzenie dowiązań Dowiązania twarde (hard link) - to utworzenie nowej nazwy dla istniejącego pliku. Polecenie to jest podobne do kopiowania pliku z tym, że przy kopiowaniu tworzona jest niezależna kopia pliku a przy dowiązaniu twardym tworzona jest tylko nowa nazwa, która wskazuje na ten sam istniejący już plik. Do tworzenia dowiązań twardych służy polecenie ln. ln cel_dowiązania dowiązanie gdzie: cel_dowiązania - plik do którego chcemy zrobić dowiązanie dowiązanie - plik, który będzie stanowił dowiązanie do pierwszego Przykład $ ln ~/Desktop/dorota.doc ~/Desktop/Katalog1/aneta.doc Polecenie to utworzy nam w katalogu "Katalog1" plik "aneta.doc", który będzie dowiązaniem do pliku "dorota.doc" znajdującego się na pulpicie $ ls –l ~/Desktop/Katalog1 -rw-r--r-- 2 student student 12 wrz 26 18:30 aneta.doc 2 wskazuje na liczbę dowiązań do pliku Oba dowiązania są równoprawne. Skasowanie jednego z nich nie kasuje zawartości pliku. Aby skasować plik należy skasować wszystkie dowiązania do niego.

14 Tworzenie dowiązań Dowiązania symboliczne (symbolic links) – jest to dowiązanie do pliku wskazujące na jego nazwę. Link symboliczny wskazuje na nazwę pliku, która dopiero wskazuje na plik. Linki symboliczne tworzy się używając parametru -s $ ln -s ~/Desktop/dorota.doc ~/Desktop/Katalog1/aneta.doc $ ls –l ~/Desktop -rw-r--r-- 1 student student 12 wrz 27 12:29 dorota.doc  Utworzenie linku symbolicznego nie zwiększa liczby dowiązań do pliku. $ ls –l ~/Desktop/Katalog1 lrwxrwxrwx 1 student student 12 wrz 27 12:25 aneta.doc -> /home/student/Desktop/dorota.doc Dowiązania referencyjne (reference links) – jest to dowiązanie dostępne w systemach plików BTRFS i OCFS2 poleceniem cp --reflink

15 Nazwy plików – symbole wieloznaczne
Wiele nazw plików może być wyszczególnianych przy pomocy znaków dopasowań do wzorca: ? zastępuje dowolny znak na wskazanej pozycji w nazwie pliku * zastępuje zero lub więcej znaków w nazwie pliku. Sama * odpowiada wszystkim plikom; *.* odpowiada wszystkim plikom mającym w nazwie . znaki otoczone nawiasami kwadratowymi [ i ] odpowiadają dowolnej nazwie pliku, która ma jeden z tych znaków na wskazanej pozycji lista rozdzielonych przecinkami łańcuchów znaków otoczona nawiasami klamrowymi { i } jest rozwijana jako iloczyn kartezjański z otaczającymi znakami. ??? odpowiada wszystkim trójznakowym nazwom plików ?ell? odpowiada wszystkim pięcioznakowym nazwom plików z ‘ell’ w środku he* odpowiada wszystkim nazwom plików rozpoczynającym się od ‘he’ [m-z]*[a-l] odpowiada wszystkim nazwom plików zaczynającym się na litery od ‘m’ do ‘z’ i kończącym na litery od ‘a’ do ‘l’ {/usr,}{/bin,/lib}/file rozwija się na ‘/usr/bin/file’, ‘/usr/lib/file’, ‘/bin/file’ i ‘/lib/file’

16 Systemy plików w Linuksie
Źr. Wikipedia Systemy plików w Linuksie Definicja: System plików – metody i struktury danych używane przez system operacyjny w celu zapisania informacji o plikach i ich zawartości na danej partycji; jest to sposób organizacji plików na dysku. Słowo to jest używane również w znaczeniu dysku, partycji. Linux obsługuje kilkanaście typów systemów plików minix – najstarszy, najbardziej niezawodny. Ograniczenie nazwy pliku do 30 znaków i wielkości do 64MB, brakuje niektórych znaczników czasu. xia – zmodyfikowana wersja systemu minix (podniesiono limity długości nazwy oraz rozmiaru plików). Obecnie nie używany. ReiserFS – szybki i stabilny, dobrze radzi sobie z dużą liczbą małych plików. Obecnie w wersji 3.6. XFS – szybki ale podatny na awarie - wiele informacji przechowuje w pamięci RAM. ext – podstawowa i najstarsza wersja dla linuksa. Aktualnie nie używany. ext2 – ulepszona wersja ext. Ograniczono fragmentację danych i wprowadzono mechanizm naprawy plików ext3 – następca ext2. Wprowadzono mechanizmy księgowania (journaling) co zwiększyło stabilność systemu i odporność na awarie. ext4 – następca ext3, obecnie jeden z najpopularniejszych systemów plików dla Linuksa. Obsługa innych systemów plików (ograniczone zastosowanie) NTFS, msdos (FAT), usmdos (wersja rozszerzona msdos, długie nazwy), iso9660 (płyty CD-ROM) nfs (system sieciowy) hpfs (system plików OS/2), sysv (używany przez SystemV/386)

17 Organizacja partycji w Linuksie

18 Organizacja partycji w Linuksie
Oznaczenia dysków i innych urządzeń hda dysk ATA primary master hdb dysk ATA primary slave hdc dysk ATA secondary master hdd dysk ATA secondary salve sda pierwszy dysk SATA (lub SCSI) sdb drugi dysk SATA (lub SCSI) sdc trzeci dysk SATA (lub SCSI) …… sr0 - pierwszy nośnik wymienny SATA lub USB sr1 - drugi magazyn wymienny SATA lub USB …… cdrom – napęd CD Uwaga – w różnych dystrybucjach nazwy mogą się różnić

19 Podział dysku na partycje
Partycja systemowa SWAP. Jest to partycja, która jest używana jako zapasowa pamięć. Spełnia tę samą rolę co plik wymiany w systemie Windows. Rozmiar partycji nie musi być większy niż 512MB, chyba że korzystamy z hibernacji – wówczas wielkość będzie równa ilości RAM. Niektóre dystrybucje umożliwiają pracę bez partycji SWAP – z plikiem wymiany podobnie jak w Windows. Istnieje możliwość rozdzielenia partycji SWAP na kilka fizycznych dysków co zwiększy wydajność systemu. Partycje użytkowe – można wykorzystać do przechowywania danych. Przygotowując partycje na potrzeby użytkowe często tworzy się jedną partycję na potrzeby systemu operacyjnego i osobną partycję na potrzeby użytkowników. Pozwala to zwiększyć bezpieczeństwo danych użytkowników w razie poważnej awarii dysku czy systemu.

20 Przykładowy podział dysku na partycje
sdb4 to partycja logiczna

21 Zasady podziału dysku na partycje
Zasada główna – nie instalujemy całego linuksa na jednej partycji Zaleca się utworzenie partycji /home – dzięki temu, nasze dokumenty czy skopiowane ustawienia systemu możemy bezpiecznie trzymać podczas formatowania dysku z systemem Przykładowy podział 1. partycja C:\ pod Windows z systemem plików NTFS 2. partycja montowana jako / = ok. 0,5GB (system plików ext3) Tutaj będzie Kernel, pliki roota, pliki katalogu /etc. 3. partycja montowana jako /SWAP = ok. 1GB 4. partycja montowana jako /usr = ok. 2,5-5GB (system plików ext3) Na tej partycji Linux umieści pliki programów, zależenie od ich liczby. 5. partycja montowana jako /var = ok. 5-8GB (system plików ext3) 6. partycja montowana jako /var/log = ok. 1-2GB (system plików ext3) 7. partycja montowana jako /tmp = ok. 1GB (system plików ext3) 8. partycja montowana jako /archiwum = 8GB (system plików ext3) 9. partycja montowana jako /home/public = ok. 7-8GB (system plików ext2) – możliwość odczytu z Windows 10. partycja montowana jako /home pozostała objętość – pliki użytkowników

22 Program rozruchowy Program rozruchowy (ang. boot loader) – działający na zasadzie bootstrapu program uruchamiany jako pierwszy po wykonaniu BIOS-u, służący do załadowania systemu operacyjnego do pamięci operacyjnej komputera. Segment startowy programu rozruchowego może być umieszczony w pierwszym, 512-bajtowym fragmencie sektora startowego dysku twardego (ang. Master Boot Record). W systemach uniksowych pliki dodatkowe programu rozruchowego znajdują się zazwyczaj w katalogu lub partycji montowanej w katalogu /boot. GRUB (ang. GRand Unified Bootloader) - program rozruchowy rozwijany w ramach projektu GNU. Pozwala zainstalowa wiele systemów na jednym komputerze (m. in. Linux, FreeBSD, Windows, Mac OS X) Potrafi odczytywać wiele systemów. W ten sposób można załadować jądro systemu operacyjnego oraz ewentualnie wirtualny dysk startowy. Dodatkowo GRUB potrafi ładować systemy bezpośrednio z urządzenia. GRUB obsługuje zabezpieczenia hasłem uruchamiania dowolnego systemu.

23 Program rozruchowy LILO (z ang. Linux Loader) niezależne od żadnego systemu plików, potrafi załadować jądro systemu operacyjnego Linux lub inny kod wykonywalny zarówno z dyskietki jak i z dysku twardego. Program obsługuje od 1 do 16 różnych wpisów. Różne parametry startowe (takie jak urządzenie z którego należy zamontować główny system plików) mogą być ustawiane niezależnie dla każdego wpisu. LILO może zostać zainstalowany jako główny program rozruchowy w MBR (uruchamiany bezpośrednio przez BIOS) lub w sektorze rozruchowym partycji (uruchamiany pośrednio - z innego programu rozruchowego). SYSLINUX – zestawem programów rozruchowych, służących do uruchamiania jądra Linux. Jest używany w różnego rodzaju dyskietkach i płytach ratunkowych oraz tzw. lekkich systemach. SYSLINUX dla systemu FAT (do uruchamiania z dyskietki) ISOLINUX dla systemu ISO 9660 (do uruchamiania z płyty) PXELINUX dla serwera sieciowego PXE(Pre-boot eXecution Environment) EXTLINUX dla systemów ext2, ext3, ext4 oraz btrfs; MEMDISK dla uruchamiana systemu operacyjnego DOS

24 Narzędzia systemu plików
mount, umount – montowanie filesystemów (konieczne przed wykonaniem operacji) fdisk, cfdisk – narzędzia partycjonowania dysku mkfs – formatowanie partycji (tryb tekstowy) badblocks  – wyświetla listę bloków, które uznał za zepsute. fsck – narzędzie naprawy systemu plików. stat – informacje o pliku df – podaje ilość wolnego miejsca na dyskach du – zwraca ilość miejsca zajmowanego przez plik dumpe2fs  – drukuje superblok i dane grupy bloków systemu plików znajdującego się na urządzeniu tune2fs – tuning systemu plików GParted  – edytor partycji oparty na środowisku graficznym GNOME dostępny na licencji GPL TestDisk dobry darmowy program do odzyskiwania danych na dyskach twardych.

25 Montowanie filesystemów
Przed użyciem systemu plików należy go zamontować. System operacyjny sprawdza niektóre części systemu plików w celu upewnienia się, że działa. Ponieważ w Unixie pliki przechowywane są w jednym drzewie, nowy system plików będzie tworzył zawartość jakiegoś katalogu. # mount /dev/hda2 /home # mount /dev/hda3 /usr

26 Plik /etc/fstab /etc/fstab (ang. file systems table) to plik konfiguracyjny w systemach uniksowych, zawierający informacje na temat montowania urządzeń przy uruchomieniu systemu. # <file system> <mount point> <type> <options> <dump> <pass> /dev/sda2 swap swap defaults 0 0 /dev/sda1 / ext3 defaults 0 0 /dev/sda3 /home ext3 defaults 1 2 /dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0 /dev/hda1 /mnt/debian auto defaults 0 0 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 devpts /dev/pts devpts gid=5,mode= proc /proc proc defaults 0 0 /etc/mtab ( mounted file systems table, tablica zamontowanych systemów plików) zawiera listę zamontowanych systemów plików. Plik ten ma format bardzo podobny do pliku fstab i jest automatycznie modyfikowany podczas użycia polecenia mount.

27 System plików UNIX (s5fs)
System plików Unix obecnie chwili już nie istnieje. Unix czy Linux pracuje z wirtualnym systemem plików UNIX, w warstwie niższej pracuje inny system plików (ext3, ext4)

28 System plików Unix (s5fs)
Wyróżnione obszary partycji Superblok - blok pełni rolę bootsektora. Ulega zmianie w trakcie pracy Tablica I-Węzłów (inode) - zawiera strukturę katalogów. Zapisywana w jednym obszarze ciągłym. Są to pozycje katalogowe, ale bez nazw plików. Struktura wpisu Typ pliku - plik, katalog, specjalny Właściciel, właściciel grupowy, atrybuty dostępu SUID SGID 32-bitowa długość pliku (w 32bitowych linuksach, w 64bitowych jest to 64bit pozycja) Atrybuty ID, czasu Liczba twardych dowiązań do pliku. Położenie na dysku - tablica indeksowa Dalej znajduje się przestrzeń danych – bloki z danymi plików i katalogów oraz bloki pośrednie. Rozmiar bloku dyskowego wynosi 512 bajtów pomnożone przez pewną potęgę 2.

29 Katalog w s5fs Katalog jest plikiem specjalnym zawierającym listę plików i podkatalogów. Składa się z rekordów o stałym rozmiarze równym 16 bajtów. Pierwsze 2 bajty zawierają numer i-węzła, a następne 14 nazwę pliku. Taka budowa katalogu ogranicza liczbę plików w partycji do plików oraz długości nazw plików do 14 znaków. Ponieważ katalog jest plikiem, ma także i-węzeł, który zawiera pole identyfikujące plik jako katalog. Jeśli numer i-węzła odpowiadający pozycji jest równy 0 to oznacza, że plik już nie istnieje. Katalog główny partycji oraz jego pozycja zawsze mają numer równy i-węzła 2.

30 Pliki Pliki w systemie UNIX nie zajmują ciągłego obszaru na dysku.
W miarę wzrostu rozmiaru pliku jądro przydziela mu nowe bloki w wygodnym miejscu na dysku. Pozwala to łatwo zmniejszać i zwiększać rozmiar pliku nie fragmentując dysku. System plików musi więc utrzymywać informacje o położeniu bloków każdego pliku (w postaci adresów bloków fizycznych). Logiczny numer bloku jest indeksem w tej tablicy.

31 Pliki Wielkość tablicy zależy od rozmiaru pliku. Dla dużych plików wymagało by to trzymania tablicy w kilku blokach dyskowych. Dlatego trzyma się małą listę w samym i-węźle, a dodatkowe bloki stosuje się w przypadku dużych plików. Jest to efektywne rozwiązanie do obsługi małych plików i wystarczająco elastyczne do obsługi bardzo dużych plików. Dziury Pliki uniksowe mogą zawierać tzw. dziury. Użytkownik może utworzyć plik, ustawić wskaźnik pozycji w pliku na dużą wartość i tam zapisać dane. Przestrzeń bez danych między tą pozycją a początkiem pliku jest dziurą. Jeśli proces spróbuje odczytać tą przestrzeń stwierdzi, że znajdują się tam bajty NULL o wartości 0. Żeby nie marnować miejsca na dziury jądro wpisuje zera w odpowiednie miejsca tablicy di_addr lub bloku pośredniego. Przy próbie odczytu, jądro przekazuje w wyniku blok wypełniony zerami. Przestrzeń dyskowa jest przydzielana jedynie przy zapisie danych do bloku.

32 Alokacja I-węzłów Stosuje się algorytm przeszukiwania sekwencyjnego, zoptymalizowany przez częściową listę wolnych i-węzłów zawartą w superbloku. Alokujemy od początku listy (z prawej do lewej). Jeśli numer zwalnianego i-węzła jest mniejszy niż tego z końca listy, to dodajemy go na końcu listy, w przeciwnym wypadku nie robimy nic. Pustą listę uzupełniamy o wolne i-węzły zaczynając przeszukiwanie od następnego po ostatnio zaalokowanym. (pozwala na to poprzednia reguła) Sytuacja początkowa Alokujemy nr 43 Alokujemy nr 44. Zwracamy nr 43 Zwracamy nr 44. Alokujemy nr Uzupełniamy listę

33 Alokacja bloków Nie ma możliwości sprawdzenia czy blok jest wolny, więc trzeba pamiętać całą listę wolnych bloków. Początek listy jest w superbloku. Ostatni element listy w danym bloku zawiera dalszą część listy. Alokujemy z początku listy. Zwracamy również na początek. Przykładowa lista wolnych bloków. Alokujemy od nr 128 do nr 30


Pobierz ppt "Administracja systemami operacyjnymi Wiosna 2014"

Podobne prezentacje


Reklamy Google