Zaawansowane systemy operacyjne. Wirtualizacja. Janina Mincer-Daszkiewicz.

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

Download "Zaawansowane systemy operacyjne. Wirtualizacja. Janina Mincer-Daszkiewicz. jmd@mimuw.edu.pl"

Transkrypt

1 Zaawansowane systemy operacyjne Wirtualizacja Janina Mincer-Daszkiewicz

2 Wirtualizacja (systemu) Definicje Odwzorowanie widocznego na zewnątrz interfejsu warstwy i zasobów na interfejs i zasoby warstwy leżącej pod spodem lub systemu, na którym jest zaimplementowana. Cele Abstrakcja żeby ułatwić korzystanie z zasobów (np. poprzez usuwanie szczegółów ich budowy) Replikacja żeby stworzyć wiele instancji zasobów (prostsze zarządzanie) Izolacja żeby odseparować od siebie użytkowników korzystających z zasobów (np. w celu poprawy bezpieczeństwa) Virtual Machine Monitor (VMM), hipervisor (ang. hypervisor) Oprogramowanie, firmware lub sprzęt, który dzieli pojedynczą fizyczną maszynę na (potencjalnie) wiele maszyn wirtualnych (VM) Terminologia Gospodarz (ang. host) maszyna i/lub oprogramowanie, na którym zaimplementowano VMM Gość (ang. guest) system operacyjny, który wykonuje się pod kontrolą VMM 2

3 Definicje Istnieją dwa typy hipervisorów: hipervisory 1 typu (ang. native) działają bezpośrednio na sprzęcie. hipervisory 2 typu (ang. hosted) działają na systemie operacyjnym gospodarza, który zapewnia usługi wirtualizacji, takie jak wsparcie dla urządzeń we-wy i zarządzanie pamięcią.

4 Źródła pomysłu zasady an efficient, isolated duplicate of the real machine Efektywność Nieszkodliwe instrukcje powinny się wykonywać bezpośrednio na sprzęcie Kontrola zasobów Wykonywane programy nie mogą wpływać na zasoby systemowe Równoważność Zachowanie programu wykonywanego na VMM powinno być takie samo, jak gdyby program wykonywano bezpośrednio na sprzęcie (z wyjątkiem być może dostępności czasu i zasobów) Communications of the ACM, vol 17, no 7, 1974, pp

5 Typy instrukcji Źródła pomysłu zasady cd. Uprzywilejowane Generują pułapki (ang. traps) w trybie nieuprzywilejowanym (użytkownika), lecz nie w trybie uprzywilejowanym (systemu). Wrażliwe Wrażliwe na sterowanie próbują zmienić przydział pamięci lub tryb uprzywilejowania. Wrażliwe behawioralnie na położenie (wykonanie zależy od położenia w pamięci), na tryb (wykonanie zależy od trybu uprzywilejowania). Nieszkodliwe instrukcje, które nie są wrażliwe Twierdzenie Dla dowolnego tradycyjnego komputera trzeciej generacji można zbudować VMM, jeśli zbiór instrukcji wrażliwych tego komputera jest podzbiorem zbioru instrukcji uprzywilejowanych Znaczenie twierdzenia (należy pamiętać, z którego roku jest artykuł) Architektura IA-32/x86 nie jest wirtualizowalna 5

6 Źródła pomysłu technologia IBM Systems Journal, vol. 18, no. 1, 1979, pp Współbieżne wykonanie wielu produkcyjnych systemów operacyjnych Testowanie i rozwój systemów eksperymentalnych Instalowanie nowych systemów z równoległym kontynuowaniem użycia starych Możliwość zapewnienia niektórym aplikacjom specjalnych systemów operacyjnych Lepsza możliwość współprojektowania sprzętu, VMM i systemu operacyjnego gościa CMS pochodzi od Conversational Monitor System (oficjalna nazwa VM/CMS)

7 Wirtualizacja na nowo odkryta Application Guest OS Virtual Machine Application Guest OS Virtual Machine Application Guest OS Virtual Machine VMM May, 2005 Real Machine Konsolidacja serwera/obciążenia (zmniejsza server sprawl jest to sytuacja, gdy w centrum danych wiele fizycznych serwerów jest wykorzystywanych w niewielkim stopniu) Zgodne z rozwijającą się architekturą wielordzeniową Upraszcza dystrybucję oprogramowania w złożonych środowiskach Migracja całego systemu (obciążenia) Poprawa zarządzania i wydajności centrów danych Dodatkowe usługi (izolacja obciążenia) dodane poniżej SO Bezpieczeństwo (wykrywanie intruzów, piaskownice,...) Odporność na awarie (punkty kontrolne, wycofywanie (ang. roll-back)/odtwarzanie po awarii) 7

8 Wirtualizacja architektury IA-32 (x86) Architektura ma warstwy bezpieczeństwa 0.. 3, z SO działającym w warstwie 0 i aplikacjach działających w warstwie 3... i VMM musi wykonywać się w warstwie 0, żeby zachować integralność i kontrolę. ale nie wykonywanie SO gościa w warstwie 0 jest problematyczne: Niektóre instrukcje uprzywilejowane wykonują się jedynie w warstwie 0, lecz nie powodują błędu kiedy są wykonywane poza warstwą 0 (por. uprzywilejowane vs wrażliwe). Instrukcje wymagające niskiej latencji wywołań systemowych (SYSENTER/SYSEXIT) zawsze powodują przejście do warstwy 0 wymuszając na VMM niechcianą emulację lub narzut. Dla architektury Itanium, rejestry przerwań są dostępne tylko w warstwie 0; zmuszanie VMM do przechwytywania wszystkich dostępów do tych rejestrów ze strony sterowników urządzeń ma poważne konsekwencje wydajnościowe Maskowanie przerwań może być wykonywane tylko w w warstwie 0. Kompresja warstw: stronicowanie nie odróżnia poziomów uprzywilejowania 0-2, SO gościa musi wykonywać się w warstwie 3, lecz wówczas nie jest chronione przed swoimi aplikacjami, które także wykonują się w warstwie 3. Nie można używać dla 64-bitowych SO gościa na IA-32. Można wykryć, że SO gościa nie wykonuje się w warstwie 0. 8

9 Wirtualizacja architektury IA-32 (x86) 1998 inżynierowie firmy Vmware dokonali całkowicie programowej wirtualizacji architektury x86. VMM oparto na binarnej translacji dzięki czemu udało się rozwiązać problemy wirtualizacji trap-and-emulate Vmvare wprowadza Virtual SMP (Symmetric Multiprocessing) pojedyncza maszyna wirtualna może być wykonywana na wielu procesorach 2005 Intel dostarcza na rynek procesory ze sprzętowym wsparciem do wirtualizacji zbioru instrukcji (VT-x) 2006 AMD wypuszcza procesory ze sprzętowym wsparciem do wirtualizacji zbioru instrukcji, znane początkowo jako AMD-SVM (Secure Virtual Machine), a później przemianowane na AMD-V (Virtualization) 2007 AMD dostarcza na rynek procesory ze sprzętowym wsparciem do wirtualizacji pamięci (RVI Rapid Virtualization Indexing; w trakcie projektowania znane jako Nested Page Tables), później zaadaptowane przez Intela jako EPT (Extended Page Tables) 9

10 Architektura i interfejsy Architektura: formalna specyfikacja interfejsu systemu i logicznego zachowania jego widocznych zasobów API ABI ISA Libraries Operating System System Calls System ISA Applications User ISA Hardware API Application Programming Interface ABI Application Binary Interface ISA Instruction Set Architecture 10

11 Typy VMM System Dostarcza ABI Efektywne wykonanie Można dodawać usługi niezależne od SO (np. migracja, wykrywanie intruzów) Proces Dostarcza API Łatwiejsza instalacja Wpływa na usługi SO (np. sterowniki urządzeń) Narzut wykonania (prawdopodobnie łagodzony przez kompilację JIT) 11

