Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Zbigniew S. Szewczak Podstawy Systemów Operacyjnych"

Transkrypt

1 Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego Toruń, 2004

2 Odrabianie wykładów czwartek, , S7, g czwartek, , S7, g

3 Struktura systemu operacyjnego Składowe systemu Usługi systemu operacyjnego Funkcje systemowe Programy systemowe Struktury systemów Maszyny wirtualne Projektowanie i implementacja systemu Generowanie systemu

4 Składowe systemu Zarządzanie procesami (ang. process management) Zarządzanie pamięcią operacyjną (ang. main memory management) Zarządzanie plikami (ang. file management) Zarządzanie systemem we/wy (ang. I/O system management) Zarządzanie pamięcią pomocniczą (ang. secondary-storage management)

5 Składowe systemu (c.d) Praca sieciowa (ang. networking) System ochrony (ang. protection system) System interpretacji poleceń (ang. commandinterpreter system )

6 Zarządzanie procesami Proces to program, który jest wykonywany. Do realizacji swego celu proces potrzebuje zasobów: czasu procesora, pamięci, plików oraz we/wy. Procesy mogą być systemowe i użytkowe Proces jest jednostką pracy w systemie System składa się ze zbioru procesów

7 Zarządzanie procesami (c.d.) Program nie jest procesem, jest elementem pasywnym, zaś proces jest jednostką aktywną W odniesieniu do zarządzania procesami system operacyjny odpowiada za: tworzenie i usuwanie procesów wstrzymywanie i wznawianie procesów synchronizację procesów komunikację procesów obsługę impasów, zakleszczeń (ang. deadlock)

8 Zarządzanie pamięcią operacyjną Pamięć jest wielką tablicą słów lub bajtów o przypisanych adresach. Pamięć stanowi magazyn szybko dostępnych danych wspólnie wykorzystywanych przez procesor i we/wy. Pamięć operacyjna jest pamięcią ulotną W odniesieniu do zarządzania pamięcią system odpowiada za utrzymywanie tablicy zajętości pamięci decydowanie o tym jakie procesy są ładowane do pamięci przydzielanie i zwolnianie pamięci

9 Zarządzanie plikami Plik jest zbiorem powiązanych ze sobą informacji zdefiniowanych przez jego twórcę. Zwykle plik zawiera program (źródłowy lub wynikowy) albo dane W odniesieniu do zarządzania plikami system odpowiada za tworzenie i usuwanie plików i katalogów dostarczanie elementarnych operacji na plikach i katalogach odwzorowywanie plików na obszary pamięci pomocniczej składowanie plików na trwałych nośnikach pamięci (ang. file backup)

10 Zarządzanie systemem we/wy System we/wy obejmuje zarządzanie pamięcią: buforowanie, pamięć podręczna, spooling ogólny interfejs do modułów sterujących urządzeń moduły obsługi (ang. drivers) urządzeń sprzętowych

11 Zarządzanie pamięcią pomocniczą Pamięć operacyjna (ang. primary storage) jest ulotna i za mała aby pomieścić dane i programy dlatego komputer musi mieć pamięć pomocniczą (ang. secondary storage) Większość współczesnych komputerów używa pamięci dyskowej dla danych i programów W odniesieniu do zarządzania pamięcią dyskową system odpowiada za zarządzanie obszarami wolnymi przydzielanie pamięci planowanie przydziału pamięci dyskowej

12 Praca sieciowa System rozproszony jest zbiorem procesorów, które nie dzielą pamięci, urządzeń zewnętrznych ani zegara. Każdy procesor ma własną pamięć lokalną Procesory w systemie rozproszonym komunikują się za pomocą linii komunikacyjnych stanowiących elementy sieci komputerowych System rozproszony umożliwia zdalny dostęp do zasobów różnych systemów komputerowych (na ogół jest to dostęp do plików)

13 System ochrony Ochrona jest mechanizmem nadzorowania dostępu programów, procesów lub użytkowników do zasobów komputera Mechanizm ochrony musi rozróżniać między prawomocnym (ang. authorized) i nieprawomocnym użyciem zasobów określać co i na jakiej zasadzie podlega ochronie posiadać środki do wymuszania zaprowadzonych ustaleń

14 System interpretacji poleceń Wiele poleceń jest przekazywanych do systemu za pomocą instrukcji sterujących (ang. control statements). Polecenia te dotyczą tworzenia procesów i zarządzania nimi obsługi wejścia/wyjścia administrowania pamięcią pomocniczą i operacyjną dostępu do plików ochrony pracy sieciowej

15 System interpretacji poleceń (c.d.) Program, który analizuje instrukcje sterujące nazywa się różnie interpreter kart sterujących (ang. control-card interpreter) interpreter wiersza poleceń(ang. command-line interpreter) powłoka (ang. shell) (w UNIXie) Jego funkcja to pobranie i wykonanie następnej instrukcji sterującej wpisanej z klawiatury i wprowadzonej za pomocą klawisza Enter (Return) bądź wprowadzonej kliknieciem myszki na wybraną ikonę.

16 Unix - realizacja poleceń Interpreter poleceń: powłoka (ang. shell) System wielozadaniowy Wprowadzenie polecenia to zapoczątkownie procesu funkcją systemową fork i exec Powłoka oczekuje na zakończenie procesu Jeśli polecenie wykonuje się w tle (ang. background) to powłoka może przyjmować nowe polecenia Proces wykonuje funkcję systemową exit Powłoka może realizować nowe polecenie

17 Przykład - prosty shell #define TRUE 1 while (TRUE) { /* pętla */ type_prompt( ); /* prompt */ read_command (command, parameters) /*czytaj komendę */ if (fork()!= 0) { /* proces potomny */ /* Kod rodzica */ waitpid( -1, &status, 0); /* czekaj */ } else { /* Kod potomka */ execve (command, parameters, 0); /* wykonaj komendę */ } }

18 Router Cisco - CLI System IOS FLASH sh flash CPU sh processes CPU Konfiguracja NVRAM sh conf sh ver sh prot sh run booting ROM interfejs szyny RAM IOS tablice routingu magistrala interfejs we/wy interfejs we/wy interfejs we/wy CPU CPU CPU sh int s0

