System operacyjny Linux

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

Download "System operacyjny Linux"

Transkrypt

1 System operacyjny Linux Perspektywa historyczna Podstawy projektu Moduły jądra Zarządzanie procesami Planowanie Zarządzanie pamięcią Systemy plików Wejście i wyjście Komunikacja międzyprocesowa Bezpieczeństwo Wiesław Płaczek Systemy Operacyjne: Wykład 12 1

2 Perspektywa historyczna 1969: 1-sza wersja systemu UNIX opracowana przez Kena Thompsona w Bell Labs (AT&T) dla minikomputera PDP : 3-cia wersja systemu UNIX napisana w języku C przez Kena Thompsona i Dennisa Richiego (autor języka C) przenośność! Ważniejsze odmiany systemu UNIX: System V wersja 4 (SVR4) wersja opracowana przez AT&T. BSD (Berkeley Software Distribution) odmiana opracowana przez University of California w Berkeley; najnowsza wersja: FreeBSD. Solaris system operacyjny firmy Sun Microsystems, oparty o SVR4 i BSD; najbardziej rozpowszechniona komercyjna implementacja Uniksa. Linux system operacyjny oparty na SVR4 i 4.3BSD, ale jądro całkowicie oryginalne, napisane niezależnie; najpopularniejsza obecnie odmiana Uniksa. 1991: Linus Torvalds, student informatyki Uniwersytetu w Helsinkach, napisał małe, lecz kompletne jądro systemu operacyjnego dla 32-bitowego procesora Intel 80386, który nazwał Linux. Kod źródłowy Linuxa został od razu udostępniony bezpłatnie w sieci Internet, co spowodowało, że do jego dalszego rozwoju włączyło się wielu użytkowników z całego świata taki rozwój systemu trwa do dziś. Część elementów systemu została zapożyczona z innych projektów (np. GNU). Wiesław Płaczek Systemy Operacyjne: Wykład 12 2

3 Licencja i rozpowszechnianie Linuxa Jądro systemu Linux jest rozpowszechniane w ramach licencji GNU General Public Licence (GPL), określonej przez konsorcjum Free Software Foundation (FSF), jako tzw. oprogramowanie w wolnym obiegu (free software). Zakaz prywatyzacji produktów powstałych z wykorzystaniem Linuxa lub pochodnych systemu (tzn. odmian zachowujących standardy Linuxa). Oprogramowanie nie może być redystrybuowane w formie czysto binarnej wraz z każdą dystrybucją binarną musi być udostępniony kod źródłowy. Dystrybucje Linuxa: Standardowe, prekompilowane zbiory pakietów, zwane dystrybucjami, zawierają podstawowy system Linux, narzędzia do instalowania systemu i zarządzania nim oraz gotowe do instalowania pakiety typowych narzędzi systemu UNIX. Pierwsze dystrybucje zarządzały pakietami jedynie przez dostarczanie środków do rozpakowywania wszystkich plików w odpowiednie miejsca; współczesne dystrybucje zawierają zawansowane zarządzanie pakietami. Większość obecnych dystrybucji stosuje lub przynajmniej rozpoznaje pakiety plików RPM ułatwiające instalację, rozbudowę i usuwanie oprogramowania. Wczesne dystrybucje: SLS, Slackware. Popularne dystrybucje: RedHat, Debian, SuSE, Caldera, Fedora itd. Wiesław Płaczek Systemy Operacyjne: Wykład 12 3

4 Podstawy projektu Linux jest wielodostępnym (multiuser), wielozadaniowym (multitasking) systemem operacyjnym z pełnym zestawem narzędzi zgodnych z systemem UNIX. System plików Linuxa jest zgodny z tradycyjną semantyką uniksową. Linux realizuje w pełni sieciowy standard systemu UNIX. Głównymi celami projektowymi są: szybkość, wydajność i standaryzacja. Linux został zaprojektowany tak, aby pozostawał w zgodzie z istotnymi dokumentami standardu POSIX (zbiór specyfikacji dotyczących wspólnych własności systemu operacyjnego); co najmniej dwie dystrybucje Linuxa zdobyły oficjalne certyfikaty komitetu normalizacyjnego POSIX. Interfejs programisty w systemie Linux odpowiada semantyce systemu SVR4 UNIX, a nie zachowaniu systemu BSD do realizacji semantyki BSD w miejscach, gdzie oba sposoby działania istotnie się różnią, służy oddzielny zbiór bibliotek. Wiesław Płaczek Systemy Operacyjne: Wykład 12 4

5 Programy zarządzania systemem Procesy użytkowe Składowe systemu Linux Pomocnicze programy użytkowe Kompilatory Wspólne biblioteki systemu Jądro Linux Ładowalne moduły jądra System Linux składa się z trzech głównych fragmentów kodu: Jądro: jest odpowiedzialne za realizację wszystkich istotnych abstrakcji systemu operacyjnego. Kod jądra jest wykonywany w trybie jądra (kernel mode) z pełnym dostępem do wszystkich fizycznych zasobów komputera. Cały kod jądra ze wszystkimi strukturami danych przebywa w tej samej pojedynczej przestrzeni adresowej Biblioteki systemowe: Definiują standardowy zbiór funkcji, za pomocą których aplikacje mogą współpracować z jądrem i które realizują wiele właściwości systemu operacyjnego nie wymagających pełnych przywilejów kodu jądra. Pomoce systemowe: wykonują osobne, specjalizowane zadania administracyjne. Wiesław Płaczek Systemy Operacyjne: Wykład 12 5

6 Moduły jądra Moduły jądra Moduły jądra są to części kodu jądra, które mogą być kompilowane, ładowane i usuwane niezależnie od reszty jądra. Moduł jądra zazwyczaj steruje pracą urządzenia, systemem plików lub protokołem sieciowym. Moduły jądra są przydatne z następujących powodów: W celu dodania nowych właściwości do jądra wystarczy napisać nowy moduł jądra i korzystać z niego bez przebudowy całego jądra. Interfejs modułów jądra umożliwia osobom postronnym pisanie i rozpowszechnianie na własnych zasadach modułów sterujących urządzeń lub systemów plików, których nie można rozpowszechniać na zasadach licencji GPL. Moduły jądra pozwalają na zestawianie systemu Linux z minimalnym, standardowym jądrem bez wbudowywania w nie żadnych dodatkowych modułów sterujących urządzeń. Moduły jądra są wspomagane przez trzy następujące składowe: Zarządzanie modułami (module management); Rejestracja modułów sterujących (driver registration); Mechanizm rozwiązywania konfliktów (conflict resolution). Wiesław Płaczek Systemy Operacyjne: Wykład 12 6