12 Projekty podejść na poziomie systemu Pełna wirtualizacja (bezpośrednie wykonanie) Sprzęt dostępny dla SO Efektywne wykonanie SO wykonuje się bez zmian Wymaga wirtualizowalnej architektury Przykład: VMWare, VirtualPC, QEMU Parawirtualizacja SO zmieniony, by mógł się wykonywać na VMM Wymaga portowania kodu SO Narzut wykonania Konieczne (kiedyś) dla niektórych (popularnych) architektur (np. x86) Przykłady: Xen, UML, KVM (przed 2005) Emulacja symulacja pełnego środowiska sprzętowego, np. QEMU 12

13 Przestrzeń projektowa (poziom vs ISA) API interface ABI interface Możliwych jest wiele technik i podejść Zakreślone te krytyczne 13

14 Systemowe VM Typ 1 Struktura Typ 1: wykonuje się bezpośrednio na sprzęcie gospodarza Typ 2: wykonuje się na OS gospodarza Główne cele Typ 1: Wysoka wydajność Typ 2: Łatwość konstrukcji/instalacji/ akceptowalności Przykłady Typ 1: VMWare ESX Server, Xen, OS/370 Typ 2: User-mode Linux Typ 2 14

15 Hostowane VM Struktura Hybryda między Typ1 i Typ 2 Bazowy VMM wykonywany bezpośrednio na sprzęcie Usługi wejścia-wyjścia dostarczane przez kod wykonywany na SO gospodarza Cele Ogólna poprawa wydajności Poprawia wsparcie dla urządzeń wejściawyjścia dla SO gospodarza Wady Wprowadza narzut na operacje wejściawyjścia Brak izolacji wydajności i gwarancji wydajności Przykład: VMWare (stacja robocza) 15

16 VM całego systemu Wyzwanie: ISA systemu operacyjnego gościa różni się od ISA systemu operacyjnego gospodarza Wymaga pełnej emulacji systemu operacyjnego gościa i jego aplikacji Przykład: VirtualPC Emulacja i wirtualizacja są podobne, lecz nie identyczne. Emulacja to programowe dostarczanie innego środowiska wykonania lub architektury (np. emulator Androida wykonywany w systemie Windows). Wirtualizacja to tworzenie wirtualnych barier między wieloma środowiskami wirtualnymi wykonywanymi w tym samym środowisku fizycznym 16

17 Strategie GuestOS trap change resource emulate change vmm resource privileged instruction Od-uprzywilejowywanie VMM emuluje wpływ na zasoby systemowe/sprzętowe instrukcji uprzywilejowanych, których wykonanie powoduje przerwanie systemowe typu trap i przekazanie sterowania do VMM Także znany jako trap-and-emulate Zwykle osiąga się przez wykonanie SO gościa na niższym poziomie priorytetu sprzętowego niż VMM Problematyczne w pewnych architekturach, w których instrukcje uprzywilejowane nie powodują zgłoszenia pułapki podczas wykonywania z od-przywilejowanym priorytetem Struktury główne/dodatkowe (ang. primary/shadow) VMM utrzymuje dodatkowe kopie krytycznych struktur, których wersjami głównymi manipuluje SO gościa Przykład tablice stron Kopie główne są potrzebne, żeby zapewnić prawidłowe środowisko widoczne dla SO gościa Ślady pamięci (ang. memory traces) Kontrolowanie dostępu do pamięci, żeby zapewnić spójność struktur głównych i dodatkowych Stosowane strategie: ochrona przez zapisem kopii głównych, dzięki czemu operacje aktualizacji powodują błędy braku strony, które mogą być przechwytywane, interpretowane i emulowane 17

18 Wirtualizacja CPU trap-and-emulate Strategia trap-and-emulate może być stosowana tylko w architekturach ściśle wirtualizowalnych Procesor lub tryb pracy procesora jest ściśle wirtualizowalny (ang. strictly virtualizable) jeśli, gdy jest wykonywany w trybie mniej uprzywilejowanym: Wszystkie instrukcje, które sięgają do trybu uprzywilejowanego powodują pułapkę (ang. trap) Wszystkie instrukcje albo powodują pułapkę, albo wykonują się identycznościowo Problemy związane z trap-and-emulate Nie wszystkie architektury wspierają to rozwiązanie (x86 nie jest ściśle wirtualizowalne, przykład: instrukcja popf, która ustawia flagę przerwania, zachowuje się inaczej w trybie systemowym i inaczej w trybie użytkowym) Koszty pułapek mogą być wysokie VMM zajmuje jeden poziom uprzywilejowania Trzeba wirtualizować poziomy ochrony 18

19 Wirtualizacja CPU tłumaczenie binarne Guest Code Translation Cache vepc mov ebx, eax cli mov ebx, eax mov [VIF], 0 start and ebx, ~0xfff and ebx, ~0xfff mov ebx, cr3 mov [CO_ARG], ebx sti ret call HANDLE_CR3 mov [VIF], 1 test [INT_PEND], 1 jne call HANDLE_INTS jmp HANDLE_RET 19

20 Wirtualizacja CPU tłumaczenie binarne 1. Monitor sprawdza następny blok instrukcji (następny blok podstawowy). Są to zwykle wszystkie instrukcje aż do następnej instrukcji przekazania sterowania, takiej jak rozgałęzienie. 2. Każda instrukcja jest tłumaczona, a tłumaczenie kopiowane do schowka (ang. translation cache) 3. Instrukcje są tłumaczone następująco: Te, które nie powodują problemów mogą być kopiowane do schowka bez zmian. To są tzw. tłumaczenia identycznościowe (ang. ident). Niektóre proste instrukcje niebezpieczne są tłumaczone do prostej sekwencji kodu emulowanego. Ten kod jest umieszczany bezpośrednio w schowku. Jest to tzw. tłumaczenie w miejscu (ang. inline). Przykładem jest modyfikacja flagi Interrupt Enable. Inne niebezpieczne instrukcje muszą być wykonywane przez emulowany kod wewnątrz monitora. Dla tych instrukcji wykonuje się wywołania kodu monitora. Są to tzw. call-outs. Przykładem jest zmiana adresu początku tablicy stron. Rozgałęzienie kończące podstawowy blok kodu także wymaga wywołania kodu monitora. Teraz monitor może skoczyć do początku przetłumaczonego bloku podstawowego z wartościami rejestrów wirtualnych w rejestrach sprzętowych. 20

21 Wirtualizacja pamięci tradycyjne przestrzenie adresowe 0 4GB Virtual Address Space 0 4GB Physical Address Space W tradycyjnym systemach są zwykle dwie przestrzenie adresowe wirtualna przestrzeń adresowa (VAS) i fizyczna przestrzeń adresowa (PAS). SO i procesy użytkowników wykonują się w VAS. SO zarządza mapowaniem z VAS do PAS przy użyciu sprzętowego MMU. SO utrzymuje tablicę stron, która odwzorowuje każdą stronę w bieżącym VAS na stronę w PAS. Zwykle jest jedna taka tablica stron dla procesu. 21

22 Wirtualizacja pamięci tradycyjne przestrzenie adresowe Virtual Address TLB Physical Address Operating System s Page Fault Handler Process Page Table 2 22

23 Wirtualizacja pamięci wirtualizowane przestrzenie adresowe 0 4GB Virtual Address Space 0 0 Guest Page Table Physical Address Space VMM PhysMap Machine Address Space 4GB 4GB W systemie wirtualizowanym warstwa fizyczna staje się warstwą wirtualno-fizyczną. Żeby pozostać w zgodzie z tym co widzi SO gościa, nadal nosi to nazwę PAS, Rzeczywista pamięć systemu nazywana jest teraz MAS. VMM jest odpowiedzialne za utrzymywanie bieżącego mapowania VM z adresów fizycznych na maszynowe. 23

