systemy operacyjne - wikidydwikidyd.iem.pw.edu.pl/attachments/sokzaocz/sokzaocz_wyk1.pdf · typy...

35
1 Systemy Operacyjne (studia zaoczne) Sprzęt komputerowy System Operacyjny + Programy Łatwe użytkowanie Prowadzący: Robert Szmurło [email protected] GE 229

Upload: vudang

Post on 01-Mar-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

1

Systemy Operacyjne (studia zaoczne)

Sprzętkomputerowy

System Operacyjny +

Programy

Łatweużytkowanie

Prowadzący: Robert Szmurł[email protected] 229

2

Organizacja Wykładu

● Strona przedmiotu:

– http://www.iem.pw.edu.pl/wikidyd/SOiSK

● Zaliczenie:

– Referat na wskazany temat.

● Literatura:● A.Silberschatz, J.L.Peterson, P.B.Galvin, "Podstawy systemów

operacyjnych", WNT● A.M.Lister, R.D.Eager "Wprowadzenie do systemów operacyjnych", WNT● M.Beck, H.Boehme, M.Dziadzka,... "Linux Kernel Jądro Systemu", Mikom

3

Plan Wykładu

– (1w) wprowadzenie do systemów operacyjnych,

– (1w) użytkownika (ograniczonego i zaawansowanego)

– (3w) administratora - użytkownik systemu operacyjnego przygotowujący/dostarczający środowisko pracy dla innych osób,

● administracja systemem● administracja sieciami komputerowymi 1● administracja sieciami komputerowymi 2

– (1 w) architekta - osoba tworząca system operacyjny,

– (1 w) programisty - osoba wykorzystująca system operacyjny do wytwarzania oprogramowania.

4

Do czego służy SO?

● Umożliwienie korzystania z urządzenia (np. komputera, telefonu, odtwarzacza MP3).

● Kontrolowanie i podział zasobów między jednego lub wielu użytkowników, oraz aplikacje.

● Efektywne wykorzystanie sprzętu.

● Przede wszystkim: umożliwienie uruchamiania innych programów na danym urządzeniu.

5

Co to jest SO? - Definicja

● System operacyjny jest to zbiór programów pośredniczących pomiędzy użytkownikeim oraz jego aplikacjami a sprzętem.

● SO jest głównym komponentem systemu komputerowego wykonującym za podstawowe zadania:

– kontrola zasobów pamięci, priorytetowanie wykonywanych instrukcji, kontrola urządzeń wejścia-wyjścia, ułatwiającym korzystanie z sieci komputerowej, zarządzającym plikami.

SO

6

Inna definicja: Maszyna Wirtualna

● System operacyjny udostępnia Maszynę Wirtualną, która jest łatwiejsza w użyciu dla użytkowników i programistów.

● Po co?

– Różnorodność sprzętowa,

– Nowe wersje sprzętu,

– Błędy w sterownikach,

– Niższe koszty wytwarzaniaoprogramowania,

– itp.

Użytkownik, Aplikacje

Maszyna wirtualna

AMD64 MBHDD A

INTEL512 MBHDD B

INTEL512 MBHDD B

POWERPC512 MBHDD B

(...)

Jednolity, niezależnyod konfiguracji sprzętowej interfejs

Interfejsy specyficznedla konkretnych urządzeń, udostępniane przez producentów

7

Uporządkujmy Zadania SO

● Obsługa urządzeń wejścia-wyjscia

● Ewidencjonowanie zasobów komputera (wykrywanie urządzeń)

● Sterowanie oraz ochrona zasobów (sprzętowych i danych)

● Obsługa przerwań

● Obsługa błędów (wyjątki)

● Szeregowanie oraz sterowanie pracami (procesami, zadaniami,...)

● Umożliwienie wielodostępności (wielu użytkowników)

8

Po co nam znajomość SO?

● Dziekan nam kazał!

● Interesujemy się komputerami?

● Chcemy zostać informatykami.

● Chcemy być świadomymi użytkownikami.

● Chcemy umieć zadawać sensowne pytania techniczne.