7 Zarządzanie modułami Umożliwia wprowadzenie modułów do pamięci i ich kontakt z resztą jądra. Zadanie ładowania modułu jądra podzielone jest na dwie sekcje: Zarządzanie częściami kodu modułu w pamięci jądra; Manipulowanie symbolami, do których modułom wolno się odwoływać. Ładowanie modułu przebiega w dwu etapach: Ładowacz modułu (module loader) zgłasza zapotrzebowanie na ciągły obszar pamięci wirtualnej jądra potrzebny dla modułu, a jądro zwraca adres przydzielonej pamięci. Wywołanie systemowe przekazuje moduł do jądra wraz niezbędną tablicą symboli, które chce on eksportować (moduł jest słowo po słowie kopiowany do zarezerwowanego obszaru, a tablica symboli jądra jest aktualizowana za pomocą nowych symboli). Ostatnią składową zarządzania modułem jest procedura zamawiania modułu (module requestor). Zarządza ładowaniem zamawianych modułów, których aktualnie nie ma w pamięci. Regularnie odpytuje jądro, sprawdzając, czy dynamicznie załadowany moduł jest ciągle w użyciu, a gdy nie jest już potrzebny, usuwa go z pamięci. Wiesław Płaczek Systemy Operacyjne: Wykład 12 7

8 Rejestrowanie modułu sterującego Umożliwia modułowi poinformowanie reszty jądra o udostępnieniu nowego modułu sterującego. Jądro utrzymuje dynamiczne tablice wszystkich znanych modułów sterujących (programów obsługi urządzeń, device drivers) i dostarcza zestawu procedur umożliwiających dodawanie do tych tablic lub usuwanie z nich modułów sterujących w dowolnej chwili. Tablice rejestracyjne zwierają następujące elementy: Moduły sterujące urządzeń: znakowych (terminale, myszki drukarki itp.), blokowych (programy obsługi dysków) oraz interfejsów sieciowych. Systemy plików: oprogramowanie realizujące procedury wywołań wirtualnego systemu plików Linuxa, zarówno lokalnego, jak i sieciowego. Protokoły sieciowe: cały protokół sieciowy, np. IPX, lub nowy zbiór reguł filtrowania pakietów przez zaporę ogniową. Format binarny: określa zasady rozpoznawania i ładowania pliku wykonywalnego nowego typu. Ponadto moduł może zarejestrować nowy zbiór wpisów w tablicach sysctl i /proc, aby umożliwić jego konfigurowanie dynamiczne. Wiesław Płaczek Systemy Operacyjne: Wykład 12 8

9 Rozwiązywanie konfliktów Rozwiązywanie konfliktów System Linux pracuje na sprzęcie występującym w różnych i zmieniających się konfiguracjach, mogą się więc pojawiać problemy konfliktów między modułami sterującymi urządzeń przy dostępie do tych samych zasobów. Linux posiada centralny mechanizm rozwiązywania konfliktów, który pozwala rozstrzygać o dostępie do zasobów sprzętowych. Do głównych celów tego mechanizmu należą: Ochrona modułów przed kolizjami przy dostępie do zasobów sprzętowych; Zapobieganie zaburzaniu działania istniejących modułów sterujących przez autosondy (autoprobes), tj. testy inicjowane przez moduły sterujące w celu automatycznego wykrycia konfiguracji sprzętu; Rozwiązywanie konfliktów między wieloma modułami sterującymi usiłującymi skorzystać z tego samego sprzętu. Aby osiągnąć te cele, jądro utrzymuje wykazy przydzielonych zasobów sprzętowych jeżeli jakiś moduł sterujący urządzenia chce sięgnąć po zasób, musi go najpierw zarezerwować w bazie danych jądra (w przypadku niepowodzenia rezerwacji moduł może zażądać swego usunięcia lub skorzystać ze środków zastępczych). Wiesław Płaczek Systemy Operacyjne: Wykład 12 9

10 Zarządzanie procesami System UNIX rozdziela tworzenie procesów i wykonywanie nowych programów na dwie odrębne operacje: Funkcja systemowa fork tworzy nowy proces. Wykonanie nowego programu odbywa się poprzez wywołanie funkcji exec. W systemie UNIX proces obejmuje całość informacji, które system operacyjny musi utrzymywać, aby śledzić kontekst wykonywania indywidualnego programu. W systemie Linux cechy procesu dzielą się na trzy grupy: tożsamość, jego środowisko i kontekst. Tożsamość procesu podstawowe elementy: Identyfikator procesu (process identifier PID) patrz ćwiczenia. Uwierzytelnienia (credentials): identyfikator użytkownika oraz jeden lub więcej identyfikatorów grup użytkowników określające prawa procesu do sięgania po zasoby systemowe i pliki. Indywidualność (personality): każdy proces ma przypisany identyfikator indywidualności, który może nieco zmieniać semantykę niektórych funkcji systemowych (nie występuje w tradycyjnych systemach UNIX). Ograniczoną kontrolę nad większością identyfikatorów sprawuje sam proces, jednak PID procesu pozostaje niezmienny aż do jego zakończenia. Wiesław Płaczek Systemy Operacyjne: Wykład 12 10

11 Środowisko procesu Środowisko procesu Proces dziedziczy środowisko po procesie macierzystym składa się ono z dwu wektorów zakończonych wskaźnikiem NULL: Wektor argumentów (argument vector) wykaz argumentów wywołania programu (zgodnie z konwencją zaczyna się od nazwy samego programu). Wektor środowiska (environment vector) wykaz par: nazwa = wartość, kojarzących nazwane zmienne środowiskowe z dowolnymi wartościami tekstowymi. Środowisko przechowywane jest w prywatnej przestrzeni adresowej procesu jako pierwsza dana na szczycie jego stosu. Przekazywanie zmiennych środowiskowych pomiędzy procesami oraz ich dziedziczenie przez proces potomny dostarcza elastycznych środków przekazywania informacji do różnych składowych oprogramowania systemowego na poziomie użytkowym. Mechanizm zmiennych środowiskowych umożliwia dostosowanie systemu operacyjnego do specjalnych potrzeb przez zestawianie go z procesów, a nie konfigurowanie jako systemu rozpatrywanego całościowo (np. użytkownicy mogą wybierać własne języki lub ulubione edytory niezależnie od siebie). Wiesław Płaczek Systemy Operacyjne: Wykład 12 11