19 Usługi systemu operacyjnego Wykonanie programu - system powinien móc załadować program do pamięci i wykonać go Operacje we/wy - ponieważ program użytkowy nie wykonuje operacji we/wy bezpośrednio więc system musi to oferować system Manipulowanie systemem plików - program musi mieć możliwość (pod kontrolą) do czytania, pisania, tworzenia i usuwania plików

20 Usługi systemu operacyjnego (c.d.) Komunikacja - wymiana informacji pomiędzy procesami wykonywanymi na tym samym lub zdalnym komputerze np. za pomocą pamięci dzielonej (ang. shared memory) lub przekazywania komunikatów (ang. message passing) Wykrywanie błędów - zapewnienie prawidłowści dziąłania komputera poprzez wykrywanie i obsługę wszystkich błędów w jednostce centralnej, pamięci operacyjnej, urządzeniach we/wy (np. błąd sumy kontrolnej) i w programie użytkownika (np. przekroczenie czasu)

21 Dodatkowe funkcje systemu Dodatkowe funkcje systemu nie są przeznaczone do pomagania użytkownikowi, lecz do optymalizacji działania samego systemu przydzielanie zasobów dla wielu użytkowników i wielu zadań w tym samym czasie rozliczanie - przechowywanie danych o tym, którzy użytkownicy i w jakim stopniu korzystają z poszczególnych zasobów komputera (statystyka użytkowania) ochrona - zapewnienie aby cały dostęp do zasobów systemu odbywał się pod kontrolą np. dostęp przez modem po podaniu hasła

22 Funkcje systemowe Funkcje systemowe (ang. system calls) tworzą interfejs między wykonywanym programem a systemem operacyjnym dostępne na poziomie języka maszynowego (asemblera) - IBM/370: rozkaz SIO (start input/output) pewne języki zastępują asembler w programowaniu systemowym i umożliwiają bezpośrednie wykonywanie funkcji systemowych (np. C, C++, Bliss, PL/360, PERL) Win32 API (ang. Application Programm{er ing} Interface) - wielki zbiór procedur dostarczanych przez Microsoft, które umożliwiają realizację funkcji systemowych Proste skopiowanie pliku jest w rzeczywistości skomplikowanym przedsięwzięciem

23 Funkcje systemowe (c.d.) Są trzy metody przekazywania parametrów między wykonywanym programem a systemem operacyjnym umieszczenie parametrów w rejestrach jednostki centralnej zapamiętanie parametrów w tablicy w pamięci operacyjnej i przekazanie adresu tej tablicy jako parametru w rejestrze składowanie (ang. push) przez program parametrów na stosie (ang. stack) i zdejmowanie (ang. pop) ze stosu przez system operacyjny

24 Przekazywanie parametrów za pomocą tablicy X Rejestr X: parametry funkcji systemowej pobranie adresu X wywołanie funkcji systemowej 13 użycie parametrów z tablicy X kod funkcji systemowej 13 program użytkownika system operacyjny

25 Funkcje systemowe - podział nadzorowanie procesów operacje na plikach operacje na urządzeniach utrzymywanie informacji komunikacja

26 Nadzorowanie procesów zakończenie (end), zaniechanie (abort) załadowanie (load), wykonanie (execute) utworzenie (create) i zakończenie (terminate) pobranie (get) i ustawienie (set) atrybutów czekanie czasowe (wait for time) czekanie na zdarzenie (event), sygnał (signal) przydział (allocate) i zwolnienie (free) pamięci

27 Nadzorowanie procesów i zadań Zrzuty zawartości (ang. dump) pamięci na dysk w przypadku błędu Ślad działania programu (ang. trace) tryb pracy jednokrokowy procesora (ang. single step) - wejście w tryb obsługi pułapki (ang. trap) po wykonaniu każdej instrukcji Dokąd przekazać sterowanie gdy załadowany program zakończy pracę?

28 MS-DOS działanie System jednozadaniowy Okrojone wykonywanie współbieżne za pomocą funkcji systemowej TSR (ang. terminate and stay resistance) TSR przechwytuje przerwanie (np. zegarowe) TSR rezerwuje obszar pamięci co uniemożliwia nadpisanie go przez interpreter poleceń

29 MS-DOS - proces a pamięć obszar wolny obszar wolny proces interpreter jądro interpreter jądro

30 UNIX - wieloprogramowanie proces D obszar wolny proces C interpreter proces B jądro

31 Operacje na plikach utworzenie (create) i usunięcie (delete) otwarcie (open) i zamknięcie (close) czytanie (read), pisanie (write), zmiana położenia (reposition) pobranie (get) i ustawienie (set) atrybutów (attributes) pliku

32 Zarządzanie urządzeniami Zarezerwowanie urządzenia Zwolnienie urządzenia Podobieństwo plików i urządzeń W Unixie i MS-DOS urządzenia to pliki o specjalnych nazwach (/dev/ttys0 lub COM1)

33 Utrzymywanie informacji pobranie (get) lub ustawienie (set) czasu lub daty (time or date) pobranie (get) lub ustawienie (set) danych systemowych (system data) pobranie (get) atrybutów procesu, pliku lub urządzenia ustawienie (set) atrybutów procesu, pliku lub urządzenia

34 Komunikacja utworzenie (create), usunięcie (delete) połączenia nadawanie (send), odbieranie (receive) komunikatów (messages) przekazywanie informacji o stanie (transfer status information) przyłączanie lub odłączanie urządzeń zdalnych (attach or detach remote devices)

35 Operacje na urządzeniach zamówienie (request) i zwolnienie (release) urządzenia (device) czytanie (read), pisanie (write) i zmiana położenia (reposition) pobranie (get) i ustawienie (set) atrybutów logiczne przyłączanie (logically attach) i odłączanie (detach) urządzenia

36 Działanie na plikach Pliki tworzymy i usuwamy Aby użyć utworzony plik musimy go otworzyć Wykonujemy operacje na plikach (czytanie, pisanie, przewijanie) Po wykonaniu operacji na pliku plik zamykamy Katalog jest też plikiem: analogiczne funkcje Ochrona dostępu: atrybuty zbiorów

37 Przykłady - Unix i Win32 tworzenie nowego procesu Unix: fork; Win32: CreateProcess czekanie na zakończenie procesu Unix: waitpid; Win32: WaitForSingleObject wykonanie nowego procesu Unix: execve; Win32: (brak) zakończenie procesu Unix: exit; Win32: ExitProcess przesłanie sygnału Unix: kill; Win32: (brak)

