Mikrojądra. Omówienie i przegląd
|
|
- Miłosz Góra
- 9 lat temu
- Przeglądów:
Transkrypt
1 Mikrojądra. Omówienie i przegląd Marek Materzok 22 stycznia Wprowadzenie Tradycyjnie znaczną część funkcjonalności systemu operacyjnego skupia się w monolitycznym bloku kodu, zwanym jądrem, pracującym z uprawnieniami monitora. Wśród funkcjonalności zawartej w jądrze monolitycznym znajdują się: zarządzanie procesami i pamięcią, sterowniki urządzeń, obsługa systemu plików, stos protokołów sieciowych i wiele innych. Podejście to ma swoje zalety: jest dobrze poznane, co ułatwia pracę nad takimi systemami, a także umożliwia ono dowolnego rodzaju optymalizacje. Jednak ma ono też liczne wady, między innymi: Brak izolacji komponentów systemu. Błąd w jednym z komponentów, jakkolwiek mało ważnym, może doprowadzić do załamania systemu bądź przejęcia kontroli nad nim przez atakującego. Utrudniona modernizacja i rozbudowa systemu. Nie jest możliwe łatwe dodawanie i wymienianie komponentów systemu w trakcie jego pracy. Wprawdzie problem ten został częściowo rozwiązany przez dynamicznie ładowane moduły, jest to jednak tylko półśrodek. Brak możliwości rozszerzenia funkcjonalności systemu przez indywidualnych użytkowników. Wbrew pozorom może to być bardzo pożądane: przykładowo, użytkownik może chcieć pracować na archiwum czy zdalnym systemie plików tak samo, jak na dysku lokalnym. Niepotrzebnie skomplikowanie kodu komponentów systemu. Nawet będące koncepcyjnie odległe od sprzętu komponenty, takie jak obsługa protokołów sieciowych, pracują w trybie monitora, przez co muszą radzić sobie z całą złożonością z tym związaną, ponadto mogą korzystać jedynie z uproszczonego środowiska programistycznego dostępnego w jądrze. Utrudnione zarządzanie pamięcią wykorzystywaną przez system. Bardzo nieliczne systemy implementują stronicowanie pamięci jądra. Problemy z czasem odpowiedzi systemu. Ponieważ jądro z reguły jest niewywłaszczalne, wysokopriorytetowe procesy użytkownika są zmuszone czekać, aż aktualnie pracujący proces opuści jądro, co - biorąc pod uwagę złożoność zadań wykonywanych przez jądro - może potrwać nawet kilka milisekund. Z tych powodów uzasadnione jest poszukiwanie lepszych metod konstrukcji systemów operacyjnych. Jedną z nich, a którą zajmę się w tej pracy, jest architektura z mikrojądrem. 1
2 2 Bliżej o mikrojądrach Ideą mikrojąder jest zminimalizowanie funkcjonalności wymagającej pracy w trybie monitora. Mikrojądra z reguły zawierają tylko proste operacje zarządzania procesami i pamięcią oraz mechanizmy komunikacji międzyprocesowej, reszta funkcjonalności przeniesiona jest do procesów systemowych pracujących w trybie użytkownika, zwanych serwerami. Serwery komunikują się między sobą i z aplikacjami za pośrednictwem operacji komunikacji międzyprocesowej dostarczanych przez mikrojądro. Podejście to przynosi wiele korzyści w porównaniu do tradycyjnej architektury z jądrem monolitycznym. Przede wszystkim, architektura z mikrojądrem narzuca ustrukturalizowanie systemu w niezależne komponenty, które komunikują się ze sobą przez dobrze zdefiniowane interfejsy. Komponenty te można testować w oddzieleniu od reszty systemu, co ułatwia pracę nad nimi. Co więcej, poszczególne serwery pracują w osobnych przestrzeniach adresowych, oddzielone od siebie, dzięki czemu błąd w jednym z nich nie może spowodować problemów w innych. A jeśli już z powodu jakiegoś błędu serwer przestanie działać, można go uruchomić ponownie bez szkody dla reszty systemu. Oczywiście, oparcie funkcjonowania systemu na komunikacji międzyprocesowej oznacza, że ta funkcjonalność w systemach z mikrojądrem musi być szczególnie dobrze zaprojektowana. Wczesne mikrojądra stosowały komunikację asynchroniczną, jednak okazało się, że oznacza to problemy z wydajnością związane z nadmiernym kopiowaniem i opóźnieniami w szeregowaniu procesów. Z tego powodu współczesne systemy z mikrojądrem używają przede wszystkim komunikacji synchronicznej. W wielkim uproszczeniu, synchroniczna komunikacja polega na tym, że nadawca komunikatu może nadać komunikat tylko wtedy, gdy odbiorca jest gotowy do odbierania. Ponieważ odbiorca otrzymuje czas procesora od razu po odebraniu komunikatu, możliwe jest zredukowanie do minimum lub nawet całkowite wyeliminowanie kopiowania. 3 Wybrane systemy 3.1 Minix System Minix jest systemem edukacyjnym opracowanym przez Andrew Tanenbauma dla potrzeb jego książki pt. Operating Systems: Design and Implementation, wydanej w roku W założeniach miał on służyć za przeznaczoną dla studentów ilustrację koncepcji omówionych w książce, w związku z tym jest on napisany w sposób prosty i klarowny. Rozwój systemu Minix nie zatrzymał się w miejscu. Obecnie Tanenbaum pracuje nad trzecią wersją tego systemu, który - oprócz bycia systemem edukacyjnym, jak poprzednie wersje - będzie systemem o bardzo wysokiej bezawaryjności. Został on zaprojektowany w ten sposób, aby automatycznie odbudowywał uszkodzenia wywołane przez awarie komponentów systemu, nie przerywając przy tym pracy. 3.2 QNX QNX jest rozwijanym od 1982 roku komercyjnym systemem czasu rzeczywistego projektowanym pod kątem sterowania pracą urządzeń. Jest to bardzo lekki, wydajny system, który wiele swoich pozytywnych cech - w tym spełnienie ostrych ograniczeń czasowych, wymaganych w wielu specjalizowanych zastosowaniach, oraz bardzo dobre wsparcie dla wielu procesorów, zawdzięcza architekturze z mikrojądrem. 2
3 Z zewnątrz QNX przypomina system uniksowy - wspiera interfejs POSIX, obsługuje programy wykorzystujące interfejs graficzny X Window (choć sam używa własny, lekki interfejs Photon microgui). Jednak wewnątrz jest nowoczesnym systemem z mikrojądrem, drastycznie innym od Uniksów. Funkcjonalność jądra jest ograniczona do minimum, nawet sterowniki sprzętu i elementy zarządzania pamięcią i procesami zostały przeniesione do przestrzeni użytkownika. Mechanizmem komunikacji jest wysoko zoptymalizowane synchroniczne przesyłanie komunikatów. 3.3 GNU HURD Prace nad GNU Hurd rozpoczęły się w roku 1990 celem uzupełnienia systemu GNU - otwartego klonu Uniksa - o jedyny brakujący element, mianowicie jądro. Postanowiono oprzeć się o mikrojądro Mach, co ostatecznie okazało się nienajlepszą decyzją. Ponadto projekt okazał się zbyt ambitny, co odbiło się na tempie prac. Ostatecznym ciosem było opracowanie przez Linusa Torvaldsa systemu Linux w Ostatecznie Linux został zaadoptowany jako jądro GNU, a zainteresowanie systemem Hurd zmalało tak bardzo, że stał się on zdatny do użytku dopiero po roku Hurd różni się od innych systemów tym, że duży nacisk kładzie się w nim na swobodę użytkownika. Każdy użytkownik w systemie może uruchamiać własne serwery, które pracują na jego poziomie uprawnień, oraz udostępniać je innym użytkownikom. Możliwe jest nawet zrezygnowanie z użytkowania systemowych serwerów i korzystanie z własnych, co doprowadzone jest do ekstremum: użytkownik może nawet uruchomić całego Hurda pod swoją kontrolą. 3.4 L4 Ze względu na porażkę wydajnościową wczesnych mikrojąder, w tym mikrojądra Mach, konieczne było opracowanie sprawnego systemu komunikacji międzyprocesowej. Cel ten zrealizował w mikrojądrze L3, które później wyewoluowało w L4. Mikrojądro L4 odniosło duży sukces w środowisku akademickim i jest dalej rozwijane na Uniwersytecie w Karlsruhe i Uniwersytecie Nowej Południowej Walii. Swoją wydajność mikrojądro L4 zawdzięcza ekstremalnemu uproszczeniu jądra. Mechanizmem komunikacji jest wysoko zoptymalizowane synchroniczne przekazywanie komunikatów rozbudowane o dodatkową funkcjonalność zarządzania przestrzeniami adresowymi, która polega na tym, że w ramach przesłania komunikatu można udostępnić lub oddać fragment swojej pamięci innemu procesowi. Wywołania systemowe L4 zostały starannie zaprojektowane tak, aby udostępniać procesom wyłącznie mechanizmy, politykę zostawiając wymaganiom konkretnych procesów. Mikrojądro L4 jest używane w badaniach dotyczących systemów trwałych (ang. persistent), wirtualizacji, reużycia sterowników sprzętu, systemów z pojedynczą przestrzenią adresową i innych. 3.5 KeyKOS Istotną dla bezpieczeństwa komputera zasadą jest reguła najmniejszych uprawnień, która mówi, że każdy program powinien mieć dostęp tylko i wyłącznie do tego, co jest mu potrzebne do prawidłowego działania. We współcześnie używanych systemach operacyjnych reguła ta jest notorycznie łamana. Kontrola uprawnień jest bardzo gruboziarnista, a często brak jej w ogóle, co powoduje, że najmniejszy błąd w systemie może prowadzić do katastrofy - i prowadzi, 3
4 co doskonale pokazuje wciąż rosnąca plaga wszelkiej maści programów typu spyware, adware i trojan. Metodą na zaimplementowanie reguły najmniejszych uprawnień może być zastosowanie koncepcji zdolności (ang. capabilities). Zdolność jest obiektem systemowym, dającym procesowi go posiadającemu możliwość operowania na innym obiekcie, którego zdolność dotyczy. O zdolności można myśleć jak o kluczu - można ją przekazywać, kopiować, można ją też unieważnić ( zmiana zamka ). Zdolności sprawdzają się dobrze, jeśli system pracuje w sposób ciągły, jednak restart systemu stwarza ryzyko zaginięcia pewnych zdolności. W jaki sposób system KeyKOS rozwiązuje ten problem? Bardzo prosto - tworzy procesom iluzję systemu pracującego w sposób ciągły. Okresowo system zapisuje cały stan procesów na dysku, tak, że po awarii bądź restarcie system zostanie odtworzony w stanie, w jakim był wcześniej, łącznie ze zdolnościami procesów. U podstaw systemu KeyKOS znajduje się proste, wydajne mikrojądro. To właśnie ono gwarantuje sprawne odtwarzanie stanu systemu. Zaimplementowana w jądrze została koncepcja pamięci trwałej, która z punktu widzenia procesów jest jedynym rodzajem pamięci. Jest w niej zapisywane wszystko - kod i dane procesów, pliki, dane jądra itp. Następcami systemu KeyKOS są EROS i CapROS. 4 Pokrewne rozwiązania Istnieje kilka rozwiązań pokrewnych do architektury z mikrojądrem, które, mimo bycia uznawanym za odrębne, są warte wspomnienia. 4.1 Xen Ostatnio coraz większą popularnością cieszy się tzw. wirtualizacja. Polega ona na uruchamianiu kilku programów na tym samym komputerze, stwarzając iluzję, że każdy z nich ma do dyspozycji cały komputer. Pierwsze rozwiązania tego rodzaju (przykładowo popularny VMWare) polegały na tym, że maszyna wirtualna wydawała się być identyczna z maszyną fizyczną, co umożliwiło uruchamianie niezmodyfikowanych programów na maszynie wirtualnej. Niestety, ponieważ architektura IA32 nie była projektowana pod kątem wirtualizacji, wiązało się to ze znacznym obniżeniem wydajności. Na problem warto popatrzeć w sposób bardziej abstrakcyjny. Czym monitor maszyn wirtualnych, taki jak VMware, różni się od typowego systemu operacyjnego? Oba udostępniają dla uruchomionych pod nimi programów abstrakcyjny model maszyny, różnica jest tylko taka, że pierwszy model jest blisko sprzętu, a drugi - blisko użytkownika. Dlaczego nie spróbować wariantu pośredniego? Xen jest właśnie realizacją takiego wariantu. Model maszyny udostępniany przez system Xen jest wciąż bardzo niskopoziomowy - nie ma w nim mowy o plikach, uprawnieniach, sieci, czy nawet przekazywaniu komunikatów, jak w mikrojądrach. Jest on jednak opracowany pod kątem jak najsprawniejszej implementacji, tak, żeby uruchamiane pod Xenem programy - które muszą być zmodyfikowane pod kątem współpracy z nim - działały jak najefektywniej. Obecnie Xen jest najczęściej wykorzystywany w celu uruchomienia wielu kopii tradycyjnych systemów operacyjnych (takich jak Linux, BSD czy Solaris) obok siebie. Jednak koncepcja maszyn wirtualnych jest jeszcze młoda, więc przyszłość może przynieść jeszcze wiele niespodzianek. 4
5 4.2 Singularity Duża część złożoności współczesnych systemów operacyjnych jest związana z obchodzeniem takich czy innych ograniczeń niskopoziomowej natury. Nawet w systemach z mikrojądrem zarządzanie pamięcią i mechanizmami ochrony pamięci jest zwykle skomplikowane. Jednym z możliwych rozwiązań jest całkowite porzucenie możliwości wykonywania kodu maszynowego i zastąpienie go znacznie prostszym kodem maszyny wirtualnej. Na tej idei oparty został eksperymentalny system operacyjny opracowany przez laboratoria firmy Microsoft, Singularity. W sercu Singularity znajduje się maszyna wirtualna.net. Jest to jedyny komponent, w którym znajduje się kod maszynowy. Cała reszta systemu oraz aplikacje muszą być zapisane w bajtkodzie.net i pracują pod kontrolą maszyny wirtualnej. Można więc myśleć o niej jak o specyficznym mikrojądrze, które dostarcza mechanizmów wykonania, zarządzania pamięcią i komunikacji, jednak o znacznie bardziej wysokopoziomowym charakterze. Czynności możliwe do wykonania przez procesy są przy tym ograniczone na tyle, że nie mogą one szkodzić sobie wzajemnie. Wydawać by się mogło, że tak napisany system musi być ekstremalnie powolny. Otóż nie. Po pierwsze, kontrola poprawności programów następuje przez statyczną weryfikację, a nie w trakcie pracy, przez co programy nie ponoszą związanych z tym kosztów wydajnościowych. Po drugie, bajtkod.net nie jest interpretowany, tylko dynamicznie kompilowany do kodu maszynowego, co zapewnia równie dobrą - a często lepszą, ze względu na dynamiczne optymalizacje - wydajność pracy programów. Zaś po trzecie, i chyba najważniejsze, kontrola poprawności na poziomie kodu programów pozwala na całkowite zrezygnowanie ze sprzętowej kontroli dostępu do pamięci, co pozwala na zaimplementowanie bardzo wydajnego programowego przełączania kontekstu. Jest to o tyle istotne, że to właśnie efektywność przełączania kontekstu stanowi większość kosztów związanych z architekturą z mikrojądrem. 5 Podsumowanie Jak widać, koncepcja mikrojądra, kiedyś uznana za chybioną, wraca dziś ze zdwojoną siłą. Zredukowanie do minimum ilości niskopoziomowego kodu pracującego w jądrze otworzyło rozmaite drogi rozwoju, które są teraz intensywnie badane. Niektóre z tych dróg zapewne prowadzą donikąd, jednak jestem przekonany, że prace w ogólności podążają w dobrym kierunku i następnej rewolucji w dziedzinie systemów operacyjnych doczekamy się właśnie ze strony mikrojąder. 5
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
Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski
Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która
Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008
Jadro monolityczne vs. mikrojadro 9 grudnia 2008 Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne Aplikacje użytownika wywołania
Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008
Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008 Systemy oparte na mikrojądrze Jądro systemu jest bardzo małe Architektura mocno
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
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
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
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
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
L4Ka::Pistachio Mikrojądra mogą być wydajne
L4Ka::Pistachio Mikrojądra mogą być wydajne Marek Materzok Instytut Informatyki Uniwersytetu Wrocławskiego Spotkanie Koła Studentów Informatyki 8 grudnia 2005 Architektura monolityczna Jądro jednolitym
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
Sieciowe Systemy Operacyjne
1 Sieciowe Systemy Operacyjne 1. Etapy rozwoju systemów komputerowych System scentralizowany System sieciowy System rozproszony 1.1 System scentralizowany Zastosowane duże komputery (mainframes ) Użytkownicy
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
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
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
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.
Wprowadzenie do systemu Minix
Opis powstał na podstawie pracy dyplomowej Adama Pogorzelskiego Opracowanie laboratoryjnej wersji systemu Minix 2.0 wykonanej w 1998 roku w IAiIS PW. 1. Wprowadzenie System operacyjny (SO) to program lub
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
Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej
Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja
Firma Informatyczna ASDER. Prezentacja. Centrum zarządzania. Przemysław Kroczak ASDER 2012-08-06
2012 Firma Informatyczna ASDER Prezentacja Centrum zarządzania Przemysław Kroczak ASDER 2012-08-06 Szanowni Państwo, W firmach przybywa komputerów coraz trudniej zarządzać użytkownikami na każdym komputerze
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
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
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
Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.
Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać
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,
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
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
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,
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
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
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:
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
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
Modularny system I/O IP67
Modularny system I/O IP67 Tam gdzie kiedyś stosowano oprzewodowanie wielożyłowe, dziś dominują sieci obiektowe, zapewniające komunikację pomiędzy systemem sterowania, urządzeniami i maszynami. Systemy
Systemy macierzowe. www. qsantechnology. com
Systemy macierzowe www. qsantechnology. com Przegląd produktów Rozwiązania macierzowe QSAN Unified Storage serwer NAS i SAN w jednym Macierze dyskowe typu Unified Storage QSAN pozwalają na wykorzystanie
Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.
Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,
Wprowadzenie. Dariusz Wawrzyniak 1
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Mechatronika Rodzaj przedmiotu: dla specjalności Systemy Sterowania w ramach kierunku Mechatronika Rodzaj zajęć: Wykład, laboratorium Systemy Operacyjne Czasu Rzeczywistego
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
Działanie komputera i sieci komputerowej.
Działanie komputera i sieci komputerowej. Gdy włączymy komputer wykonuje on kilka czynności, niezbędnych do rozpoczęcia właściwej pracy. Gdy włączamy komputer 1. Włączenie zasilania 2. Uruchamia
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ść:
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
Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.
Projekt współfinansowany przez Unię Europejską z Europejskiego Funduszu Rozwoju Regionalnego w ramach Regionalnego Programu Operacyjnego Województwa Śląskiego na lata 2007-2013 Czerwionka-Leszczyny 6.11.2012
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
Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.
Projekt współfinansowany przez Unię Europejską z Europejskiego Funduszu Rozwoju Regionalnego w ramach Regionalnego Programu Operacyjnego Województwa Śląskiego na lata 2007-2013 ZP.271.1.2013 Czerwionka-Leszczyny
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Web frameworks do budowy aplikacji zgodnych z J2EE
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym
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
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
Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.
Kod szkolenia: Tytuł szkolenia: PS/WIN Programowanie systemowe w Windows Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows,
1.1. Założenia dla architektury korporacyjnej EPL
1.1. Założenia dla architektury korporacyjnej EPL Podczas tworzenia koncepcji architektury korporacyjnej mieliśmy na celu zaproponowanie takich zmian architektonicznych, które wprowadzałyby w Urzędzie
Wstęp do Informatyki. Klasyfikacja oprogramowania
Wstęp do Informatyki Klasyfikacja oprogramowania Oprogramowanie komputerowe Funkcjonalność komputera jest wynikiem zarówno jego budowy, jak i zainstalowanego oprogramowania Komputer danej klasy znajduje
Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
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
Architektura i administracja systemów operacyjnych
Architektura i administracja systemów operacyjnych Wykład 1 Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Informacje wstępne Prowadzący
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ń
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,
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
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
Rodzaje pamięci masowych by Silas Mariusz
Rodzaje pamięci masowych by Silas Mariusz 1. Online Silas Mariusz Administrator TS-x79U 1 GbE Pamięć masowa może być instalowana bezpośrednio w serwerach w postaci dysków tworzących tzw. system DAS (Direct
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
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ą
27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.
1 Serwery przetwarzania danych 1.1 Serwery dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych. 1 1.2 Konsola zarządzająca serwerami dostawa, rozmieszczenie i zainstalowanie 1. konsoli
Referat pracy dyplomowej
Referat pracy dyplomowej Temat pracy: Wdrożenie intranetowej platformy zapewniającej organizację danych w dużej firmie na bazie oprogramowania Microsoft SharePoint Autor: Bartosz Lipiec Promotor: dr inż.
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
Win Admin Replikator Instrukcja Obsługi
Win Admin Replikator Instrukcja Obsługi Monitoring Kopie danych (backup) E-mail Harmonogram lokalne i zewnętrzne repozytorium Logi Pamięć Procesor HDD Administracja sprzętem i oprogramowaniem (automatyzacja
Symantec Backup Exec System Recovery 7.0 Server Edition. Odtwarzanie systemu Windows w ciągu najwyżej kilkudziesięciu minut nie godzin czy dni
GŁÓWNE ZALETY Odtwarzanie systemu Windows w ciągu najwyżej kilkudziesięciu minut nie godzin czy dni Firma Symantec wielokrotnie publicznie udowadniała, że dzięki oprogramowaniu Backup Exec System Recovery
Zapytanie ofertowe nr 03/05/2014. Zakup licencji na oprogramowanie do wirtualizacji Działanie POIG 8.2
nr 03/05/2014 Zakup licencji na oprogramowanie do wirtualizacji Działanie POIG 8.2 Warszawa, 5 maja 2014 Veriti sp. z o.o. ul. Koszycka 8 01-446 Warszawa Tel/Faks : +48 22 100 62 42 e-mail: biuro@veriti.pl
Architektury systemów czasu rzeczywistego RTOS. Wykonał: Bartłomiej Bugański
Architektury systemów czasu rzeczywistego RTOS Wykonał: Bartłomiej Bugański System operacyjny czasu rzeczywistego ( ang. Real-Time Operating System - RTOS) to komputerowy system operacyjny, który został
Jadro Linux 2.6. a zadania czasu rzeczywistego. Artur Lewandowski. Jądro Linux 2.6 p.1/14
Jadro Linux 2.6 a zadania czasu rzeczywistego Artur Lewandowski al167167@students.mimuw.edu.pl Jądro Linux 2.6 p.1/14 1 Wprowadzenie Linux 2.6 wprowadza dużo nowych cech polepszajacych wydajność zadań
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
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ęć
DTextra System Zarządzania Dokumentami
DTextra System Zarządzania Dokumentami 2012 1 S t r o n a Spis treści Wstęp... 4 Główne zadania oprogramowania... 4 Korzyści z wdrożenia... 4 Interfejs graficzny... 5 Bezpieczeństwo... 5 Wymagania systemowe...
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
Czym jest technologia Bluetooth?
Tomasz Merda Czym jest technologia Bluetooth? Czym jest technologia Bluetooth? Bluetooth to technologia pozwalająca na komunikację radiową na ograniczoną odległość (standardowo do 10 metrów). Przy pomocy
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,
Mechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Dni: 5. Opis: Adresaci szkolenia
Kod szkolenia: Tytuł szkolenia: HK988S VMware vsphere: Advanced Fast Track Dni: 5 Opis: Adresaci szkolenia Administratorzy systemowi, inżynierowie systemowi, konsultanci i pracownicy help-desku, którzy
Rozwiązania VDI w środowiskach akademickich korzyści i doświadczenia z wdrożeń
w środowiskach akademickich korzyści i doświadczenia z wdrożeń Pawel Chrobak pchrobak@advatech.pl pawel.chrobak@ue.wroc.pl Doświadczenia z VDI www.pawelchrobak.pl 2010/2011 członek zespołu wdrażającego
Programowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
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
KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom : Profil : Forma studiów: Obszar : Dziedzina:
2. Jakie i ile licencji Oracle 10g posiada zamawiający i czy posiada do tych licencji wsparcie techniczne?
Strona 1 Or.V.271.29.2013 Ostrowiec Świętokrzyski, 11.09.2013 r. Wykonawcy zainteresowani uczestnictwem w postępowaniu W nawiązaniu do ogłoszenia o zamówieniu (DUUE Nr 2013/S 157-273788 z dnia 14.08.2013)
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
Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;
14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi
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
<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
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
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
Middleware wprowadzenie października 2010
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware
Sposób funkcjonowania
Stratus Avance został zaprojektowany w sposób, który w przypadku wystąpienia awarii ma zminimalizować czas przestoju i zapobiec utracie danych. Jednocześnie rozwiązanie ma być tanie i łatwe w zarządzaniu.
Odpowiedź II wyjaśnienie na zapytania do Specyfikacji Istotnych Warunków Zamówienia.
Projekt współfinansowany przez Unię Europejską z Europejskiego Funduszu Rozwoju Regionalnego w ramach Regionalnego Programu Operacyjnego Województwa Śląskiego na lata 2007-2013 Czerwionka-Leszczyny 6.11.2012
PyPy's Approach to Virtual Machine Construction
PyPy's Approach to Virtual Machine Construction Armin Rigo, Samuele Pedroni Prezentacja: Michał Bendowski Czym jest PyPy? Implementacja Pythona w Pythonie - wydajniejsza niż oryginalna implementacja w
Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)
Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007) Copyright 2004 Anica System S.A., Lublin, Poland Poniższy dokument, jak również informacje w nim zawarte są całkowitą własnością
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
Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl poznan pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware
IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006
IO - Plan testów M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak 5 czerwca 2006 1 SPIS TREŚCI 2 Spis treści 1 Historia zmian 3 2 Zakres testów 3 2.1 Integration testing - Testy spójnosci.............. 3 2.2
Testowanie oprogramowania
Testowanie oprogramowania 1/17 Testowanie oprogramowania Wykład 01 dr inż. Grzegorz Michalski 13 października 2015 Testowanie oprogramowania 2/17 Dane kontaktowe: Kontakt dr inż. Grzegorz Michalski pokój
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