SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Podobne dokumenty
Pamięć wirtualna. Jan Tuziemski Źródło części materiałów: os-book.com

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

Stronicowanie w systemie pamięci wirtualnej

Zarządzanie procesorem

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

dr inż. Jarosław Forenc

Statystyka matematyczna SYLABUS

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

Planowanie przydziału procesora

Regulamin zajęć z przedmiotu BIPOL 1 Rok akademicki 2019/20 semestr zimowy

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

System Labview The Labview System. Elektrotechnika II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Planowanie przydziału procesora

Systemy operacyjne III

PRZEWODNIK PO PRZEDMIOCIE

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści

Podstawy. Pamięć wirtualna. (demand paging)

Seminarium IO. Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem. Michał Okulewicz

Repetytorium z matematyki 3,0 1,0 3,0 3,0. Analiza matematyczna 1 4,0 2,0 4,0 2,0. Analiza matematyczna 2 6,0 2,0 6,0 2,0

PRZEWODNIK PO PRZEDMIOCIE

Programowanie obiektowe

Architektura komputerów

WSKAŹNIKI ILOŚCIOWE - Punkty ECTS w ramach zajęć: Efekty kształcenia. Wiedza Umiejętności Kompetencje społeczne (symbole) MK_1. Analiza matematyczna

Projektowanie oprogramowania

Programowanie obiektowe

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

Planowanie przydziału procesora

PRZEWODNIK PO PRZEDMIOCIE

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

Projektowanie oprogramowania

Zarządzanie procesami i wątkami

PRZEWODNIK PO PRZEDMIOCIE

Nakładki. Kod przebiegu 2: 80 kb Tablica symboli: 20 kb wspólne podprogramy: 30 kb Razem: 200 kb

Programowanie obiektowe

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Opisy efektów kształcenia dla modułu

E-2IZ1-03-s3. Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

Programowanie współbieżne Wykład 2. Iwona Kochańska


Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

PRZEWODNIK PO PRZEDMIOCIE

lekcja 8a Gry komputerowe MasterMind

Języki programowania I - opis przedmiotu

Pytania do treści wykładów:

KARTA KURSU. Systemy operacyjne

KARTA KURSU (realizowanego w module specjalności) Metody numeryczne

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Pamięć wirtualna. A gdyby tak w pamięci przebywała tylko ta część programu, która jest aktualnie wykonywana?

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Przedmioty/moduły. informatycznych. suma 4,0 3,0 4,0 2,0 0,0 0,0 0,0 0,0 0,0 0,0

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Systemy Czasu Rzeczywistego (SCR)

Planowanie przydziału procesora

PRZEWODNIK PO PRZEDMIOCIE

REGULAMIN przedmiotu ANALIZA INSTRUMENTALNA laboratorium

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

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu

Sortowanie zewnętrzne

Wykład 14. Testowanie hipotez statystycznych - test zgodności chi-kwadrat. Generowanie liczb losowych.

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Programowanie gier. wykład 0. Joanna Kołodziejczyk. 30 września Joanna Kołodziejczyk Programowanie gier 30 września / 13

Architektura komputerów II - opis przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

Metody Numeryczne (Matematyka) Politechnika Warszawska

Projektowanie oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

Algorytmika i pseudoprogramowanie

Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler

Technik mechatronik kwalifikacjae18 Analiza egzaminu zewnętrznego - czerwiec 2015

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

PRZEWODNIK PO PRZEDMIOCIE

LABORATORIUM WIRTUALNE W DYDAKTYCE I BADANIACH NAUKOWYCH

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

PRZEWODNIK PO PRZEDMIOCIE

Kierunkowy Wybieralny Polski Semestr V

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

KOMPONENTY SYSTEMÓW OPERACYJNYCH

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

WYKAZ PRZEDMIOTÓW I PLAN REALIZACJI

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Kierunkowy Wybieralny Polski Semestr V

Regulamin przedmiotów: Modelowanie symulacyjne

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

PRZEWODNIK PO PRZEDMIOCIE

Logiczny model komputera i działanie procesora. Część 1.

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Algorytmy i struktury danych - opis przedmiotu

Transkrypt:

1 SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 ZASADY OCENIANIA ZADAŃ PROGRAMISTYCZNYCH: Zadania laboratoryjne polegają na symulacji i badaniu własności algorytmów/mechanizmów stosowanych w systemach operacyjnych. W związku z tym podstawą zaliczenia takiego zadania jest nie tylko program ale także znajomość odpowiednich zagadnień, weryfikowana w formie ustnej odpowiedzi. Na ocenę końcową składa się ocena za przygotowanie wybranego algorytmu (10%) oraz oceny z poszczególnych zadań (90%). Oba elementy muszą zostać zaliczone na minimum 50% punktów! Terminy zaliczania poszczególnych zadań: Numer zadania Zadanie 1 Zadanie 2 Zadanie 3 Zadanie 4 Zadanie 5 Termin przedstawienia algorytmu 2 5 8 11 13 Termin oddania programu PONIEDZIAŁEK ŚRODA PIĄTEK PONIEDZIAŁEK ŚRODA PIĄTEK 29/02 02/03 04/03 21/03 30/03 01/04 18/04 20/04 22/04 09/05 11/05 13/05 23/05 25/05 27/05 Ocena 4 7 10 12 14 15 Liczba punktów 14/03 16/03 18/03 10 11/04 13/04 15/04 10 02/05 04/05 06/05 10 16/05 18/05 20/05 10 30/06 01/06 03/06 10 06/06 08/06 10/06 X

2 PREZENTACJA ALGORYTMU: 1. Studenci dzielą się na 5 grup. 2. Każda grupa wybiera do opracowania 1 algorytm. 3. Na wskazanych w powyższej tabeli zajęciach następuje prezentacja algorytmu (prezentacja wiedzy merytorycznej potrzebnej do zrozumienia zadania, prezentacja opracowanego algorytmu). Na liczbę punktów przyznanych grupie za algorytm (0-10pkt) składają się: ü Samodzielność wykonania zadania (UWAGA! Zadanie wykonane niesamodzielnie jest podstawą do niezaliczenia przedmiotu!) ü Terminowość wykonania zadania ü Jakość algorytmu (poprawność i przejrzystość) (0-5pkt) ü Poprawność i kompletność przedstawionej wiedzy teoretycznej (0-5pkt) ZADANIE PROGRAMISTYCZNE: 1. Zadanie może być wykonywane w wybranym przez studenta obiektowym języku programowania (Java lub C#). 2. Na wskazanych w powyższej tabeli zajęciach następuje przedstawienie prowadzącemu do wglądu kodu programu, zaprezentowanie sposobu działania programu oraz jego założeń, a także omówienie wyników zwracanych przez program. Na liczbę punktów przyznanych za zadanie (0-10pkt) składają się: ü Samodzielność wykonania zadania (UWAGA! Zadanie wykonane niesamodzielnie jest podstawą do niezaliczenia przedmiotu!) ü Terminowość wykonania zadania ü Jakość odwzorowania algorytmu (poprawność i przejrzystość) (0-2pkt) ü Poprawność określenia założeń symulacji (0-2pkt) ü Jakość wykonania programu (poprawność i czytelność kodu (0-4pkt), czytelność prezentowanych wyników (0-1pkt)) ü Wiedza na temat oprogramowanego zagadnienia (0-1pkt) UWAGA! oddawanie zadań "na maila" jest wykluczone. Za zadanie oddane z opóźnieniem o 1 zajęcia można otrzymać max. 50% punktów. Zadania spóźnione o więcej nie będą oceniane! Wyjątek stanowią jedynie odpowiednio udokumentowane (pisemnie - zwolnieniem lekarskim) przypadki losowe.

3 Zadanie 1 Symulacja działania algorytmów planowania dostępu do procesora dla zgłaszających się procesów. Zbadać średni czas oczekiwania procesów dla różnych algorytmów planowania: - FCFS - SJF (z wywłaszczaniem i bez) - rotacyjnego (z możliwością wyboru kwantu czasu) Należy samodzielnie sformułować założenia symulacji (Mile widziana możliwość sterowania parametrami symulacji). - algorytmy najlepiej sprawdzać dla tych samych danych testowych (tj. tych samych ciągów testowych zgłaszających się procesów) - ciągów testowych powinno być więcej (20? 50?); wynikiem będą wartości średnie - w każdym ciągu będzie N procesów o losowych długościach fazy procesora (rozkład długości faz dobrać tak, by odpowiadał sytuacji w rzeczywistym systemie, w którym nie jest równomierny), zgłaszających się w losowych momentach (dobrać parametry tak, by mogła powstać kolejka procesów oczekujących na przydział procesora) - możliwa reprezentacja procesu: rekord (numer, dł. fazy procesora, moment zgłoszenia się, czas oczekiwania /początkowo równy 0/...) Uzyskane wyniki należy wytłumaczyć i być gotowym na wyciągnięcie z nich wniosków.

4 Zadanie 2 Symulacja algorytmów planowania dostępu do dysku. - 'Dysk' to w naszym przypadku liniowo uporządkowany ciąg bloków o nr od 1 do MAX. - Kryterium oceny algorytmów będzie suma przemieszczeń głowicy dysku, jak wiadomo proporcjonalna do czasu realizacji zleceń. 1. Sprawdzić algorytmy FCFS, SSTF, SCAN i C-SCAN. 2. Następnie założyć, że w systemie istnieją także aplikacje real-time, które musza być obsłużone za pomocą EDF i/lub FD-SCAN. Jak wpływa to na wyniki? Należy samodzielnie sformułować założenia symulacji: - wielkość 'dysku' (ilość bloków) - liczba i sposób generowania zgłoszeń (pełna kolejka od początku? zgłoszenia w trakcie? rozkład zgłoszeń- równomierny, inny?) - sposób uwzględnienia obsługi zgłoszeń real-time - pozostałe Należy umieć uzasadnić przyjęte rozwiązanie.

5 Zadanie 3 Badanie algorytmów zastępowania stron. Działanie programu: - wygenerować losowy ciąg n odwołań do stron - dla wygenerowanego ciągu podać liczbę błędów strony dla różnych algorytmów zastępowania stron: 1. FIFO (usuwamy stronę najdłużej przebywającą w pamięci fizycznej) 2. OPT (optymalny - usuwamy stronę, która nie będzie najdłużej używana) 3. LRU (usuwamy stronę, do której najdłużej nie nastąpiło odwołanie) 4. aproksymowany LRU (wiadomo) 5. RAND (usuwamy losowo wybraną stronę) - symulacje przeprowadzić (na tym samym ciągu testowym) dla różnej liczby ramek (np. kilku (3, 5, 10?) lub wartości podanych przez użytkownika) Należy samodzielnie sformułować założenia symulacji: - rozmiar pamięci wirtualnej (ilość stron). - rozmiar pamięci fizycznej (ilość ramek). - długość (powinna być znaczna - min. 1000) i sposób generowania ciągu odwołań do stron (koniecznie uwzględnić zasadę lokalności odwołań).

6 Zadanie 4 Postępująca komplikacja zadania 4. Założyć, że: - w systemie działa pewna ilość (rzędu ~10) procesów. - każdy korzysta z własnego zbioru stron (zasada lokalności wciąż obowiązuje). - globalny ciąg odwołań jest wynikiem połączenia sekwencji odwołań generowanych przez poszczególne procesy (każdy generuje ich wiele, nie jedną) - każdemu system przydziela określoną liczbę ramek na podstawie następujących metod: 1. Przydział proporcjonalny 2. Przydział równy 3. Sterowanie częstością błędów strony 4. Model strefowy - zastępowanie stron odbywa się zgodnie z LRU. Jak strategie przydziału ramek wpływają na wyniki (ilość błędów strony - globalnie, dla każdego procesu)? Należy samodzielnie sformułować założenia symulacji. Program powinien wypisywać na ekranie przyjęte założenia symulacji. Mile widziana możliwość zmiany założeń przez użytkownika.

7 Zadanie 5 Symulacja rozproszonego algorytmu równoważącego obciążenie procesorów. W systemie pracuje N identycznych procesorów. Na każdym z nich pojawiają się nowe zadania (procesy), z RÓŻNĄ częstotliwością i RÓŻNYMI wymaganiami (każdy proces wymaga określonego, różnego, udziału w mocy obliczeniowej procesora - np ~3%). Działanie programu: Na procesorze x pojawia się zadanie. Zasymulować następujące strategie przydziału: 1. x pyta losowo wybrany procesor y o aktualne obciążenie. Jeśli jest mniejsze od progu p, proces jest tam wysyłany. Jeśli nie, losujemy i pytamy następny, próbując co najwyżej z razy. Jeśli wszystkie wylosowane są obciążone powyżej p, proces wykonuje się na x. 2. Jeśli obciążenie x przekracza wartość progową p, proces zostaje wysłany na losowo wybrany procesor y o obciążeniu mniejszym od p (jeśli wylosowany y ma obciążenie > p, losowanie powtarza się do skutku). Jeśli nie przekracza - proces wykonuje się na x. 3. Jak w pkt 2, z tym że procesory o obciążeniu mniejszym od minimalnego progu r pytają losowo wybrane procesory i jeśli obciążenie zapytanego jest większe od p, pytający przejmuje część jego zadań założyć jaką). Przeprowadzić symulację strategii 1-3 dla N=ok.50-100 i długiej serii zadań do wykonania (parametry dobrać samodzielnie, tak by całość zadziałała). W każdym przypadku podać jako wynik: A. Średnie obciążenie procesorów (zdecydować, rozsądnie, jak będzie obliczane). B. Średnie odchylenie od wartości z pkt A. C. Ilość zapytań o obciążenie oraz migracji (przemieszczeń) procesów. Mile widziana możliwość zmiany wartości p,r,z,n.