Temat 8 Systemy operacyjne rodziny UNIX. powłoki graficzny interfejs użytkownika (GUI) 8.1. Cechy systemu UNIX



Podobne dokumenty
Warstwy systemu Windows 2000

"Klasyczna" struktura systemu operacyjnego:

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Przegląd współczesnych systemów operacyjnych

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

Przykładowa konfiguracja systemu komputerowego

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

System plików Linuxa. Tomasz Borzyszkowski

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

System komputerowy. System komputerowy

Typy plików. Oznaczenie f -

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Podstawy Informatyki. Michał Pazdanowski

Pracownia komputerowa. Dariusz wardecki, wyk II

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Działanie systemu operacyjnego

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

1 Przygotował: mgr inż. Maciej Lasota

Zakład Systemów Rozproszonych

PAMIĘĆ OPERACYJNA...107

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

Linux: System Plików

Krótka Historia Systemów Operacyjnych. Tomasz Borzyszkowski

Instalacja Systemu Linux na maszynie writualnej

Działanie systemu operacyjnego

System operacyjny Linux

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Działanie systemu operacyjnego

Podstawy Informatyki. Wykład 3 UNIX

Pracownia Komputerowa wykład III

Podstawy Informatyki. Michał Pazdanowski

UNIX SYSTEM PLIKÓW. UNIX System plików

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Ćwiczenie 9 Linux - operacje systemu plików

Zastosowania matematyki w systemie operacyjnym Linux

Dystrybucje Linuksa c.d.

Wprowadzenie do systemów operacyjnych

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: z zakresu systemów

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Powłoka, redyrekcja, potok

Powłoka (shell) Powłoka ksh

Systemy operacyjne III

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

Technologie Informacyjne - Linux 1

Jądro systemu operacyjnego

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

Linux Wstęp Opracował: Andrzej Nowak

Systemy wielodostępne UNIX/Linux

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Czujniki obiektowe Sterowniki przemysłowe

Podstawy systemów UNIX

Pracownia Komputerowa wykład III

SPIS TREŚCI 1. WIADOMOŚCI OGÓLNE ZARZĄDZANIE SYSTEMEM LINUX WIELODOSTĘPNOŚĆ SYSTEMY PLIKÓW I STRUKTURA FOLDERÓW...

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

Sieci komputerowe. Wstęp do systemu Linux/UNIX, część I. Ewa Burnecka / Janusz Szwabiński. ewa@ift.uni.wroc.pl / szwabin@ift.uni.wroc.

Programowanie 1. Wprowadzenie do bash-a. Elwira Wachowicz. 06 lutego 2012

Wstęp do systemu operacyjnego Linux.

MODELOWANIE MATERIAŁÓW I PROCESÓW

Struktury systemów operacyjnych

Działanie systemu operacyjnego

Współczesne systemy komputerowe

Wstęp do obsługi Linux a

1. Podstawy...P Polecenia podstawowe...p... 18

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Pracownia Technik Obliczeniowych

Instalacja Linuksa i podstawowa konfiguracja. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

Działanie komputera i sieci komputerowej.

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Okiełznać Pingwina.... czyli podstawy systemu GNU/Linux

System plików. Podstawy systemu Linux

Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski POZIOM

System plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

Wprowadzenie do systemu Minix

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Charakterystyka sieci klient-serwer i sieci równorzędnej

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Linux Elementy instalacji. 1 Podział dysku na partycje. 2 Konfiguracja sprzętu (automatycznie) 3 Założenie użytkowników

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Komputery przemysłowe i systemy wbudowane

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania

Kernel Kompilacja jądra

Systemy operacyjne Operating Systems

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

Podstawy Linuksa. Wiesław Płaczek Postawy Linuksa 1

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

System operacyjny. System operacyjny to program kontrolujący pracę komputera

Transkrypt:

Temat 8 Systemy operacyjne rodziny UNIX Historia Budowa warstwy systemu procesy systemy plików Interfejs użytkownika powłoki graficzny interfejs użytkownika (GUI) Aplikacje 8.1 Cechy systemu UNIX wielodostęp z podziałem czasu wieloprogramowoś ć proste interfejsy użytkownika napisany w dużej częś ci w języku wysokiego poziomu (C) systemy plików o wielopoziomowej strukturze drzewiastej dostęp do urządzeń zewnętrznych poprzez system plików (proc) pierwotnie dla systemów z komputerem głównym i końcówkami terminali obecnie także dla stacji roboczych, komputerów PC (Linux) wiele wariantów i wersji różnych producentów coraz większa standaryzacja 8.2 1

