Rodowisko pracy informatyka zima 2014
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

Środowisko pracy informatyka zima 2014 PowerPoint PPT Presentation


  • 72 Views
  • Uploaded on
  • Presentation posted in: General

Środowisko pracy informatyka zima 2014. Wykład 3 Budowa systemu Unix / Linux. dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki http://wbieniec.kis.p.lodz.pl/pwsz. Architektura systemu operacyjnego. Architektura systemu operacyjnego.

Download Presentation

Środowisko pracy informatyka zima 2014

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Rodowisko pracy informatyka zima 2014

Środowisko pracy informatykazima 2014

Wykład 3

Budowa systemu Unix / Linux

dr inż. Wojciech Bieniecki

Instytut Nauk Ekonomicznych

i Informatyki

http://wbieniec.kis.p.lodz.pl/pwsz


Architektura systemu operacyjnego

Architektura systemu operacyjnego


Architektura systemu operacyjnego1

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.


Pocz tki unixa

Początki UNIXa

1965 MULTICS (MIT+ AT&T Bell Labs + GE)

MULTiplexedInformation 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,

(UNiplexedInformation and Computing Service), który implementują na PDP-7


Pocz tki unixa cd

Początki UNIXa, cd

1971 AT&TUNIX First Edition (11/3/1971)pierwsza oficjalna wersja systemu, zawierająca procesor tekstu, zaimplementowana na PDP-11

1973 3-th Edition UNIX (3/73)

pojawiły się potoki(pipes) i filtry oraz kompilator języka C.

Jądro systemu napisane w asemblerze.

1973 4-th Edition UNIX (11/73)

jądro systemu napisane w C.

1975 6-th Edition UNIX (V6 UNIX)

pierwsza wersja systemu powszechnie dostępna poza Bell Labs.


Bsd unix

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 (DefenseAdvancedResearchProjectsAgency) 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.


At t unix

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.


Historia unixa

Historia UNIXa


Wa niejsze ga zie drzewa rodziny unix

Ważniejsze gałęzie drzewa rodziny UNIX


Systemy z rodziny unix

Systemy z rodziny UNIX

AIXhttp://www.ibm.com/aix/

FreeBSD http://www.freebsd.org/

HP-UXhttp://www.hp.com/go/hpux/

Linuxhttp://www.kernel.org/

Mac OS X http://www.apple.com/macosx/

Minix http://www.minix3.org/

NetBSD http://www.netbsd.org/

OpenBSD http://www.openbsd.org/

SCO OpenServer http://www.sco.com/products/openserver6/

OpenSolarishttp://www.opensolaris.com/,

http://www.opensolaris.org/

Androidhttp://www.android.com/


Odmiany unixa przyk ady

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ł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


Architektura warstwowa unixa

Architektura warstwowa UNIXa


Warstwy unixa z punktu widzenia u ytkownika

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 graficznyudostepniają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;


J dro monolityczne unixa

Jądromonolityczne 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

JĄDRO

Interfejs pomiędzy wywołaniami systemowymi

a resztą jądra

Programy użytkowników, shell, biblioteki systemowe

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.


Czym jest linux

Czym jest Linux

Akronim rekursywny: Linux IsNot 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.


Dystrybucje linuxa wskaz wki

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?


Dystrybucje linuxa lista

Dystrybucje Linuxa – lista

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/


Dystrybucje linuxa sk d pobra

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)


J dro systemu linux

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ądraLinuxa możnapobrać z http://www.kernel.org.


Pow oka i gui linuksa

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łokajęzyka C);

interfejs graficzny (GUI) – menedżery okien KDE lub GNOME.


Narz dzia systemowe linuksa

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æmonlubang. Disk And Executing MONitor) zazwyczaj jest uruchamiany automatycznie podczas startu systemu i przez większość czasu oczekuje na pojawienie się zdarzenia.


Przyk ady demon w w linuksie

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")


Programy aplikacji w linuksie

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’.

RedhatLinux i inne dystrybucje zawierają również Redhat Program Manager ‘rpm’, który czyni łatwym instalację i deinstalację programów aplikacji.


Podstawowe polecenia linuksa

Podstawowe polecenia Linuksa

Poleceniawejścia i wyjścia


Podstawowe polecenia linuksa1

Podstawowe polecenia Linuksa

Operacje na plikach i katalogach


Podstawowe polecenia linuksa2

Podstawowe polecenia Linuksa

Operacje na plikach i katalogach


Podstawowe polecenia linuksa3

Podstawowe polecenia Linuksa

Operacje na procesach


Podstawowe polecenia linuksa4

Podstawowe polecenia Linuksa

Uzyskiwanie pomocy lub informacji


Podstawowe polecenia linuksa5

Podstawowe polecenia Linuksa

Instalacja i deinstalacja aplikacji


  • Login