Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Środowisko pracy informatyka zima 2014 Wykład 3 Budowa systemu Unix / Linux dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki

Podobne prezentacje


Prezentacja na temat: "Środowisko pracy informatyka zima 2014 Wykład 3 Budowa systemu Unix / Linux dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki"— Zapis prezentacji:

1 Środowisko pracy informatyka zima 2014 Wykład 3 Budowa systemu Unix / Linux dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki 1

2 Architektura systemu operacyjnego 2

3 3 Jądro systemu operacyjnego kontroluje bezpośrednio podległy sprzęt. Zapewnia sterowniki niskopoziomowe urządzeń, funkcje zarządzania pamięcią i procesorem (np. obsługę przerwań sprzętowych, podział procesora pomiędzy wiele programów, alokację pamięci dla programów itp.) Podstawowe niezależne od sprzętu usługi jądra są dostępne dla programów wyższego poziomu poprzez bibliotekę wywołań systemowych (np. usługi tworzenia pliku, rozpoczęcie wykonywania programu, otwarcie logicznego połączenia sieciowego). Aplikacje (np. edytory tekstu, arkusze kalkulacyjne) oraz narzędzia systemowe (proste programy dostarczane wraz z systemem operacyjnym, np. program wyszukujący łańcuch tekstowy) korzystają z wywołań systemowych. Są uruchamiane poprzez powłokę (linię poleceń) lub graficzny interfejs użytkownika.

4 4 Początki UNIXa 1965 MULTICS (MIT+ AT&T Bell Labs + GE) MULTiplexed Information and Computing Service 1969 AT&T Bell Labs wycofuje się z projektu; Ken Thompson i Dennis Ritchie (Bell Labs) pracując na własną rękę, tworzą w oparciu o idee MULTICSa nowy system UNICS, (UNiplexed Information and Computing Service), który implementują na PDP-7

5 5 Początki UNIXa, cd 1971 AT&T UNIX First Edition (11/3/1971) pierwsza oficjalna wersja systemu, zawierająca procesor tekstu, zaimplementowana na PDP th Edition UNIX (3/73) pojawiły się potoki (pipes) i filtry oraz kompilator języka C. Jądro systemu napisane w asemblerze th Edition UNIX (11/73) jądro systemu napisane w C th Edition UNIX (V6 UNIX) pierwsza wersja systemu powszechnie dostępna poza Bell Labs.

6 6 BSD UNIX Na skutek problemów prawnych AT&T nie mogło zarabiać na sprzedaży UNIXa – postanowiło więc udostępnić go uniwersytetom, gdzie system był dalej rozwijany Bill Joy z Uniwersytetu Kalifornijskiego w Berkeley wydaje pierwszą wersję Berkeley Software Distribution, znaną jako 1BSD W następstwie otrzymania kontraktu DARPA (Defense Advanced Research Projects Agency) Bill Joy tworzy w Berkeley kolejną dystrybucję: 4.1BSD Powstaje 4.2BSD zawierająca TCP/IP. Rok wcześniej Bill Joy odchodzi, by stworzyć Sun Microsystems Powstaje poprawiona wersja 4.3BSD Powstaje ostatnia wersja z Berkeley: 4.4BSD.

7 7 AT&T UNIX 1982 UNIX System Group (AT&T) wypuszcza System III UNIX UNIX System Development Labs (AT&T) wypuszcza System V UNIX Release 1 (SVR1) Powstaje System V UNIX Release 2 (SVR2) Pojawia się SVR3 zawierająca m.in. NFS (Network File System) UNIX System Labs (AT&T) wypuszcza SVR Novell kupuje USL od (AT&T) i wypuszcza SVR4.2MP SCO (Santa Cruz Operation) kupuje Uniksa od Novella Caldera (dystrybutor Linuxa) kupuje Uniksa od SCO.

8 Historia UNIXa 8

9 Ważniejsze gałęzie drzewa rodziny UNIX 9