Początki systemu UNIX r.1969 AT&T Bell Laboratories, autorzy: Ken Thompson, Denis Ritchie, pierwowzór: system Multics 1973 pierwsza wersja napisana w języku C (specjalnie do tego celu stworzonym) 1974 oficjalna prezentacja na ACM Symposium on Operating Systems system udostępniony nieodpłatnie uniwersytetom 1979 wersja 7 pierwowzór wielu dalszych wersji, AT&T wprowadza opłaty licencyjne Univ.Kalifornijski w Berkeley opracowuje własną wersję: BSD (Berkeley Software Distribution) 1985 AT&T system V standard interfejsu programowego dwie główne linie rozwojowe: BSD i system V 8.3 Wersje komercyjne, próby standaryzacji nazwa UNIX zastrzeżona dla AT&T producenci (systemy na bazie systemu V): AT&T AT&T Unix Sun Microsystems Sun OS IBM AIX DEC - Ultrix Hewlett-Packard HP-UX Microsoft Xenix próby standaryzacji: system V (AT&T) r. 1990 system V wydanie 4 połączenie dwóch głównych linii rozwojowych (system V i BSD) oraz cech systemów innych producentów IEEE standard POSIX dla uniksopodobnych systemów operacyjnych (też NT, Linux) X/Open Consortium (początkowo głównie producenci Unix-a) cel: opracowanie jednolitego interfejsu programisty i użytkownika dla wszystkich wersji systemu 8.4 2

System LINUX twórca: Linus Torvalds, fiński student tworzony i rozwijany przez tysiące ludzi na całym świecie połączonych interenetem pierwsza wersja (0.0.1) maj 1991, brak obsługi sieci, jeden system plików (Minix), niewiele sterowników urządzeń marzec 1994 wersja 1.0, sieć, urządzenia SCSI, nowy system plików ext2, lepszy podsystem pamięci wirtualnej, komuniakacja międzyprocesowa (IPC) marzec 1995 wersja 1.2, dalsze ulepszenia, emulacja DOS czerwiec 1996 wersja 2.0, m.in. warianty dla różnych procesorów (m.in. Alpha, Motorola 68000), możliwość pracy wieloprocesorowej, poprawa zarządzania plikami i pamięcią obecnie (2002r.) wersja 2.4 system niezwykle uniwersalny (wiele platform sprzętowych, urządzeń zewnętrznych, protokołów sieciowych, interfejsów użytkownika, systemów plików) źródła ogólnodostępne (licencja GNU) dystrybucje Linux-a: system gotowy do instalacji, prekompilowane moduły, programy uzytkowe itp.: dystrybucje niekomercyjne (Slackware, Debian) dystrybucje komercyjne (RedHat, Caldera, SuSe) 8.5 Cechy systemu Linux w pełni 32-bitowy wielodostępny i wielozadaniowy system z rodziny Unix, duża wydajność zgodny ze standardami Posix możliwość wykorzystania oprogramowania napisanego dla innych systemów uniksowych obsługa sieci (sterowniki większości kart sieciowych, dostępne protokoły sieciowe) graficzny interfejs użytkownika (system X11R6) wydanie 6 systemu X Window, dostępny także interfejs OSF/Motif (standardowy w systemach komercyjnych) rozwój systemu i aplikacji w ramach GNU kompletne środowisko programistyczne możliwość tworzenia programów dostępnych także w innych systemach uniksowych (wielość kompilatorów, edytorów i innych programów pomocniczych) coraz większa liczba aplikacji użytkowych (np.. oprogramowania biurowego, graficznego) dostępny za darmo! 8.6 3

Warstwy systemu UNIX najniższa warstwa: sprzęt jądro: zarządzanie pamięcią programy obsługi urządzeń (sterowniki) procesy jądra (m.in. proces szeregujący) biblioteki (dostęp do procedur bibiliotecznych), w tym biblioteki współdzielone (shared libraries) procedury wykorzystywane przez wiele programów (oszczędność pamięci) procesy użytkowników interpretery poleceń i graficzne interfejsy użytkowników 8.7 Wielodostęp w systemach UNIX pierwotnie: komputer centralny (mainframe) i końcówki terminali praca wielu użytkowników na jednym komputerze obecnie możliwość uruchamiania na pojedynczym komputerze terminali wirtualnych; w systemach z graficznym interfejsem użytkownika: możliwość uruchomienia wielu okien terminali jednocześnie podstawa wielodostępu: identyfikatory użytkowników (user ID) i ich hasła, procedura logowania (rejestrowania się), system praw dostępu i uprawnień, grupy użytkowników zawsze jeden użytkownik uprzywilejowany: administrator (nadzorca systemu, superuser), ID: root, nieograniczone prawa dostępu, pełen dostęp do plików, możliwość tworzenia, usuwania użytkowników, pełna kontrola nad systemem 8.8 4