24 Shadow Page Table Wirtualizowane przestrzenie adresowe z Shadow Page Tables 0 4GB Virtual Address Space 0 Guest Page Table Physical Address Space 4GB 0 VMM PhysMap Machine Address Space 4GB Ze względu na dużą liczbę instrukcji, które sięgają do pamięci, trzeba używać sprzętowego TLB do tłumaczenia adresów wirtualnych na maszynowe. Potrzebna jest do tego dodatkowa tablica stron. Rzeczywiste sprzętowe MMU wskazuje na tę dodatkową tablicę. Trzyma ona mapowanie adresów wirtualnych na maszynowe. Procedura obsługi błędów strony w VMM jest odpowiedzialna za wypełnianie pozycji w dodatkowej tablicy stron na bazie tablicy stron gościa i PhysMap. 24

25 Wirtualizowane przestrzenie adresowe z Shadow Page Tables Virtual Address TLB Machine Address Shadow Page Table Guest Page Table 3 PMap 2 A 25

26 Wirtualizowane przestrzenie adresowe z Shadow Page Tables 1. W TLB nie ma szukanego adresu. Sprzęt przegląda dodatkowe tablice stron, żeby znaleźć mapowanie. 2. Możliwe są dwa przypadki: Mapowanie zostanie odnalezione w tablicy stron i umieszczone w TLB. Instrukcja jest restartowana i proces normalnie kontynuuje wykonanie. Całą pracę wykonuje sprzęt. Brak mapowania. Sprzęt generuje błąd braku strony, który zostaje przechwycony przez VMM. VMM musi przetłumaczyć adres wirtualny na maszynowy. Rozpoczyna od przejrzenia tablicy stron gościa, żeby odczytać mapowanie wirtualne na fizyczne. Układ tablicy stron gościa jest określany na podstawie wirtualizowanego sprzętu. 3. VMM przegląda mapowanie dla gościa, mogą zajść dwa scenariusze: Nie ma mapowania dla gościa. W tym przypadku gość oczekuje błędu braku strony. VMM musi wygenerować wyjątek wirtualnego CPU i wznowić wykonanie od pierwszej instrukcji procedury obsługi wyjątków gościa. To jest tzw. prawdziwy błąd strony (ang. true page fault), ponieważ sprzętowy błąd braku strony powoduje błąd strony widoczny przez gościa. Jest mapowanie dla gościa, VMM musi przetłumaczyć stronę fizyczną na maszynową. Jest to tzw. ukryty błąd strony (ang. hidden page fault), ponieważ sprzętowy błąd jest błędem, który by się nie pojawił w nie-wirtualizowanym systemie. Żeby przetłumaczyć stronę fizyczną na maszynową, VMM musi przejrzeć struktury danych, które mapują strony fizyczne na maszynowe. Ta struktura danych jest definiowana przez VMM, na przykład PMap. VMM może musieć wykonać dalszą pracę, jeśli nie ma mapowania stron maszynowych na fizyczne. 4. Tłumaczenie z adresu wirtualnego na maszynowy zostaje zakończone. Nowe tłumaczenie jest wstawiane do dodatkowej tablicy stron. 5. VMM restartuje instrukcję gościa, która spowodowała błąd. Teraz będzie już działał mechanizm wypełniania sprzętowego TLB. 6. Sprzęt ustala nowe mapowanie w TLB i wykonanie jest kontynuowane. 26

27 Problemy z użyciem Shadow Page Tables Utrzymywanie spójności pomocniczej tablicy stron z tablicą stron gościa Co się dzieje, gdy gość zmienia pozycję w tablicy stron Co się dzieje, gdy gość przełącza się na nową tablicę stron przy przełączaniu kontekstu na inny proces Odpowiedź zależy od potrzeby czyszczenia TLB przez gościa Kluczowe dla wydajności jest minimalizowanie liczby ukrytych błędów strony Techniki poprawy wydajności Utrzymywanie jednej pomocniczej tablicy stron na jeden proces gościa Konieczne jest agresywne buforowanie pozycji pomocniczej tablicy stron Trzeba śledzić zapisy do buforowanych tablic stron 27

28 Wirtualizowane przestrzenie adresowe z Nested Page Tables 0 4GB Virtual Address Space 0 0 Guest Page Table Physical Address Space VMM PhysMap Machine Address Space 4GB 4GB Zagnieżdżone tablice stron są przykładem wirtualizacji wspieranej sprzętowo. W tym przypadku sprzęt wykona dwa kolejne tłumaczenia adresów przy błędach TLB. Tablica stron gościa jest teraz używana bezpośrednio przez sprzęt. PhysMap utrzymywana przez VMM staje się zdefiniowaną sprzętowo strukturą danych, która jest używana przy drugim tłumaczeniu adresu. 28

29 Wirtualizowane przestrzenie adresowe z Nested Page Tables Virtual Address TLB Machine Address Guest Page Table 2 PhysMap By VMM 3 29

30 Wirtualizowane przestrzenie adresowe z Nested Page Tables 1. Brak adresu w TLB. Sprzęt przegląda tablicę stron gościa, żeby znaleźć mapowanie. 2. Możliwe są dwa scenariusze: Brak poszukiwanego mapowania. Generowany jest błąd strony i przekazywany do VMM. VMM zwykle przekazuje ten wyjątek do gościa prawdziwy błąd strony. Jest poszukiwane mapowanie. Sprzęt rozpoczyna przeglądanie drugiej tablicy stron 3. Podczas przeglądania PhysMap przez sprzęt możliwe są dwa scenariusze: Brak poszukiwanego mapowania. Generowany jest błąd strony i przekazywany do VMM. VMM obsługuje błąd w odpowiedni sposób. To jest ukryty błąd strony. Jeśli jest mapowanie, to sprzęt umieszcza połączone mapowanie w TLB i instrukcja jest restartowana. 30

31 Wirtualizowane przestrzenie adresowe z Nested Page Tables Zalety Upraszcza projekt monitora Brak potrzeby przeliczania na potrzeby ochrony stron Wady Tablica stron gościa w fizycznej przestrzeni adresowej Trzeba wiele razy przechodzić PhysMap Potrzebne mapowanie adres fizyczny adres maszynowy przy przeglądaniu tablicy stron gościa Potrzebne mapowanie adres fizyczny adres maszynowy dla oryginalnego adresu wirtualnego Inne typy sprzętowego wsparcia dla wirtualizacji pamięci Tryb monitora ma własną przestrzeń adresową Nie ma potrzeby ukrywania VMM 31

32 Przykłady KVM kvmforservervirtualization.pdf

33 KVM (Kernel-based Virtual Machine) Infrastruktura wirtualizacyjna dla jądra Linuksa. Wspiera natywną wirtualizację na procesorach ze sprzętowymi rozszerzeniami dla wirtualizacji (hipervisor typu 1). Oryginalnie wspierał procesory x86, lecz teraz wspiera wiele różnych procesorów i systemów operacyjnych gości, w tym wiele wariantów Linuksa, BSD, Solaris, Windows. Wsparcie ze strony firm: RedHat, IBM, SUSE. 33

34 Architektura KVM Maszyna wirtualna jest implementowana jako zwykły proces w Linuksie, szeregowany przez standardowego planistę. Dzięki temu KVM korzysta z wszystkich cech jądra Linuksa. Emulacja urządzeń jest obsługiwana przez zmodyfikowaną wersję QEMU, która dostarcza emulowany BIOS, szynę PCI, szynę USB i standardowy zbiór urządzeń, takich jak kontrolery dysków IDE i SCSI, karty sieciowe itp. KVM jest platformą wirtualizacyjną dla systemu Linux na sprzęcie x86 zawierającym rozszerzenia wspierające wirtualizację (Intel VT lub AMD-V). Zawiera moduł jądra (nazwany kvm.ko), który dostarcza podstawową infrastrukturę wirtualizacyjną, moduły specyficzne dla procesora (kvm-intel.ko lub kvm-amd.ko) i komponent przestrzeni użytkownika (zmodyfikowaną wersję QEMU). Komponent KVM pojawił się w jądrze Linuksa wraz z wersją (wydaną w styczniu 2007). 34