10 Systemy z rodziny UNIX 10 AIXhttp://www.ibm.com/aix/ FreeBSD HP-UXhttp://www.hp.com/go/hpux/ Linuxhttp://www.kernel.org/ Mac OS X Minix NetBSD OpenBSD SCO OpenServer OpenSolarishttp://www.opensolaris.com/, Androidhttp://www.android.com/

11 Odmiany UNIXa – przykłady 11 Odmiany oparte o SYSV są bardziej konserwatywne, lecz mają lepsze wsparcie niż te oparte o BSD. Ostatnie wersje SYSV (SVR4) i BSD Unix są bardzo podobne – różnią się strukturą systemu plików, nazwami narzędzi systemowych i opcji oraz bibliotekami wywołań systemowych. Różnice pomiędzy SYSV a BSD PrzykładTypowy SYSVTypowy BSD nazwa jądra /unix /vmunix skrypty rozruchowekatalogi /etc/rc.dpliki /etc/rc.* zamontowane systemy plików/etc/mnttab/etc/mtab domyślna powłokash, kshcsh, tcsh rozmiar bloku systemu plików512B – 2kB4kB – 8kB podsystem drukulp, lpstat, cancellpr, lpq, lprm polecenie echo (bez nowego wiersza)echo "\c"echo -n polecenie ‘ps’ps –faeps -aux wywołanie wielokrotnego oczekiwaniapollselect wywołanie dostępu do pamięcimemset, memcpybzero, bcopy

12 Architektura warstwowa UNIXa 12

13 Warstwy Unixa z punktu widzenia użytkownika 13 Aplikacje – tysiące programów, obsługiwanych bądź z linii poleceń, bądź przez środowisko graficzne. Menedżery okien i środowiska graficzne – oprogramowanie korzystające z systemu X odpowiedzialne za wygląd interfejsu, mogące być również kompletnymi środowiskami pracy (np. GNOME, KDE); X Window – system graficzny udostepniający obsługę okien, menu, ikon, myszy i innych elementów typowych dla graficznego interfejsu użytkownika Powłoka – tekstowy interfejs użytkownika, pozwalający wpisywać polecenia, wykonywać je i wyświetlać wyniki; Narzędzia i biblioteki udostępniające programom użytkownika funkcje jądra Jądro systemu – system operacyjny niskiego poziomu, służący do komunikacji ze sprzętem zainstalowanym w komputerze;

14 Jądro monolityczne UNIXa 14 Jądro monolityczne jest jednym programem, podzielonym na podprogramy, które wzajemnie są ze sobą powiązane. Brak w nich wyraźnej struktury, lub jest ona dosyć luźna. Przykłady oprócz Unixa to: MS-DOS, MS-Windows 95, 98, ME. Użytkownicy Programy użytkowników, shell, biblioteki systemowe terminale Pamięć masowa Pamięć operacyjna procesor JĄDRO Interfejs pomiędzy wywołaniami systemowymi a resztą jądra Interfejs pomiędzy jądrem a sprzętem Oryginalne jądro systemu Unix było zaprojektowane dla sprzętu nieposiadającego żadnego mechanizmu ochrony. Mimo to twórcy systemu postanowili dokładnie odseparować procesy użytkownika od sprzętu.

15 Czym jest Linux 15 Akronim rekursywny: Linux Is Not UniX Linus Torvalds, twórca Linuxa Linux jest to bezpłatna wersja systemu operacyjnego UNIX o otwartym źródle. technicznie: Linux jest to jądro systemu; praktycznie: nazwę „Linux” odnosimy do całego systemu operacyjnego: jądra wraz z aplikacjami. Pozostałe elementy systemu (narzędzia, aplikacje itp.) można dobrać na wiele sposobów – skorzystać z tysięcy rozwijanych niezależnie projektów. Dobór tych elementów systemu i ewentualne uzupełnienie własnym oprogramowaniem przez konkretną osobę, organizację lub firmę nosi nazwę dystrybucji. Dystrybucji Linuxa nadających się do zastosowania na danym stanowisku może być bardzo wiele. Często użytkownicy kierują się dostępnością dystrybucji dla danej architektury, dotychczasowym doświadczeniem, poradami środowiska, oferowanym (także odpłatnie) wsparciem oraz własnym gustem.