12 Kontekst procesu Kontekst procesu: stan wykonywanego procesu rozpatrywany w dowolnej chwili czasu nieustannie się zmienia! Kontekst planowania: informacje potrzebne planiście do zawieszania i wznawiania procesu najważniejsza część kontekstu; należą do nich przechowywane kopie wszystkich rejestrów procesu, informacje o priorytecie planowania, wszystkich nie obsłużonych sygnałach, a także jądrowy stos procesu zarezerwowany do wyłącznego użytku przez kod w trybie jądra (np. przez funkcje systemowe, przerwania itp.). Rozliczanie: jądro utrzymuje informacje o zasobach zużywanych na bieżąco przez każdy z procesów oraz o ich łącznej ilości skonsumowanej przez proces w jego dotychczasowym przebiegu. Tablica plików: zawiera wskaźniki do jądrowych struktur plików wykonując systemowe operacje WE/WY procesy odwołują się do plików przy pomocy indeksów do tej tablicy. Kontekst systemu plików: odnosi się do zamówień na otwarcie nowych plików informacje o bieżącym katalogu głównym oraz domyślnych katalogach używanych do szukania nowych plików. Tablica obsługi sygnałów: określa procedurę w przestrzeni adresowej procesu, która ma być wywołana po nadejściu konkretnego sygnału. Kontekst pamięci wirtualnej: opisuje całą zawartość prywatnej przestrzeni adresowej procesu. Wiesław Płaczek Systemy Operacyjne: Wykład 12 12

13 Procesy i wątki Linux stosuje tę samą wewnętrzną reprezentację dla procesów i wątków wątek jest po prostu nowym procesem, któremu zdarza się dzielić ze swoim rodzicem tę samą przestrzeń adresową. Rozróżnienie między procesem a wątkiem pojawia się wtedy, gdy wątek jest tworzony przy pomocy funkcji systemowej clone. Funkcja fork tworzy nowy proces z własnym, całkowicie nowym kontekstem. Funkcja clone tworzy nowy proces z odrębną tożsamością, ale taki któremu pozwala się dzielić struktury danych jego rodzica. Rozróżnienie to jest możliwe, ponieważ Linux przechowuje kontekst w postaci niezależnych podkontekstów w oddzielnych strukturach danych (struktura danych procesu zawiera wskaźniki do struktur danych podkontekstów, więc podkontekst może byćłatwo dzielony przez procesy). Funkcja systemowa clone tworząc nowy proces, przyjmuje argument określający, które podkonteksty należy skopiować, a które mają być wspólne. Użycie funkcji clone pozwala na dokładniejsze określenie w aplikacji, co ma być dzielone między dwa wątki. Linux dostarcza również mechanizmu pozwalającego na realizację wątków standardu POSIX (Pthreads) na poziomie użytkownika. Wiesław Płaczek Systemy Operacyjne: Wykład 12 13

14 Planowanie Planowanie (scheduling) przydzielanie czasu procesora różnym zadaniom systemu operacyjnego. Oprócz normalnego uruchamiania i przerywania procesów, planowanie w systemie Linux obejmuje także wykonywanie różnych zadań jądra, zarówno zlecanych przez działający proces, jak też wykonywanych wewnętrznie na zlecenia modułu sterującego jakiegoś urządzenia. Synchronizacja jądraj Zamówienie na działanie w trybie jądra można wykonać na dwa sposoby: Wykonywany program może zamówić usługę systemu operacyjnego jawnie (za pomocą wywołania systemowego) albo niejawnie, np. przez brak strony. Moduł sterujący urządzenia może wysłać przerwanie, które spowoduje, że procesor zacznie wykonywać kod jądrowej procedury obsługi przerwania. Synchronizacja jądra wymaga regulacji pozwalających na wykonywanie sekcji krytycznych jądra w sposób wzajemnie nie kolidujący aby nie uszkodzić lub nie doprowadzić do niespójności struktur danych, z których zadania jądra korzystają. Wiesław Płaczek Systemy Operacyjne: Wykład 12 14

15 Synchronizacja jądra c.d. Linux używa dwóch technik do ochrony sekcji krytycznych jądra: 1. Zwykły kod jądra jest niewywłaszczalny gdy przerwanie czasomierza zostanie odebrane w czasie kiedy proces wykonuje jądrową systemową procedurę obsługi, ustawiany jest jądrowy znacznik need_resched, który spowoduje uruchomienie planisty po zakończeniu wywołania systemowego. 2. Technika do ochrony sekcji krytycznych występujących w procedurach obsługi przerwań przez użycie sprzętu nadzorującego przerwania procesora w celu zakazu przerwań w trakcie wykonywania sekcji krytycznej; jądro gwarantuje, że jej wykonanie przebiegnie bez ryzyka współbieżnego dostępu do dzielonych struktur danych. Aby uniknąć pogorszenia wydajności systemu na skutek wyłączania przerwań, w jądrze zastosowano architekturę synchronizacji umożliwiającą wykonywanie długich sekcji krytycznych bez wyłączania przerwań na czas trwania całej sekcji. W procedurach obsługi przerwań wyodrębnione są dwie części: Górna połowa (top half) zwykła procedura obsługi przerwań; przebiega z wyłączonymi rekurencyjnymi przerwaniami (może być przerwana tylko przez przerwania o wyższym priorytecie, a przerwania o priorytecie są zablokowane). Dolna połowa (bottom half) procedura przebiega z włączonymi wszystkimi przerwaniami i jest nadzorowana przez miniaturowego planistę, który zapewnia, że dolne połowy nigdy nie przerywają się wzajemnie. Ta architektura jest uzupełniana przez mechanizm wyłączania wybranych dolnych połów podczas wykonywania zwykłego, pierwszoplanowego kodu jądra. Wiesław Płaczek Systemy Operacyjne: Wykład 12 15

16 Poziomy ochrony przed przerwaniami Wiesław Płaczek Systemy Operacyjne: Wykład Górne połowy procedur obsługi przerwań Dolne połowy procedur obsługi przerwań Systemowe procedury jądrowe (niewywłaszczalne) Programy trybu użytkownika (wywłaszczalne) Rosnący priorytet Każdy poziom może być przerwany przez kod wykowywany na wyższym poziomie, ale nigdy nie będzie przerwany przez kod wykonywany na tym samym lub niższym poziomie. Procesy trybu użytkownika mogą być zawsze wywłaszczane przez inne procesy w chwilach określonych przerwaniami zegarowymi służącymi do realizacji podziału czasu.

