Wstęp do informatyki Systemy operacyjne dla komputerów osobistych Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System operacyjny DOS DOS system dla komputera osobistego IBM PC (1981 Microsoft) System dla jednej architektury komputera: optymalne wykorzystanie zasobów, bez Ŝadnych zaawansowanych rozwiązań (single-user, single-task) Brak skalowalności: wbudowane ograniczenia pamięci i obsługi urządzeń moŝliwości sprzętu szybko przerosły moŝliwości systemu operacyjnego Tekstowy funkcyjny interfejs uŝytkownika o małej liczbie poleceń, wzorowanych na systemach CPM i UNIX Bardzo dobry system dla komputerów swojej epoki, oferujący duŝe moŝliwości programistom Negatywny wpływ na rozwój systemów Windows, ze względu na zachowywanie zgodności Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 2 System operacyjny Windows Windows początkowo graficzny interfejs dla DOSu, obecnie najpopularniejszy system operacyjny dla komputerów PC (dla architektury Intel 80x86). 1985 Windows 1.0 nowe idee: uruchamianie programów w oknach obrazkowe menu zamiast poleceń myszka jako urządzenie wskazujące wiele programów jednocześnie na ekranie wymiana informacji między programami (copy-paste) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 3 1
Początki Windows 1987 - Windows 2.0 swobodna manipulacja oknami mechanizm wymiany informacji DDE wykorzystanie moŝliwości procesorów 386 1990 - Windows 3.0, 1993 Windows 3.11 nowa grafika okien i nowe aplikacje SDK software development kit orientacja na pracęw sieci komputerowej 1993 - Windows NT (3.1 i 3.5) nowy 32-bitowy system operacyjny zaawansowane rozwiązania programowe przeznaczenie dla stacji roboczych i serwerów Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 4 Tendencje rozwoju DOS + Windows 3.11 Home Desktop Win 95 Win 98 Win Me WinXP Home Vista Home 7 Home Business Server Win NT Server Win 2000 Server Win 2003 Server Win NT Win 2008 Server Win 2000 Win XP Professional Vista Business, Enterprise 7 Professional, Enterprise, Ultimate Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 5 Ewolucja Windows Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 6 2
System operacyjny UNIX Unix najstarszy (1970 Bell Labs, USA), ciągle rozwijany, dostępny w wielu odmianach na niemal wszystkie typy komputerów. Zalety: duŝa stabilność i niezawodność wysoki standard bezpieczeństwa dzięki 30-letniemu doświadczeniu programistów i uŝytkowników zaawansowana i wydajna architektura (wielozadaniowość, ochrona zasobów, zarządzenie pamięcią wirtualną, etc.), wbudowana w system od początku istnienia systemu ukierunkowanie na pracę w sieci komputerowej (poczta elektroniczna, udostępnianie zasobów, protokoły wymiany informacji, moŝliwość pracy zdalnej wielu uŝytkowników) ogromne zasoby oprogramowania, szczególnie dla programistów, managerów systemów oraz naukowców. istnienie bezpłatnych, w pełni funkcjonalnych, wersji systemu dla komputerów osobistych Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 7 UNIX Wady: system stworzony przez programistów dla programistów wymagający orientacji w budowie sprzętu i oprogramowania podstawowy interfejs uŝytkownika: tekstowy zorientowany funkcyjnie: bardzo duŝa liczba poleceń i opcji naleciałości historyczne w budowie i sposobie uŝytkowania oprogramowania oraz terminologii skomplikowana i nieraz niepełna dokumentacja filozofia dokumentowania programów poprzez ich kod źródłowy istnienie duŝej liczby niezgodnych ze sobą odmian i wariacji samego systemu i podstawowego oprogramowania Nie taki diabeł straszny: ostatnia dekada, to okres intensywnego rozwoju UNIX a i zdobycie części rynku komputerów osobistych rozwój nowoczesnego oprogramowania, w szczególności intuicyjnych i konfigurowalnych interfejsów uŝytkownika większość wad UNIX a wynika z trudności pokonania przyzwyczajeń do innych systemów operacyjnych system jest skomplikowany, gdyŝ oferuje duŝo moŝliwości Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 8 UNIX dla komputera PC Linux: wersja komercyjna lub darmowa Przyjazny interfejs uŝytkownika (KDE, GNOME,..) Oprogramowanie biurowe (OpenOffice, StarOffice $, KOffice) Narzędzia programistyczne (C, C++, Java,) Oprogramowanie dla Internetu (HTML, PHP, JavaScript) Oprogramowanie serwerów i usług sieciowych (WWW, POP3, IMAP, MySQL, ftp, telnet, ssh) Oprogramowanie naukowe (modelowanie, symulacja, wizualizacja, obliczenia symboliczne,) Programy do obróbki grafiki, dźwięku, etc Internalizacja oprogramowania Bezproblemowa instalacja, koegzystencja z innymi systemami operacyjnymi i obsługa większości współczesnego sprzętu komputerowego Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 9 3
Linux graficzny interfejs uŝytkownika Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 10 System plików File system System plików sposób organizacji plików w pamięci masowej (twardy dysk) Fundament systemu operacyjnego Jaka jest struktura systemu (hierarchia)? Jakie są ograniczenia rozmiarów i nazw? Jakie jest rozmieszczenia systemu plików na urządzeniach pamięci zewnętrznej? Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 11 Organizacja pamięci dyskowej komputerów PC Dysk fizyczny Dozwolony podział dysku Dozwolony podział dysku dla Windows Logical Logical Extended Partycje Partycje dyski, cylindry, sektory W architekturze komputerów PC, system plików na twardym dysku musi znajdowaćsię w strukturze zwanej partycją. Na jednym dysku fizycznym moŝliwe jest utworzenie 4 partycji podstawowych (primary). Odmiana partycji podstawowej, partycja rozszerzona (extended) moŝe byćdzielona wewnętrznie na inne partycje. System Windows obsługuje tylko jednąpartycjępodstawową, a dodatkowe partycje (logical) musząbyćtworzone wewnątrz partycji rozszerzonej Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 12 4
Struktura systemu plików Windows (DOS) C: Windows Program Files temp katalog Netscape netscp.exe plik C:\Program Files\Netscape\Netscp.exe struktura drzewiasta, hierarchiczna (katalogi, podkatalogi) wielkość liter nieistotna separator katalogów: \ (backslash) katalog macierzysty ma nazwę litery (np. c: d:) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 13 Typ systemu plików Windows FAT FAT32 NTFS (NT 4.0, 2000, XP) nazwa: 8 + 3 znaków (nazwa + rozszerzenie) maksymalny rozmiar pliku: 2GB maksymalny rozmiar wolumenu (drzewa): 4GB proste atrybuty plików, brak reguł dostępu nazwa: do 255 znaków maksymalny rozmiar pliku: 4GB maksymalny rozmiar wolumenu (drzewa): 2TB proste atrybuty plików, brak reguł dostępu nazwa: do 255 znaków maksymalny rozmiar pliku: 2 48 B maksymalny rozmiar wolumenu (drzewa): 2 64 B listy praw dostępu (access control lists) zdolność odzyskani danych utraconych podczas nieudanych/przerwanych operacji na plikach Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 14 Układ systemu na dysku Windows Dozwolony podział dysku dla Windows C: D: Logical Extended Partycje W systemie Windows, drzewa katalogów musząznajdowaćsięw oddzielnych partycjach twardego dysku Nie jest moŝliwe rozszerzanie istniejącego drzewa katalogów na inne partycje twardego dysku KaŜde drzewo katalogów ma katalog macierzysty o jednoliterowej nazwie odpowiadającej partycji. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 15 5
Inne pamięci masowe Windows A: C: D: Z: Dyskietka HDD (partycja) CDROM USB pen-drive W systemie Windows, pamięci masowe widziane sąjako oddzielne drzewo katalogów (wolumeny). Typ systemu plikowego moŝe byćróŝny dla kaŝdego wolumenu (FAT, FAT32, NTFS) Ze względu na niezgodności pomiędzy typami systemów plikowych róŝnych wolumenów, wzajemna wymiana danych moŝe stwarzaćproblemy (np. długości nazw plików, prawa dostępu) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 16 Ochrona zasobów Windows 2000,XP,NT Udostępniania zasobów odbywa siępoprzez udostępnianie katalogów wybranym uŝytkownikom UŜytkownikom systemu moŝna przypisaćróŝne prawa dostępu do zasobów Lista uŝytkowników systemu obejmuje ludzi, ale równieŝ i programy systemowe (np. backup) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 17 Struktura systemu plików UNIX / bin usr etc katalog bin grep plik /usr/bin/grep struktura drzewiasta, hierarchiczna (katalogi, podkatalogi) wielkość liter istotna! (case-sensitive) separator katalogów: / (ukośnik - slash) katalog macierzysty: / Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 18 6
Typ systemu plików Linux EXT2 EXT3 ReiserFS XFS JFS nazwa: do 255 znaków maksymalny rozmiar pliku: 2GB maksymalny rozmiar wolumenu (drzewa): 4TB reguły dostępu do plików nowsza odmiana EXT2 o większej szybkości i wydajności, zdolność odzyskani danych utraconych podczas nieudanych/przerwanych operacji na plikach księgowanie (journaling) maksymalny rozmiar pliku: 1EB maksymalny rozmiar wolumenu (drzewa): 17TB journaling maksymalny rozmiar pliku : 9EB maksymalny rozmiar wolumenu (drzewa): 18EB journaling maksymalny rozmiar pliku: 4PB maksymalny rozmiar wolumenu: 32PB Pb - petabyte, 10 15 bytes Eb - exabyte, 10 18 bytes Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 19 Układ systemu na dysku UNIX Dozwolony podział dysku dla Linux a / home etc root usr ania piotr basia lib bin Logical Extended Partycje W systemie UNIX, drzewo katalogów moŝe byćrozproszone na oddzielnych partycjach twardego dysku Jest moŝliwe rozszerzanie istniejącego drzewa katalogów na inne partycje twardego dysku U systemie UNIX moŝe istniećtylko jedno drzewo katalogów (katalog macierzysty o nazwie / ) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 20 Inne pamięci masowe UNIX / home etc root usr mnt floppy cdrom win_c Dyskietka CDROM HDD (partycja innego systemu operacyjnego) W systemie UNIX, pamięci masowe widziane sąjako katalogi wewnątrz drzewa katalogów systemu Udostępnianie zasobów pamięci masowych ma charakter dynamiczny: pamięci mogąbyćmontowane (polecenie mount) i odmontowane w dowolnej konfiguracji Typ systemu plikowego moŝe byćróŝny dla kaŝdego urządzenia zewnętrznego (EXT2, EXT3, FAT, FAT32, NTFS, ) Ze względu na niezgodności pomiędzy typami systemów plikowych róŝnych wolumenów, wzajemna wymiana danych moŝe stwarzaćproblemy (np. długości nazw plików, prawa dostępu) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 21 7
Ochrona zasobów UNIX KaŜdy plik i katalog posiada 3 poziomy własności: właściciela (owner) określa przynaleŝnośćdo uŝytkownika w systemie grupy (group) określa grupęuŝytkowników o jednakowych prawach dostępu pozostałych (others) określa wszystkich pozostałych uŝytkowników systemu i spoza niego Dla kaŝdego poziomu określa się 3 prawa dostępu: odczyt (r) zapis (w) wykonanie (x) daje prawo odczytu zawartości pliku (dla katalogu: prawo dostępu do plików w tym katalogu, o ile moŝliwe) daje prawo tworzenia, modyfikacji i usuwania pliku (dla katalogu: prawo tworzenia i usuwania nowych plików w katalogu, o ile moŝliwe) daje prawo uruchamiania pliku: programu lub skryptu (dla katalogu: prawo przeglądania zawartości katalogu) plik owner group others rwx rwx rwx np. 1 1 1 r w x 1 0 1 r x 1 0 0 r Dane prawo moŝe byćprzyznane lub nie. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 22 ls -l Ochrona zasobów UNIX polecenie wyświetlenia plików i ich atrybutów chmod o-r * odebranie prawa r dla innych uŝytkowników Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 23 Ochrona zasobów UNIX Modyfikacja praw dostępu poprzez graficzny interfejs uŝytkownika (KDE) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 24 8
Rozległe systemy pamięci dyskowych Zapotrzebowanie: współczesne systemy operacyjne rozbudowane pakiety oprogramowania przetwarzanie multimediów systemy serwerowe Pojedyncze dyski HDD: setki GB Jak zrealizować spójny system plikowy o rozmiarach rzędu TB? Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 25 Macierz dyskowa RAID RAID Redundant Array of Inexpensive Disks Rozwiązanie RAID polega na zorganizowaniu wielu fizycznie niezaleŝnych dysków jako jednego spójnego dysku logicznego. System RAID jest realizowany sprzętowo i wymaga odpowiednich konstrukcji płyt głównych bądź kontrolerów. Dane dysku logicznego podzielone są na bloki (stripes) i rozłoŝone po dyskach fizycznych, tak aby zwiększyć szybkość dostępu do danych. Blok 7 Blok 8 Blok 6 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 26 RAID 0 Macierz typu RAID 0 polega na prostym utworzeniu dysku logicznego z dysków fizycznych. Blok 7 Blok 8 Blok 6 Zaleta: maksymalne wykorzystanie przestrzeni dyskowej Wada: krótszy MTBF (Mean Time Between Failures) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 27 9
RAID 1 Macierz typu RAID 1 polega na utworzeniu dysku logicznego z dysków fizycznych i prostą duplikację danych oryginał kopia Zaleta: wysokie bezpieczeństwo danych Wada: wykorzystanie tylko połowy dostępnej przestrzeni dysków fizycznych Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 28 RAID 3 i 4 Macierz typu RAID 3 polega na utworzeniu dysku logicznego z dysków fizycznych z wykorzystaniem dysku bitów parzystości Blok 6 xor 1 i 2 xor 3 i 4 xor 5 i 6 A B 0 0 0 1 1 0 1 1 XOR 0 1 1 0 Na podstawie bitów parzystości moŝna odtworzyć dane z dowolnego dysku, który uległ awarii (fault-tolerant system). Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 29 Blok i RAID 3 i 4 A B C D XOR Blok i+1 Blok i+2 Blok i+3 xor 1 i 2 xor 3 i 4 xor 5 i 6 A B C D X 0 0 0 0 0 0 1 0 Operacja XOR na wielu bitach nazywana jest 0 1 obliczaniem parzystości, gdyŝwynik jest równy 0 1 0 1 0 0 gdy mamy parzystąliczbębitów równych 1 i 0 1 1 1 1 1 1 1 1 1 gdy mamy nieparzystąliczbębitów równych 1. 0 0 1 1 0 C = 0 1 1 1 1 A = 0 0 0 0 1 D = 1 0 1 0 1 OK 0 1 0 A=?, B=? Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 30 10
RAID 5 Wadą rozwiązania RAID 3 i 4 jest konieczność wykonywania zapisu parzystości zawsze na tym samym dysku, co powoduje jego bardziej intensywne wykorzystanie niŝ dysków pozostałych. Zwiększa ryzyko to ryzyko awarii i zmniejsza wydajność transferu. Blok 7 xor 7,8,9 xor 4,5,6 Blok 8 xor xor 1,2,3 Blok 6 Blok 9 RAID 5 polega na rozproszeniu zapisu informacji o parzystości, co powoduje wyrównanie obciąŝenia wykorzystania dysków i ma pozytywny wpływ na zwiększenie szybkości transferu. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 31 Systemowe (System) Typy oprogramowania zarządzanie uŝytkownikami w systemie obsługa systemu plików (backup, defragmentacja, integralność) instalowanie i usuwanie oprogramowania bezpieczeństwo systemu i danych zarządzanie serwerami usług sieciowych Usługowe (Utility) prosta edycja i podgląd plików tekstowych, graficznych, etc. kompresja i dekompresja plików Biurowe (Office) przetwarzanie tekstu, obliczenia tabelaryczne, grafika prezentacyjna, schematy organizacyjne, planowanie czasu, komunikacja Deweloperskie (Developement) tworzenie oprogramowania (kompilatory i interpretery języków programowania, debuggery, profilatory) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 32 Typy oprogramowania Sieciowe (Network) przeglądanie zasobów Internetu (WWW, ftp) poczta elektroniczna, grupy dyskusyjne, chaty, etc. CAD (Computer Aided Design) wspomaganie projektowania: ekonomia, elektronika, mechanika, chemia, medycyna, matematyka, Rozrywkowe (Entertainment) przetwarzanie tekstu, obliczenia tabelaryczne, grafika prezentacyjna, schematy organizacyjne, planowanie czasu, komunikacja Multimedialne zaawansowana obróbka i odtwarzanie dzwięku, obrazu Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 33 11