16 Dystrybucje Linuxa – wskazówki 16 Czym kierować się w wyborze dystrybucji Instalacja systemu – jak pracuje się z instalatorem dystrybucji? Konfiguracja systemu – jak łatwo/wygodnie konfiguruje się do działania urządzenia, usługi i środowiska do wymagań użytkownika? Instalacja i aktualizacja oprogramowania – jak łatwo/wygodnie instaluje się opcjonalne składniki systemu (biblioteki, aplikacje itp.) i jak często są one aktualizowane do najnowszych wersji? Dokumentacja i wsparcie – czy system jest dobrze udokumentowany, czy zależy nam na firmowym wsparciu (zazwyczaj odpłatnie) i jak szerokie jest wsparcie społeczności użytkowników?

17 Dystrybucje Linuxa – lista 17 CentOShttp://www.centos.org/ Debianhttp://www.debian.org/index.pl.html Fedorahttp://fedoraproject.org/pl/ Gentoohttp://www.gentoo.org/ Knoppixhttp://www.knopper.net/knoppix/index-en.html Mandrivahttp://www.mandriva.com/pl/ openSUSEhttp://pl.opensuse.org/ RedHathttp://www.redhat.com/ Slackwarehttp://www.slackware.com/ Ubuntuhttp://www.ubuntu.com/ Xandroshttp://www.xandros.com/

18 Dystrybucje Linuxa – skąd pobrać 18 sklepy detaliczne – ze względu na częste zmiany wersji niewiele dystrybucji jest rozprowadzanych w ten sposób; sklepy internetowe – znacznie częstsza forma sprzedaży dystrybucji, zazwyczaj dystrybucję można nabyć również bezpośrednio ze strony producenta; serwery udostępniające oprogramowanie – główne źródło pozyskiwania dystrybucji rozprowadzanych nieodpłatnie (również ze stron twórców i producentów); materiały dołączane do czasopism, czasami z dołączonym oprogramowaniem dodatkowym (własnościowym) lub promocje dystrybucji komercyjnych (wersje demonstracyjne lub bez wsparcia). Uwaga: większość dystrybucji Linuxa jest bezpłatnych, jednak aby legalnie posługiwać się systemem operacyjnym należy zakupić legalny nośnik (płytę CD lub DVD)

19 Jądro systemu Linux 19 Jądro zawiera wsparcie dla sterowników sprzętowych dla wielu urządzeń PC (kart graficznych, sieciowych, dysków twardych itp.), zaawansowane funkcje zarządzania procesorem i pamięcią oraz wsparcie dla wielu różnych rodzajów systemów plików (łącznie z dyskietkami DOS, pendrive’ami i standardem ISO9660 dla CD-ROM i DVD-ROM). Jądro implementuje większość wywołań systemowych BSD i SYSV, jak również wywołania systemowe opisane w specyfikacji POSIX.1. Jądro w surowej postaci binarnej (ładowane bezpośrednio do pamięci w czasie uruchamiania) typowo znajduje się w pliku /boot/vmlinuz, podczas gdy źródła zazwyczaj można znaleźć w /usr/src/linux. Najnowszą wersję jądra Linuxa można pobrać z Jądro takie jest wyposażone w dodatkowe elementy: tablicę symboli, mechanizm ładowania modułu i mechanizm śledzenia zależności między modułami. Jądro Linuxa jest przykładem jądra monolitycznego z modułami – możliwość ładowanie w trakcie działania jądra pewnych jego fragmentów (np.: sterowników urządzeń) do pamięci, na podobnej zasadzie, jak programy użytkowników ładują biblioteki współdzielone.