● Musimy zaliczać następne laboratoria.

● Potrzebujemy wiedzy technicznej.

9

Pożądane cechy SO

● Wydajność – zasoby powinny być maksymalnie wykorzystane przez aplikacje, a nie przez SO,

● Niezawodność – praca systemu powinna być nieprzerwana i bezobsługowa gdzie to tylko możliwe,

● Pielęgnowalność – konfiguracja, diagnostyka, instalacja oprogramowania, kontrola wersji, uaktualnienia,

● Mały rozmiar – wykorzystanie zasobów,

● Prostota obsługi – pierwsze zetknięcie użytkownika powinno umożliwić natychmiastowe rozpoczęcie pracy,

10

Typy Systemów Operacyjnych

● Mainframe

● Stacja robocza

● Wieloprocesorowe

● Rozproszone

● Macierzowe (klastry)

● Czasu rzeczywistego

● Urządzeń przenośnych

● Środowiska obliczeniowe

● Serwer plików

● Serwer aplikacji

● Bazodanowe

● Ogólnego przeznaczenia

● Przemysłowe

● Medyczne

● i inne...

Podział ze względu funkcję:Podział ze względu na sprzęt:

11

Mainframe, stacja robocza, wieloprocesorowy

● Mainframe - komputer (ew. kilka) o dużej wydajności przetwarzania danych i większych możliwościach niż komputer domowy, którego celem jest świadczenie usług dużej liczbie użytkowników. W odróżnieniu od superkomputera Mainframe nie posiada dużej mocy obliczeniowej, a specjalizuje się w wydajnych operacjach I/O. (za wikipedią)

● W popularnym znaczeniu stacja robocza to każdy komputer przeznaczony do bezpośredniej pracy (w odróżnieniu od serwera, który tylko udostępnia zdalnie jakieś usługi). W szczególności w sieciach komputerowych mianem tym określa się każdy komputer, który jest do tej sieci podłączony, a który nie służy wyłącznie do jej obsługi. Pokrywa się to z grubsza z terminem komputer osobisty. (za wikipedią)

● Wieloprocesorowy system komputerowy jest systemem, w którym do dyspozycji jest więcej niż jeden procesor.

12

System rozproszony

● System rozproszony (ang. distributed system) to zbiór niezależnych urządzeń technicznych połączonych w jedną, spójną logicznie całość. Zwykle łączonymi urządzeniami są komputery, rzadziej - systemy automatyki. Połączenie najczęściej realizowane jest przez sieć komputerową, jednak można wykorzystać również inne - prostsze - magistrale komunikacyjne. Urządzenia są wyposażone w oprogramowanie umożliwiające współdzielenie zasobów systemowych.

● Jedną z podstawowych cech systemu rozproszonego jest jego transparentność (inaczej przezroczystość, ang. transparency), która stwarza na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

● Definicja systemu rozproszonego ewoluowała wraz z rozwojem komputerów i sieci komputerowych.

ródło: http://pl.wikipedia.org/wiki/System_rozproszonyŹ

13

Systemy macierzowe (klastry)

● Klaster komputerowy (ang. cluster) zwany także gronem - grupa połączonych jednostek komputerowych, które współpracują ze sobą w celu udostępnienia zintegrowanego środowiska pracy.

● Komputery wchodzące w skład klastra (będące członkami klastra) nazywamy węzłami (ang. node). W istniejących rozwiązaniach klastrowych można wyodrębnić dwie podstawowe klasy wynikające z celów budowy takich rozwiązań:

– Klastry wydajnościowe: pracujące jako komputer równoległy. Celem ich budowy jest powiększenie mocy obliczeniowej. Wiele obecnych superkomputerów działa na tej zasadzie.

– Klastry niezawodnościowe: pracujące jako zespół komputerów dublujących nawzajem swoje funkcje. W razie awarii jednego z węzłów, następuje automatyczne przejęcie jego funkcji przez inne węzły.

ródło: http://pl.wikipedia.org/wiki/Klaster_komputerowyŹ

14

System czasu rzeczywistego