17 Planowanie procesów Linux ma dwa oddzielne algorytmy planowania procesów: Algorytm z podziałem czasu do sprawiedliwego planowania z wywłaszczeniami działania wielu procesów. Algorytm czasu rzeczywistego dla zadań, w których priorytety bezwzględne są ważniejsze niż sprawiedliwość. W skład tożsamości każdego procesu wchodzi klasa planowania definiująca, który z algorytmów ma być zastosowany dla procesu. Dla procesów z podziałem czasu Linux używa algorytmu priorytetowego, opartego na kredytowaniu. Reguła kredytowania: kredyt = kredyt / 2 + priorytet Do wykonywania wybierany jest proces z najwyższym kredytem. Przy każdym przerwaniu od pochodzącym czasomierza proces wykonywany traci jednostkę kredytu. Kiedy jego kredyt spadnie do zera, zostaje on zawieszony, a do wykonywania wybiera się inny proces. Jeśli żaden z procesów gotowych do działania nie ma kredytu, to system wykonuje operację wtórnego kredytowania według powyższej reguły. Ten system kredytowania automatycznie preferuje procesy interakcyjne, uzależnione od wejścia-wyjścia, dla których istotny jest czas odpowiedzi. Wiesław Płaczek Systemy Operacyjne: Wykład 12 17

18 Planowanie procesów c.d. Linux realizuje dwie klasy planowania w czasie rzeczywistym: algorytm FCFS ( pierwszy zgłoszony pierwszy obsłużony ) oraz algorytm rotacyjny. Każdy proces czasu rzeczywistego oprócz klasy planowania ma również priorytet. Planista wykonuje zawsze proces o najwyższym priorytecie spośród procesów o równych priorytetach, do wykonania wybierany jest proces, który najdłużej czekał. Procesy FCFS działają do końca lub do zablokowania. W algorytmie rotacyjnym proces zostanie po chwili wywłaszczony i przesunięty na koniec kolejki planowania procesy o równych priorytetach będą automatycznie dzielić czas między siebie. Planowanie w czasie rzeczywistym jest łagodne, a nie rygorystyczne (np. kod jądra nie może być nigdy wywłaszczony przez kod poziomu użytkownika). Wieloprzetwarzanie symetryczne Jądro Linux 2.0 było pierwszym jądrem Linuxa wspierającym sprzęt wieloprocesora symetrycznego (symmetric multiprocessor SMP) różne procesy lub wątki mogą działać równolegle na oddzielnych procesorach. W celu spełnienia bezwywłaszeniowych wymagań synchronizacji jądra, SMP używa wirującej blokady w jądrze nakładającej ograniczenie, że w danej chwili tylko jeden procesor może wykonywać kod w trybie jądra. Od wersji Linux 2.2 implementacja SMP używa ponadto wielu blokad (zamków) odnoszących się do pojedynczych struktur danych jądra, co daje możliwość jednoczesnego wykonywania kodu w trybie jądra przez wiele procesorów. Wiesław Płaczek Systemy Operacyjne: Wykład 12 18

19 Zarządzanie pamięcią Zarządzanie pamięcią w systemie Linux obejmuje dwie składowe: System zarządzania pamięcią fizyczną zajmuje się przydzielaniem i zwalnianiem stron (ramek), ich grup i małych bloków pamięci. Mechanizm obsługi pamięci wirtualnej będącej odwzorowaniem pamięci operacyjnej na przestrzenie adresowe wykonywanych procesów. Zarządzanie pamięci cią fizyczną Dyspozytor stron (page allocator) odpowiada za przydział i zwalnianie wszystkich stron fizycznych może przydzielać na zamówienie partie stron fizycznie ze sobą sąsiadujących. Dyspozytor stosuje algorytm sąsiedzkich stert (buddy-heap) w celu rejestrowania dostępnych stron fizycznych (ramek). Łączy w pary przyległe do siebie jednostki przydziału. Ilekroć dwa sąsiadujące obszary są zwalniane, łączy się je w większy obszar itd. Gdy małe zamówienie na pamięć nie może być zrealizowane przez przydział istniejącego, małego obszaru, wówczas większy wolny obszar zostanie podzielony na dwa sąsiednie, tak by zrealizować zamówienie. Przydziały pamięci w jądrze Linuxa odbywają się statycznie (moduły sterujące rezerwują ciągłe obszary pamięci podczas rozruchu systemu) lub dynamicznie za pomocą dyspozytora stron. Istnieje kilka specjalizowanych podsystemów zarządzania pamięci (korzystają one z dyspozytora stron), np. alokator obszarów zmiennej długości: kmalloc. Wiesław Płaczek Systemy Operacyjne: Wykład 12 19

20 Pamięć wirtualna System pamięci wirtualnej sprawuje pieczę nad przestrzenią adresową widoczną dla każdego z procesów: tworzy strony pamięci wirtualnej na żądanie i zarządza sprowadzaniem ich z dysku lub odsyłaniem ich z powrotem na dysk w razie potrzeby. Zarządca pamięci wirtualnej utrzymuje dwa osobne obrazy przestrzeni adresowej procesu: Zbiór oddzielnych obszarów: obraz logiczny odzwierciedlający rozkazy, które system pamięci wirtualnej otrzymywał przy organizowaniu przestrzeni adresowej przestrzeń adresowa składa się tutaj ze zbioru nie zachodzących na siebie obszarów, reprezentujących ciągłe podzbiory przyległych stron. Zbiór stron: fizyczny obraz każdej przestrzeni adresowej, który jest pamiętany w sprzętowej tablicy stron procesu każdy wpis w tablicy określa dokładnie bieżące położenie każdej strony pamięci wirtualnej. Obszary pamięci wirtualnej są scharakteryzowane przez: Pamięć pomocniczą obszaru określa skąd pochodzą strony obszaru; obszary zwykle mają jako zaplecze pliki lub nie majążadnego zaplecza. Sposób reagowania na pisanie dla obszaru odwzorowanego prywatnie wykonuje się kopiowanie przy zapisie, a dla obszaru wspólnego uaktualnienie. Wiesław Płaczek Systemy Operacyjne: Wykład 12 20

21 Pamięć wirtualna c.d. Jądro tworzy nową przestrzeń adresową w dwu sytuacjach: Gdy proces rozpoczyna wykonanie nowego programu za pomocą funkcji systemowej exec proces otrzymuje nową, całkowicie pustą wirtualną przestrzeń adresową, a jej zapełnienie należy do procedur ładujących program. Przy tworzeniu nowego procesu za pomocą funkcji systemowej fork proces otrzymuje pełną kopię wirtualnej przestrzeni adresowej swojego przodka; po operacji rozwidlenia procesy macierzysty i potomny dzielą w swoich przestrzeniach adresowych te same fizyczne strony pamięci. Ważnym zadaniem systemu pamięci wirtualnej jest przemieszczanie stron z pamięci operacyjnej na dysk, kiedy występuje zapotrzebowanie na pamięć. System stronicowania Linuxa można podzielić na dwie części: Algorytm postępowania (policy algorithm) decyduje o tym, które strony zapisywać na dysku i kiedy; przy odsyłaniu stron stosuje się zmodyfikowany algorytm zegarowy z postarzaniem stron, gdzie wiek strony jest miarą stopnia jej aktywności w ostatnim czasie przy odsyłaniu stron stosuje się kryterium najrzadszego ich używania (LFU). Mechanizm stronicowania (paging mechanism) realizuje przesłanie i sprowadza strony danych z powrotem do pamięci fizycznej w razie potrzeby; umożliwia stronicowanie zarówno z użyciem urządzeń i partycji wymiany, jak i zwykłych plików przy zapisie stron na dysku stosuje się algorytm najbliższego dopasowania (next fit), bloki na dysku przydzielane są wg. mapy bitowej używanych bloków. Wirtualna pamięć jądra stały, zależny od architektury obszar wirtualnej przestrzeni adresowej każdego procesu zarezerwowany do użytku jądra; zawiera m.in. odwołania tablicy stron do każdej dostępnej, fizycznej strony w systemie. Wiesław Płaczek Systemy Operacyjne: Wykład 12 21