35 Cechy KVM Architektura KVM Bezpieczeństwo ponieważ maszyna wirtualna jest implementowana jako proces w Linuksie, więc zapewnia standardowy Linuksowy model bezpieczeństwa i kontrolę zasobów Zarządzanie pamięcią KVM dziedziczy mechanizm zarządzania pamięcią z Linuksa. Pamięć maszyny wirtualnej jest przechowywana tak jak pamięć każdego procesu, może podlegać wymianie Zarządzanie pamięcią współdzielenie stron pamięci jest wspierane przez KSM (Kernel Same-page Merging). KSM przegląda pamięć każdej maszyny wirtualnej i jeśli znajdzie identyczne strony pamięci, skleja je w jedną współdzieloną stronę. Jeśli gość spróbuje coś zmodyfikować, to dostanie własną kopię. 35

36 KVM shadow MMU MMU (arch/x86/kvm, mmu.[ch], paging_tmpl.h) odpowiada za prezentowanie gościowi standardowego MMU architektury x86, poprzez tłumaczenie adresów fizycznych gościa na adresy fizyczne gospodarza. MMU wspiera sprzęt MMU pierwszej generacji, który pozwala na atomowe przełączenie bieżącego trybu stronicowania i cr3, jak również dwu-wymiarowe stronicowanie (NPT dla AMD i EPT dla Intela). Emulowany sprzęt, który jest w ten sposób udostępniany, to tradycyjne 2/3/4 poziomowe MMU x86, ze wsparciem dla globalnych stron, PAE (Page Address Extension), PSE (Page Size Extension), PSE-36, CR0.WP (Write Protect bit) i 1 GB stron. 36

37 Stosowane skróty pfn host page frame number hpa host physical address hva host virtual address gfn guest frame number gpa guest physical address gva guest virtual address ngpa nested guest physical address ngva nested guest virtual address pte page table entry gpte guest pte (referring to gfns) spte shadow pte (referring to pfns) tdp two dimensional paging (vendor neutral term for NPT and EPT) 37

38 Tłumaczenie adresów Głównym zadaniem MMU jest zaprogramowanie MMU procesora w taki sposób, żeby tłumaczyło adresy gościa. W różnych sytuacjach są potrzebne różne tłumaczenia: Kiedy wyłączone jest stronicowanie gościa, to należy tłumaczyć gpa hpa Kiedy włączone jest stronicowanie gościa, to należy tłumaczyć gva gpa hpa Kiedy gość uruchamia swojego gościa, trzeba tłumaczyć ngva ngpa gpa hpa Wyzwanie polega na zakodowaniu od 1 do 3 tłumaczeń na sprzęcie, który wspiera tylko 1 (tradycyjne) lub 2 (tdp) tłumaczenia. Kiedy liczba wymaganych tłumaczeń jest zgodna ze sprzętem, to MMU działa w trybie bezpośrednim, wpp działa w trybie shadow. 38

39 Slajdy z prezentacji: Nested paging hardware and software Benjamin Serebrin Jörg Rödel KVM Forum

40

41

42

43

44

45

46

47 Przykłady QMU QEMU, a Fast and Portable Dynamic Translator, Fabrice Bellard, Usenix

48 QEMU (Quick EMUlator) QEMU to hosted VMM (Virtual Machine Monitor) (typ 2) ogólnego przeznaczenia, dystrybuowany jako open-source. Może być używany jako emulator lub wirtualizator komputera. Gdy jest używany jako emulator, QEMU może wykonywać systemy operacyjne i programy przygotowane na jeden komputer (np. płytę ARM) na innym komputerze (np. PC). Dzięki użyciu dynamicznej binarnej translacji, osiąga bardzo dobrą wydajność. Gdy jest używany jako wirtualizator, QEMU osiąga wydajność bliską natywnej wykonując kod gościa bezpośrednio na CPU gospodarza. QEMU wspiera wirtualizację gdy wykonuje się na hipervisorze Xen lub gdy używa modułu KVM w Linuksie. Docelowa architektura musi być taka sama jak architektura gospodarza, na przykład gdy wykonuje się qemu-system-x86 na procesorze zgodnym z x86. 48

49 Tryby działania QEMU QEMU może działać w dwóch trybach: 1. Pełna emulacja systemu (full system emulation) W tym trybie (pełna wirtualizacja platformy), QEMU emuluje pełny system (zwykle PC), włączając w to procesor i różne urządzenia peryferyjne. Może zostać użyty do uruchomienia kilku różnych systemów operacyjnych naraz bez reinstalacji maszyny gospodarza lub w celu testowania kodu systemowego. 2. Emulacja w trybie użytkownika (user mode emulation) W tym trybie (wirtualizacja na poziomie aplikacji), QEMU umożliwia wykonywanie procesów skompilowanych na jedno CPU na innym CPU, jednak systemy operacyjne muszą pasować. Można to wykorzystywać np. żeby ułatwić cross-kompilację i cross-testowanie. 49

50 Architektura QEMU

51 Przykłady VMware The Evolution of an x86 Virtual Machine Monitor. Ole Agesen, Alex Garthwaite, Jeffrey Sheldon, Pratap Subrahmanyam, VMWare, Virtualization Performance. Perspectives and Challenges Ahead. Richard McDougall, Jennifer Anderson, Vmware, Memory Resource Management in VMware ESX Server, Carl A. Waldspurger, 2002

52 Vmware binarna translacja VMM VMM VMM Base Functionality (e.g. scheduling) Enhanced Functionality Hypervisor 52

53 Binarna translacja sensitive SIMULATE(d) innocuous IDENT(ical) innocuous Cechy Binarna na wejściu jest kod maszynowy Dynamiczna ma miejsce w czasie wykonania Na żądanie kod tłumaczony wtedy, gdy potrzebny do wykonania Poziom systemu nie czyni żadnych założeń odnośnie kodu gościa Podzbiór tłumaczy z pełnego zbioru instrukcji do bezpiecznego podzbioru Adaptowalność dostosowuje kod zależnie od zachowania gościa w celu osiągnięcia dobrej wydajności 53

54 % translation Binarna translacja Hash Table 3 ([x], [y]) Translation Cache PC [x] 1 Binary Translator 2 [y] 4 TU CCF execute 5 Few cache hits TU: CCF: translation unit (usually a basic block) compiled code fragment : continuation Working set captured Running time 54

55 Eliminacja błędów/pułapek Można uniknąć kosztownych błędów/pułapek Przykład: Instrukcja uprzywilejowana Pentium (rdtsc read time-stamp counter into edx:eax) Trap-and-emulate: 2030 cykli Callout-and-emulate: 1254 cykli In-TC emulation: 216 cykli Proces Instrukcje uprzywilejowane wyeliminowane przez prostą binarną translację (BT) Instrukcje nieuprzywilejowane Wyeliminowane przez adaptacyjną BT wykryj CCF zawierające instrukcję, która często powoduje pułapkę generuje nowe tłumaczenie CCF żeby uniknąć pułapki (być może wstawiając callout do interpretera), załataj oryginalne tłumaczenie żeby wykonać nowe tłumaczenie 55