● System czasu rzeczywistego (ang. real-time system), to urządzenie techniczne, którego działanie jest ograniczone w czasie przez zjawiska zachodzące poza nim samym. Źródłem tych ograniczeń czasowych są zazwyczaj zjawiska fizyczne zachodzące w świecie rzeczywistym.

– Systemy czasu rzeczywistego najczęściej buduje się w oparciu o komputery, jednak nie jest to konieczne - można tym pojęciem określić np. pneumatyczny regulator.

● Systemy czasu rzeczywistego znajdują zastosowanie: w przemyśle do nadzorowania procesów technologicznych, do nadzorowania eksperymentów naukowych, w urządzeniach powszechnego użytku, jak sterowniki układów ABS i ESP czy wtrysku paliwa do silników samochodowych, bądź też urządzenia gospodarstwa domowego, w medycynie, w lotnictwie, zastosowaniach wojskowych i kosmicznych, w kasach biletowych (na przykład sprzedaży biletów lotniczych), oprogramowaniu bibliotek i podobnych usługach realizowanych w wielodostępnych systemach rozproszonych.

ródło: http://pl.wikipedia.org/wiki/System_czasu_rzeczywistegoŹ

15

Superkomputery

● Superkomputer to komputer o bardzo wielkiej mocy obliczeniowej.

● Superkomputery rzadko pracują w pojedynkę. Zwykle spina się je w wielkie układy połączone sieciami o olbrzymich przepustowościach, które tworzą klastry. Klaster jest samodzielną jednostką, której można przypisać określone zadanie obliczeniowe, albo który można wirtualnie podzielić w celu równoległego zajmowania się więcej niż jedną złożoną kalkulacją.

● Najszybszym nierozproszonym geograficznie superkomputerem w Polsce jest Holk z Centrum Informatycznego TASK w Politechnice Gdańskiej. Maszyna zarządzana przez system GNU/Linux (dystrybucja Debian), której teoretyczna moc obliczeniowa sięga 1.5 TFLOPS jest wykorzystywana do obliczeń naukowych.

● Centra superkomputerowe w Polsce: Cyfronet w Krakowie, ICM w Warszawie, PCSS w Poznaniu, TASK w Gdańsku, WCSS we Wrocławiu

16

Serwery plików, aplikacji

● Serwer plików to komputer (serwer) lub program, który udostępnia zasoby dyskowe danego komputera, w szczególności zapewnia dostęp do plików.

● Dwie zasadnicze kategorie serwerów aplikacji:

– Serwer w sieci komputerowej, przeznaczony do zdalnego uruchamiania i użytkowania aplikacji. (Praca terminal serwer)

– Program działający na zdalnej maszynie obsługujący żądania kierowane do aplikacji, do której dostęp zapewnia. Użytkownik łączy się za pośrednictwem przeglądarki internetowej, kieruje żadanie do wybranej aplikacji, a całość operacji odbywa się po stronie komputera należącego do organizacji, która udostępnia daną aplikację. Zestaw oprogramowania (platforma) wspierająca programistę/developera przy tworzeniu aplikacji. Do serwerów aplikacji należą m.in.: JBoss, BEA WebLogic, IBM WebSphere oraz platforma .NET Microsoft-u.

17

System baz danych● System Zarządzania Bazą Danych, SZBD (ang. Data Base Management

System, DBMS) nazywany też serwerem baz danych lub systemem baz danych, SBD to oprogramowanie bądź system informatyczny służący do zarządzania komputerowymi bazami danych. Systemy baz danych mogą być sieciowymi serwerami baz danych lub udostępniać bazę danych lokalnie.

● Niezbędne mechanizmy: środki do gromadzenia, utrzymywania i administrowania trwałymi i masowymi zbiorami danych, środki zapewniające spójność i bezpieczeństwo danych, sprawny dostęp do danych (zwykle poprzez język zapytań, np. SQL), środki programistyczne służące do aktualizacji/przetwarzania danych (API dla popularnych języków programowania), jednoczesny dostęp do danych dla wielu użytkowników (z reguły realizowany poprzez transakcje), środki pozwalające na regulację dostępu do danych (autoryzację), środki pozwalające na odtworzenie zawartości bazy danych po awarii, środki do zarządzania katalogami, schematami i innymi metadanymi, środki optymalizujące zajętość pamięci oraz czas dostępu (np. indeksy), środki do pracy lub współdziałania w środowiskach rozproszonych.