22 Wykonywanie i ładowanie programów użytkownika Linux utrzymuje tablicę możliwych funkcji ładujących, dając każdej z nich szansę spróbowania umieszczenia w pamięci danego pliku podczas wykonywania funkcji systemowej exec. Dzięki możliwości rejestrowania wielu procedur ładujących, Linux może łatwo obsługiwać zarówno nowszy format ELF, jak i a.out. Plik binarny nie jest wprowadzany do pamięci przez ładowacz plików binarnych (binary loader), ale dokonywane jest odwzorowanie jego stron w obszary pamięci wirtualnej; strona jest ładowana do pamięci fizycznej dopiero po nieudanej próbie odwołania do niej przez program. Plik binarny formatu ELF (Executable and Linking Format) składa się z nagłówka, po którym następuje kilka sekcji dopasowanych do granic stron (page-aligned). Program ładujący formatu ELF czyta nagłówek i odwzorowuje sekcje pliku na osobne obszary pamięci wirtualnej. Po dokonaniu odwzorowania program ładujący ustawia w procesie wstępny stan rejestru licznika rozkazów za pomocą wartości początkowej zapamiętanej w nagłówku ELF i wtedy proces staje się gotowy do wykonania (może kandydować do przydziału procesora). Wiesław Płaczek Systemy Operacyjne: Wykład 12 22

23 Wiesław Płaczek Systemy Operacyjne: Wykład Organizacja pamięci w programach formatu ELF Pamięć wirtualna jądra Stos Pamięć niewidoczna dla kodu w trybie użytkownika Obszar odwzorowany w pamięci Obszar odwzorowany w pamięci Obszar odwzorowany w pamięci Dane fazy wykonywania Dane bez wartości początkowych Dane z wartościami początkowymi Tekst programu (kod binarny) Wskaźnik brk (granica obszaru danych przydzielanych dynamicznie) Obszar zakazany

24 Łączenie statyczne i dynamiczne Łączenie statyczne (static linking): Wszystkie potrzebne funkcje biblioteczne zostają osadzone wprost w binarnym pliku wykonywalnym podczas budowania przez programistę aplikacji. Statycznie połączone (skonsolidowane) pliki wykonywalne mogą podjąć działanie natychmiast po załadowaniu. Główną wadą jest to, że każdy wygenerowany program musi zawierać kopie dokładnie tych samych systemowych funkcji bibliotecznych. Łączenie dynamiczne (dynamic linking): Każdy program zawiera małą, statycznie dołączaną funkcję, wywoływaną na początku programu. Funkcja ta odwzorowuje specjalną bibliotekę konsolidacji w pamięci i powoduje wykonanie jej kodu. Biblioteka konsolidacji czyta wykaz bibliotek dynamicznych (dzielonych) wymaganych przez program oraz zawartych w nich potrzebnych zmiennych i funkcji, analizując informacje zawarte w formacie binarnym ELF. Następnie odwzorowuje te biblioteki w pamięci wirtualnej, kierując odwołania systemowe do zawartych w nich symboli. Biblioteki dzielone są kompilowane w kod niezależny od położenia (position-indepentent code PIC), dzięki czemu mogą być odwzorowywane w dowolne miejsca pamięci wirtualnej (i wykonywane pod każdym adresem). Wiesław Płaczek Systemy Operacyjne: Wykład 12 24

25 Systemy plików Dla użytkownika system plików Linuxa jawi się jako hierarchiczne drzewo katalogów spełniające semantykę systemu UNIX. Jądro Linuxa obsługuje różnorodne typy plików, ukrywając szczegóły implementacyjne za warstwą programową, czyli wirtualnym systemem plików (virtual file system VFS). Wirtualny system plików Linuxa został zaprojektowany w oparciu o zasady programowania obiektowego ma dwie składowe: Zbiór definicji określających, jak powinien wyglądać obiekt o nazwie plik: struktury obiektu i-węzła oraz obiektu pliku reprezentują poszczególne pliki, a obiekt systemu plików reprezentuje cały system plików. Warstwa oprogramowania do działań na takich obiektach: każdy z obiektów powyższych typów zawiera wskaźnik do tablicy funkcji, zawierającej adresy funkcji implementujących działania na danym obiekcie. Obiekt systemu plików reprezentuje połączony zbiór plików, który tworzy zamkniętą w sobie hierarchię katalogów utrzymywany przez jądro dla każdego systemu plików udostępnianego z zamontowanego dysku lub przez sieć. Obiekty i-węzłów oraz plików są mechanizmami dostępu do plików: obiekt i- węzła reprezentuje plik jako całość, a obiekt pliku reprezentuje punkt dostępu do danych wewnątrz pliku (proces uzyskuje dostęp do i-węzła poprzez obiekt pliku). Wiesław Płaczek Systemy Operacyjne: Wykład 12 25

26 System plików ext3 Standardowym dyskowym systemem plików Linuxa jest system ext3,będący rozszerzeniem systemu ext2 o kronikowanie (journaling) (strukturę dziennika). System ext2 stosuje on podobny jak w systemie BSD ffs (Fast File System) mechanizm odnajdywania bloków danych należących do konkretnego pliku. Główna różnica między systemami ext2 i ffs dotyczy sposobu przydziału dysku: System ffs przydziela plikom dysk blokami po 8 KB oraz dzieli bloki na porcje 1 KB w celu pamiętania małych plików lub niepełnych bloków na końcach plików. System ext2 używa bloków cząstkowych, ale dokonuje przydziałów za pomocą mniejszych jednostek: standardowy blok ma wielkość 1 KB, choć stosuje się też bloki o wielkościach 2 KB i 4 KB. System ext2 stosuje politykę przydziału zmierzającą do umieszczania logicznie sąsiadujących bloków pliku w fizycznie przylegających blokach dyskowych, dzięki czemu może on w jednej operacji składać zamówienia WE/WY dla wielu bloków. Zasady przydziału miejsca na dysku w systemie ext2: System plików jest podzielony na wiele grup bloków przydzielając miejsce dla pliku, system najpierw wybiera grupę bloków, do której przydzielono i-węzeł pliku; do przydzielania i-węzła pliku wybiera tę grupę bloków, w której jest katalog macierzysty. Wewnątrz grupy bloków system ext2 próbuje w miarę możliwości dokonywać przydziałów ciągłych fizycznie, dążąc do zmniejszenia fragmentacji; aby zwiększyć wydajność stara się, gdzie to możliwe, przydzielać miejsce porcjami 8-blokowymi. Wiesław Płaczek Systemy Operacyjne: Wykład 12 26