38 Przykłady - Unix i Win32 (c.d.) otwarcie zbioru Unix: open; Win32: CreateFile zamknięcie zbioru Unix: close ; Win32: CloseHandle czytanie z pliku Unix: read; Win32: ReadFile pisanie do pliku Unix: write; Win32: WriteFile przesunięcie w pliku Unix: lseek; Win32: SetFilePointer

39 Przykłady - Unix i Win32 (c.d.) atrybuty pliku Unix: stat; Win32: GetFileAttributesEx tworzenie katalogu Unix: mkdir; Win32: CreateDirectory usuwanie katalogu Unix: rmdir; Win32: RemoveDirectory link do pliku Unix: link; Win32: (brak) usuniecie linku Unix: unlik; Win32: (brak)

40 Przykłady - Unix i Win32 (c.d.) montowanie katalogu Unix: mount; Win32: (brak) rozmontowanie katalogu Unix: umount; Win32: (brak) zmiana katalogu Unix: chdir; Win32: SetCurrentDirectory zmiana praw dostępu Unix: chmod; Win32: (brak) pobranie czasu Unix: time; Win32: GetLocalTime

41 Komunikacja Dwa modele komunikacji: przesyłanie komunikatów (ang. message passing) pamięć dzielona (ang. shared memory) Przesyłanie komunikatów nawiązanie połączenia pobranie nazwy sieciowej (ang. gethostid), procesu (ang. get processid), otwarcie połączenia (ang. open connection) realizacja połączenia klient i serwer wymieniają komunikaty (read, write) zamknięcie połączenia (ang. close connection)

42 Model klient/serwer Usługi warstwy prezentacji Oprogramowanie klienta Sieciowy system operacyjny klienta polecenie odpowiedź Protokół sieciowy Oprogarmowananie serwera Sieciowy system operacyjny serwera System operacyjny klienta Sprzęt klienta Połączenie sieciowe System operacyjny serwera Sprzęt serwera

43 Komunikacja (c.d.) Pamięć dzielona procesy posługują się systemowymi funkcjami odwzorowywania pamięci (ang. memory map) system operacyjny nie ingeruje w sposób wykorzystania pamięci dzielonej problemy synchronizacji i ochrony danych Przesyłanie komunikatów przydatne dla mniejszej ilości danych i łatwe do realizacji Pamięć dzielona zapewnia maksymalną szybkość i wygodę komunikacji

44 Rodzaje komunikowania proces A K proces C proces B K pamięć dzielona proces D jądro K przesyłanie komunikatów jądro pamięć dzielona

45 Programy systemowe Programy systemowe (ang. system programs) wygodniejsze środowisko do opracowywania i wykonywania innych programów. Można je podzielić na kilka kategorii Manipulowanie plikami (ang. file manipulation) - programy do tworzenia, usuwania, kopiowania, przemianowywania, składowania i wyprowadzania zawartości plików Informowanie o stanie systemu (ang. status information) - logi systemowe Tworzenie i zmienianie zawartości plików (ang. file modification) - np. edytory

46 Programy systemowe (c.d.) (c.d) Translatory języków programowania (ang. programming language support) - C, Pascal, Basic, Lisp.. Ładowanie i wykonywanie programów (ang. program loading and execution) - konsolidatory i programy ładujące Komunikacja (ang. communications) - np. remote login Programy aplikacyjne (ang. application programs) Sposób w jaki użytkownicy postrzegają system operacyjny wyznaczają programy systemowe a nie funkcje (wywołania) systemowe Przyjazne dla użytkownika środowisko nie jest bezpośrednim celem systemu operacyjnego

47 Struktury systemów Monolityczna (ang. monolithic) - jądro jednoczęściowe OS/ programistów 1M kodu w ciągu 5 lat IBM/360 MVT/TSO - koszt 50M $ AIX - Unix wersji IBM - jądro dwuczęściowe Warstwowa (ang. layered) strukura hierarchiczna - skutki małych zmian w jednej warstwie trudne do przewidzenia w innych warstwach Mikrojądra (ang. microkernel, µ-kernel) jedynie bezwzględnie niezbędne funkcje systemowe w jądrze systemu (np. mikrojądro L4 ma 12kB kodu, 7 funkcji systemowych)

48 System monolityczny procedura główna procedury usługowe procedury użytkowe

49 Przykład - MS-DOS MS-DOS napisany pod kątem osiągnięcia maksymalnej funkcjonalności przy oszczędności miejsca brak wyraźnego podziału na moduły interfejsy i poziomy funkcjonalności nie są jasno wydzielone, np. programy użytkowe mogą pisać bezpośrednio na ekran brak dualnego trybu pracy (Intel 8088) konsekwencja: MS-DOS nie jest odporny na błędne programy

50 Struktura MS-DOS (c.d.) program aplikacji rezydentny program systemowy moduły sterujące MS-DOS moduły sterujące ROM BIOS

51 Przykład - Unix UNIX (oryginalny) - ograniczany przez cechy sprzętu miał ograniczoną strukturę. UNIX OS składa z dwu odrębnych części programy systemowe jądro systemu jądro to wszystko co znajduje się poniżej interfejsu funkcji systemowych a powyżej sprzętu za pośrednictwem funkcji systemowych jądro systemu UNIX udostepnia system plików, planowanie przydziału procesora, zarządzanie pamięcią oraz inne funkcje systemu

52 Struktura systemu UNIX (użytkownicy) powłoki i polecenia kompilatory i interpretery biblioteki systemowe interfejs funkcji systemowych obsługa sygnalów obsługa terminali znakowy system we/wy moduły sterujące terminali system plików wymiana blokowy system we/wy moduły sterujące dysków i taśm planowanie CPU zastępowanie stron stronicowanie na żądanie pamięć wirtualna sterowniki terminali terminale sprzętowy interfejs jądra sterowniki urządzeń dyski i taśmy sterowniki pamięci pamięć fizyczna

53 Struktura warstwowa System operacyjny jest podzielony na warstwy (poziomy) (ang. layers (levels)) zbudowane powyżej warstw niższych. Warstwę najniższą (warstwę 0) stanowi sprzęt; warstwę najwyższą (warstwę N) stanowi interfejs z użytkownikiem podejście warstwowe realizuje modularność (ang. modularity): warstwy są wybrane w ten sposób, że każda korzysta z funkcji (operacji) i usług tylko niżej położonych warstw

