Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Środowisko pracy informatyka zima 2014

Podobne prezentacje


Prezentacja na temat: "Środowisko pracy informatyka zima 2014"— Zapis prezentacji:

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

2 Architektura systemu operacyjnego

3 Architektura systemu operacyjnego
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 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 Początki UNIXa, cd 1971 AT&T UNIX First Edition (11/3/1971) pierwsza oficjalna wersja systemu, zawierająca procesor tekstu, zaimplementowana na PDP-11 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 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. 1977 Bill Joy z Uniwersytetu Kalifornijskiego w Berkeley wydaje pierwszą wersję Berkeley Software Distribution, znaną jako 1BSD. 1980 W następstwie otrzymania kontraktu DARPA (Defense Advanced Research Projects Agency) Bill Joy tworzy w Berkeley kolejną dystrybucję: 4.1BSD. 1984 Powstaje 4.2BSD zawierająca TCP/IP. Rok wcześniej Bill Joy odchodzi, by stworzyć Sun Microsystems. 1986 Powstaje poprawiona wersja 4.3BSD. 1994 Powstaje ostatnia wersja z Berkeley: 4.4BSD.

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

8 Historia UNIXa

9 Ważniejsze gałęzie drzewa rodziny UNIX

10 Systemy z rodziny UNIX AIX http://www.ibm.com/aix/
FreeBSD HP-UX Linux Mac OS X Minix NetBSD OpenBSD SCO OpenServer OpenSolaris Android

11 Odmiany UNIXa – przykłady
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ład Typowy SYSV Typowy BSD nazwa jądra /unix /vmunix skrypty rozruchowe katalogi /etc/rc.d pliki /etc/rc.* zamontowane systemy plików /etc/mnttab /etc/mtab domyślna powłoka sh, ksh csh, tcsh rozmiar bloku systemu plików 512B – 2kB 4kB – 8kB podsystem druku lp, lpstat, cancel lpr, lpq, lprm polecenie echo (bez nowego wiersza) echo "\c" echo -n polecenie ‘ps’ ps –fae ps -aux wywołanie wielokrotnego oczekiwania poll select wywołanie dostępu do pamięci memset, memcpy bzero, bcopy

12 Architektura warstwowa UNIXa

13 Warstwy Unixa z punktu widzenia użytkownika
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
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 JĄDRO Interfejs pomiędzy wywołaniami systemowymi a resztą jądra Interfejs pomiędzy jądrem a sprzętem terminale Pamięć masowa Pamięć operacyjna procesor 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 Akronim rekursywny: Linux Is Not UniX
Linux jest to bezpłatna wersja systemu operacyjnego UNIX o otwartym źródle. praktycznie: nazwę „Linux” odnosimy do całego systemu operacyjnego: jądra wraz z aplikacjami. technicznie: Linux jest to jądro systemu; 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. Linus Torvalds, twórca Linuxa 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
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
CentOS Debian Fedora Gentoo Knoppix Mandriva openSUSE RedHat Slackware Ubuntu Xandros

18 Dystrybucje Linuxa – skąd pobrać
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 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 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. 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 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

20 Powłoka i GUI Linuksa 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
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
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
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
Polecenia wejścia i wyjścia Polecenie we/wy Opis shutdown -r now / reboot restart systemu (tylko superuser lub root) shutdown -h now / halt wyłączenie komputera (j/w.) su użytkownik zamiana użytkownika (ang. switch user) login zalogowanie się do nowej sesji exit / logout zakończenie zalogowanej sesji (jeśli to jedyna sesja - powoduje opuszczenie środowiska pracy i wywołanie okna logowania) startx rozpoczę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)

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

26 Podstawowe polecenia Linuksa
Operacje na plikach i katalogach Polecenie Opis ls pokazuje 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
Operacje na procesach Polecenie Opis ps wyświetla stan procesów ps -x wyś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
Uzyskiwanie pomocy lub informacji Polecenie Opis man nazwa_polecenia wyś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 who wyświetla informacje o użytkowniku (z ang. kto) finger rozbudowane who, (z ang. palec, dotykać palcem) who am I wyświetla informacje o aktualnym użytkowniku w danej sesji file plik wyś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 du wielkość pliku lub katalogu (określenia j/w.)

29 Podstawowe polecenia Linuksa
Instalacja i deinstalacja aplikacji Polecenie Opis tar -xvf nazwa.tar rozpakowuje plik tar tar -xvzf nazwa.tar.gz rozpakowuje plik skompresowany w postaci tar.gz tar -xvjf nazwa.tar.bz2 rozpakowuje plik skompresowany w postaci bzip2 rpm -ivh nazwa.rpm instalacja pakietu rpm (RedHat, Fedora itp.) rpm -e nazwa.rpm odinstalowanie pakietu rpm (j/w.) dpkg -opcja nazwa.deb operacje na paczkach debiana, opcje:     -i - instalacja,     -r - usunięcie sh plik_binarny uruchomienie aplikacji binarnej (plik może mieć rozszerzenie *.run) apt-get install nazwa_pakietu Instalacja pakietu *.deb w Debianie apt-cache search fragm_nazwy Odnajdowanie zainstalowanego pakietu w Debianie


Pobierz ppt "Środowisko pracy informatyka zima 2014"

Podobne prezentacje


Reklamy Google