27 Wiesław Płaczek Systemy Operacyjne: Wykład Zasady przydziału bloków w systemie ext2 Przydzielanie rozrzuconych wolnych bloków Przydzielanie przyległych wolnych bloków Blok zajęty Blok wybrany przez procedurę przydziału Granica bitu Blok wolny Kierunek przeszukiwania mapy bitowej Granica bajta

28 System plików Linux-proc Procesowy system plików (process file system) Linuxa, zwany systemem plików proc, jest przykładem systemu plików, którego dane nie są nigdzie pamiętane, natomiast oblicza się je na żądanie, stosownie do wydawanych przez użytkownika zamówień na operacje WE/WY. System plików proc wprowadzono w systemie UNIX SVR4 jako wydajny interfejs wspierający usuwanie błędów z procesów jądra pojedynczy podkatalog tego systemu odpowiadał aktywnemu procesowi. Linux rozszerza system plików proc o specjalne katalogi i pliki, odpowiadające różnym statystykom dotyczącym jądra i skojarzonych z nim modułów sterujących, Np. polecenie ps podaje informacje o procesach pobrane z systemu plików proc. System proc musi realizować strukturę katalogów oraz zawartość umieszczonego w niej pliku; zgodnie z semantyką systemu UNIX, musi definiować niepowtarzalny i trwały numer i-węzła dla każdego katalogu i skojarzonych z nim plików. Te numery i-węzłów są używane w celu rozpoznawania operacji potrzebnej wtedy, gdy użytkownik próbuje czytać dane z i-węzła pliku lub przeszukiwać i-węzeł katalogu. 32-bitowy numer i-węzła podzielony jest na dwie części: 16 górnych bitów zawiera PID procesu, a pozostałe bity określają zamawiany typ informacji o danym procesie. Kiedy dane są czytane z któregoś z tych plików, proc gromadzi odpowiednie informacje, nadając im formę tekstową i umieszcza je w buforze zamawiającego je procesu. Do wydajnego dostępu do danych jądra służy wywołanie systemowe sysctl. Wiesław Płaczek Systemy Operacyjne: Wykład 12 28

29 Wejście-wyjście (WE/WY) System WE/WY Linux jest zrealizowany jak w typowym systemie UNIX: wszystkim modułom sterującym urządzeń nadaje się wygląd zwykłych plików. Administrator systemu może tworzyć w systemie plików specjalne pliki, które zawierają odwołania do określonych modułów sterujących urządzeń; może im nadawać prawa dostępu jak dla zwykłych plików. Użytkownik może otwierać kanał dostępu do urządzenia w ten sam sposób, jak otwiera dowolny inny plik urządzenia mogą wyglądać jak obiekty w systemie plików. Linux dzieli wszystkie urządzenia na trzy klasy: Urządzenia blokowe umożliwiają swobodny dostęp do całkowicie niezależnych bloków danych o stałym rozmiarze, np. dyski. Urządzenia znakowe obejmują większość innych urządzeń, np. taśmy, klawiatury, terminale, myszy, głośniki, mikrofony itd.; nie muszą mieć wszystkich własności regularnych plików. Urządzenia sieciowe użytkownicy nie mogą do nich bezpośrednio przekazywać danych, lecz muszą się komunikować za pośrednictwem podsystemu sieciowego jądra. Wiesław Płaczek Systemy Operacyjne: Wykład 12 29

30 Komunikacja międzyprocesowa Standardowym mechanizmem służącym do powiadamiania procesu o wystąpieniu asynchronicznego zdarzenia jest sygnał: Liczba sygnałów jest ograniczona i nie mogą one przenosić informacji jedynie fakt wystąpienia sygnału jest dostępny procesowi. Jądro Linuxa nie korzysta wewnętrznie z sygnałów w celu komunikowanie się z procesami wykonywanymi w trybie jądra, zamiast tego używa mechanizmu planowanych stanów i struktur wait_queue. Do synchronizowania procesów Linux implementuje mechanizm semaforów systemu UNIX wydania V (przy użyciu wait_queue). Przekazywanie danych między procesami: Standardowy uniksowy mechanizm potoku nienazwanego (pipe) potok ma dwie kolejki wait_queue do synchronizowania producenta i konsumenta. Mechanizm potoku nazwanego (named pipe), zwanego też potokiem FIFO może łączyć dowolne procesy w systemie, a nie tylko procesy pokrewne. Pamięć dzielona (shared memory) systemu UNIX V najszybszy środek przekazywania danych między procesami, ale nie zapewnia synchronizacji. Kolejki komunikatów (message queues) systemu UNIX V synchroniczne przekazywanie danych między procesami drogą przesyłania komunikatów. Więcej szczegółów na ćwiczeniach. Wiesław Płaczek Systemy Operacyjne: Wykład 12 30

31 Bezpieczeństwo Zagadnienia bezpieczeństwa można podzielić na dwie grupy: Uwierzytelnianie zapewnienie, że nikomu nie uda się uzyskać dostępu do systemu bez uprzedniego wykazania, że ma do tego prawo. Kontrola dostępu dostarczanie mechanizmu sprawdzania, czy użytkownik ma prawo dostępu do danego obiektu i realizowanie ochrony obiektów przed dostępem. Uwierzytelnianie: Podstawowym mechanizmem uwierzytelniania są hasła: hasło użytkownika zostaje zmieszane z wartością losową ( przyprawione ), zakodowane za pomocą funkcji jednokierunkowej i zapamiętane w pliku haseł. Aby utrudnićłamanie haseł, przechowuje się zaszyfrowane hasło w pliku niedostępnym do czytania dla ogółu, pozwala się na dłuższe hasła, nie zezwala się na używanie łatwych haseł (np. wyrazów słownikowych), ogranicza się liczbę niepoprawnie wprowadzonych haseł, rejestruje się przypadki nieudanych prób uwierzytelnienia, stosuje się bezpieczniejsze metody kodowania itd. Linux implementuje też system dołączalnych modułów uwierzytelniania (pluggable authentication modules PAM) umożliwia ładowanie modułów uwierzytelniania, które mogą określać sposoby uwierzytelniania, ograniczenia działań na kontach, funkcje kształtowania sesji lub funkcje zmiany hasła (w celu uaktualnienia wszystkich niezbędnych uwierzytelnień). System PAM może być używany przez dowolną składową systemu, która potrzebuje uwierzytelnień. Wiesław Płaczek Systemy Operacyjne: Wykład 12 31