Wielozadaniowość systemu Unix możliwość uruchamiania wielu procesów procesy w systemie pracujące równolegle : uruchomione programy użytkowników, programy zawsze działające w tle (demony) IPC interprocess communication komunikacja międzyprocesowa synchronizacja i wymiana danych między procesami priorytety procesów poziomy uprzejmości, nice levels; procesy o wyższych priorytetach mają częstszy dostęp do procesora zarządzanie procesami w dostępie do procesora planista, program szeregujący. scheduler początki UNIX-a bardziej istotny wielodostęp; obecnie (zwłaszcza na pojedynczych komputerach) wielozadaniowość 8.9 Moduły jądra (Linux) fragmenty systemu ładowane i usuwane na żądanie odzwierciedlenie tendencji do minimalizacji jądra wiele istotnych funkcji s.o. może być umieszczane w modułach: programy obsługi urządzeń, system plików, programy obsługi formatów plików wykonywanych zalety: oszczędność pamięci odporność na błędy (błąd modułu nie powoduje zawieszenia systemu, jedynie usunięcie modułu z pamięci) 8.10 5

Procesy procesy: zarządzane przez proces szeregujący procesy jądra: pełen dostęp do wszystkich zasobów komputera pracują w trybie jądra m.in. proces szeregujący procesy uzytkowników: zarządzane przez program szeregujący (planistę) mogą być przerwane przez system w dowolnym momencie mają wydzielone obszary pamięci próba dostępu do niedostępnego obszaru pamięci błąd segmentacji (segmentation fault) 8.11 Systemy plików struktura hierarchiczna (drzewiasta, grafowa) podstawowa struktura: i-węzeł atrybuty i dane pliku wiele systemów plików dla różnych wersji systemu wirtualny system plików (Linux) - możliwość dostępu do wielu różnych systemów plików (ffs, fat, minix, ext, ext2, proc) każdy użytkownik: katalog domowy dostęp do plików: ścieżki dostępu (bezwzględne i względne) jeden logiczny system plików (brak woluminów) fizyczne systemy plików są dołączane: montowane (dotyczy też napędów dyskietek, dysków optycznych itp.) system praw dostępu do plików dowiązania twarde (wpis katalogowy) i symboliczne (ścieżka dostępu) 8.12 6

Odwzorowywanie systemu plików na dyski Główny system plików (root) jest zawsze dostępny Inne systemy plików mogą być montowane (mounted) integrowane ze struktura katalogową systemu głównego Struktura katalogowa jest podzielona na systemy plików odwzorowywane następnie na urządzenia logiczne partycje urządzenia fizycznego Na zamontowanie wskazuje bit w i-węź le. Jeśli jest ustawiony przeszukiwana jest tablica montaży 8.13 Podstawowe katalogi systemu UNIX bin - podstawowe pliki wykonywalne dev - pliki specjalne (dostęp do urządzeń zewnętrznych) etc - pliki konfiguracyjne systemu lib - bibilioteki mnt - montowane systemy plików proc - pliki specjalne (system plików proc) tmp - pliki tymczasowe usr - aplikacje var - programy systemowe, pliki tymczasowe kernel pliki jądra systemu (Linux -> vmlinuz) sbin - programy systemowe boot - pliki konfiguracyjne do uruchamiania systemu home katalogi użytkowników 8.14 7