56 Zarządzanie pamięcią Zarządzanie pamięcią na poziomie VMM (meta-poziom) Musi identyfikować VM i strony w ramach VM do wymiany Decyzje wymiany pochodzące z VMM mogą powodować niechciane interakcje ze strategią wymiany stron SO gościa Najgorszy przypadek: podwójne stronicowanie Strategie Balonowanie (ang. ballooning) Dodaj żądania pamięci w SO gościa, żeby to SO gościa decydował, które strony wymienić Także używane w Xen Eliminacja zdublowanych stron nawet identycznych stron między różnymi SO gościa (współdzielenie) VMM ma wystarczającą perspektywę Czyste zyski, gdy wykonuje się wiele kopii tego samego SO gościa Algorytm przydziału Równoważy wykorzystanie pamięci vs. gwarancje izolacji wydajności Taksuje (ang. tax) bezczynną pamięć 56

57 Balonowanie Balon moduł wstawiony do SO gościa jako pseudosterownik lub usługa jądra Nie ma interfejsu do SO gościa i aplikacji Ma prywatny kanał komunikacji z VMM Przepytuje VMM o bieżący rozmiar balona Balon trzyma liczbę ramek przyszpilonych w pamięci równą jego bieżącemu rozmiarowi 57

58 Balon pompowanie powietrza Pompowanie balona Balon żąda dodatkowych przypiętych stron od SO gościa Pompowanie balona powoduje, że SO gościa wybiera strony do usunięcia używając swojej strategii wymiany stron Balon informuje VMM, które strony fizyczne zostały mu przydzielone VMM zwalnia ramki maszyny odpowiadające fizycznym ramkom przydzielonym balonowi (tym samym zwalniając pamięć, którą będzie można przydzielić innym SO gości) 58

59 Balon spuszczanie powietrza Spuszczanie powietrza z balona VMM odzyskuje ramki maszyny VMM przekazuje informacje do balona Balon odpina/zwalnia fizyczne ramki odpowiadające nowym ramkom maszyny SO gościa używa swojego algorytmu wymiany stron żeby sprowadzić potrzebne strony 59

60 Współdzielenie stron na podstawie zawartości (ang. content based) Tablica haszująca zawiera pozycje na współdzielone strony oznaczone jako COW Dla strony kandydata jest generowany klucz z wartości haszującej z zawartości strony Dokonuje się pełnego porównania między stroną kandydatem a stroną z pasującą wartością klucza Strony, które pasują są współdzielone pozycje w tablicach stron dla ich VMM wskazują na tę samą stronę maszynową Jeśli nie ma dopasowania, to do tablicy haszującej jest dodawana ramka wskazówka (ang. hint) dla przyszłych przypuszczalnych dopasowań Pisanie do współdzielonej strony powoduje błąd braku strony, w wyniku którego powstaje osobna kopia dla OS gościa dokonującego zapisu 60

61 Wydajność współdzielenia stron Identyczne systemy Linux wykonujące ten sam zestaw programów testowych (ang. benchmark) Przypadek optymalny Duża część (67%) pamięci jest współdzielona Odzyskuje się zauważalną ilość i procent pamięci Zasadniczo brak wpływu na zagregowaną przepustowość systemu 61

62 Przykłady Xen Xen and the Art of Virtualization. Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield, University of Cambridge, Safe Hardware Access with the Xen Virtual Machine Monitor. Keir Fraser, Steven Hand, Rolf Neugebauer, Ian Pratt, Andrew Wareld, Mark Williamson, University of Cambridge,

63 Wady pełnej wirtualizacji Xen parawirtualizacja Pewne instrukcje supervisora muszą być obsługiwane przez VMM, lecz wykonywanie ich z nieodpowiednimi uprawnieniami przechodzi bez echa zamiast powodować pułapkę (ang. trap) Translacja binarna obejmuje cały kod jądra SO gościa, gdyż trzeba przechwycić i obsłużyć wszystkie instrukcje uprzywilejowane, które nie powodują zgłoszenia pułapki. Rozwiązanie problemu polega na utrzymywaniu wersji dodatkowych (ang. shadow) struktur systemowych, takich jak tablice stron. Spójność zapewnia się przechwytując każdą próbę aktualizacji (ang. update). Parawirtualizacja Tworzy się abstrakcję maszyny wirtualnej, która jest podobna, ale nie identyczna ze sprzętem Zwiększa to możliwości poprawy wydajności, ale kosztem zmian w SO gościa (to jest wada) Nie są wymagane zmiany w ABI, dlatego nie trzeba zmieniać aplikacji gościa Xen to hipervisor typu 1, gdyż działa na wyższym poziomie priorytetu niż kod hostowanego SO gościa 63

64 Architektura Xen

65 Xen struktura Domena to VM i wykonywany w nim SO gościa Domena 0 Najbardziej uprzywilejowana domena, tylko ona ma (domyślnie) bezpośredni dostęp do sprzętu. Z tej domeny można zarządzać VMM i uruchamiać nieuprzywilejowane domeny Ma sterowniki urządzeń działające w tle Xen VMM Warstwa abstrakcji między sprzętem a SO gości Całkowicie sterowany zdarzeniami Nie ma wewnętrznych wątków Jest aktualnie dostępny na architektury IA-32, x86-64, Itanium i ARM Obsługuje wiele SO, także Microsoft Windows 65

66 Interfejs maszyny wirtualnej CPU System operacyjny jest zwykle najbardziej uprzywilejowanym bytem w systemie W przypadku Xen hipervisor jest ulokowany pomiędzy SO gościa a CPU Hipervisor jest najbardziej uprzywilejowanym bytem w systemie Xen Xen używa pierścieni ochrony, by zapewnić hypervisorowi wyższy poziom uprzywilejowania niż ma SO gościa 66

67 Interfejs maszyny wirtualnej CPU Pierścienie ochrony w x86 Zwykle: Xen: SO wykonuje się na poziomie 0 Aplikacje wykonują się na poziomie 3 Poziomy 1 i 2 są niewykorzystane Hipervisor wykonuje się na poziomie 0 SO gościa wykonuje się na poziomie 1 67

68 Wirtualizacja MMU Shadow Page Table VMM machine OS physical process virtual entity address space VMM dodatkowe tablice stron GuestOS tablice stron Izolacja/ochrona przestrzeni adresowej SO gościa Efektywne tłumaczenie adresów 68

69 Wirtualizacja MMU tryb bezpośredni SO gości alokują i zarządzają własnymi tablicami stron (PT) Żeby zmienić adres początkowy PT, trzeba wywołać hypercall Xen musi walidować aktualizacje PT przed wykonaniem Możliwe są inkrementalne aktualizacje, unika rewalidacji Reguły walidacji zastosowane do każdego PTE: 1. Gość może jedynie mapować te strony, których jest właścicielem 2. Strony tablic stron mogą być mapowane jedynie w trybie RO Xen wyłapuje (traps) aktualizacje PTE i emuluje (unhooks) strony PTE do masowych aktualizacji 69

70 Xen PV vs HVM Xen inicjalnie wspierał jedynie PV (Paravirtualization), teraz potrafi korzystać z nowych rozszerzeń procesora na potrzeby wirtualizacji dodanych do architektury x86. Hardware Virtual Machine (HVM) pozwala na wirtualizację na hipervisorze Xena niezmodyfikowanych systemów operacyjnych gości. HVM wymaga procesorów, które sprzętowo wspierają wirtualizację (Intel VT or AMD-V). Rozszerzenia na potrzeby wirtualizacji powodują, że wiele uprzywilejowanych instrukcji jądra, które w PV były tłumaczone na hypercalls jest obsługiwanych przez sprzęt przy użyciu techniki trap-and-emulate. Jest to podobne do klasycznej FV (Full Virtualization), lecz zamiast programowo jest realizowane sprzętowo, co istotnie poprawia wydajność. 70

Systemy Operacyjne Wirtualizacja