ródło: http://pl.wikipedia.org/wiki/Serwer_baz_danychŹ

18

Historia SO

ogólnego przeznac

zenia

19

Historia Windows

20

Historia Unix

21

Główne SO: VMW

● Napisany dla komputerów VAX przez firmę DEC (Digital Equipment Corporation)

● CLI – (ang. command line interpreter, linia komend, interpreter)

● Pełna wielozadaniowość z wywłaszczaniem (kosztowne tworzenie procesu)

● Docelowy odbiorca: użytkownicy techniczni oraz firmy intensywnie użytkujące oprogramowanie

● Kosztowne narzędzia i skomplikowany interfejs.

● VMS przetrwał dzięki przeniesieniu go na procesory Alpha a w 2003 roku był przenoszony na procesory Itanium.

22

Główne SO: Mac OS(ok. 1984)

– Inspiracja pionierskimi pracami nad GUI (graphical user interface) prowadzonymi przez firmę Xerox.

– Zadebiutował wraz z komputerem Macintosh w 1984 roku.

– Trzy zmiany architektoniczne:● przejście od obsługi jednej aplikacji

naraz do wielozadaniowości kooperacyjnej● przejście od procesorów 68000 do PowerPC● Scalenie idei projektowych MacOS z

infrastrukturą wywodzącą się z Unixa w systemie MacOS X

– Idea MacOS: Wytyczne interfejsu Maca.

– Słaby program szeregujący

23

Główne SO: OS/2

– Wystartował jako projekt firmy IBM:

– ADOS (“Advanced DOS”)

– Zarzucona współpraca z Microsoft

– Wielozadaniowy z wywłaszczaniem (wymagał MMU), ale jedno użytkownikowy.

– Był wyposażony w CLI i GUI.

– Brak katalogu użytkownika: rozpraszanie programów.

– Docelowi odbiorcy: użytkownicy biznesowi i nietechniczni.

24

Główne SO: Windows NT– Genetycznie wywodzi się z VMS

– Zaniedbany CLI (Dopiero w 2003)

– Wielozadaniowość z wywła-szczaniem (kosztowna, trwa 10 razy dłużej niż w Unixie)

– Scentralizowany i binarny rejestr systemowy

– Serwer WWW (IIS) działa w przestrzeni adresowej jądra.

– Zła kontrola wersji bibliotek: “piekło DLL”

– Docelowi odbiorcy: nietechniczni.

– Skomplikowane API, drogie narzędzia, brak dokumentacji powoduje ostrą dychotomię między stylami programowania między amatorami i profesjonalistami.

25

Główne SO: BeOS● Już niestety tylko ciekawostka... :-(

● Uatrakcyjnienie za pomocą multimedialnego systemu

● Powszechna wielowątkowość, system plików jako baza danych, płynne multimedia.

● System dla jednego użytkownika (brak logowania).

● Preferowany GUI, ale funkcjonalny CLI

● Na skutek słabej polityki marketingowej, mimo przeniesienia w 1998 na PC na skutek manewrów Microsoftu (Media Player) oraz konkurecji Linuxa nie zyskał popularności.

26

Główne SO: Linux

– Kultura OpenSource

– Napisany od nowa, w oparciu o standardy Unixowe

– Współcześnie oparty na X Window a nie na interfejsach tekstowych

– Odbiorca: użytkownik nietechniczny

– Społecznośc Linuxa próbuje zbudować uniwersalny system do łączenia środowisk

– Wiele dystrybucji.

– Wielokrotne próby komercjalizacji.

27

Windows Vista

28

Główne SO: Windows Vista

● AERO Graphics (Authentic, Energetic, Reflective, and Open) – troche marketingu :-)

– Zastąpnie pulpitu XP Luna