54 Warstwa systemu operacyjnego nowe operacje... warstwa M ukryte operacje... warstwa M-1 istniejące operacje...

55 Przykład - system THE Zastosowana po raz pierwszy przy projektowaniu systemu THE (Technische Hogeschool w Eindhoven). Sześć warstw 5: programy użytkowe 4: buforowanie urządzeń we/wy 3: program obsługi konsoli operatora 2: zarządzanie pamięcią 1: planowanie przydziału procesora 0: sprzęt

56 Struktura systemu OS/2 aplikacja aplikacja aplikacja interfejs programowania aplikacji API podsystem podsystem podsystem jądro systemu zarządzanie pamięcią ekspedycja zadań zarządzanie urządzeniami moduł sterujący moduł sterujący moduł sterujący moduł sterujący

57 Struktura jądra systemu Unix warstwa użytkownika pułapka program użytkownika biblioteki warstwa jądra interfejs funkcji systemowych podsystem plików cache (bufory) znakowe blokowe moduły sterujące podsystem zarządzania procesami komunikacja międzyprocesowa planista przydziału procesora zarządzanie pamięcią warstwa jądra warstwa sprzętu interfejs sprzętu sprzęt

58 Maszyny wirtualne Maszyna wirtualna (ang. virtual machine) jest logiczną konsekwencją podejścia warstwowego: jądro systemu jest traktowane jako sprzęt. IBM VM/370, JavaOS, Tryb MS-DOS, Cygwin, VMware Maszyna wirtualna dostarcza identycznego interfejsu dla sprzętu System operacyjny tworzy wirtualne systemy komputerowe, każdy proces ma do dyspozycji własne (wirtualne) jądro, dyski, pamięć, drukarki

59 Maszyny wirtualne (c.d.) Zasoby fizycznego komputera są dzielone w celu utworzenia maszyn wirtualnych planowanie przydziału procesora jest tak wykorzystane, że użytkownik ma wrażenie jakoby miał do dyspozycji własny procesor Spooling i system zarzadzania plikami jest wykorzystany tak, że powstaje wrażenie użytkowania drukarki, czytnika na wyłączność Zwykłe terminale użytkownika funkcjonują jak konsole operatorskie maszyny wirtualnej ( system interakcyjny CMS)

60 Modele systemu maszyna niewirtualna maszyna wirtualna proces F proces B proces D proces B proces E proces A proces C proces A jądro sprzęt interfejs programowy jądro jądro sprzęt jądro VM1 VM2 VM3 implementacja maszyny wirtualnej

61 Przykład - VM/370 Obserwacja: system podziału czasu daje użytkownikowi wieloprogramowanie poprzez stworzenie wrażenia maszyny wirtualnej Wniosek: należy te dwie idee rozdzielić Monitor maszyny wirtualnej zarządza zasobami sprzętowymi wielu systemów operacyjnych CMS (ang. Conversational Monitor System) Przykład: program czyta plik z dysku wirtualnego (wirtualne) wywołanie systemowe CMS symulacja I/O przez system VM/370

62 Przykład - VM/370 maszyny wirtualne 370 wywołanie systemowe instrukcja we/wy CMS CMS CMS pułapka pułapka VM/370 goła maszyna 370

63 Wirtualna Maszyna Javy Program w Javie.java kompilowany programem javac tworzy kod wynikowy (ang. bytecode).class Kod wynikowy.class jest niezależny od platformy sprzętowej Do wykonania.class potrzebny jest jednak program java (Java Virtual Machine (JVM)), który jest implementacją maszyny wirtualnej JVM składa się z: Class loader Class verifier Runtime interpreter

64 Maszyna wirtualna JVM program Java pliki.class class loader Java interpreter bytecode Java API pliki.class system operacyjny

65 Przykład - program w Javie hello.java public class hello { public static void main(string args[]) { System.out.println("Hello World!"); } } javac hello.java javap -c hello >hello.bc scp java.class slogin juliusz.mat.uni.torun.pl -l user uname -a java hello

66 Maszyna wirtualna - plusy i minusy Koncepcja maszyny wirtualnej dostarcza pełnej ochrony zasobów systemu, bowiem każda maszyna wirtualna jest całkowicie odizolowana od innych maszyn. Z drugiej strony izolacja taka utrudnia bezpośrednie dzielenie zasobów System maszyn wirtualnych jest doskonałym narzędziem do badania systemów operacyjnych oraz poszukiwania kierunków ich rozwoju. Nie ma potrzeby wyłączać z eksploatacji systemu komputerowego w czasie trawania prac systemowych - można eksperymentować na jednej z maszyn wirtualnych

67 Maszyna wirtualna - plusy i minusy (c.d.) Metasystem operacyjny - system operacyjny nadzorujący jednoczesną pracę wielu systemów operacyjnych na jednym komputerze: np. 9xLinux, 2xW95, 2xWNT, 1xSolaris, 1xMS-DOS Koncepcja maszyny wirtualnej jest bardzo trudna do zaimplementowania dlatego, że zawsze będzie pokusa uzyskania oryginalnego systemu pod postacią maszyny wirtualnej - petitio principii petitio principii - sofizmat myślowy, błędne koło

68 Kompromis - egzojądro Maszyna wirtualna daje jedynie fragment zasobów maszyny rzeczywistej Istnieją dwa rodzaje ludzi - ci, którzy wszystko na świecie dzielą na dwa rodzaje rzeczy i ci, którzy tego nie czynią - Kenneth Boulding Egzojądro (ang. exokernel ) - najniższa warstwa jądra mająca za zadanie przydział zasobów maszyn wirtualnych Wieloprogramowanie obsługiwane w egzojądrze System operacyjny użytkownika działa w jego przestrzeni adresowej ( w trybie użytkownika)

69 Wady podejścia warstwowego Trudno jest zdefiniować warstwę albowiem uzależnione to jest od warstw leżących poniżej Nieefektywność systemu wynikająca z konieczności przechodzenia przez wiele warstw operacja we/wy:warstwa we/wy -> warstwa zarządzania pamięcią-> warstwa zarządzania procesami-> sprzęt pierwsze wersje Windows NT miały strukturę warstwową i były mniej wydajne niż Windows95 Trudno jest kontrolować modyfikowanie kodu systemu operacyjnego

