Wprowadzenie do systemu Minix
|
|
- Łukasz Sawicki
- 7 lat temu
- Przeglądów:
Transkrypt
1 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 zbiór programów i procedur spełniających dwie podstawowe funkcje : tworzenie maszyny wirtualnej, zarządzanie zasobami komputera. Pierwsza z nich polega na ukryciu przed użytkownikiem złożoności sprzętowej komputera i dostarczenie mu wygodnego interfejsu w postaci wywołań systemowych. Druga z funkcji oznacza, że system ma za zadanie udostępnić użytkownikowi wszelkie zasoby komputera i jednocześnie chronić je w przypadku próby jednoczesnego lub nieuprawnionego dostępu do nich. Pierwotnie na kursach systemów operacyjnych wykorzystywano źródła systemu Unix. Gdy firma AT&T wypuściła Version 7 Uniksa był on wartościowym produktem komercyjnym. W celu ochrony tajemnic handlowych firma zastrzegła w umowach licencyjnych zakaz używania źródeł systemu na kursach edukacyjnych. Od tego czasu uczelnie ograniczały się do wykładania teorii, w której było mało o tak istotnych w praktyce częściach systemu jak urządzenia wejścia / wyjścia czy system plików. Aby zmienić tą sytuację Andrew Tanenbaum napisał własny system operacyjny mini UNIX czyli Minix. Pierwsza wersja była zgodna z Version 7 Umiksa, następne ze standardem POSIX. Aby nie naruszać praw licencyjnych Minix został napisany bez wykorzystania źródeł Uniksa. Jego budowa jest bardziej modularna a kod źródłowy bardziej czytelny, gdyż system od początku był projektowany do celów edukacyjnych. Minix ujrzał światło dzienne w 1980 roku. Początkowo był dostępny na platformie IBM PC. Wkrótce pojawiły się wersje na Atari, Amigę, Macintosh a i SPARC a. Warto wspomnieć, że w wyniku dyskusji jaka rozgorzała wokół Miniksa fiński student Linus Torvalds postanowił napisać na bazie Miniksa własny system, który rozwinął się jako dobrze dziś znany Linux. Minix 2.0 został ukończony w 1996 roku, jego autorami są Andrew Tanenbaum i Albert S.Woodhull. W odróżnieniu od swego poprzednika nowy Minix jest systemem 32 bitowym, pracującym w trybie chronionym procesorów 80x386 i wyższych. Praca w tym trybie zapewnia przestrzeń adresową 4GB i sprzętową ochronę pamięci. Nie stosuje się stronicowania ani wymiatania procesów na dysk. Przesyłanie wiadomości oparte jest na tym samym mechanizmie randez vous. System został przystosowany do pracy na twardym dysku i w środowisku sieciowym. Aby móc kompilować wszystkie źródła system potrzebuje 30 MB miejsca na twardym dysku. Poprzednia wersja wymaga zaledwie 8MB, lecz nie zawiera źródeł do wszystkich komend, ma mniej obszerne strony dokumentacji i posiada mniejszy zasób programów użytkowych. Wywołania systemowe są zgodne ze standardem
2 2 POSIX(prawie). Inne zasoby : kompilator ANSI C, shell zgodny z shellem Bourne a, obsługa sieci TCP/IP, edytory emacs, vi, ex, ed, mined, ponad 200 programów (cat, cp, ps, grep, kermit, ls, make, sort, idt.), ponad 300 procedur bibliotecznych (atoi, fork, malloc, read, stdio, itd.) 2. Warstwy systemu Minix, procesy W odróżnieniu od systemu Unix jądro Miniksa nie jest monolitycznym programem lecz zbiorem co najmniej trzech modułów niezależnie kompilowanych programów łączonych w jądro. Niezbędne moduły to KERNEL zarządzanie procesami, sterowniki I/O, MM (od Memory Manager) zarządzanie pamięcią i FS (od File System) zarządzanie system plików. Dodatkowo procedury modułu KERNEL obsługujące urządzenia wejścia / wyjścia uruchamiane są jako niezależne procesy nazwane zadaniami. Rysunek 1.1 pokazuje cztery warstwy jakie tworzą wszystkie procesy w działającym systemie. Pierwszą stanowi kod modułu KERNEL obsługujący zarządzanie procesami tzn. szeregowanie procesów, przełączanie procesów (zapamiętywanie i odtwarzanie kontekstu procesów), przesyłanie wiadomości między procesami (zawieszanie, odwieszanie, kopiowaniem danych między buforem nadawcy a buforem odbiorcy), dodatkowo procedury obsługi przerwań i kod realizujący przełączanie między trybem rzeczywistym a wirtualnym procesora. 4. Init użytkowy użytkowy użytkow Memory manager File system... SERWERY Zadanie dysku Zadanie Zadanie Zadanie konsoli zegara systemowe Zarządzanie procesami... KERNEL JĄDRO Rys 1.1 Warstwy systemu Minix Drugą warstwę tworzą procesy sterowników urządzeń wejścia/wyjścia a trzecią serwery. Wszystkie te procesy działają w typowej dla architektury klient serwer pętli programowej : while ( TRUE ) { receive(any,&msg); /* odbierz wiadomość / zlecenie */
3 3 } caller = msg.source; switch(msg >type){... /* wykonaj pracę */ } send(caller,&msg) /* wyślij odpowiedź */ System operacyjny ma z definicji dwa zadania : zarządzanie zasobami i tworzenie maszyny wirtualnej poprzez implementację wywołań systemowych. W SO Minix można przyjąć, że to pierwsze zadanie wykonuje moduł KERNEL, natomiast wywołania systemowe obsługują serwery. Podział systemu na wiele modułów wymaga co prawda rozproszenia systemowej tablicy procesów ( każdy moduł ma swoją, gdzie przechowuje potrzebne mu dane ) ale ułatwia modyfikacje ( każdy moduł może być modyfikowany i kompilowany oddzielnie ), analizę i testowanie. Dla procesorów 286 i wyższych każdy proces może działać na jednym z czterech poziomów uprzywilejowania. W SO Minix najwyższy poziom uprzywilejowania ma warstwa pierwsza czyli kod jądra i procedury obsługi przerwań i sytuacji wyjątkowych. Tak więc prawdziwy kod jądra może odwoływać się do całego obszaru pamięci i wszystkich rejestrów procesora. y z warstwy zadań mimo że ich kod jest częścią tego samego modułu KERNEL mają niższy poziom uprzywilejowania nie mają dostępu do wszystkich rejestrów procesora i całej pamięci, nie mogą również wykonywać pewnych instrukcji procesora, mają natomiast prawo dostępu do pamięci procesów mniej uprzywilejowanych oraz do portów. y w warstwach 3 i 4 pracują w najmniej uprzywilejowanym trybie procesora. Mają dostęp tylko do przydzielonych im segmentów pamięci. y warstwy 3 czyli serwery pracują co prawda jak zwykłe procesy użytkowe ale istotnie się od nich różnią. Po pierwsze są uruchamiane przy starcie systemu i działają nieprzerwanie aż do zamknięcia. Po drugie są traktowane specjalnie, mają ustalone, uprzywilejowane miejsce w tablicy procesów i mogą komunikować się z zadaniami wykorzystując przy tym wszystkie trzy dostępne w systemie funkcje do przesyłanie wiadomości: send, receive, sendrec. Zwykłe procesy mogą komunikować się tylko z serwerami i tylko przy pomocy funkcji sendrec. Do wzajemnej komunikacji procesów użytkowych autorzy przewidzieli jedynie potoki. Odblokowanie funkcji send i receive dla procesów użytkowych (do komunikacji między sobą, do zaimplementowania mechanizmu producent konsument ) jest jednym z zadań które wykonałem w ramach tej pracy, szczegóły znajdują się w rozdziale 4.6. Warstwę 4 tworzą procesy użytkowe w tym pierwszy z nich init. Przegląda on plik /etc/ttytab i dla każdej znalezionej tam konsoli uruchamia program getty, który oczekuje na wpisanie nazwy i hasła użytkownika. Jeśli dane te są poprawne uruchamiany jest program powłoki sh. Typowo w systemie działa w tle jeszcze kilka procesów użytkowych np.: cron, update.
4 4 Do utworzenia nowego procesu w SO Minix służy funkcja fork. Gdy program jest uruchamiany przydzielana jest mu porcja pamięci, której rozmiar podany jest w nagłówku programu. Gdy proces się tworzy lub kończy najpierw moduł MM obsługuje wywołanie systemowe (FORK lub EXIT), uaktualnia swoją tablicę procesów, po czym wysyła wiadomość do modułów FS i KERNEL, które uaktualniają swoje tablice procesów. 3. Stany i szeregowanie procesów to program, który jest wykonywany. Z procesem związana jest przestrzeń adresowa fragment lub zbiór fragmentów pamięci do których proces może pisać/czytać. Przestrzeń adresowa zawiera kod programu, dane programu oraz jego stos. Ponadto z procesem związane są wartości rejestrów procesora (np. licznik instrukcji który wskazuje ostatnio wykonywaną instrukcję). W systemie wielozadaniowym jakim jest Minix co pewien czas zdarza się, że obecnie wykonywany proces jest czasowo zawieszany. Wymaga to zapamiętania kontekstu procesu w systemowej tablicy procesów, tak by można było wznowić proces w stanie z przed zawieszenia. Ze względu na podział jądra SO Minix na moduły, tablica procesów jest rozproszona. Każdy moduł posiada swoją tablicę procesów a w niej dane, które są mu potrzebne. Rys 1.1 pokazuje ogólny graf stanów procesów. Nie wszystkie procesy w systemie mogą znaleźć się w każdym ze stanów. W szczególności zadania systemowe nie mogą przejść w stanie wywłaszczony (nie licząc przerwań) ponieważ wykonywane są dotąd, aż same się zawieszą. Wykonywany Zawieszony Gotowy Wywłaszczony fork Rys 1.2 Graf stanów procesu w systemie operacyjnym Minix.
5 5 Ze stanu gotowy został wyróżniony stan wywłaszczony dla odróżnienia sytuacji, w której procesowi odbierany jest czas procesora od takiej, w której proces przechodzi w stan gotowości po uprzednim zawieszeniu w oczekiwaniu na zdarzenie zewnętrzne np.: dotarcie wiadomości. Do szeregowania procesów wykorzystuje się trzy kolejki priorytetowe (rys 1.3). W pierwszej szeregowane są zadania systemowe. Spośród zadań gotowych do wykonania wybierane jest pierwsze w kolejce. Zadanie nie może być wywłaszczone przez żaden inny proces nie licząc przerwań sprzętowych. W szczególności zadanie nie może być wywłaszczone przez inne zadanie. Takie rozwiązanie jest całkowicie uzasadnione, gdyż zadania wykonują swoją pracę szybko. Trzeba założyć, że jako część jądra nie zawierają błędów i nie zawładną procesorem na wieczność. W drugiej kolejce, o niższym priorytecie, na wykonanie oczekują serwery. Nie mogą one wywłaszczać siebie na wzajem ale mogą być wywłaszczone przez zadania. W trzeciej kolejce na wykonanie oczekują procesy o najniższym priorytecie czyli procesy użytkowe. Mogą być wywłaszczane przez procesy o wyższym priorytecie: zadania i serwery. Każdemu procesowi użytkowemu przydzielany jest kwant czasu, standardowo 100 ms. Po upływie tego czasu wybierany jest następny proces według algorytmu karuzelowego (Round Robin). Podany kwant czasu nie zawsze jest przestrzegany. Każdy proces użytkowy po wywołaniu funkcji systemowej zawsze wędruje na koniec kolejki, niezależnie ile czasu wykorzystał z przydzielonego mu kwantu. procesów użytkowych serwerów MM FS zadań Clock Rys 1.3 Kolejki procesów o różnych priorytetach.
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
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
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
Systemy operacyjne III
Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów
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
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ęć
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej
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
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
Prezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie
Mikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
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
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
System operacyjny MACH
Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów
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
Komputery przemysłowe i systemy wbudowane
Komputery przemysłowe i systemy wbudowane Systemy operacyjne w systemach wbudowanych 2 KSEM WETI PG October 7, 2015 System operacyjny System operacyjny (OS) - opcjonalny w systemach wbudowanych. zbiór
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
Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
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ą
Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1
i sieci komputerowe Szymon Wilk System operacyjny 1 1. System operacyjny (ang. OS Operating System) to oprogramowanie nadzorujące pracę komputera. Programy, które uruchamia użytkownik na komputerze z systemem
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
Zarządzanie procesami i wątkami
SOE - Systemy Operacyjne Wykład 4 Zarządzanie procesami i wątkami dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pojęcie procesu (1) Program zbiór instrukcji dla procesora
Proces y i y w i ąt ą ki
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
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
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
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
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
SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)
Procesy i shell. Polecenia ps, sleep, exit, jobs, bg, fg, top, kill, bash, tcsh, which, type, whereis, touch. Metaznak & i >>. Dowiązania miękkie i twarde. Proces jest programem, który jest wykonywany
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
SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus
SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pamięć wirtualna Stronicowanie na żądanie większość współczesnych systemów
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
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
SYSTEMY OPERACYJNE WYKLAD 6 - wątki
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - wątki Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 1. Wątki 2. Planowanie przydziału procesora (szeregowanie
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
Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania
Systemy operacyjne Informatyka Stosowana, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 Systemy operacyjne Wykłady:
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,
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
WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania
SYSTEMY OPERACYJNE WYKŁAD 3 Jądro systemu i procesy Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania Program wykładu 2 Jądro systemu Możliwości procesorów Działanie procesów i wątków Zarządzanie procesami
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
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
Przykłady implementacji planowania przydziału procesora
Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Tradycyjne szeregowanie w systemie UNIX Szeregowanie w systemie Linux z jądrem
SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu
Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego
System operacyjny czasu rzeczywistego (RTOS Real Time Operating System) jest programem bazowym ułatwiającym tworzenie programu użytkowego systemu mikroprocesorowego. System operacyjny czasu rzeczywistego
Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Tradycyjne szeregowanie w systemie UNIX Szeregowanie w systemie Linux z jądrem 2.6 Szeregowanie w systemie Windows 2000/XP (2) Szeregowanie
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.
Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces
Procesy pojęcia podstawowe 1 1.1 Jak kod źródłowy przekształca się w proces W języku wysokiego poziomu tworzy się tak zwany kod źródłowy który po zapisaniu będzie plikiem z programem źródłowym. Plik źródłowy
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
Mikrojądra. Omówienie i przegląd
Mikrojądra. Omówienie i przegląd Marek Materzok 22 stycznia 2007 1 Wprowadzenie Tradycyjnie znaczną część funkcjonalności systemu operacyjnego skupia się w monolitycznym bloku kodu, zwanym jądrem, pracującym
Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)
Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie
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
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
Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin
Podstawy techniki cyfrowej Układy wejścia-wyjścia mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Układem wejścia-wyjścia nazywamy układ elektroniczny pośredniczący w wymianie informacji pomiędzy procesorem
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.
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
Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
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
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ć
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,
Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski POZIOM
Kierunek INFORMATYKA Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczania Wykład prof. F. Seredyński
Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:
Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej
Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych
Systemy operacyjne Systemy operacyjne Inżynieria obliczeniowa, II rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@agh.edu.pl Wykłady: 7 tygodni po 2 h, s. 209, B-4 Projekty: 2 godziny
Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86
Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów
WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WYDZIAŁ INFORMATYKI WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1) oraz UŻYTKOWANIE SYSTEMU UNIX WYKŁADY I LABORATORIUM KOMPUTEROWE (konspekt) Prowadzący wykłady:
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
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
Zarządzanie procesorem
Zarządzanie procesorem 1. Koncepcja procesu 2. Blok kontrolny procesu 3. Planowanie (szeregowanie) procesów! rodzaje planistów! kryteria planowania 4. Algorytmy planowania! FCFS! SJF! RR! planowanie priorytetowe!
5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Urządzenia wejścia-wyjścia
Urządzenia wejścia-wyjścia Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja urządzeń wejścia-wyjścia Struktura mechanizmu wejścia-wyjścia (sprzętu i oprogramowania) Interakcja
Systemy operacyjne Operating Systems
Kierunek: Informatyka Przedmiot: Systemy operacyjne Operating Systems Czas trwania: semestr 4 Przedmiot: kierunkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczenia Wykład
1.1 Definicja procesu
1 Procesy pojęcia podstawowe 1 1.1 Definicja procesu Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego
Systemy operacyjne wprowadzenie 1 Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na
"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
Klient-Serwer Komunikacja przy pomocy gniazd
II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu
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
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
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
Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer
Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Plan prezentacji 1. Cel projektu 2. Cechy systemu 3. Budowa systemu: Agent
Wstęp do Informatyki dla bioinformatyków
Wstęp do Informatyki dla bioinformatyków Wykład 1. Wstęp do Wstępu Bartek Wilczyński bartek@mimuw.edu.pl Po pierwsze - Formalności 2 kolokwia (po 15 pkt) początek XI i koniec XII Dwa programy zaliczeniowe:
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Wielodostępne systemy operacyjne Nowoczesne systemy operacyjne są w większości systemami wielodostępnymi, które pozwalają pracować jednocześnie wielu użytkownikom za pośrednictwem terminali podłączonych
MODEL WARSTWOWY PROTOKOŁY TCP/IP
MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych
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
Architektura komputerów
Architektura komputerów Tydzień 12 Wspomaganie systemu operacyjnego: pamięć wirtualna Partycjonowanie Pamięć jest dzielona, aby mogło korzystać z niej wiele procesów. Dla jednego procesu przydzielana jest
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ą,
Temat. Budowa systemu komputerowego 14.03.2015. Zakładka 1. Elementy tworzące stanowisko komputerowe.
Temat. Budowa systemu komputerowego 14.03.2015 Zakładka 1. Elementy tworzące stanowisko komputerowe. Elementy stacji roboczej: - procesor, - pamięć, - obudowa komputera, - zasilacz, - karta graficzna,
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
Architektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
Technologia informacyjna. Urządzenia techniki komputerowej
Technologia informacyjna Urządzenia techniki komputerowej System komputerowy = hardware (sprzęt) + software (oprogramowanie) Sprzęt komputerowy (ang. hardware) zasoby o specyficznej strukturze i organizacji
Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 13 ARCHITEKTURA SYSTEMU WINDOWS. Opracował Sławomir Zieliński
Zespół Szkół Technicznych w Suwałkach Pracownia Systemów Komputerowych Ćwiczenie Nr 13 ARCHITEKTURA SYSTEMU WINDOWS Opracował Sławomir Zieliński Suwałki 2013 Cel ćwiczenia Zapoznanie z architekturą systemu
Linux: Procesy. Systemy Operacyjne. Mateusz Hołenko. 26 marca 2013
Linux: Procesy Systemy Operacyjne Mateusz Hołenko 26 marca 2013 Plan zajęć Co to jest sygnał? Polecenia systemowe Sygnały Zadania Mateusz Hołenko Linux: Procesy [2/18] Co to jest proces? Co to jest proces?
KARTA KURSU. Systemy operacyjne
KARTA KURSU Nazwa Nazwa w j. ang. Systemy operacyjne Operating systems Kod Punktacja ECTS* 5 Koordynator dr inż. Grzegorz Sokal Zespół dydaktyczny: prof. dr hab. Bartłomiej Pokrzywka dr inż. Muchacki Mateusz
Dokumentacja aplikacji Szachy online
Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja
Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska
Podstawy informatyki Izabela Szczęch Politechnika Poznańska SYSTEMY OPERACYJNE 2 Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Klasyfikacja systemów operacyjnych
Skanowanie podsieci oraz wykrywanie terminali ABA-X3
Skanowanie podsieci oraz wykrywanie terminali ABA-X3 Terminale ABA-X3 od dostarczane od połowy listopada 2010 r. są wyposażane w oprogramowanie umożliwiające skanowanie podsieci w poszukiwaniu aktywnych
projektowanie systemu
projektowanie systemu cel użytkownika: system operacyjny powinien być wygodny, łatwy w użyciu, prosty do nauczenia, niezawodny, bezpieczny i szybki cel producenta: system operacyjny powinien być łatwy
Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora
Planowanie przydziału procesora W pamięci operacyjnej znajduje się kilka procesów jednocześnie. Kiedy jakiś proces musi czekać, system operacyjny odbiera mu procesor i oddaje do dyspozycji innego procesu.
Planowanie przydziału procesora
Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania (2) 1 Komponenty jądra w planowaniu Planista
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
Planowanie przydziału procesora
Planowanie przydziału procesora W pamięci operacyjnej znajduje się kilka procesów jednocześnie. Kiedy jakiś proces musi czekać, system operacyjny odbiera mu procesor i oddaje do dyspozycji innego procesu.