Urządzenia zewnętrzne dostęp przez system plików pliki specjalne w katalogu dev, m.in.: dev/console - konsola systemu dev/hda - pierwszy dysk IDE (Linux) dev/hda1 - pierwsza partycja pierwszego dysku dev/sda - dysk SCSI dev/lp0 - drukarka dev/null - urządzenie puste (wyjście znika) dev/tty1 - konsola zaleta: np. wydruk wymaga skierowania wyjścia do pliku specjalnego /dev/lp1 dwa rodzaje urządzeń: znakowe (np. terminale) i blokowe (np. dyski) urządzenia identyfikowane przez główny (typ) i drugorzędny numer urządzenia (jeśli więcej urządzeń danego typu) 8.15 Demony programy pracujące w tle wykonują istotne zadania w systemie, czę ś ci systemu działające jako niezależne programy -> niewielki rozmiar jądra wykonywane współbieżnie przykładowe demony: demon drukowania (lpd) w regularnych odstępach czasu sprawdza katalog /var/spool, szukając nowych plików do wydrukowania (lpr), kierująca je do właściwych drukarek demon cron uruchamianie programów o zadanym czasie demon syslog demon protokołujacy zarządzanie danymi wyjściowymi i komunikatami błędów innych demonów 8.16 8

Komunikacja z użytkownikiem Interfejs użytkownika Powłoki pierwotny sposób komunikacji użytkownika z systemem tryb pracy z interpreterem komend różne rodzaje powłok służą do wywoływania poleceń zewnętrznych Graficzne interfejsy użytkownika GUI graphical user interface rozwinęły się wraz z rozpowszechnieniem się wydajnych graficznych stacji roboczych ważne wsparcie dla wieloprogramowości system X-Window 8.17 Powłoki powłoka sh (shell Bourne a) powłoka pierwszy interpreter poleceń systemu UNIX niski komfort pracy plik startowy.bashrc powłoka ksh (shell Korna) rozszerzenie powłoki sh spotykany w komercyjnych wersjach systemu powłoka csh (shell C) prosta funkcja historii aliasy poleceń składnia zbliżona do języka C plik startowe w katalogu domowym.login (podczas logowania) i.csrh (przy starcie powłoki) powłoki rozszerzone wygodniejsze wersje powłok standartowych bash (Bourne Again Shell) tcsh - rozszerzenie powłoki C 8.18 9

Polecenia trybu wiersza poleceń polecenia zewnętrzne odrębne programy, niezależne od rodzaju powłoki polecenia ls - wyświetla zawartość katalogu cp, mv, rm - kopiowanie, przesuwanie, usuwanie plików mkdir, rmdir tworzenie, usuwanie katalogów man wyświetlenie dokumentacji cat łączenie plików, wyświetlanie passwd zmiana hasła ps wyswietlenie procesów kill usuwanie procesów grep - wyszukiwanie echo - komunikat na ekranie znaki globalne: * - dowolna liczba znaków? - dowolny pojedynczy znak [abc ] jeden z wymienionych znaków [a-z] - zakres znaków [!abc..] znaki inne niż wymienione 8.19 Praca interakcyjna polecenia powłoki zewnętrzne, programu umieszczone w katalogach /bin i /usr/bin środowisko: przechowywanie istotnych parametrów poprzez zmienne (set): ścieżek dostępu, znaku zachęty, identyfikatorów urządzeń, itp.; plik.profile przeadresowywanie we i wy: kanały we/wy standartowo wejście (stdin) klawiatura, wyjscie (stdout) monitor kanał błędów stderr (miejsce wyprowadzania informacji o błędach) przeadresowanie we operator < ; wy operator > przetwarzanie potokowe kieruje wyjście z programu na wejście innego operator np. ls wc - zlicza wiersze i znaki (liczba plików w bieżącym kat.) tworzenie aliasów zastępują dłuższe komendy, definiowane przez uzytkownika np. alias k= ls l instrukcje sterujące: if, case, for, while wyszukiwanie instrukcja grep wzorce wyszukiwania, metaznaki:. * +? ^ $ [ ] \ ( ) 8.20 10

System X-window okienkowy interfejs użytkownika systemy UNIX początki projekt Athena w MIT X consortium rozwój i standaryzacja GUI dla systemu UNIX 1987 wersja X11 standard standard otwarty, niezależny od polityk producentów architektura klient-serwer: Xserwer - zarządzanie sprzętem lokalnym: monitor, klawiatura, mysz; interfejs miedzy użytkownikami, a programami użytkowymi (klientami); jeden serwer na stacji roboczej Xklient programy użytkowe X kilient i X serwer mogą działać na jednej maszynie lub na róznych (np. serwer stacja graficzna, klient silny mainframe) X protokół jedyne połączenie między klientem a serwerem (przezroczystoś ć sieciowa) podstawa biblioteka graficzna xlib Linux XFree86 8.21 Podstawowe aplikacje edytory: vi joe emacs xedit poczta elektroniczna: mail pine WWW netscape archiwizowanie: gzip tar 8.22 11