70 Mikrojądro jądro zredukowane do małego zbioru funkcji rdzeniowych tzw. mikrojądro większość operacji w przestrzeni użytkownika obsługa: urządzeń, plików, pamięci wirtualnej, grafiki, ochrona przy pomocy komunikatów (np. IPC) Przykłady Mach - opracowany w Carnegie-Mellon University Tru64 UNIX - Digital UNIX Apple MacOS X Server QNX - przykład systemu czasu rzeczywistego Windows NT rozwiązanie hybrydowe: warstwowe podejście do modelu klient-serwer

71 Struktura Mac OS X application environments and common services BSD mach kernel environment

72 Windows NT - hybrydowa struktura klient - serwer aplikacja Win32 aplikacja OS/2 aplikacja POSIX serwer Win32 serwer OS/2 serwer POSIX jądro jądro

73 Warstwy a mikrojądro tryb jądra użytkownicy systemy plików komunikacja IPC zarządzanie we/wy pamięć wirtualna tryb użytkownika proces klienta moduły sterujące serwer plików serwer procesów pamięć wirtualna zarządzanie procesami sprzęt mikrojądro sprzęt

74 Zalety i wady mikrojąder Jednolity interfejs dla procesów Łatwość w kontrolowaniu kodu systemu operacyjnego Przenaszalność systemu (na inną architekturę) Niezawodność - małe jądro łatwiej przetestować (ok. 300 kb kodu, 140 funkcji systemowych) Wydajność - zbudowanie, zakolejkowanie, wysłanie, odebranie, potwierdzenie komunikatu Poprawianie wydajności prowadzi do rozbudowy mikrojądra

75 Moduły Większość współczesnych systemów operacyjnych ma zaimplementowane w jądrze systemu moduły (np. Linux) podejście zorientowane obiektowo moduły komunikują się za pomocą interfejsów moduł jest ładowany do jądra tylko wtedy gdy jest potrzebny Pewne podobieństwo do struktury warstwowej jednak większa elastyczność

76 Solaris - struktura modułowa moduły urządzeń kolejki planisty systemy plików różne moduły rdzeń jądra wywołania systemowe moduły strumieni formaty wynikowe

77 Projektowanie systemu - założenia projektowe Oczekiwania użytkownika - system operacyjny powinien być wygodny i łatwy w użyciu i do nauki, niezawodny, bezpieczny i szybki Oczekiwania projektanta systemu - system operacyjny powinien być łatwy w projektowaniu oraz realizacji; elastyczny, niezawodny, wolny od błędów i wydajny Sformułowane oczekiwania są niejasne, nieprecyzyjne, na domiar złego ogólny sposób realizacji jest nieznany

78 Mechanizm a polityka Mechanizmy określają jak czegoś dokonać, zaś polityka decyduje o tym co ma być zrobione Zasada rozdziału polityki od mechanizmu jest bardzo ważną zasadą gwarantującą elastyczność zmiana polityki może powodowąć wymianę mechanizmu ogólny mechanizm jest mniej podatny na zmianę polityki dwie skrajności wydzielenie elementarnych składowych systemu operacyjnego (np. w postaci mikrojąder) i budowanie na ich podstawie ogólnych mechanizmów zależnie od bieżącej polityki wbudowanie wszystkich mechanizów oraz interfejsów użytkowych w jądro systemu (np. Apple Macintosh)

79 Implementacja systemu Tradycyjnie systemy operacyjne pisano w kodzie maszynowym (asemblerze); obecnie mogą być pisane w języku wysokiego poziomu (tylko 900 wierszy oryginalnego kodu UNIXa było w asemblerze) Język wysokiego poziomu pozwala na szybsze programowanie systemów operacyjnych uzyskiwanie bardziej zwartego kodu. łatwiejsze zrozumienie i sprawdzanie kodu łatwiejsze przenoszenie (ang. port) systemu na komputery o innej architekturze

80 Generowanie systemu - (SYSGEN) Systemy operacyjne są projektowane na pewną klasę (podobnych) maszyn; dla każdej maszyny system musi zostać osobno skonfigurowany Program generujący (SYSGEN) ma na wejściu informację o specyficznej konfiguracji a na wyjściu gotowy system operacyjny na dysku jaki procesor lub procesory; jakie rozszerzenia ile pamięci opercyjnej; ile pamięci pomocniczej(swap) jakie urządzenia we/wy i sposób ich adresowania jaki sposób przydziału procesora, maksymalna liczba procesów

81 Generowanie systemu - (SYSGEN) (c.d.) Można skonstruować system całkowicie sterowany tablicami; system zawiera cały wymagany kod a wyboru dokonuje się w czasie wykonania programu Rozruch (ang. booting) - procedura startowania systemu przez załadowanie jądra do pamięci Program rozruchowy (ładujący) (ang. bootstrap (loader)) - fragment kodu w ROM, który jest w stanie zlokalizowąć jądro, wczytać do pamięci i rozpocząć jego wykonywanie

82 Strony WWW ACM IEEE Computer Society USENIX

83 Podsumowanie (1) Systemy operacyjne są dostarczycielami usług najniższy poziom to funkcje systemowe interpreter poleceń lub powłoka programy systemowe do spełniania życzeń Rodzaje żądań od systemu zależą od poziomu najniższy poziom: podstawowe operacje na procesach, plikach i urządzeniach żądania poziomu interpretera poleceń lub programów systemowych są tłumaczone na język funkcji systemowych

84 Podsumowanie (2) Usługi systemu dzielimy na nadzór na wykonaniem procesów podawanie informacji o stanie systemu obsługa zamówień na operacje we/wy obsługa błędów Struktura jądra systemu monolityczna - np. Linux warstwowa mikrojądro

85 Podsumowanie (3) Projektowanie systemu operacyjnego modularność projektu ułatwia implementację układ warstwowy jest ważną techniką projektowania koncepcja maszyny wirtualnej zaciera różnice między jądrem i sprzętem i pozwala na umieszczenie systemu oddzielenie polityki od szczegółów realizacyjnych podczas projektowania gwarantuje elestyczność systemy operacyjne pisane są w językach wysokiego poziomu lub w językach implementacji systemów Generacja systemu jest dopasowaniem systemu operacyjnego do potrzeb konkretnej instalacji

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Składowe systemu. Usługi systemu operacyjnego. Wywołania systemowe. Programy systemowe. Struktura systemu. Maszyny wirtualne. Projektowanie i implementacja systemu. Generowanie