32 Kontrola dostępu: Bezpieczeństwo c.d. Kontrolowanie dostępu odbywa się za pomocą niepowtarzalnych identyfikatorów numerycznych: użytkownika UID, grupy GID. Linux nadzoruje dostępy przez przypisywanie obiektom masek ochronnych (protection masks), określających, które tryby dostępu: pisanie, czytanie lub wykonywania są udzielane procesom z dostępem właściciela, grupy lub świata (pozostałych użytkowników). Jedynym wyjątkiem jest uprzywilejowany identyfikator użytkownika root automatycznie udziela się mu dostępu do dowolnego obiektu w systemie. Linux rozszerza standardowy uniksowy mechanizm setuid na dwa sposoby: 1. Mechanizm przechowywanego identyfikatora użytkownika (saved user-id) standardu POSIX, który pozwala procesowi wielokrotnie pozbywać się identyfikatora efektywnego (skutecznego) (EUID) i ponownie go nabywać. 2. Dodatkowe charakterystyki procesu (np. FSUID i FSGID) umożliwiające udzielanie podzbioru praw efektywnego identyfikatora użytkownika (EUID). Linux dostarcza też mechanizm umożliwiający klientowi wybiórcze przekazanie dostępu do jednego pliku jakiemuś procesowi serwera, bez dawania temu procesowi jakichkolwiek innych praw (np. możliwość wydrukowania pliku przez serwer) przy pomocy gniazda sieciowego. Wiesław Płaczek Systemy Operacyjne: Wykład 12 32

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

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

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

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

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

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

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

Bardziej szczegółowo

SELinux. SELinux Security Enhanced Linux. czyli. Linux o podwyższonym bezpieczeństwie