Systemy Operacyjne Wirtualizacja Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 23 stycznia 2015 Plan 1 2 Symulacja Emulacja 3 4 5 6 jest techniką zarządzania zasobami, która umożliwia ich współdzielenie przez procesy

Bardziej szczegółowo

Linux -- u mnie działa!

Linux -- u mnie działa! Linux -- u mnie działa! Wirtualizacja - czyli jak z jednego komputera zrobić 100 Stanisław Kulczycki grung@kce.one.pl Agenda Co to jest wirtualizacja? Zastosowanie Metody wirtualizacji Popularne maszyny

Bardziej szczegółowo

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta: QEMU Stosunkowo szybki emulator procesora, korzystający z tzw. dynamicznej translacji i kilku innych ciekawych technik programistycznych i optymalizacyjnych. działa na procesorach procesorach: Intel x86,

Bardziej szczegółowo

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect jwojtasz@atom-tech.pl

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect jwojtasz@atom-tech.pl Przegląd dostępnych hypervisorów Jakub Wojtasz IT Solutions Architect jwojtasz@atom-tech.pl Agenda Podział hypervisorów Architektura wybranych rozwiązań Najwięksi gracze na rynku Podział hypervisorów Hypervisor

Bardziej szczegółowo

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) System IT ogólna budowa Historia wirtualizacji Pierwsze komputery lata 40 i 50 Komputer bezpośrednio wykonuje program

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

Monitor maszyn wirtualnych

Monitor maszyn wirtualnych Monitor maszyn wirtualnych Jest to oprogramowanie nadzorujące działanie systemów gości Może być to oddzielny software lub zintegrowany z systemem operacyjnym System gospodarza Oznaczany zazwyczaj jako

Bardziej szczegółowo

Czym jest wirtualizacja

Czym jest wirtualizacja Czym jest wirtualizacja Wirtualizacja Szerokie pojęcie odnoszące się do abstrakcji zasobów w różnych aspektach komputeryzacji. Odnosi się do: procesorów pamięci języków programowania Karol Kański Cele

Bardziej szczegółowo

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski Wirtualizacja Wirtualizacja Piotr Sikora Tomasz Ziółkowski 1 Plan wykładu Pojęcie wirtualizacji Historia zagadnienia Kryterium realizowalności VM Dlaczego stosować wirtualizację? Rodzaje wirtualizacji

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

WIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski. 12 listopada 2007 WIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski

WIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski. 12 listopada 2007 WIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski 12 listopada 2007 Spis treści Wirtualizacja - co to? Definicja Sposób podziału zasobów komputera na wiele izolowanych środowisk (partycji). Na jednym fizycznym komputerze/serwerze może być utworzonych

Bardziej szczegółowo

Wirtualizacja. Metody, zastosowania, przykłady

Wirtualizacja. Metody, zastosowania, przykłady Wirtualizacja Metody, zastosowania, przykłady Wirtualizacja - Definicja Użycie oprogramowania w celu stworzenia abstrakcji (iluzji) posiadanych zasobów. Historia Pierwsze szerzej znane zastosowanie: komputer

Bardziej szczegółowo

VMware, QEMU, UML. oraz inne wirtualne maszyny. Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek

VMware, QEMU, UML. oraz inne wirtualne maszyny. Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek VMware, QEMU, UML oraz inne wirtualne maszyny Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek Wirtualizacja - technika ukrywania fizycznej charakterystyki zasobów przed systemami, aplikacjami

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

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

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 I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo

System wspomagania zarządzania wirtualizacją

System wspomagania zarządzania wirtualizacją Plan prezentacji: Co to jest wirtualizacja? Przegląd rozwiązań wirtualizacji, plusy i minusy każdego z nich Przegląd gotowych bibliotek które posłużą mi do stworzenia systemu. Interfejs oparty o WWW Co

Bardziej szczegółowo

Działanie systemu operacyjnego

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

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Cele wykładu 1. Opis usług dostarczanych przez OS

Bardziej szczegółowo

Prezentacja emulatora QEMU Zajęcia SO

Prezentacja emulatora QEMU Zajęcia SO Prezentacja emulatora QEMU Zajęcia SO 08.11.2006 Czym jest QEMU...? QEMU to emulator procesora: osiągający bardzo dobrą szybkość emulacji udostępniony jako otwarte oprogramowanie Do czego może się przydać..?

Bardziej szczegółowo

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora NAUKOWA I AKADEMICKA SIEĆ KOMPUTEROWA Bezpieczeństwo rozwiązań hostingowych Hosting wirtualny - studium przypadku Secure 2008 3 października 2008 Arkadiusz Kalicki, NASK Agenda Zagrożenia Omówienie zabezpieczeń

Bardziej szczegółowo

Prezentacja systemu RTLinux

Prezentacja systemu RTLinux Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach

Bardziej szczegółowo

Wirtualizacja w praktyce.

Wirtualizacja w praktyce. Wirtualizacja w praktyce. Autor: Marek Serafin Wirtualizacja - to proste! Poznaj zalety wirtualizacji i sytuacje, w których sprawdza się ona najlepiej Naucz się instalować najpopularniejsze rozwiązania

Bardziej szczegółowo

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy

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

Wprowadzenie do systemów operacyjnych

Wprowadzenie do systemów operacyjnych SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny

Bardziej szczegółowo

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

Zarządzanie zasobami pamięci

Zarządzanie zasobami pamięci Zarządzanie zasobami pamięci System operacyjny wykonuje programy umieszczone w pamięci operacyjnej. W pamięci operacyjnej przechowywany jest obecnie wykonywany program (proces) oraz niezbędne dane. Jeżeli

Bardziej szczegółowo

WIRTUALIZACJA teoria i praktyka. Oskar Skibski, Piotr Sikora, Mateusz Kruszyński

WIRTUALIZACJA teoria i praktyka. Oskar Skibski, Piotr Sikora, Mateusz Kruszyński WIRTUALIZACJA teoria i praktyka Oskar Skibski, Piotr Sikora, Mateusz Kruszyński Plan prezentacji Wstęp co to jest? po co to jest? Rodzaje wirtualizacji emulacja pełna emulacja API wirtualizacja Problemy

Bardziej szczegółowo

Schematy zarzadzania pamięcia

Schematy zarzadzania pamięcia Schematy zarzadzania pamięcia Segmentacja podział obszaru pamięci procesu na logiczne jednostki segmenty o dowolnej długości. Postać adresu logicznego: [nr segmentu, przesunięcie]. Zwykle przechowywana

Bardziej szczegółowo

Jądro systemu operacyjnego

Jądro systemu operacyjnego Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej

Bardziej szczegółowo

Pamięć wirtualna w AS/400

Pamięć wirtualna w AS/400 Pamięć wirtualna w AS/400 Jan Posiadała 19 listopada 2002 1 Spis treści 1 Wpowadzenie - co to takiego AS/400 3 2 Organizacja pamięci 4 2.1 Koncepcja wymiany................................. 4 2.2 Koncepcja

Bardziej szczegółowo

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling) Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie

Bardziej szczegółowo

Wybrane zagadnienia elektroniki współczesnej

Wybrane zagadnienia elektroniki współczesnej Wybrane zagadnienia elektroniki współczesnej y pracy, Marika Kuczyńska Fizyka Techniczna IV rok 20-03-2013, AGH prezentacji y pracy 1 2 y pracy 3 4 5 6 Jednostka wykonawcza, instrukcje (Marika) Rodzina

Bardziej szczegółowo

Wykład 7. Zarządzanie pamięcią