Bardziej szczegółowo

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

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Zadania s.o. Usługi s.o. Budowa s.o. Podejście warstwowe Przykładowe konstrukcje Funkcje systemowe Programy systemowe Maszyny wirtualne Tworzenie i uruchamianie s.o. Procesy

Bardziej szczegółowo

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego Systemy operacyjne wprowadzenie 1 Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na

Bardziej szczegółowo

System komputerowy. System komputerowy

System komputerowy. System komputerowy System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,

Bardziej szczegółowo

Informatyka. informatyka i nauki komputerowe (computer science)

Informatyka. informatyka i nauki komputerowe (computer science) Informatyka informacja i jej reprezentacje informatyka i nauki komputerowe (computer science) algorytmika efektywność algorytmów poprawność algorytmów złożoność obliczeniowa, problemy NP-trudne (NP-zupełne)

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III Jan Kazimirski 1 Opis zajęć Prezentacja budowy i zasad działania współczesnego systemu operacyjnego Prezentacja podstawowych elementów systemów operacyjnych i zasad ich implementacji

Bardziej szczegółowo

ARCHITEKTURY SYSTEMÓW OPERACYJNYCH

ARCHITEKTURY SYSTEMÓW OPERACYJNYCH ARCHITEKTURY SYSTEMÓW OPERACYJNYCH dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Wprowadzenie Systemy operacyjne

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

Warstwy systemu Windows 2000

Warstwy systemu Windows 2000 Warstwy systemu Windows 2000 Tryb użytkownika (User Mode) Tryb jądra (Kernel Mode) Tryb użytkownika (User Mode) Zarządzanie pamięcią wirtualną Cechy charakterystyczne systemu Windows XP: system bardzo

Bardziej szczegółowo

2009-03-21. Paweł Skrobanek. C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl http://pawel.skrobanek.staff.iiar.pwr.wroc.pl

2009-03-21. Paweł Skrobanek. C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl http://pawel.skrobanek.staff.iiar.pwr.wroc.pl Wrocław 2007-09 SYSTEMY OPERACYJNE WYKLAD 2 Paweł Skrobanek C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl http://pawel.skrobanek.staff.iiar.pwr.wroc.pl 1 PLAN: 2. Usługi 3. Funkcje systemowe 4. Programy

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa

Bardziej szczegółowo

Architektura systemu komputerowego

Architektura systemu komputerowego Architektura systemu komputerowego Klawiatura 1 2 Drukarka Mysz Monitor CPU Sterownik dysku Sterownik USB Sterownik PS/2 lub USB Sterownik portu szeregowego Sterownik wideo Pamięć operacyjna Działanie

Bardziej szczegółowo

1. Etapy rozwoju systemów komputerowych

1. Etapy rozwoju systemów komputerowych 1 Sieciowe Systemy Operacyjne Wprowadzenie do wykładu, podstawowe definicje, rola 1 systemu operacyjnego Procesy POSIX, zarządzanie procesami 2 Pliki, komunikacja przez pliki, blokowanie 1 Łącza nazwane

Bardziej szczegółowo

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz 2009. Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz 2009. Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA SYSTEMY OPERACYJNE PROWADZI: dr inż. Jarosław Bilski Katedra Inżynierii Komputerowej Politechnika Częstochowska Wykład dla kierunku Informatyka 2 ZAJĘCIA: Obowiązkowe Wykład Laboratorium 2 godziny tygodniowo

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Technologia informacyjna. Urządzenia techniki komputerowej

Technologia informacyjna. Urządzenia techniki komputerowej Technologia informacyjna Urządzenia techniki komputerowej System komputerowy = hardware (sprzęt) + software (oprogramowanie) Sprzęt komputerowy (ang. hardware) zasoby o specyficznej strukturze i organizacji

Bardziej szczegółowo

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. Paweł Pełczyński Systemy operacyjne Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie Struktura systemów operacyjnych Procesy i Wątki Komunikacja międzyprocesowa Szeregowanie procesów Zarządzanie

Bardziej szczegółowo

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

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS System Operacyjny DOS DOS (ang. Disc Operating System) jest to 16-bitowy jednozadaniowy system operacyjny. Głównym zadaniem systemu jest obsługa plików w systemie FAT (ang. File Allocation Table) i wsparcie

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

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

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania Systemy operacyjne Informatyka Stosowana, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 Systemy operacyjne Wykłady:

Bardziej szczegółowo

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Systemy operacyjne wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Plan wykładów 1. Wprowadzenie, 2. Procesy, wątki i zasoby, 3. Planowanie przydziału procesora, 4. Zarządzanie pamięcią operacyjną,

Bardziej szczegółowo

System operacyjny System operacyjny

System operacyjny System operacyjny System operacyjny System operacyjny (ang. operating system) jest programem (grupą programów), który pośredniczy między użytkownikiem komputera a sprzętem komputerowym. Jest on niezbędny do prawidłowej

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Podstawowe zagadnienia

Podstawowe zagadnienia SWB - Systemy operacyjne w systemach wbudowanych - wykład 14 asz 1 Podstawowe zagadnienia System operacyjny System czasu rzeczywistego Systemy wbudowane a system operacyjny Przykłady systemów operacyjnych

Bardziej szczegółowo

Systemy Operacyjne struktura

Systemy Operacyjne struktura Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 27 października 2006 Plan wykładu 1 2 Elementy (podsystemy) systemu operacyjnego 3 systemu operacyjnego 4 5 6 sytemu operacyjnego 7 Projektowanie

Bardziej szczegółowo

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko Struktury systemów operacyjnych Usługi, funkcje, programy mgr inż. Krzysztof Szałajko Usługi systemu operacyjnego Wykonanie programu System operacyjny umożliwia wczytanie programu do pamięci operacyjnej

Bardziej szczegółowo

Systemy operacyjne. dr inż. Jerzy Sas. e-mail: jerzy.sas@pwr.wroc.pl