20 Powłoka i GUI Linuksa 20 Dostępne dwie formy wprowadzania poleceń: tekstowa powłoka linii poleceń, podobna do spotykanej w większości systemów UNIX ‘sh’ – powłoka Bourne’a, ‘bash’ – „Bourne again shell” ‘csh’ – powłoka języka C); interfejs graficzny (GUI) – menedżery okien KDE lub GNOME.

21 Narzędzia systemowe Linuksa 21 Każde narzędzie systemowe, którego można się spodziewać w standardowych implementacjach UNIX’a (włączając narzędzia systemowe opisane w specyfikacji POSIX.2) jest przeniesione do Linuksa. Narzędzia systemowe zaprojektowano tak, aby wykonywać efektywnie pojedyncze zadania. Użytkownik może często rozwiązywać problem łącząc te narzędzia zamiast budować jednolitą aplikację. Narzędzia systemowe Linuksa zawierają również programy zwane demonami, które zapewniają zdalne usługi sieciowe i administracyjne. Demon (łac. dæmon lub ang. Disk And Executing MONitor) zazwyczaj jest uruchamiany automatycznie podczas startu systemu i przez większość czasu oczekuje na pojawienie się zdarzenia.

22 Przykłady demonów w Linuksie 22 atd and crond: Task scheduler daemons bootparmd and dhcpd: Dynamic Host Configuration Protocol and Internet Bootstrap Protocol servers fingerd: Finger protocol server ftpd: File Transfer Protocol (FTP) server httpd: Hypertext Transfer Protocol (HTTP) daemon (web server) identd: Provides the identity of a user of a particular TCP connection inetd and xinetd: Internet Superserver Daemon amed: A Domain Name System (DNS) server daemon nfsd: Network File System (NFS) daemon ntpd: Network Time Protocol (NTP) service daemon portmap, rpcbind: SunRPC port mapper mysqld, postgresql: Database server daemons routed, gated: Manages routing tables nfsd, mountd, statd: Part of typical Network File System implementation rwhod: Maintains the database used by the rwho and ruptime tools sendmail, postfix: mail transfer agent daemons snmpd: Simple Network Management Protocol Daemon syslogd: Syslog daemon telnetd and sshd: Telnet and Secure Shell server daemons ypbind: A bind server for Network Information Service ("Yellow Pages")

23 Programy aplikacji w Linuksie 23 Dystrybucja Linuksa typowo zawiera wiele użytecznych aplikacji, takich jak np. edytor tekstu ‘emacs’, przeglądarka obrazów ‘xv’, kompilator C ‘gcc’, kompilator C++ ‘g++’, program rysujący ‘xfig’, język składu tekstu ‘latex’, pakiet biurowy OpenOffice.org ‘ooffice’. Redhat Linux i inne dystrybucje zawierają również Redhat Program Manager ‘rpm’, który czyni łatwym instalację i deinstalację programów aplikacji.

24 Podstawowe polecenia Linuksa 24 Polecenie we/wyOpis shutdown -r now / rebootrestart systemu (tylko superuser lub root) shutdown -h now / haltwyłączenie komputera (j/w.) su użytkownikzamiana użytkownika (ang. switch user) loginzalogowanie się do nowej sesji exit / logout zakończenie zalogowanej sesji (jeśli to jedyna sesja - powoduje opuszczenie środowiska pracy i wywołanie okna logowania) startxrozpoczęcie pracy w środowisku graficznym X Window kdm, gdm, xdm dla managera logowania w trybie graficznym, odpowiednio KDE, GNOME i XFree86 (wywołanie managera nie oznacza wyboru środowiska graficznego) Polecenia wejścia i wyjścia

