4 Laboratoria
Marcin Gogolewski edited this page 2018-11-17 12:15:53 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Plan zajęć

Nr Temat
1 Przygotowanie do zajęć
Linux Obsługa terminala, ssh, X-windows, powłoka BASH, zmienne środowiskowe, struktura poleceń, edytor vi
Linux Powłoka BASH, obsługa systemu plików, std-in/std-out
2 Linux Powłoka BASH, obsługa procesów, sygnały, łącza, potoki, filtry, skrypty
Instalacja i konfiguracja maszyny wirtualnej, instalacja systemu Linux
3 Linux Konfiguracja podstawowych usług sieciowych i systemowych
BACI Współbieżność, problem sekcji krytycznej, semafory
4 BACI Klasyczne problemy współbieżności
BACI Monitory
5 Linux Instalacja modułów, instalacja oprogramowania ze źródeł, gcc, make, biblioteki linkowane statycznie i dynamicznie
Linux Wprowadzenie do funkcji systemowych zarządzanie procesami
6 Linux Wprowadzenie do funkcji systemowych zarządzanie systemem plików
Linux Współbieżność, semafory
7 Linux Współbieżność, IPC
Linux Moduły jądra, implementacja prostego sterownika
.. Windows PowerShell, zarządzanie systemem

Warunki zaliczenia

Na ocenę z laboratoriów składają się punkty uzyskane z następujących elementów:

Element Punkty
quizy 40
zadanie Microshell 10
Łączna liczba punktów 50
  1. Quizy:
  • na początku każdych zajęć odbywa się kilkuminutowy quiz (2 części z każdych zajęć) dotyczący treści omawianych podczas poprzednich laboratoriów lub z treści wykładowych (jeżeli wykład odbył się przed ćwiczeniami),
  • za każdy quiz można uzyskać maksymalnie 4 punkty,
  • do końcowej oceny studenta wlicza się jego 10 najlepszych wyników,
  • podczas quizów nie można korzystać z materiałów dydaktycznych, rozwiązań zadań, terminala i innych pomocy (chyba, że zostanie zaznaczone inaczej),
  • quizy nie podlegają odrabianiu ani poprawie,
  • quizy zalicza się tylko i wyłącznie na swoich zajęciach (wyjątek: osoby zaliczające warunkowo),
  • dyskusje o przyznanych punktch odbywają się podczas dyżurów.
  1. Zadanie Microshell:
  • zaliczenie zadania Microshell jest niezbędne do uzyskania zaliczenia laboratoriów (tj. nie można uzyskać zaliczenia z samych quizów),
  • szczegółowa specyfikacja i punktacja znajduje się w sekcji poświęconej zadaniu.
  1. Nieobecności:
  • obecność na zajęciach jest obowiązkowa,
  • w semestrze można mieć max. 20% nieusprawiedliwionych nieobecności,
  • więcej niż 50% nieobecności skutkuje powiadomieniem dziekanatu o zaprzestaniu uczęszczania na zajęcia.
  1. Zaliczenie poprawkowe:
  • w przypadku niezaliczenia zajęć w pierwszym terminie, nie później niż tydzień po ostatnich zajęciach należy przedstawić podczas dyżuru prowadzącego rozwiązania zadań domowych oraz zadanie Microshell,
  • podczas zaliczenia poprawkowego student startuje z 0 punktami (tj. punkty z pierwszego terminu nie przechodzą na drugi termin),
  • oddanie zadania Microshell jest obowiązkowe i uzyskuje się za nie maksymalnie 10 punktów i należy uzyskać z niego co najmniej 6 punktów,
  • za każdy zestaw zadań z danego laboratorium otrzymuje się maksymalnie 8 punkty,
  • weryfikacja zadań domowych polega na zaprezentowaniu rozwiązań wybranych zadań wskazanych przez prowadzącego,
  • progi zaliczenia oraz kolejnych ocen są takie same jak przy skali ocen w pierwszym terminie.

Terminy

Oddanie: Termin: Miejsce:
zadania Microshell do 25.01 dyżur lub ostatnie 15 min. każdych zajęć
zadań domowych
(zaliczenie poprawkowe)
do 01.02 dyżur

Skala ocen

Ocena Punkty
5,0 [46 ; 50]
4,5 [42 ; 46)
4,0 [38 ; 42)
3,5 [34 ; 38)
3,0 [30 ; 34)
2,0 [ 0 ; 30)

W szczególnych przypadkach (np. aktywność podczas zajęć, wzorowy projekt, itp.) prowadzący zajęcia może podwyższyć studentowi końcową ocenę o 0,5.

Literatura

  1. A.S. Tanenbaum, H. Bos, Systemy operacyjne, Wydanie IV, Helion, 2015.
  2. W. Stallings, Systemy operacyjne. Struktura i zasady budowy, PWN, 2006.
  3. D.P. Bovet, M. Cesati, Linux Kernel, od portów wejścia/wyjścia do zarządzania procesami, O'Reilly, 2001.
  4. K. Haviland, D. Gray, B. Salma, UNIX programowanie systemowe, RM, 1999.
  5. J.S. Gray, Komunikacja między procesami w Unixie, RM, 1998.

Darmowe pozycje elektroniczne:

  1. Linux Journey.
  2. edX, Linux Foundation, Introduction to Linux.
  3. B. Przybylski, Systemy operacyjne.

Kodeks honorowy i zasady współpracy

TLDR: Pomagaj innym, ale nie udostępniaj kodu. Nie przedstawiaj znalezionego kodu jako twój.

Podczas pracy nad ćwiczeniami i zadaniami domowymi można dyskutować z innymi studentami na temat rozwiązań problemów. Praca w małych grupach jest nawet wskazana, ponieważ wymiana myśli przynosi korzystne efekty w procesie przyswajania wiedzy.

Natomiast podczas pisania kodu (oraz o ile nie zostało to jasno wyspecyfikowane w treści zadania) należy programować samodzielnie. Nie można programować grupowo ani udostępniać swojego kodu (dotyczy to również publicznego udostępniania swojego kodu np. na GitHubie lub w grupach na Facebooku). Takie same zasady dotyczą prac pisemnych.

W przypadku posiłkowania się zewnętrznymi rozwiązaniami, każdy użyty fragment należy odpowiednio zacytować w swoim rozwiązaniu. Jeżeli zapewnione jest cytowanie, to dozwolone jest umieszczanie bezpośrednio w swoich rozwiązaniach małych fragmentów kodu. W przypadku dłuższych fragmentów należy wypracować samodzielne autorskie rozwiązanie.

Rozwiązania przesłane przez studentów mogą być sprawdzane przez systemy antyplagiatowe (np. Otwarty System Antyplagiatowy lub inne zewnętrzne). Systemy porównujące kod potrafią wykryć plagiaty różniące się m.in. zmianą formatowania, zmianą szyku kodu, czy też zmianą nazw zmiennych, funkcji i klas. Wszelkie odstępstwa od powyższych reguł będą traktowane jako naruszenie zasad przedmiotu i będą procedowane zgodnie z Regulaminem studiów oraz innymi zależnymi przepisami.

Dodatkowa lektura