Systemy operacyjne. dr inż. Jerzy Sas. e-mail: jerzy.sas@pwr.wroc.pl Plan wykładu Systemy operacyjne dr inż. Jerzy Sas e-mail: jerzy.sas@pwr.wroc.pl 1. Wprowadzenie - podstawowe pojęcia, rys historyczny, architektura systemu komputerowego, architektura systemu operacyjnego,

Bardziej szczegółowo

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej

Bardziej szczegółowo

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

U M L.  System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) http://user-mode-linux.sourceforge.net/ System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) Autor: Jeff Dike Koncepcja powstała w 1999 r. Początkowo jako patch do jądra 2.0

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

ARCHITEKTURA PROCESORA, ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy

Bardziej szczegółowo

System komputerowy - hardware (schemat uproszczony) System operacyjny. Składniki systemu. Struktury systemów operacyjnych

System komputerowy - hardware (schemat uproszczony) System operacyjny. Składniki systemu. Struktury systemów operacyjnych System komputerowy - hardware (schemat uproszczony) System operacyjny 3.1 3.2 Struktury systemów operacyjnych Składniki systemu Składniki systemu Usługi systemowe Funkcje systemowe (system calls) Programy

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz

Bardziej szczegółowo

Podstawy technologii informacyjnej. Beata Kuźmińska

Podstawy technologii informacyjnej. Beata Kuźmińska Podstawy technologii informacyjnej Beata Kuźmińska Podstawowe definicje Informatyka - nazwa powstała w 1968 roku, stosowana w Europie. Informatyka zajmuje się całokształtem przechowywania, przesyłania,

Bardziej szczegółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4 Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,

Bardziej szczegółowo

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie System komputerowy System komputerowy (ang. computer system) to układ współdziałaniadwóch składowych: sprzętu komputerowegooraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej.

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Projektowanie i użytkowanie systemów operacyjnych Rok akademicki: 2013/2014 Kod: EAR-2-324-n Punkty ECTS: 5 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

Bardziej szczegółowo

SYSTEMY WEJŚCIA-WYJŚCIA

SYSTEMY WEJŚCIA-WYJŚCIA SYSTEMY WEJŚCIA-WYJŚCIA Systemy wejścia-wyjścia mają na celu umożliwienie wprowadzania informacji do komputera (wpisywanie tekstu, odczytywanie i zapisywanie danych na urządzeniach pamięci masowej itp.)

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań Podsumowanie 1. Klasyfikacja systemów operacyjnych 2. Zadania systemu operacyjnego 3. Zarządzanie zasobami systemu komputerowego 4. Zasoby zarządzane przez system operacyjny 5. Struktura systemów operacyjnych

Bardziej szczegółowo

System operacyjny MS-DOS

System operacyjny MS-DOS System operacyjny MS-DOS MS-DOS MS-DOS jest systemem jednozadaniowym, jego mechanizmy nie zapewniały ochrony i sprawnego zarządzania zasobami maszyny. DOS zajmuje się obsługą systemu plików, zawiera wsparcie

Bardziej szczegółowo

Podstawy języka Java. przygotował: pawel@kasprowski.pl

Podstawy języka Java. przygotował: pawel@kasprowski.pl Podstawy języka Java przygotował: pawel@kasprowski.pl Początki: PDA Star7 (*7) PDA do obsługi urządzeń domowych. (1992) (język OAK) Autorzy Javy Green Team Ojciec Javy: James Gosling Poszukiwanie zastosowania

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego

Bardziej szczegółowo

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez

Bardziej szczegółowo

Użytkownik Użytkownik Użytkownik Użytkownik... kompilatory edytor testu syst. bazy danych gry PROGRAMY UŻYTKOWE SYSTEM OPERACYJNY SPRZĘT KOMPUTEROWY