SELinux. SELinux Security Enhanced Linux. czyli. Linux o podwyższonym bezpieczeństwie SELinux SELinux Security Enhanced Linux czyli Linux o podwyższonym bezpieczeństwie Najkrócej mówiąc... SELinux jest systemem z MAC (Mandatory Access Control), który realizuje politykę RBAC (Role Based

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

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

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

Bardziej szczegółowo

SYSTEMY OPERACYJNE 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

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

Procesy, wątki i zasoby

Procesy, wątki i zasoby Procesy, wątki i zasoby Koncepcja procesu i zasobu, Obsługa procesów i zasobów, Cykl zmian stanów procesu i kolejkowanie, Klasyfikacja zasobów, Wątki, Procesy i wątki we współczesnych systemach operacyjnych.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej.

Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej. Procesy Proces (zwany też zadaniem) jest jednostką aktywną, kontrolowaną przez system operacyjny i związaną z wykonywanym programem. Proces ma przydzielone zasoby typu pamięć (segment kodu, segment danych,

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

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

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

Bardziej szczegółowo

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

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

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

Bardziej szczegółowo

Bazy danych 2. Wykład 1

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Cel ćwiczenia: Celem zajęć jest zdobycie doświadczenia i umiejętności instalacji systemu operacyjnego z rodziny Unix bez wykorzystania

Bardziej szczegółowo

Tworzenie i obsługa wirtualnego laboratorium komputerowego

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

Bardziej szczegółowo

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

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi) Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie drugie (jedne zajęcia) Temat: Procesy i sygnały w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Budowa procesu

Bardziej szczegółowo

(Pluggable Authentication Modules). Wyjaśnienie technologii.

(Pluggable Authentication Modules). Wyjaśnienie technologii. Bezpieczeństwo systemów komputerowych. Temat seminarium: Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie technologii Autor: Bartosz Hetmański Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Systemy Operacyjne i Sieci Komputerowe Klasa: pierwsza Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Warstwy systemu Windows 2000

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

Bardziej szczegółowo

Część I Rozpoczęcie pracy z usługami Reporting Services

Część I Rozpoczęcie pracy z usługami Reporting Services Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Etapy uruchamiania systemu 010 2 Systemy operacyjne i sieci komputerowe. Część 010. I. Etapy uruchamiania systemu Windows

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

Wstęp do Informatyki. Klasyfikacja oprogramowania

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

Bardziej szczegółowo

1. Etapy rozwoju systemów komputerowych

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

Bardziej szczegółowo

Na komputerach z systemem Windows XP zdarzenia są rejestrowane w trzech następujących dziennikach: Dziennik aplikacji

Na komputerach z systemem Windows XP zdarzenia są rejestrowane w trzech następujących dziennikach: Dziennik aplikacji Podgląd zdarzeń W systemie Windows XP zdarzenie to każde istotne wystąpienie w systemie lub programie, które wymaga powiadomienia użytkownika lub dodania wpisu do dziennika. Usługa Dziennik zdarzeń rejestruje

Bardziej szczegółowo

Bezpieczeństwo systemów i lokalnej sieci komputerowej

Bezpieczeństwo systemów i lokalnej sieci komputerowej Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Jan Werner Bezpieczeństwo systemów i lokalnej sieci komputerowej Praca magisterska

Bardziej szczegółowo

Systemy Operacyjne Ochrona

Systemy Operacyjne Ochrona Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 16 stycznia 2007 1 2 1 Ochrona 2 Bezpieczeństwo 3 Polityka bezpieczeństwa i mechanizmy 4 Domeny i wiedza konieczna 3 Macierze dostępów

Bardziej szczegółowo

Podstawowe zagadnienia

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

Bardziej szczegółowo

"Klasyczna" struktura systemu operacyjnego:

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

Bardziej szczegółowo

4. Podstawowa konfiguracja

4. Podstawowa konfiguracja 4. Podstawowa konfiguracja Po pierwszym zalogowaniu się do urządzenia należy zweryfikować poprawność licencji. Można to zrobić na jednym z widżetów panelu kontrolnego. Wstępną konfigurację można podzielić

Bardziej szczegółowo

Podstawy Informatyki Systemy operacyjne

Podstawy Informatyki Systemy operacyjne Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 2 Zasoby systemu komputerowego

Bardziej szczegółowo

Struktury systemów operacyjnych

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

Linux Elementy instalacji. 1 Podział dysku na partycje. 2 Konfiguracja sprzętu (automatycznie) 3 Założenie użytkowników

Linux Elementy instalacji. 1 Podział dysku na partycje. 2 Konfiguracja sprzętu (automatycznie) 3 Założenie użytkowników Linux: co to takiego? Linux komputerowa Linuksa i podstawowa konfiguracja Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Wielozadaniowy system operacyjny Darmowy i wolnodostępny Dość podobny

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

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku System plików Definicje: Plik jest logiczną jednostką magazynowania informacji w pamięci nieulotnej Plik jest nazwanym zbiorem powiązanych ze sobą informacji, zapisanym w pamięci pomocniczej Plik jest

Bardziej szczegółowo

Instalacja Linuksa i podstawowa konfiguracja. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Instalacja Linuksa i podstawowa konfiguracja. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski komputerowa Instalacja Linuksa i podstawowa konfiguracja Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski komputerowa () Instalacja Linuksa 1 / 17 Linux: co to takiego? Linux Wielozadaniowy

Bardziej szczegółowo

Zastosowania matematyki w systemie operacyjnym Linux

Zastosowania matematyki w systemie operacyjnym Linux Zastosowania matematyki w systemie operacyjnym Linux Politechnika Gdańska Gdańsk, 22 stycznia 2009 wstęp historia Rok 1969 w labolatoriach Bell Labs hakerzy Dennis Ritchie, Ken Thompson, Brian Kernighan

Bardziej szczegółowo

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Komunikacja za pomocą potoków. Tomasz Borzyszkowski Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania

Bardziej szczegółowo

Praca w sieci z serwerem

Praca w sieci z serwerem 11 Praca w sieci z serwerem Systemy Windows zostały zaprojektowane do pracy zarówno w sieci równoprawnej, jak i w sieci z serwerem. Sieć klient-serwer oznacza podłączenie pojedynczego użytkownika z pojedynczej

Bardziej szczegółowo

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/ Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.

Bardziej szczegółowo

Programowanie niskopoziomowe

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

Bardziej szczegółowo

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to

Bardziej szczegółowo

Kompilator języka C na procesor 8051 RC51 implementacja

Kompilator języka C na procesor 8051 RC51 implementacja Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub

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

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010 System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy

Bardziej szczegółowo

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics wersji 20 przy użyciu licencja sieciowa. Ten dokument

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

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

Podstawy administracji systemu Linux

Podstawy administracji systemu Linux Podstawy administracji systemu Linux Instytut Fizyki Teoretycznej UWr 4 stycznia 2006 Plan kursu Opis systemu 1 2 Tryb tekstowy 3 Linux od podszewki 4 Pierwsze kroki w administracji 5 Sieci lokalne 6 Bezpieczeństwo

Bardziej szczegółowo

Charakterystyka sieci klient-serwer i sieci równorzędnej

Charakterystyka sieci klient-serwer i sieci równorzędnej Charakterystyka sieci klient-serwer i sieci równorzędnej Sieć klient-serwer Zadaniem serwera w sieci klient-serwer jest: przechowywanie plików i programów systemu operacyjnego; przechowywanie programów

Bardziej szczegółowo

Podstawy Programowania 2

Podstawy Programowania 2 Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu

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

Wyposażenie szkoły/placówki/pracodawcy do przeprowadzenia części pisemnej egzaminu w formie elektronicznej

Wyposażenie szkoły/placówki/pracodawcy do przeprowadzenia części pisemnej egzaminu w formie elektronicznej Wyposażenie szkoły/placówki/pracodawcy do przeprowadzenia części pisemnej egzaminu w formie elektronicznej Pomieszczenie egzaminacyjne (np.: pracownia specjalistyczna, pracownia informatyczna, sala lekcyjna,

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

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

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 005 Plik wymiany Pamięć wirtualna 2 SO i SK/WIN Plik wymiany - rodzaj pamięci wirtualnej komputerów. Plik ten służy do tymczasowego przechowywania

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

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

Połączenia. Obsługiwane systemy operacyjne. Strona 1 z 5

Połączenia. Obsługiwane systemy operacyjne. Strona 1 z 5 Strona 1 z 5 Połączenia Obsługiwane systemy operacyjne Korzystając z dysku CD Oprogramowanie i dokumentacja, można zainstalować oprogramowanie drukarki w następujących systemach operacyjnych: Windows 8

Bardziej szczegółowo

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Szymon Klimuk Nr albumu: 187408 Praca magisterska na kierunku Informatyka Monitorowanie

Bardziej szczegółowo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

Laboratorium Systemów Operacyjnych

Laboratorium Systemów Operacyjnych Laboratorium Systemów Operacyjnych Użytkownicy, Grupy, Prawa Tworzenie kont użytkowników Lokalne konto pozwala użytkownikowi na uzyskanie dostępu do zasobów lokalnego komputera. Konto domenowe pozwala

Bardziej szczegółowo

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika) IBM SPSS Statistics Wersja 22 Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Kod autoryzacji.............

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów

Bardziej szczegółowo

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1 Instrukcja obsługi ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1 1 ArtPlayer to proste oprogramowanie umożliwiające odtwarzanie plików video i ich wybór poprzez protokół

Bardziej szczegółowo

Administracja systemem Linux p. 1

Administracja systemem Linux p. 1 Administracja systemem Linux mgr inż. Łukasz Kuczyński lkucz@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Administracja systemem Linux p. 1 Start systemu Linux Administracja systemem Linux

Bardziej szczegółowo

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 Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

16MB - 2GB 2MB - 128MB

16MB - 2GB 2MB - 128MB FAT Wprowadzenie Historia FAT jest jednym z najstarszych spośród obecnie jeszcze używanych systemów plików. Pierwsza wersja (FAT12) powstała w 1980 roku. Wraz z wzrostem rozmiaru dysków i nowymi wymaganiami

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

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

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

Bardziej szczegółowo

Urządzenia zewnętrzne

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

Bardziej szczegółowo

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku. Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).

Bardziej szczegółowo

9.1.2. Ustawienia personalne

9.1.2. Ustawienia personalne 9.1.2. Ustawienia personalne 9.1. Konfigurowanie systemu Windows Systemy z rodziny Windows umożliwiają tzw. personalizację ustawień interfejsu graficznego poprzez dostosowanie wyglądu pulpitu, menu Start

Bardziej szczegółowo

Wskazane jest przygotowanie minimum10 indywidualnych stanowisk egzaminacyjnych.

Wskazane jest przygotowanie minimum10 indywidualnych stanowisk egzaminacyjnych. Wyposażenie szkoły/placówki/pracodawcy/podmiotu prowadzącego KKZ do przeprowadzenia części pisemnej egzaminu w formie elektronicznej Pomieszczenie egzaminacyjne (np.: pracownia specjalistyczna, pracownia

Bardziej szczegółowo

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 3 Procesy i wątki Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci

Bardziej szczegółowo