Wykład 7. Zarządzanie pamięcią Wykład 7 Zarządzanie pamięcią -1- Świat idealny a świat rzeczywisty W idealnym świecie pamięć powinna Mieć bardzo dużą pojemność Mieć bardzo krótki czas dostępu Być nieulotna (zawartość nie jest tracona

Bardziej szczegółowo

Wirtualizacja. wspomagana sprzętowo - zalety, wady, zagrożenia. Szymon Doroz & Bartosz Janiak & Przemysław Zych

Wirtualizacja. wspomagana sprzętowo - zalety, wady, zagrożenia. Szymon Doroz & Bartosz Janiak & Przemysław Zych Wirtualizacja wspomagana sprzętowo - zalety, wady, zagrożenia Szymon Doroz & Bartosz Janiak & Przemysław Zych Agenda Czym jest wirtualizacja Krótka historia Wirtualizacja wspomagana sprzętowo Prezentacje

Bardziej szczegółowo

EPTI: Efficient Defence against Meltdown Attack for Unpatched VMs

EPTI: Efficient Defence against Meltdown Attack for Unpatched VMs EPTI: Efficient Defence against Meltdown Attack for Unpatched VMs Zhichao Hua, Dong Du, Yubin Xia, Haibo Chen, Binyu Zang Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University Meltdown

Bardziej szczegółowo

Wirtualizacja. czyli trochę co innego niż rzeczy do tej pory omawiane

Wirtualizacja. czyli trochę co innego niż rzeczy do tej pory omawiane Wirtualizacja czyli trochę co innego niż rzeczy do tej pory omawiane Wady przedstawionych rozwiązań Emulacja całego sprzętu (Bochs) jest strasznie wolna Czemu? Każda instrukcja w SO guesta była symulowana

Bardziej szczegółowo

Wirtualizacje. Opracowali: Piotr Dąbrowiecki Jakub Gołębiowski Winicjusz Szyszka

Wirtualizacje. Opracowali: Piotr Dąbrowiecki Jakub Gołębiowski Winicjusz Szyszka Wirtualizacje Opracowali: Piotr Dąbrowiecki Jakub Gołębiowski Winicjusz Szyszka Co to jest maszyna wirtualna? Rodzaje maszyn wirtualnych Interpretery Kompilatory Emulatory Własności maszyn wirtualnych

Bardziej szczegółowo

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

Bardziej szczegółowo

Wirtualizacja Systemy operacyjne

Wirtualizacja Systemy operacyjne Michał Albrycht Bartosz Borkowski Radosław Kujawa Wirtualizacja Systemy operacyjne Agenda Wirtualizacja Historia i współczesne wykorzystanie Podziały wirtualizacji Wirtualizacja tablic stron Shadow Page

Bardziej szczegółowo

Architektura chmur i wirtualizacja. Wykład 4 Wirtualizacja

Architektura chmur i wirtualizacja. Wykład 4 Wirtualizacja Architektura chmur i wirtualizacja Wykład 4 Wirtualizacja Zawartość Wprowadzenie do wirtualizacji Warstwy i interfejsy Wirtualne maszyny i menedżery wirtualnych maszyn Wsparcie sprzętowe Bezpieczeństwo

Bardziej szczegółowo

CyberGuru Wirtualizacja na platformie Hyper-V w pigułce. Prezentuje: Kamil Frankowicz

CyberGuru Wirtualizacja na platformie Hyper-V w pigułce. Prezentuje: Kamil Frankowicz CyberGuru Wirtualizacja na platformie Hyper-V w pigułce O czym będziemy mówić? Czym jest wirtualizacja i co ma mi do zaoferowania? Co jest potrzebne do uruchomienia Hyper-V?(Windows 8 i Windows Server

Bardziej szczegółowo

Wirtualizacja. Paweł Mantur Artur Mączka Tomasz Niedabylski

Wirtualizacja. Paweł Mantur Artur Mączka Tomasz Niedabylski Wirtualizacja Paweł Mantur Artur Mączka Tomasz Niedabylski Plan prezentacji Wprowadzenie teoretyczne Problemy w architekturze x86 Wprowadzone przez AMD i Intela wsparcie sprzętowe Prezentacja wybranych

Bardziej szczegółowo

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

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa

Bardziej szczegółowo

Virtual Grid Resource Management System with Virtualization Technology

Virtual Grid Resource Management System with Virtualization Technology Virtual Grid Resource Management System with Virtualization Technology System zarządzania zasobami wirtualnego Gridu z wykorzystaniem technik wirtualizacji Joanna Kosińska Jacek Kosiński Krzysztof Zieliński

Bardziej szczegółowo

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX CONFidence 2005 IX Liceum Ogólnokształcące im. C.K. Norwida w Częstochowie Krajowy Fundusz na Rzecz Dzieci Wojciech A. Koszek

Bardziej szczegółowo

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na , gniazda kart rozszerzeń, w istotnym stopniu wpływają na wydajność systemu komputerowego, m.in. ze względu na fakt, że układy zewnętrzne montowane na tych kartach (zwłaszcza kontrolery dysków twardych,

Bardziej szczegółowo

VMware. Prezentacja na Systemy Operacyjne

VMware. Prezentacja na Systemy Operacyjne VMware Prezentacja na Systemy Operacyjne VMware Workstation Komercyjny produkt tworzony i sprzedawany przez firmę VMware Inc. Można skorzystać z 30-dniowego triala Pozwala na uruchomienie wielu maszyn

Bardziej szczegółowo

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source Dr inż. Michał Bednarczyk Uniwersytet Warmińsko-Mazurski w Olsztynie Wydział Geodezji i Gospodarki Przestrzennej Katedra Geodezji

Bardziej szczegółowo

Konwersja maszyny fizycznej na wirtualną

Konwersja maszyny fizycznej na wirtualną 1 (Pobrane z slow7.pl) Konwersja maszyny fizycznej na wirtualną (odsłona druga). Zadanie to wykonamy przy pomocy narzędzia Paragon Go Virtual. Paragon Go Virtual to rozwiązanie, które pomoże zrealizować

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) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

architektura komputerów w. 8 Zarządzanie pamięcią

architektura komputerów w. 8 Zarządzanie pamięcią architektura komputerów w. 8 Zarządzanie pamięcią Zarządzanie pamięcią Jednostka centralna dysponuje zwykle duża mocą obliczeniową. Sprawne wykorzystanie możliwości jednostki przetwarzającej wymaga obecności

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

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

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

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX Wojciech A. Koszek dunstan@freebsd.czest.pl IX Liceum Ogólnokształcące im. C.K. Norwida w Częstochowie Krajowy Fundusz na

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Zarządzanie pamięcią operacyjną zagadnienia podstawowe Zarządzanie pamięcią operacyjną zagadnienia podstawowe Pamięć jako zasób systemu komputerowego Pamięć jest zasobem służący do przechowywania danych. Z punktu widzenia systemu pamięć jest zasobem o strukturze

Bardziej szczegółowo

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V. T: Wirtualizacja instalacji serwera Windows. Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V. VirtualBox to

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

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 2. Pamięć rzeczywista 3. Pamięć wirtualna

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

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

Wirtualizacja jako środek zmniejszenia kosztów działalności przedsiębiorstwa w czasach kryzysu

Wirtualizacja jako środek zmniejszenia kosztów działalności przedsiębiorstwa w czasach kryzysu Wirtualizacja jako środek zmniejszenia kosztów działalności przedsiębiorstwa w czasach kryzysu Marcin Cerkiewnik Promotor: Dr inż. Dariusz Chaładyniak Tytułem wstępu Celem każdej komercyjnej działalności

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

Tablice stron, bezpośredni dostęp do urządzeń z maszyny wirtualnej i IOMMU.

Tablice stron, bezpośredni dostęp do urządzeń z maszyny wirtualnej i IOMMU. Tablice stron, bezpośredni dostęp do urządzeń z maszyny wirtualnej i IOMMU. Filip Grotkowski 21 listopada 2008 Omówienie problemów i ich rozwiązań. 1 Spis treści 1 Tablice stron 3 1.1 Shadow Page Table.................................

Bardziej szczegółowo

Wirtualizacja. Przegla d wybranych technik. Magda Michalska Krzysztof Kulewski Andrzej Pacuk. Systemy operacyjne 2006

Wirtualizacja. Przegla d wybranych technik. Magda Michalska Krzysztof Kulewski Andrzej Pacuk. Systemy operacyjne 2006 Przegla d wybranych technik Magda Michalska Krzysztof Kulewski Andrzej Pacuk Systemy operacyjne 2006 Plan 1 Czym jest wirtualizacja? Zastosowanie 2 na poziomie systemu operacyjnego 3 Przegla d oprogramowania

Bardziej szczegółowo

Linux KVM - wparcie dla wirtualizacji w kontekście serwerów ARM

Linux KVM - wparcie dla wirtualizacji w kontekście serwerów ARM Linux - wparcie dla wirtualizacji w kontekście serwerów ARM Plan Terminologia i koncepcja wirtualizacji QEMU Czym jest? Architektura ARMv8 i wsparcie dla wirtualizacji poziomy uprzywilejowania dodatkowy

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

System pamięci. Pamięć wirtualna

System pamięci. Pamięć wirtualna System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni

Bardziej szczegółowo

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią w systemie operacyjnym Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 12 Wspomaganie systemu operacyjnego: pamięć wirtualna Partycjonowanie Pamięć jest dzielona, aby mogło korzystać z niej wiele procesów. Dla jednego procesu przydzielana jest

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

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pamięć wirtualna Stronicowanie na żądanie większość współczesnych systemów

Bardziej szczegółowo

Grzegorz Jaśkiewicz Dariusz Stefański

Grzegorz Jaśkiewicz Dariusz Stefański Logiczne partycjonowanie systemów Grzegorz Jaśkiewicz Dariusz Stefański Plan prezentacji Podstawowe informacje Zastosowanie Hypervisor działanie hypervisora Wsparcie sprzętowe Partycjonowanie sprzętowe

Bardziej szczegółowo

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i VI Seminarium PLOUG Warszawa Styczeñ 2003 Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i Marcin Przepiórowski Strojenie systemu Linux pod kątem serwera bazy danych Oracle 9i 7 1. Wstęp

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

LPAR - logiczne partycjonowanie systemów

LPAR - logiczne partycjonowanie systemów Mateusz Błażewicz Piotr Butryn Jan Sikora MIMUW 20 grudnia 2007 1 2 Budowa i możliwości Instalacja 3 Budowa Co to jest? LPAR - logiczne partycjonowanie sprzętu Dzielenie zasobów fizycznego serwera na niezależne,

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

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

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci UNIX: architektura i implementacja mechanizmów bezpieczeństwa Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci Plan prezentacji: Wprowadzenie do struktury systemów rodziny UNIX

Bardziej szczegółowo

Systemy operacyjne II

Systemy operacyjne II Systemy operacyjne II Wojciech Kwedlo Wydział Informatyki PB, p. 205 wkwedlo@ii.pb.bialystok.pl aragorn.pb.bialystok.pl/~wkwedlo Pracownia specjalistyczna: Wojciech Kwedlo Krzysztof Bandurski Wojciech

Bardziej szczegółowo

RHEL 5 wpływ wirtualizacji na koszty

RHEL 5 wpływ wirtualizacji na koszty RHEL 5 wpływ wirtualizacji na koszty Grzegorz Niezgoda B2B Sp. Z o.o. Warszawa 2009.09.09 Copyright B2B Sp. z o.o. 2009 Pełna (wspomagana sprzętowo) & Para-Wirtualizacja Red Hat Enterprise Linux 5 wspiera

Bardziej szczegółowo

Oracle VM - Przegląd architektury i możliwości

Oracle VM - Przegląd architektury i możliwości Oracle VM Przegląd architektury i możliwości OPITZ CONSULTING Kraków Nowoczesne techniki konsolidacji i optymalizacji środowisk opartych o rozwiązania Oracle (2011) Mateusz Dohnal (Starszy konsultant)

Bardziej szczegółowo

Stronicowanie w systemie pamięci wirtualnej

Stronicowanie w systemie pamięci wirtualnej Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni

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

Wsparcie migracji obliczeń poprzez wirtualizację zasobów sieciowych

Wsparcie migracji obliczeń poprzez wirtualizację zasobów sieciowych 1 I3net 2009 Wsparcie migracji obliczeń poprzez wirtualizację zasobów sieciowych Wsparcie migracji obliczeń poprzez wirtualizację zasobów sieciowych Jacek Kosiński, Marcin Jarząb, Krzysztof Zieliński Katedra

Bardziej szczegółowo

Systemy operacyjne system przerwań

Systemy operacyjne system przerwań system przerwań przerwanie: procesor zawiesza wykonanie bieżącego zadania i przechodzi do obsługi przerwania przerwania: maskowalne i niemaskowalne wektor przerwań adres (tablica adresów) kodu obsługi

Bardziej szczegółowo

Szybki start instalacji SUSE Linux Enterprise Server 11 SP1

Szybki start instalacji SUSE Linux Enterprise Server 11 SP1 Szybki start instalacji SUSE Linux Enterprise Server 11 SP1 Szybki start instalacji SUSE Linux Enterprise Server 11 SP1 SKRÓCONA INSTRUKCJA OBSŁUGI NOVELL Aby zainstalować nową wersję produktu SUSE Linux

Bardziej szczegółowo

Podstawy. Pamięć wirtualna. (demand paging)

Podstawy. Pamięć wirtualna. (demand paging) Pamięć wirtualna Podstawy Podstawy Stronicowanie na żądanie Wymiana strony Przydział ramek Szamotanie (thrashing) Pamięć wirtualna (virtual memory) oddzielenie pamięci logicznej użytkownika od fizycznej.

Bardziej szczegółowo

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386 Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać

Bardziej szczegółowo

WZÓR UMOWY. Zawarta w Białymstoku, w dniu.. pomiędzy:

WZÓR UMOWY. Zawarta w Białymstoku, w dniu.. pomiędzy: WZÓR UMOWY Zawarta w Białymstoku, w dniu.. pomiędzy: Województwem Podlaskim, z siedzibą w Białymstoku przy ul. Kardynała Stefana Wyszyńskiego 1, w imieniu którego działa, na podstawie upoważnienia udzielonego

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

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Przedmiot PSCR Przedmiot PSCR Wykład do połowy semestru Laboratorium od połowy semestru Projekt Zaliczenie

Bardziej szczegółowo

MANAGER 2010 PROFESSIONALP VS. VIRTUALIZATION WIRTUALIZACJA OBSŁUGIWANE ANAGER 2010 C MANAGER 2010 CORPORATE: Funkcja. Korzyści.

MANAGER 2010 PROFESSIONALP VS. VIRTUALIZATION WIRTUALIZACJA OBSŁUGIWANE ANAGER 2010 C MANAGER 2010 CORPORATE: Funkcja. Korzyści. VIRTUALIZATION MANAGER 2010 PROFESSIONALP VS. VIRTUALIZATION MANAGER 2010 CORPORATE: ANAGER 2010 C Funkcja Opis Korzyści VM 2010 Professional VM 2010 Corporate WIRTUALIZACJA I MIGRACJE Funkcja Connect

Bardziej szczegółowo

Wykorzystanie wirtualizacji w kluczowych scenariuszach data-center

Wykorzystanie wirtualizacji w kluczowych scenariuszach data-center Wykorzystanie wirtualizacji w kluczowych scenariuszach data-center Jerzy Mikołajczak, Sebastian Petruczynik, Marek Zawadzki Poznańskie Centrum Superkomputerowo Sieciowe III Konferencja MIC Nowoczesne technologie

Bardziej szczegółowo