Użytkownik Użytkownik Użytkownik Użytkownik... kompilatory edytor testu syst. bazy danych gry PROGRAMY UŻYTKOWE SYSTEM OPERACYJNY SPRZĘT KOMPUTEROWY System komputerowy = sprzęt + oprogramowanie Hardware (czyli sprzęt - monitor, drukarka, itd.) Software (czyli oprogramowania - system operacyjny, programy narzędziowe, użytkowe, oprogramowanie stałe BIOS-u,

Bardziej szczegółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych

Wprowadzenie do systemów operacyjnych Wprowadzenie do systemów operacyjnych dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Zadania systemów operacyjnych

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo

Urządzenia zewnętrzne

Urządzenia zewnętrzne Urządzenia zewnętrzne SZYNA ADRESOWA SZYNA DANYCH SZYNA STEROWANIA ZEGAR PROCESOR PAMIĘC UKŁADY WE/WY Centralna jednostka przetw arzająca (CPU) DANE PROGRAMY WYNIKI... URZ. ZEWN. MO NITORY, DRUKARKI, CZYTNIKI,...

Bardziej szczegółowo

Laboratorium - Poznawanie FTP

Laboratorium - Poznawanie FTP Cele Część 1: Korzystanie z usługi FTP z wiersza poleceń. Część 2: Pobranie pliku z serwera FTP za pomocą WS_FTP LE Część 3: Korzystanie z usługi FTP w przeglądarce Scenariusz File Transfer Protocol (FTP)

Bardziej szczegółowo

Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 127 aragorn.pb.bialystok.pl/~wkwedlo

Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 127 aragorn.pb.bialystok.pl/~wkwedlo Systemy operacyjne Wojciech Kwedlo Wydział Informatyki PB, p. 127 wkwedlo@ii.pb.bialystok.pl aragorn.pb.bialystok.pl/~wkwedlo Ten wykład prowadzę pierwszy raz!!! Wojciech Kwedlo, Wykład z Systemów Operacyjnych

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011 http://www.wilno.uwb.edu.

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011 http://www.wilno.uwb.edu. SYLLABUS na rok akademicki 010/011 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr 1(rok)/1(sem) Specjalność Bez specjalności Kod katedry/zakładu

Bardziej szczegółowo

1. Co to jest system operacyjny

1. Co to jest system operacyjny II Systemy operacyjne Dariusz Skibicki Wydział Inżynierii Mechanicznej Uniwersytet Technologiczno-Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy dariusz.skibicki(at)utp.edu.pl 1. Co to jest

Bardziej szczegółowo

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań zespół PCSS/MIC: Jacek Kochan, Jerzy Mikołajczak, Marek Zawadzki 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010

Bardziej szczegółowo

Systemy wejścia-wyjścia. wyjścia

Systemy wejścia-wyjścia. wyjścia Systemy wejścia-wyjścia wyjścia RóŜnorodność urządzeń Funkcje Pamięci Przesyłania danych Interfejsu z człowiekiem Sterowanie Transmisja Znakowa Blokowa Dostęp Sekwencyjny Swobodny Tryb pracy Synchroniczny

Bardziej szczegółowo

Tworzenie sterowników dla FreeBSD. Michał Hajduk mih@semihalf.com

Tworzenie sterowników dla FreeBSD. Michał Hajduk mih@semihalf.com Tworzenie sterowników dla FreeBSD Michał Hajduk mih@semihalf.com AGH, Kraków 23.04.2009 Szkic prezentacji Wstęp, defnicje Architektura urządzeń RTC, I2C, DMA Wprowadzenie do tworzenia sterowników Newbus,

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia Bezpieczeństwo systemów komputerowych Java i JavaScript mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Java i JavaScript używane w celu dodania cech interaktywności do stron WWW mogą

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Budowa Mikrokomputera

Budowa Mikrokomputera Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,

Bardziej szczegółowo

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie. Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Kernel Kompilacja jądra

Kernel Kompilacja jądra Kernel Kompilacja jądra systemu Co to jest jądro systemu operacyjnego Jądro systemu operacyjnego jest rozpowszechniane na licencji GNU General Public License (GPL) określonej przez konsorcjum Free Software

Bardziej szczegółowo

Systemy operacyjne Charakterystyka systemów operacyjnych

Systemy operacyjne Charakterystyka systemów operacyjnych Systemy operacyjne Charakterystyka systemów operacyjnych Dr inŝ. Dariusz Caban mailto:dariusz.caban@pwr.wroc.pl tel.: (071)320-2823 Literatura A. Silberschatz, J.L. Peterson, P.B. Galvin Podstawy systemów

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

1. Co to jest system operacyjny?

1. Co to jest system operacyjny? 1. Co to jest system operacyjny? System operacyjny (ang. operating system) jest programem (grupą programów), który pośredniczy między użytkownikiem komputera a sprzętem komputerowym. Jest on niezbędny

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

Spis treści. 1 Java T M

Spis treści. 1 Java T M Spis treści 1 Java T M 1 2 Co to jest Platforma Java T M 1 3 Przygotowanie komputera 2 4 Pierwszy program 2 5 Dokumentacja 3 6 Budowa aplikacji. Klasy. 3 7 Pola i metody 4 8 Konstruktory 5 9 Inne proste

Bardziej szczegółowo

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

SYSTEMY OPERACYJNE WYKLAD 6 - procesy Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu

Bardziej szczegółowo

System operacyjny wstęp

System operacyjny wstęp System operacyjny wstęp Definicja 1. System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na efektywne współdzielenie urządzeń maszyny cyfrowej. Per Brinch Hansen

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Windows XP Wiersz polecenia

Windows XP Wiersz polecenia Windows XP Wiersz polecenia, opracował Jan Biernat 1 z 7 Windows XP Wiersz polecenia DOS (ang. Disk Operating System) pierwszy przenośny (dyskowy) system operacyjny komputerów PC i mikrokomputerów lat

Bardziej szczegółowo

2009-03-21. Paweł Skrobanek. C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl pawel.skrobanek.staff.iiar.pwr.wroc.pl

2009-03-21. Paweł Skrobanek. C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl pawel.skrobanek.staff.iiar.pwr.wroc.pl Wrocław 2007-09 SYSTEMY OPERACYJNE WPROWADZENIE Paweł Skrobanek C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl pawel.skrobanek.staff.iiar.pwr.wroc.pl 1 PLAN: 1. Komputer (przypomnienie) 2. System operacyjny

Bardziej szczegółowo

OSGi Agata Hejmej 4.05.2009

OSGi Agata Hejmej 4.05.2009 OSGi Agata Hejmej 4.05.2009 Plan prezentacji Co to jest OSGi Jakie problemy rozwiązuje Opis standardu Przykładowa aplikacja Podsumowanie korzyści Co to jest OSGi? Standard, który pozwala na tworzenie wysoce

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna

Bardziej szczegółowo

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tworzenie i obsługa wirtualnego laboratorium komputerowego Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego

Bardziej szczegółowo

Simulator of Operating System

Simulator of Operating System Mechanizmy stosowane w systemach operacyjnych system dydaktyczny Simulator of Operating System Sebastian Świerczyna Promotor: dr inż. Jarosław Bilski Politechnika Częstochowska Wydział Inżynierii Mechanicznej

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Systemy operacyjne Rok akademicki: 2012/2013 Kod: MEI-1-701-s Punkty ECTS: 5 Wydział: Inżynierii Metali i Informatyki Przemysłowej Kierunek: Edukacja Techniczno Informatyczna Specjalność:

Bardziej szczegółowo

"Klasyczna" struktura systemu operacyjnego:

Klasyczna struktura systemu operacyjnego: "Klasyczna" struktura systemu operacyjnego: Użytkownik Powłoka (shell) Programy użytkowe Programy systemowe API Jądro (kernel) Programy obsługi sprzętu (drivers) Sprzęt Funkcje systemu operacyjnego obsługa

Bardziej szczegółowo

Temat. Budowa systemu komputerowego 14.03.2015. Zakładka 1. Elementy tworzące stanowisko komputerowe.

Temat. Budowa systemu komputerowego 14.03.2015. Zakładka 1. Elementy tworzące stanowisko komputerowe. Temat. Budowa systemu komputerowego 14.03.2015 Zakładka 1. Elementy tworzące stanowisko komputerowe. Elementy stacji roboczej: - procesor, - pamięć, - obudowa komputera, - zasilacz, - karta graficzna,

Bardziej szczegółowo

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora) Pamięć operacyjna (main memory) obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora) cykl rozkazowy: pobranie rozkazu z PAO do rejestru rozkazów dekodowanie realizacja

Bardziej szczegółowo

Technologie informacyjne - wykład 3 -

Technologie informacyjne - wykład 3 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 3 - Prowadzący: dr inż. Łukasz

Bardziej szczegółowo