25 Podstawowe polecenia Linuksa 25 Operacje na plikach i katalogach PolecenieOpis cd nazwa_katalogu przejście do katalogu. Wpisanie samego cd powoduje przeniesienie do katalogu domowego /home/uzytkownik (ang. Come in Directory). mkdir nazwa_katalogutworzy katalog o podanej nazwie (ang. Make Directory) rmdir nazwa_kataloguusuwa katalog (ang. Remove Directory) pwdpodaje ścieżkę obecnego katalogu lspokazuje listę plików znajdujących się w danym katalogu (ang. List)

26 Podstawowe polecenia Linuksa 26 Operacje na plikach i katalogach PolecenieOpis lspokazuje listę plików znajdujących się w danym katalogu (ang. List) cp plik katalog kopiuje plik do podanego katalogu (ang. Copy). Aby skopiować cały katalog musimy użyć opcji -r, czyli cp -r katalog inny_katalog mv plik katalog przenosi plik do podanego katalogu (ang. Move) lub zmienia nazwę pliku. Aby zmienić nazwę pliku należy wpisać mv nazwa_pliku nowa_nazwa. rm plik usuwa plik o podanej nazwie (ang. Remove), aby usunąć katalog wraz z zawartością należy użyć opcji -r touch nazwa_pliku tworzy plik o podanej nazwie (lub dla ambitnych - zmienia czas pliku). Plik można edytować dowolnym edytorem i nadać mu odpowiednie prawa i atrybuty ln -s /.../katalog/plik nazwa wykonuje dowiązanie symboliczne (ang. Link), od tej pory plik będzie można wykonywać (wywoływać) poleceniem./nazwa, przydatne gdy instalujemy program ze źródeł i chcemy zrobić do niego skrót whereis nazwa_pliku poszukuje plików źródłowych, binarnych lub stron podręcznika (ang. manual), z ang. Where is? - dosł. Gdzie jest?

27 Podstawowe polecenia Linuksa 27 Operacje na procesach PolecenieOpis pswyświetla stan procesów ps -xwyświetla aktualne procesy użytkownika kill nr_pid kończy proces, nr_pid jest wyświetlany w pierwszej kolumnie po wywołaniu polecenia ps

28 Podstawowe polecenia Linuksa 28 Uzyskiwanie pomocy lub informacji PolecenieOpis man nazwa_poleceniawyświetla stronę podręcznika programu (o ile taka istnieje) uname -a wyświetla informacje: nazwa jądra systemu, sieciowa nazwa systemu, numer kernela, wersja jądra, architektura i nazwa systemu whowyświetla informacje o użytkowniku (z ang. kto) fingerrozbudowane who, (z ang. palec, dotykać palcem) who am Iwyświetla informacje o aktualnym użytkowniku w danej sesji file plikwyświetla informacje o pliku (tj. kodowanie, rodzaj pliku) df informacje o stanie dysku twardego (zużycie miejsca), jednostki można określić np. -m - Megabajty, -k - kilobajty duwielkość pliku lub katalogu (określenia j/w.)

29 Podstawowe polecenia Linuksa 29 Instalacja i deinstalacja aplikacji PolecenieOpis tar -xvf nazwa.tarrozpakowuje plik tar tar -xvzf nazwa.tar.gzrozpakowuje plik skompresowany w postaci tar.gz tar -xvjf nazwa.tar.bz2rozpakowuje plik skompresowany w postaci bzip2 rpm -ivh nazwa.rpminstalacja pakietu rpm (RedHat, Fedora itp.) rpm -e nazwa.rpmodinstalowanie pakietu rpm (j/w.) dpkg -opcja nazwa.deboperacje na paczkach debiana, opcje: -i - instalacja, -r - usunięcie sh plik_binarnyuruchomienie aplikacji binarnej (plik może mieć rozszerzenie *.run) apt-get install nazwa_pakietuInstalacja pakietu *.deb w Debianie apt-cache search fragm_nazwyOdnajdowanie zainstalowanego pakietu w Debianie


Pobierz ppt "Środowisko pracy informatyka zima 2014 Wykład 3 Budowa systemu Unix / Linux dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki"

Podobne prezentacje


Reklamy Google