1 / 137

Trochę historii

1. Trochę historii. Lata 50 – początki systemów operacyjnych, programy batch, minimalizacja przestojów między kolejnymi programami Lata 60 – pierwsze systemy operacyjne interaktywne. Kilku użytkowników korzystało z tego samego komputera równocześnie. Podział czasu

jensen
Download Presentation

Trochę historii

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1 Trochę historii • Lata 50 – początki systemów operacyjnych, programy batch, minimalizacja przestojów między kolejnymi programami • Lata 60 – pierwsze systemy operacyjne interaktywne. Kilku użytkowników korzystało z tego samego komputera równocześnie. Podział czasu • Wiele różnych zespołów, wiele projektów, jednym z nich był Multics

  2. 2 Trochę historii • Bell Labs opuścił zespół pracujący nad systemem Multics i stworzył własny system operacyjny, Unix. Początkowo rozprowadzany za darmo, zdobył dużą popularność w uniwersytetach • Lata 90 – pozycja Unixa stała się mocna, ale został produktem komercyjnym i drogim. • Tani, podobny do Unixa system Minix był ubogi, napisany w celach dydaktycznych. 386BSD, prekursor systemów NetBSD, FreeBSD, OpenBSD był niedojrzały i potrzebował mocnego sprzętu

  3. 3 Trochę historii • Październik 1991 Linus Torvalds używał Unixa na uniwersytecie w Helsinkach, chciał mieć podobny system w domu. Próbował systemu Minix, ale chciał coś lepszego. Rozpoczął pisanie własnego systemu operacyjnego • Po opublikowaniu pierwszej działającej wersji system przyciągnął uwagę innych programistów. Zaczął się dynamicznie rozwijać

  4. 4 Trochę historii • Linux to tylko jądro systemu (zarządzanie pamięcią, drivery urządzeń, zarządzanie wielozadaniowością itp). Pozostałe oprogramowanie systemowe, w tym najaważniejszy – kompilator C pochodziły z Free Software Foundation's GNU project. • Free Software Foundation's GNU project rozpoczął sie w 1984 roku, ma za cel stworzenie kompletnego farmowego wzorowanego na Unixie systemu operacyjnego. Linux czasami jest nazywany GNU/Linux.

  5. 5 Trochę historii • Lata 92 i 93 – Linux wzbogacił się o protokół TCP/IP i środowisko graficzne (X Window), mogł zastąpić w stacjach roboczych Unixa. Wiele małych firm zajęło się rozwojem i dystrybucją Linuxa, pojawiły się grupy użytkowników • Początek 1994 – rozpoczęto wydawanie Linux Magazine • Marzec 1994 – jądro 1.0 • 1997 rok – Netscape udostępniło swoje oprogramowanie bezpłatnie. Powstał model oprogramowania typu “open source”

  6. 6 Co to takiego • Linux to wzorowany na systemie Unix wielozadaniowy i wielodostępny system operacyjny dla 32 i 64 bitowych procesorów, działający na wielu platformach. Programy pisane dla UNIX działają na Linux po rekompilacji • Linux, podobnie jak Unix był od początku projektowany jako wielozadaniowy. Wielozadaniowość musi być brana pod uwagę w całym systemie operacyjnym, systemy do których dodano ja później, robią to gorzej (przykład: win95 – win NT)

  7. 7 Co to takiego • Dobra ochrona pamięci, program użytkowy nie może zniszczyć innego • Linux był pisany na Intel 386, teraz działa na Sun SPARC i UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64 and CRIS – procesory 32 i 64 bitowe

  8. 8 Co to takiego • Skalowalność – działa w komputerach wbudowanych, telefonach komórkowych, mainframe, .... • Dzięki technologii cluster np. Beowulf działa na superkomputerach

  9. 9 Co to takiego • Pierwsze aplikacje to oprogramowanie naukowe, bazy danych, sieci komputerowe. Interfejs z linii komend. • Pierwsze poważne zastosowania – jako serwery plików, poczty, baz danych • Środowisko graficzne - KDE, Gnome pozwoliło na powstanie aplikacji dla zwykłych użytkowników, na przykład Open Office.

  10. 10 Dystrybucje • Linux i jego oprogramowanie rozwijane jest przez wiele zespołów • Możliwe jest samodzielne zebranie oprogramowania i jego zainstalowanie • Wygodniej jest skorzystać z gotowego zestawu, dystrybucji

  11. 11 Dystrybucje • Dystrybucja to jądro systemu, program instalacyjny i zestaw programów użytkowych • Istnieją setki dystrybucji, ogólnego przeznaczenia i wyspecjalizowane. Różnią się programem instalacyjnym, konfiguracją jądra, zestawem programów użytkowych i ich wersją • Najważniejsze dystrybucje ogólnego przeznaczenia - Red Hat, SuSE, Debian ....

  12. UNICS 1969 Piąta edycja 1973 Szósta edycja 1976 Siódma edycja 1978 SYSV (5) 1983 BSD 1979 Solaris/SUNOS 5.x (SUN) AIX (IBM) IRIX (SGI) HP-UX (HP) Digital Unix (DEC) SCO UNIX (SCO) SUNOS 4.x (SUN) NextStep (NeXT) FreeBSD (Open Source) OpenBSD (Open Source) NetBSD (Open Source) Linux (Open Source) 1991

  13. Użytkownicy Shell, GUI Programy systemowe Aplikacje Biblioteki systemowe Jądro (kernel) Sprzęt (procesor, pamięć, dyski itp.)

  14. 14 Budowa systemu - jądro • Jądro systemu – tworzy wirtualny komputer dla procesów użytkowych • Interfejs do sprzętu (kart sieciowych, pamięci RAM, dysków itp) • Ładowalne moduły do obsługi urządzeń, sieci, systemu plików itp. • Pracuje w trybie uprzywilejowanym • Cały kod i struktury danych w jednej przestrzeni adresowej • Interfejs do bibliotek systemowych (system libraries)

  15. 15 Budowa systemu - jądro • Pięć głównych podsystemów: • PSHED(process sheduler) odpowiada za dostęp do CPU • MM (memory manager) odpowiada za bezpieczne użycie pamięci przez wiele procesów, obsługuje pamięć wirtualną • NET (network interface) zapewnia dostęp do urządzeń sieciowych w różnych standardach

  16. 16 Budowa systemu - jądro • Pięć głównych podsystemów: • VFS (virtual filesystem) ukrywa dla procesów szczegóły fizycznego dostępu do urządzeń pamięci zewnętrznej. Obsługuje wiele formatów, kompatybilnych z innymi systemami operacyjnymi (vfat, cdfs, ntfs itp.) • IPC (inter process communication) dostarcza mechanizmów do komunikacji między różnymi procesami na tej samej maszynie

  17. 17 Budowa systemu – biblioteki systemowe • Procesy użytkowe chcąc skorzystać z jadra wywołują funkcje bibliotek systemowych. • Biblioteki systemowe nie działają w trybie uprzywilejowanym, wykonują te funkcje systemu, które tego trybu nie wymagają, na przykład buforowanie wejścia/wyjścia • Pełnią też zadania, które nie mają odpowiedników w funkcjach jądra, np. sortowanie, operacje matematyczne • Zapewniają zgodność ze standardami – POSIX, UNIX itp.

  18. 18 Budowa systemu – programy użytkowe • Interpretatory poleceń – sh, csh, tcsh, bash • Programy obsługujące zewnętrzne polecenia systemowe – ls, ps, netstat, grep .... • Programy działające w tle – daemony • Kompilatory i biblioteki • Aplikacje użytkowników

  19. 19 System plików FHS 2.3.1

  20. 20 System plików - / (Root) • Musi zawierać wszystko, co potrzebne do uruchomienia systemu, jego odtworzenia lub naprawienia • Nie powinien być duży • Musi umożliwić zamontowanie pozostałych systemów plików

  21. 21 System plików - /bin • Zawiera podstawowe polecenia używane przez administratora i wszystkich użytkowników • Musi zawierać polecenia niezbędne do zamontowania filesytemów

  22. 22 System plików - /boot • Zawiera wszystko, co niezbędne do uruchomienia systemu, dane potrzebne zanim jądro systemu rozpocznie działanie • Jadro systemu może być w kartotece /boot lub w kartotece /

  23. 23 System plików - /dev • Zawiera pliki specjalne lub pliki urządzeń • Jeśli w kartotece /dev możliwe jest tworzenie nowych plików urządzeń, musi zawierać polecenie MAKEDEV do ich tworzenia

  24. 24 System plików - /etc • Zawiera pliki konfiguracyjne • Nie może zawierać programów binarnych • Zawiera podkartoteki na konfiguracje aplikacji

  25. 25 System plików - /home • Zawiera pliki użytkowników • Nie musi występować w systemie

  26. 26 System plików - /lib • Zawiera podstawowe biblioteki systemu • Musi występować w systemie • Musi zawierać zbiory: • libc.so.* podstawowa biblioteka C • ln (linker/loader)

  27. 27 System plików - /media • Zawiera punkty montowania dla mediów wymiennych, CDROM, dyskietki, taśmy itp.

  28. 28 System plików - /mnt • Zawiera punkty montowania dla filesystemów montowanych tymczasowo

  29. 29 System plików - /sbin • Programy używane przez administratora systemu • Inne lokalizacje tych programów - /usr/sbin, /usr/local/sbin

  30. 30 System plików - /tmp • Kartoteka na zbiory tymczasowe • Dostępna do zapisu dla wszystkich użytkowników • Podczas przeładowania systemu jej zawartość może i powinna być usunięta • Alternatywnym miejscem dla zbiorów tymczasowych jest /var/tmp – zawartość tej kartoteki nie jest kasowana przy przeładowaniu systemu

  31. 31 System plików - /usr • Kartoteka na pozostałe zbiory systemu • Nie powinna być używana do zapisu przez użytkowników i aplikacje • Podkartoteki bin, sbin, share, lib, include, local • Może zawierać inne podkartoteki, np, X11R6, src

  32. 32 System plików - /var • Kartoteka na zmieniające się pliki, np. logi systemowe, kolejki drukarek, kolejki poczty • Zawiera podkartoteki cache, lib, local, lock, log, opt, run, spool, tmp • Może zawierać opcjonalnie np. mail, games

  33. 33 System plików - /proc • Opcjonalny, lecz często występujący w systemach Unix • Zawiera informacje o stanie systemu – procesach, urządzeniach, pamięci, przerwaniach itp. • Wirtualny, tworzony podczas pracy systemu. • Poprzez modyfikację zbiorów w tym systemie plików można zmienić działanie systemu, np. włączyć routing

  34. 34 System plików - rodzaje plików • Kartoteki • Zwykłe pliki • Link symboliczny, zwykły • Pipe • Pliki urządzeń – znakowych i blokowych

  35. 35 System plików - prawa do plików • Prawo do zapisu, odczytu, wykonania • Grupy praw dla właściciela, grupy i pozostałych użytkowników • Zapisywane często ósemkowo, kolejne bity oznaczają kolejno czytanie, zapis, wykonanie. Kolejne cyfry ósemkowe odnoszą się do właściciela, grupy i pozostałych. Na przykład754 oznacza:7 – czytanie, zapis i wykonanie dla właściciela5 – czytanie i wykonanie dla grupy4 – czytanie dla pozostałych użytkowników

  36. 36 System plików - prawa do plików • Sticky bit • Dla plików dawniej nakazywał przechowywanie w swap, obecnie w Linuxie ignorowany • Dla kartotek – kasować i zmieniać nazwę zbiorów w nich może tylko root lub właściciel. Używane np. w kartotece /tmp

  37. 37 System plików - prawa do plików • set-UID set-GID • uruchomienie pliku przez zwykłego użytkownika spowoduje nadanie procesowi praw jego właściciela (grupy) • Niezbędne dla niektórych programów, np. passwd – modyfikuje shadow • Niebezpieczne, jeśli użytkownik podstawi własny program (np. shell) z set-UID

  38. 38 System plików - prawa do plików Kolejne bity: 4 set-UID 2 set-GID 1 sticky bit 4 odczyt – właściciel 2 zapis – właściciel 1 wykonywanie – właściciel 4 odczyt – grupa 2 zapis – grupa 1 wykonywanie – grupa 4 odczyt – wszyscy 2 zapis – wszyscy 1 wykonywanie - wszyscy

  39. 39 System plików - prawa do plików Inny zapis: chmod [ugoa...][[+-=][rwx] u – user – właściciel g- group – grupa o, a other, all – pozostali r, w, x – odczyt, zapis, wykonywanie (dostęp do kartoteki) + dodaj - usuń = usuń wszystkie i pozostaw tylko te podane

  40. 40 System plików – montowanie i odmontowanie • W dowolnym miejscu hierarchii systemu plików dołączyć możemy kolejny system plików • miejsce, gdzie nowy system plików dołączymy nazywa się punktem montowania. • Punkt montowania musi być kartoteką, po zamontowaniu jej ewentualna zawartość zostanie przesłonięta nową zawartością. • Zamontować można dyskietkę, partycję dysku, cdrom, dysk udostępniany przez sieć itp

  41. 41 System plików – montowanie i odmontowanie • Do zamontowana systemu plików służy komenda mount, do odmontowania - umount • Typowe użycie:mount -t typ urzadzenie punkt_montowaniaumount urzadzenieumount punkt montowania • urzadzenie to plik specjalny w /dev • punkt to kartoteka, w której chcemy zamontować system plików

  42. 42 System plików – montowanie i odmontowanie • typ określa fizyczny format zapisu na montowanym nośniku, może to być fat, vfat, cdfs, ntfs, ufs, ext2, ext3, nfs .... • Odmontować system plików można podając urządzenie lub punkt jego zamontowania. Nie można odmontować systemu plików, jeśli jest używany

  43. 43 System plików – montowanie i odmontowanie Podczas startu systemu automatycznie montowane są systemy wskazane w zbiorze /etc/fstab: LABEL=/1 / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 LABEL=/usr1 /usr ext3 defaults 1 2 LABEL=/var1 /var ext3 defaults 1 2 /dev/hda2 swap swap defaults 0 0 /dev/hda7 /home ext3 defaults 1 2

  44. 44 System plików – tworzenie filesystemu fdisk – program do podziału dysku na partycje fdisk urządzenie (np. /dev/hda) p – wyświetla istniejącą tablicę partycji n – tworzy nową partycję d - kasuje partycję l – wyświetla listę znanych typów partycji m – wyświetla help t – zmienia typ partycji w- zapisuje tablicę partycji na dysku q – wyjście bez zapisania zmian

  45. 45 System plików – tworzenie filesystemu mke2fs – program do tworzenia w partycji filesystemu ext2/ext3 mkfs – program do tworzenia w partycji filesystemu. Jeśli nie podamy typu, utworzy ext2. Potrafi utworzyć filesystemy msdos, vfat, reiserfs, jfs... Wszystkie, dla których zainstalowano programy mkfs.typ Użycie: mke2fs urzadzenie (np. /dev/hda0) mkfs -t typ urzadzenie

  46. 46 System plików – tworzenie filesystemu fdformat – program do formatowania dyskietki w formacie dos fdformat [-n] urzadzenie urzadzenie to /dev/fd0 (/dev/fd1) lub /dev/fd0d360 (minor = 4) /dev/fd0h1200 (minor = 8) . . . /dev/fd0H1440 (minor = 28) n – bez weryfikacji w niektórych systemach urządzenia inne niż fd0 trzeba utworzyć przez MAKEDEV

  47. 47 System plików – użyteczne polecenia ls – wyświetla zawartość kartoteki cp – kopiuje pliki i kartoteki mv – przenosi plik w inne miejsce lub zmienia nazwę pliku more – wyświetla zawartość pliku znakowego od – wyświetla zawartość pliku ósemkowo, dziesiętnie, szesnastkowo lub znakowo df – wyświetla zajętość systemu plików du – wyświetla wielkość podkartotek mount – (bez parametrów) wyświetla zamontowane systemy plików

  48. 48 System plików – użyteczne polecenia touch – tworzy nowy, pusty zbiór cat - wyświetla zawartość pliku lub plików, umożliwia łączenie plików grep – wyszukuje wzorcowy łańcuch w plikach tail – wyświetla koniec pliku rm – usuwa plik lub kartotekę rmdir – usuwa kartotekę mkdir – tworzy kartotekę ln – tworzy symboliczny link mkfifo – tworzy pipe chmod – zmienia prawa pliku chown – zmienia właściciela pliku

  49. 49 ln plik nazwa_linku – tworzy twardy link do wskazanego pliku ln -s plik nazwa_linku – tworzy miękki link do wskazanego pliku Twardy link tworzy nowy wpis w kartotece wskazujący na zbiór, musi wskazywać na istniejący plik w tym samym filesystemie, usunięcie oryginału nie spowoduje usunięcia linku

  50. 50 ? * - zastępują jeden i wiele znaków w nazwie [abxeo3-8] zastępuje pojedynczy znak jednym z wymienionych w nawiasach(znak '-' podaje przedział znaków) {ala,ola}.txt – iloczyn kartezjański łańcuchów w nawiasach . .. - bieżąca kartoteka, nadrzędna kartoteka

More Related