Prowadzony w
cyklach:
2022/23L, 2023/24L, 2024/25L, 2025/26L
Kod ISCED: 0613
Punkty ECTS:
6
Język:
polski
Organizowany przez:
Wydział Matematyki i Informatyki
Podstawy systemów operacyjnych 1000-I1PSOp
- 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.
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
Koordynatorzy przedmiotu
Kryteria oceniania
Egzamin pisemy (obowiązkowy) składa się z części teoretycznej oraz zadań. Laboratorium kończy się zaliczeniem na ocenę.
Literatura
Literatura podstawowa:
- A. S. Tanenbaum, H. Bos – Systemy operacyjne, Helion, 2024 (tł. V ed.).
- A. Silberschatz, A., Galvin, P.B., Gagne, G. – Podstawy systemów operacyjnych, t.1-2, PWN, 2021 (tł. 10th ed.).
- W. Stallings - Systemy operacyjne. Architektura, funkcjonowanie i projektowanie, Helion, 2018 (tł. 9th ed.).
- W. Stallings - Operating Systems. Internals and Design Principles, 8th ed., Pearson, 2015.
- A. Silberschatz et al. – Operating System Concepts, 9th ed., Wiley, 2013.
- W. Stallings - Computer Organization and Architecture. Designing for Performance, 8th ed., Pearson, 2010.
- A. Silberschatz, P.B. Gavin, G. Gagne - Podstawy systemów operacyjnych, WNT, 2005, 2006 (tł. 6th ed.).
- W. Stallings - Systemy operacyjne, Robomatic, 2004; PWN, 2006 (tł. 5th ed.).
- L. Null, J. Lobur - Struktura organizacyjna i architektura systemów komputerowych, Helion, 2004.
- Linux Magazine.
Literatura uzupełniająca:
- Wikipedia - Operating system.
- L. Null – The Essentials of Computer Organization and Architecture, Jones&Bartlett, 2024.
- M. Hausenblas – Nowoczesny Linux. Przewodnik dla użytkownika natywnej chmury, Helion, 2024.
- A. S. Tanenbaum, H. Bos – Modern Operating Systems, 5th ed., Pearson, 2024.
- B. Goossens – Guide to Computer Processor Architecture. A RISC-V Approach, with High-Level Synthesis, Springer, 2023.
- B .E. Baaquie, .L.-C. Kwek - Quantum Computers, Springer, 2023.
- S. Russell, P. Norvig– Sztuczna inteligencja. Nowe spojrzenie, t.1-2, Helion, 2023.
- A. A. Chien– Computer architecture for scientists, CUP, 2022.
- M. du Sautoy– Kod kreatywności. Sztuka i innowacje w epoce sztucznej inteligencji , Copernicus Center Press , 2020.
- C. L. Evans – Pionierki Internetu, WUJ, Kraków, 2020.
- S. P. Kane, K. Matthias – Docker. Praktyczne zastosowania, wyd. II, Helion, 2019.
- A. Holt, C.-Y. Huang – Embedded Operating Systems, 2nd ed., Springer, 2018.
- M. R. Antognazza – Leibniz. Biografia intelektualna, Copernicus Center Press, 2018.
- A. Silberschatz et al. – Operating System Concepts, 10th ed., Wiley, 2018.
- S. Monk - Elektronika z wykorzystaniem Arduino i Raspberry Pi , Helion, 2018.
- W. Stallings - Operating Systems. Internals and Design Principles, 9th ed., Pearson, 2018.
- C. Beveridge - Matematyka od środka, Wydawnictwo Olesiejuk, 2017.
- W. Stallings - Cryptography and Network Security. Principles and Practice, 7th ed., Pearson, 2017.
- D. Molloy - Exploring Raspberry Pi. Interfacing to the Real World with Embedded Linux, Wiley, 2016.
- A. S. Tanenbaum, H. Bos – Systemy operacyjne, Helion, 2016 (tł. IV ed.).
- W. Stallings - Computer Organization and Architecture. Designing for Performance, 10th ed., Pearson, 2016.
- W. Isaacson – Innowatorzy, Insignia, 2016.
- A. S. Tanenbaum, H. Bos – Modern Operating Systems , 4th ed., Pearson, 2015.
- R. Fox – Linux with Operating System Concepts, CRC Press, 2015.
- A. A. Stepanov, D. E. Rose - Od matematyki do programowania uogólnionego, Helion, 2015.
- W. Stallings, L. Brown - Computer Security. Principles and Practice, 3rd ed., Pearson, 2015.
- W. Stallings - Data and Computer Communications, 10th ed.,Pearson, 2014.
- A. Hodges - Alan Turing:ENIGMA, Albatros, 2014.
- A. Robinson, M. Cook – Raspberry Pi. Najlepsze projekty, Helion, 2014.
- D. Norris – Raspberry Pi. Niesamowite projekty, Helion, 2014.
- S. Monk – Raspberry Pi. Receptury, Helion, 2014.
- R. Lowe – Jądro Linuksa, Helion, 2014.
- E. Upton, G. Halfacree – Raspberry Pi, Helion, 2013.
- K. Yaghmour – Embedded Android, O'Reilly Media Inc., 2013.
- D. Pogue – Windows 8: The Missing Manual, O'Reilly Media Inc., 2013.
- I. C. Bertolotti, G. Manduchi – Real-time embeded systems. Open-source Operating systems perspective,CRC Press, 2013.
- W. Stallings - Operating Systems. Internals and Design Principles, 7th ed., Pearson, 2012.
- I. Bondecka-Krzykowska - Historia obliczeń, Wydawnictwo Naukowe UAM, 2012.
- A. S. Tanenbaum, D. J. Wetherall - Sieci komputerowe , wyd. V, Helion, 2012.
- M. Serafin - Wirtualizacja w praktyce , Helion, 2012.
- V. Torra - Od abaku do komputera. Algorytmy i obliczenia, BUKA Books, 2012.
- C. Easttom - Computer Security Fundamentals, 2nd ed, Pearson, 2012.
- 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.
- A. S. Tanenbaum – Systemy operacyjne, Helion, 2010.
- R. Love - Linux Kernel Development, 3rd ed., Pearson, 2010.
- R. Love - Linux. Programowanie systemowe, Helion, 2008.
- W. Curtis Preston - Archiwizacja i odzyskiwanie danych, Helion, 2008.
- A. Silberschatz et al. - Operating System Concepts with Java, 7th ed., Wiley, 2007.
- M. Grajek - ENIGMA. Bliżej prawdy, Poznań, 2007.
- M. J. Rochkind - Programowanie w systemie UNIX dla zaawansowanych, WNT, 2007.
- A. S. Tanenbaum - Strukturalna organizacja systemów komputerowych, Helion, 2006.
- G. Ifrah - Historia powszechna cyfr, W.A.B., 2006.
- W. Stallings - Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność, wyd. III, PWN, Warszawa, 2004 (tł. 6th ed.).
- A. S. Tanenbaum - Sieci komputerowe, Helion, 2004.
- R. Lowe - Linux Kernel. Przewodnik programisty, Helion, 2004.
- M. Gorman - Understanding the Linux Virtual Memory Manager, Prentice Hall, 2004.
- M. du Sautoy - The Music of the Primes. Why an Unsolved Problem in Mathematics Matters., Harper Perennial, 2004.
- Æ. Frisch - UNIX. Administracja systemu, RM, 2003.
- D. E. Comer - Sieci komputerowe i intersieci, wyd. 3, WNT, Warszawa, 2003.
- J. Glenn Brookshear - Informatyka w ogólnym zarysie, WNT, 2003.
- C. Simmons et al. - Windows XP w sieciach, RM, 2003.
- D. E. Knuth - Sztuka programowania, WNT, 2002.
- W. v. Hagen - Systemy plików w Linuxie, Helion, Gliwice, 2002.
- M. Mitchell, J. Oldham, A. Samuel - Linux. Programowanie dla zaawansowanych, RM, 2002.
- W. Richard Stevens - Programowanie w środowisku systemu UNIX, WNT, 2002.
- E. Bott et al. - Windows XP, RM, 2002.
- D. P. Bovet, M. Cesati - Linux Kernel, RM, Warszawa, 2001.
- U. Vahalia - Jądro systemu UNIX. Nowe horyzonty, WNT, 2001.
- W. Richard Stevens - UNIX programowanie usług sieciowych, WNT, 2001.
- M. Johnson - Oprogramowanie użytkowe w systemie Linux, WNT, 2000.
- R. Eckstein, D. Collier-Brown, P. Kelly - Samba, RM, Warszawa, 2000.
- M. Beck, H. Bohme, M. Dziadzka, U. Kunitz, R. Magnus, D. Verworver - Linux Kernel. Jądro Linuxa, Mikom, 1999.
- M. Bach - Budowa systemu UNIX, WNT, 1995.
- A. S. Tanenbaum - Rozproszone systemy operacyjne, WNT, 1995.
- P. Silvester - System operacyjny UNIX, WNT, 1991.
- J. Deminet - System operacyjny MS-DOS, WNT, 1980.
- H. Kaufmann - Dzieje komputerów, PWN, 1980.
- E. G. Coffman, Jr. (ed.) - Teoria szeregowania zadań, WNT, 1980.
- A. Shaw - Projektowanie logiczne systemów operacyjnych, WNT, 1980.
- Per Brinch Hansen - Podstawy systemów operacyjnych, WNT, 1979.
- J. Stańko - Programowanie w języku Assembler JS EMC, Wyd. Pol. Wr., 1977.
- H. Katzan - Operating systems, Van Nostrand, 1973.
- H. Katzan - Computer organization and the System/370, Van Nostrand, 1971.
- C. B. Germain - Programming the IBM 360, Englewood Cliffs, N.J.: Prentice-Hall, 1968.
- S. M. Ulam - Maszyny liczące, w: Matematyka w świecie współczesnym, PWN, 1966.
- А. Я. Хинчин - Цепные дроби, изд. 3-е, Физматгиз, Москва, 1961.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: