Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Podstawy systemów operacyjnych

Informacje ogólne

Kod przedmiotu: 1000-I1PSOp
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Podstawy systemów operacyjnych
Jednostka: Wydział Matematyki i Informatyki
Grupy:
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Całkowity nakład pracy studenta:

30( wykład) + 30(laboratorium) + 30(przygotowanie do zajęć)

+ 20( studiowanie literatury) + 45 (przygotowanie do egzaminu/zaliczenia) = 155 godzin

Efekty uczenia się - wiedza:

Po ukończeniu kursu 1000-I1SOP student:

W1: definiuje podstawowe pojęcia zawiązane z systemami operacyjnymi, w tym m.in. architekturę systemu i funkcje jej składowych(K_W05);

W2: klasyfikuje systemy operacyjne (ze względu na ich budowę oraz przeznaczenie)(K_W08);

W3: wylicza algorytmy charakterystyczne dla systemów operacyjnych w tym algorytmy zarządzania procesami, pamięcią i we/wy(K_W08);

W4: analizuje własności poszczególnych składowych systemu operacyjnego (w tym zarządzanie procesami, pamięcią, we/wy)(K_W08);

W5: wyznacza algorytmy do rozwiązywania klasycznych problemów synchronizacji(K_W08);

W6: stosuje algortymy (w tym m. in. szeregowania, wymiany, bankiera) do rozwiązywania konkretnych problemów(K_W08).

Efekty uczenia się - umiejętności:

Po ukończeniu kursu 1000-I1SOP student:



U1: definiuje podstawowe pojęcia zawiązane z systemami operacyjnymi, w tym m.in. architekturę systemu i funkcje jej składowych;(K_U09)

U2: klasyfikuje systemy operacyjne (ze względu na ich budowę oraz przeznaczenie(K_U07));

U3: wylicza algorytmy charakterystyczne dla systemów operacyjnych w tym algorytmy zarządzania procesami, pamięcią i we/wy(K_U07);

U4: analizuje własności poszczególnych składowych systemu operacyjnego (w tym zarządzanie procesami, pamięcią, we/wy)(K_U09);

U5: wyznacza algorytmy do rozwiązywania klasycznych problemów synchronizacji(K_U21);

U6: stosuje algortymy (w tym m. in. szeregowania, wymiany, bankiera) do rozwiązywania konkretnych problemów(K_U21).

Efekty uczenia się - kompetencje społeczne:

K1: Efektywnie pracuje ze złożonym oprogramowaniem systemow operacyjnych(K_K03);

K2: Myśli twórczo w celu udoskonalenia istniejących rozwiązań w systemach operacyjnych(K_K02);

K3: Przekazuje zdobytą wiedzę w zrozumiały sposób (K_K05).

Metody dydaktyczne eksponujące:

- pokaz

Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)

Metody dydaktyczne poszukujące:

- laboratoryjna

Skrócony opis:

Jest to podstawowy kurs systemów komputerowych. Szczególną uwagę poświęcono: algorytmom szeregowania zadań i we/wy na dysk, zastępowania stron i przydziału zasobów; zarządzania procesami i wątkami i ich synchronizowania; zarządzania pamięcią główną i wirtualną; zarządzania wejściem-wyjściem; generowania systemów Linux, Windows i Solaris.

Laboratorium ma charakter zarazem praktyczny (funkcje i polecenia systemowe, generacja systemu) jak i teoretyczny (algorytmy przydziału pamięci podręcznej, głównej i wirtualnej, diagramy Gantta, macierze alokacji zasobów, ciągi odniesień).

Pełny opis:

  • Ewolucja oraz instalacja systemów operacyjnych:
    System komputerowy. System operacyjny. Rozwój systemów operacyjnych. Przykłady systemów operacyjnych. Instalacja systemów operacyjnych: Linux, Solaris, Windows 98/2K/2K3S/XP/Vista/7/8.1/10/11, Mac OS X.
  • Ewolucja systemów komputerowych:
    Architektura i organizacja komputerów. Funkcje i struktura komputera. Komputer IAS: lista rozkazów, działanie. Ewolucja a wydajność komputerów.
  • Struktura systemu komputerowego:
    Magistrala systemowa. Funkcje jednostki centralnej. Struktura wejścia-wyjścia. Struktura pamięci. Pamięć podręczna. Zasada lokalności odniesień.
  • Działanie systemu komputerowego:
    Rozkazy i tryby adresowania. Podstawowy cykl rozkazu. Przerwania. Ochrona CPU i pamięci. Start systemu.
  • Struktura systemów operacyjnych:
    Składowe i usługi systemów operacyjnych. Funkcje i programy systemowe. Struktury systemów. Komunikacja. Architektury systemów. Wirtualizacja. Chmury i Internet Rzeczy. Projektowanie systemu i jego implementacja. Bezpieczeństwo systemów.
  • Procesy:
    Koncepcja procesu. Blok kontrolny procesu. Planowanie procesów. Działania na procesach. Procesy współpracujące. Komunikacja międzyprocesowa. Komunikacja klient-serwer. Koncepcja wątku.
  • Planowanie przydziału procesora:
    Kryteria planowania. Algorytmy planowania: FCFS, HRRN, SJF, SRTF, PRI, RR. Ocena algorytmów planowania. Przykłady: Solaris, Windows.
  • Szeregowanie wieloprocesorowe i w czasie rzeczywistym:
    Klasyfikacja systemów wieloprocesorowych. Algorytmy szeregowania wieloprocesorowego. Systemy czasu rzeczywistego. Odwrócenie priorytetów. Algorytmy szeregowania w czasie rzeczywistym. Przykłady: Linux, SVR4, Windows.
  • Synchronizowanie procesów:
    Problem sekcji krytycznej. Sprzętowe środki synchronizacji. Semafory. Klasyczne problemy synchronizacji. Regiony krytyczne. Monitory. Synchronizacja w systemach operacyjnych. Transakcje niepodzielne.
  • Impas:
    Problem impasu. Charakterystyka impasu. Metody postępowania z impasem. Zapobieganie impasom. Unikanie impasu. Algorytm bezpieczeństwa (bankiera). Algorytm wykrywania impasów. Likwidowanie impasów.
  • Zarządzanie pamięcią:
    Logiczna i fizyczna przestrzeń adresowa. Wymiana. Przydział ciągły. Fragmentacja. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem. Przykłady: Intel 80386.
  • Pamięć wirtualna:
    Stronicowanie na żądanie. Algorytmy zastępowania stron: FIFO, OPT, LRU, CLOCK. Anomalia Belady'ego. Przydział ramek. Szamotanie. Przydział pamięci jądra. Przykłady: Linux, Windows, Solaris.
  • Systemy wejścia-wyjścia:
    Sprzęt wejścia-wyjścia. Odpytywanie. Przerwania wejścia-wyjścia. Bezpośredni dostęp do pamięci (DMA). Użytkowy interfejs wejścia-wyjścia. Planowanie wejścia-wyjścia dla dysków. Algorytmy planownia dysków: LIFO, SSTF, SCAN, LOOK. Buforowanie. Podsystem wejścia-wyjścia w jądrze. Przekształcenie zamówień wejścia-wyjścia. Strumienie. Przykłady: Linux, Windows, SVR4.
  • Systemy plików:
    Organizacja plików. Metody dostępu. B-drzewa. Struktura katalogowa. Prawa dostępu. Grupowanie rekordów. Alokacja plików. Zarządzanie plikami w systemach Unix i Windows. Sieciowe systemy plików: NFS, Samba.
  • System operacyjny Linux:
    Historia. Podstawy projektu. Struktura kodu źródłowego. Moduły jądra. Zarządzanie procesami. Planowanie. Zarządzanie pamięcią. Systemy plików. Wejście-wyjście. Komunikacja międzyprocesowa. Struktura podsystemu sieciowego. Generowanie systemu Linux. Start systemu Linux.
Literatura:

Literatura podstawowa:

  1. A. S. Tanenbaum, H. Bos – Systemy operacyjne, Helion, 2024 (tł. V ed.).
  2. A. Silberschatz, A., Galvin, P.B., Gagne, G. – Podstawy systemów operacyjnych, t.1-2, PWN, 2021 (tł. 10th ed.).
  3. W. Stallings - Systemy operacyjne. Architektura, funkcjonowanie i projektowanie, Helion, 2018 (tł. 9th ed.).
  4. W. Stallings - Operating Systems. Internals and Design Principles, 8th ed., Pearson, 2015.
  5. A. Silberschatz et al. – Operating System Concepts, 9th ed., Wiley, 2013.
  6. W. Stallings - Computer Organization and Architecture. Designing for Performance, 8th ed., Pearson, 2010.
  7. A. Silberschatz, P.B. Gavin, G. Gagne - Podstawy systemów operacyjnych, WNT, 2005, 2006 (tł. 6th ed.).
  8. W. Stallings - Systemy operacyjne, Robomatic, 2004; PWN, 2006 (tł. 5th ed.).
  9. L. Null, J. Lobur - Struktura organizacyjna i architektura systemów komputerowych, Helion, 2004.
  10. Linux Magazine.

Literatura uzupełniająca:

  1. Wikipedia - Operating system.
  2. L. Null – The Essentials of Computer Organization and Architecture, Jones&Bartlett, 2024.
  3. M. Hausenblas – Nowoczesny Linux. Przewodnik dla użytkownika natywnej chmury, Helion, 2024.
  4. A. S. Tanenbaum, H. Bos – Modern Operating Systems, 5th ed., Pearson, 2024.
  5. B. Goossens – Guide to Computer Processor Architecture. A RISC-V Approach, with High-Level Synthesis, Springer, 2023.
  6. B .E. Baaquie, .L.-C. Kwek - Quantum Computers, Springer, 2023.
  7. S. Russell, P. Norvig– Sztuczna inteligencja. Nowe spojrzenie, t.1-2, Helion, 2023.
  8. A. A. Chien– Computer architecture for scientists, CUP, 2022.
  9. M. du Sautoy– Kod kreatywności. Sztuka i innowacje w epoce sztucznej inteligencji , Copernicus Center Press , 2020.
  10. C. L. Evans – Pionierki Internetu, WUJ, Kraków, 2020.
  11. S. P. Kane, K. Matthias – Docker. Praktyczne zastosowania, wyd. II, Helion, 2019.
  12. A. Holt, C.-Y. Huang – Embedded Operating Systems, 2nd ed., Springer, 2018.
  13. M. R. Antognazza – Leibniz. Biografia intelektualna, Copernicus Center Press, 2018.
  14. A. Silberschatz et al. – Operating System Concepts, 10th ed., Wiley, 2018.
  15. S. Monk - Elektronika z wykorzystaniem Arduino i Raspberry Pi , Helion, 2018.
  16. W. Stallings - Operating Systems. Internals and Design Principles, 9th ed., Pearson, 2018.
  17. C. Beveridge - Matematyka od środka, Wydawnictwo Olesiejuk, 2017.
  18. W. Stallings - Cryptography and Network Security. Principles and Practice, 7th ed., Pearson, 2017.
  19. D. Molloy - Exploring Raspberry Pi. Interfacing to the Real World with Embedded Linux, Wiley, 2016.
  20. A. S. Tanenbaum, H. Bos – Systemy operacyjne, Helion, 2016 (tł. IV ed.).
  21. W. Stallings - Computer Organization and Architecture. Designing for Performance, 10th ed., Pearson, 2016.
  22. W. Isaacson – Innowatorzy, Insignia, 2016.
  23. A. S. Tanenbaum, H. Bos – Modern Operating Systems , 4th ed., Pearson, 2015.
  24. R. Fox – Linux with Operating System Concepts, CRC Press, 2015.
  25. A. A. Stepanov, D. E. Rose - Od matematyki do programowania uogólnionego, Helion, 2015.
  26. W. Stallings, L. Brown - Computer Security. Principles and Practice, 3rd ed., Pearson, 2015.
  27. W. Stallings - Data and Computer Communications, 10th ed.,Pearson, 2014.
  28. A. Hodges - Alan Turing:ENIGMA, Albatros, 2014.
  29. A. Robinson, M. Cook – Raspberry Pi. Najlepsze projekty, Helion, 2014.
  30. D. Norris – Raspberry Pi. Niesamowite projekty, Helion, 2014.
  31. S. Monk – Raspberry Pi. Receptury, Helion, 2014.
  32. R. Lowe – Jądro Linuksa, Helion, 2014.
  33. E. Upton, G. Halfacree – Raspberry Pi, Helion, 2013.
  34. K. Yaghmour – Embedded Android, O'Reilly Media Inc., 2013.
  35. D. Pogue – Windows 8: The Missing Manual, O'Reilly Media Inc., 2013.
  36. I. C. Bertolotti, G. Manduchi – Real-time embeded systems. Open-source Operating systems perspective,CRC Press, 2013.
  37. W. Stallings - Operating Systems. Internals and Design Principles, 7th ed., Pearson, 2012.
  38. I. Bondecka-Krzykowska - Historia obliczeń, Wydawnictwo Naukowe UAM, 2012.
  39. A. S. Tanenbaum, D. J. Wetherall - Sieci komputerowe , wyd. V, Helion, 2012.
  40. M. Serafin - Wirtualizacja w praktyce , Helion, 2012.
  41. V. Torra - Od abaku do komputera. Algorytmy i obliczenia, BUKA Books, 2012.
  42. C. Easttom - Computer Security Fundamentals, 2nd ed, Pearson, 2012.
  43. E. Nemeth, G. Snyder, T. R. Hein, B. Whaley, T. Morreale, N. McClain, R. Jachim, D. Schweikert, T. Oetiker - Unix i Linux. Przewodnik administratora systemów , Helion, 2011.
  44. A. S. Tanenbaum – Systemy operacyjne, Helion, 2010.
  45. R. Love - Linux Kernel Development, 3rd ed., Pearson, 2010.
  46. R. Love - Linux. Programowanie systemowe, Helion, 2008.
  47. W. Curtis Preston - Archiwizacja i odzyskiwanie danych, Helion, 2008.
  48. A. Silberschatz et al. - Operating System Concepts with Java, 7th ed., Wiley, 2007.
  49. M. Grajek - ENIGMA. Bliżej prawdy, Poznań, 2007.
  50. M. J. Rochkind - Programowanie w systemie UNIX dla zaawansowanych, WNT, 2007.
  51. A. S. Tanenbaum - Strukturalna organizacja systemów komputerowych, Helion, 2006.
  52. G. Ifrah - Historia powszechna cyfr, W.A.B., 2006.
  53. W. Stallings - Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność, wyd. III, PWN, Warszawa, 2004 (tł. 6th ed.).
  54. A. S. Tanenbaum - Sieci komputerowe, Helion, 2004.
  55. R. Lowe - Linux Kernel. Przewodnik programisty, Helion, 2004.
  56. M. Gorman - Understanding the Linux Virtual Memory Manager, Prentice Hall, 2004.
  57. M. du Sautoy - The Music of the Primes. Why an Unsolved Problem in Mathematics Matters., Harper Perennial, 2004.
  58. Æ. Frisch - UNIX. Administracja systemu, RM, 2003.
  59. D. E. Comer - Sieci komputerowe i intersieci, wyd. 3, WNT, Warszawa, 2003.
  60. J. Glenn Brookshear - Informatyka w ogólnym zarysie, WNT, 2003.
  61. C. Simmons et al. - Windows XP w sieciach, RM, 2003.
  62. D. E. Knuth - Sztuka programowania, WNT, 2002.
  63. W. v. Hagen - Systemy plików w Linuxie, Helion, Gliwice, 2002.
  64. M. Mitchell, J. Oldham, A. Samuel - Linux. Programowanie dla zaawansowanych, RM, 2002.
  65. W. Richard Stevens - Programowanie w środowisku systemu UNIX, WNT, 2002.
  66. E. Bott et al. - Windows XP, RM, 2002.
  67. D. P. Bovet, M. Cesati - Linux Kernel, RM, Warszawa, 2001.
  68. U. Vahalia - Jądro systemu UNIX. Nowe horyzonty, WNT, 2001.
  69. W. Richard Stevens - UNIX programowanie usług sieciowych, WNT, 2001.
  70. M. Johnson - Oprogramowanie użytkowe w systemie Linux, WNT, 2000.
  71. R. Eckstein, D. Collier-Brown, P. Kelly - Samba, RM, Warszawa, 2000.
  72. M. Beck, H. Bohme, M. Dziadzka, U. Kunitz, R. Magnus, D. Verworver - Linux Kernel. Jądro Linuxa, Mikom, 1999.
  73. M. Bach - Budowa systemu UNIX, WNT, 1995.
  74. A. S. Tanenbaum - Rozproszone systemy operacyjne, WNT, 1995.
  75. P. Silvester - System operacyjny UNIX, WNT, 1991.
  76. J. Deminet - System operacyjny MS-DOS, WNT, 1980.
  77. H. Kaufmann - Dzieje komputerów, PWN, 1980.
  78. E. G. Coffman, Jr. (ed.) - Teoria szeregowania zadań, WNT, 1980.
  79. A. Shaw - Projektowanie logiczne systemów operacyjnych, WNT, 1980.
  80. Per Brinch Hansen - Podstawy systemów operacyjnych, WNT, 1979.
  81. J. Stańko - Programowanie w języku Assembler JS EMC, Wyd. Pol. Wr., 1977.
  82. H. Katzan - Operating systems, Van Nostrand, 1973.
  83. H. Katzan - Computer organization and the System/370, Van Nostrand, 1971.
  84. C. B. Germain - Programming the IBM 360, Englewood Cliffs, N.J.: Prentice-Hall, 1968.
  85. S. M. Ulam - Maszyny liczące, w: Matematyka w świecie współczesnym, PWN, 1966.
  86. А. Я. Хинчин - Цепные дроби, изд. 3-е, Физматгиз, Москва, 1961.
Metody i kryteria oceniania:

Egzamin pisemy (obowiązkowy) składa się z części teoretycznej oraz zadań. Laboratorium kończy się zaliczeniem na ocenę.

Zajęcia w cyklu "Semestr letni 2022/23" (zakończony)

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Zbigniew Szewczak
Prowadzący grup: Rafał Bocian, Krzysztof Czarkowski, Marcin Gąsiorek, Zbigniew Szewczak, Jerzy Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2023/24" (zakończony)

Okres: 2024-02-20 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Zbigniew Szewczak
Prowadzący grup: Rafał Bocian, Mateusz Kamiński, Zbigniew Szewczak, Jerzy Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2024/25" (jeszcze nie rozpoczęty)

Okres: 2025-02-24 - 2025-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Zbigniew Szewczak
Prowadzący grup: Rafał Bocian, Mateusz Kamiński, Zbigniew Szewczak, Jerzy Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności mapa serwisu USOSweb 7.1.0.0-4 (2024-09-03)