– Nazwa marketingowa Microsoftu dla nowej powłoki Vista

– Efekt szkła, przezroczystości dla menu oraz całego pulpitu

– Bardziej intuicyjne paski narzędzi oraz nawigacja

– Wykorzystanie możliwości kart graficznych

– Grafika wysokiej rozdzielczości

– Windows Presentation Foundation – dodatkowa warstwa ułatwiająca programowanie grafiki zdefiniowana ponad biblioteką DirectX.

– Cytat: „Windows AERO is a fantastic new 'Theme' for Vista“

29

Windows Vista

● Nowy Eksplorer

– zintegrowanie wyszukiwanie,

– XML Virtual Folder – w którym zapisywane są aktualne wyniki wyszukiwania.

30

Windows Vista

– UAC – User Account Control – 'Uruchom jako ...', pozwala wygodnie uruchamiać pojedynczą aplikację z uprawnieniami administratora. 'Koniec pracy na koncie administraora'

– Poprawione komunikaty zdarzeń (logi).

– Flip 3D – nowa wersja przełączania się między zadaniami (TAB)

31

Bezpieczeństwo!

– UAC – User Account Control – użytkownicy mogą pracować tylko w ograniczonym trybie, zapeniono mechanizm tymczasowego podnoszenia poziomu uprawnieć

– Firewall – domyślnie blokuje wszystkie połaczenia przychodzące jeżeli nie mamy zainstalowanych wszystkich aktualizacji

– Zmiany w architekturze: wirtualny system plików zaimplementowany na poziomie systemu operacyjnego ukrywa przed użytkownikiem oraz jego aplikacjami fragmentys systemu niedostępne dla niego,

– Zabezpieczenie przestrzeni jądra: aktualnie programy antywirusowe mogą działać w przestrzeni jądra. W Vista żaden program nie będzie mógł działać w przestrzeni jądra. Programy antywirusowe nie będą mogły kontrolować przepływu danych. Czy Microsoft po raz kolejny chce wyeliminować konkurencję?

– Uaktulnione i poprawione implementacje obsługi sieci radiowych WLAN.

32

Gdzie jest ukryty SO?

● Dyskietka (MsDOS), lub CD/DVD

● Twardy dysk

● Pamięć nieulotna (ROM, EPROM)

● Live-CD (pionier: Knoppix)

● Dysk Twardy + Pamięć Nieulotna (stary MacOS)

● Terminal sieciowy (X Window, Terminal Server)

● Start bezdyskowy

33

Składniki Systemu Operacyjnego

● Warstwa techniczna kontrolująca urządzenia za pomocą sterowników.

● System plików (lub kilka systemów) pozwalający logicznie organizować pliki.

● Podstawowy interfejs użytkownika: CLI – command line interface lub GUI – graphical user interface.

● Centralną częścią systemu jest JĄDRO (kernel) odpowiedzialne za przydzielanie oraz synchronizację wykorzystania zasobów między uruchomionymi procesami.

34

Co uruchamia i czym zarządza SO?

● Interaktywne programy dla użytkowników.

– przetwarzanie interaktywne - wymaga ingerencji w trakcie wykonywania zadania, architektura oparta na zdarzeniach (GUI), urządzenia wejścia-wyjścia,

– przetwarzanie wsadowe – wymaga jedynie parametrów startowych, (wykorzystywane przy przetwarzaniu potokowym)

● ang. Services – (homonimy: serwisy, demony, usługi) dla lokalnych lub zdalnych użytkowników, oraz inne usługi pozwalające tworzyć rozproszone architektury.

● Ponieważ SO zarządza zasobami, wszystkie do nich odwołania powinny odbywać się za jego pośrednictwem.

35

Interakcja

– Jeżeli coś cię zainteresowało i chciałbyś aby na następnym wykładzie zostało rozszerzone, powtórzone, omówione dokładniej, to nie krępuj się i napisz maila:

[email protected]

– Jeżeli coś było nie jasne, napisz maila:

[email protected]

– Jeżeli coś cię znudziło, napisz maila:

[email protected]