Uniwersytet Warszawski, Wydział Fizyki - Centralny System Uwierzytelniania
Strona główna

Architektura komputerów i systemy operacyjne

Informacje ogólne

Kod przedmiotu: 1000-212bAKSO
Kod Erasmus / ISCED: 11.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Architektura komputerów i systemy operacyjne
Jednostka: Wydział Matematyki, Informatyki i Mechaniki
Grupy: Przedmioty obowiązkowe dla I roku informatyki
Przedmioty obowiązkowe dla I roku JSIM
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.

zobacz reguły punktacji
Język prowadzenia: polski
Rodzaj przedmiotu:

obowiązkowe

Wymagania (lista przedmiotów):

Wstęp do programowania 1000-211bWPI

Skrócony opis:

Budowa i zasady działania współczesnych komputerów, programowanie niskopoziomowe, interfejs binarny aplikacji, rola i zadania systemu operacyjnego, techniki zarządzania podstawowymi zasobami sprzętowymi komputera: procesorem, pamięcią operacyjną i urządzeniami wejścia-wyjścia.

Pełny opis:

Wykład

•  Architektura komputera:

◦ architektura a organizacja komputera

◦ model von Neumanna

◦ architektury Harward i Princeton

◦ architektury wspierające zrównoleglanie: superskalarna, wektorowa

◦ zrównoleglanie a dostęp do pamięci, architektury wieloprocesorowe i wielordzeniowe, modele SMP i NUMA

•  Mikroprocesor od wewnątrz:

◦ rejestry

◦ asembler, kod maszynowy, lista rozkazów

◦ tryby adresowania

◦ CISC a RISC

◦ przetwarzanie potokowe

•  Mikroprocesor w interakcji ze światem zewnętrznym:

◦ system przerwań, wyjątki

◦ sprzętowe wsparcie dla systemów operacyjnych

◦ poziomy ochrony, wywoływanie usług systemowych, segmentacja i stronicowanie

◦ interfejs binarny aplikacji (ABI)

◦ obsługa wejścia-wyjścia

◦ DMA

•  Hierarchia pamięci:

◦  pamięć operacyjna

◦  pamięci podręczne

◦  pamięci masowe

◦  macierze dyskowe

•  Wprowadzenie do systemów operacyjnych: 

◦ zadania systemu operacyjnego

◦ budowa systemu operacyjnego 

◦ funkcje systemowe

•  Procesy i zarządzanie nimi: 

◦ pojęcie procesu

◦ stany procesu i przejścia między nimi

◦ podział czasu, wieloprogramowość

◦ synchronizacja na poziomie jądra

◦ szeregowanie procesów

•  Zarządzanie pamięcią: 

◦ przestrzeń adresowa procesu

◦ strategie przydziału pamięci

◦ translacja adresów

◦ pamięć wirtualna

•    Systemy plików:

◦ koncepcja pliku

◦ realizacja systemu plików warstwy logicznej i fizycznej 

◦ przykłady konkretnych implementacji

•    System wejścia-wyjścia: 

◦ urządzenia blokowe i znakowe

◦ tablice rozdzielcze

◦ pliki specjalne

◦ struktura dysku

•   Wirtualizacja

   

Laboratorium

•  Interpreter poleceń:  

◦ podstawowe polecenia: diff, grep, find, ps, wc, sort, cut, tail, head itp.

◦ potoki, strumienie, przekierowania

◦ skrypty bash (instrukcje if, for itp.), argumenty wywołania

◦ skrypty do testowania programów

• Podstawy administracji systemem i maszyna wirtualna:

◦ maszyna wirtualna

◦ zarządzanie użytkownikami

◦ prawa dostępu do plików i katalogów

◦ instalowanie pakietów oprogramowania

◦ pliki konfiguracyjne .bash_profile, .profile, .bashrc itp.

◦ katalogi /etc, /usr, /home itp.

◦ logi systemowe

• Język C

◦ pliki nagłówkowe, preprocesor, kompilator, linker, program make

◦ wskaźniki, sterta, alokacja pamięci, tablica dynamiczna

◦ dynamiczne struktury danych, BST, wskaźniki do wskaźników, valgrind 

◦ obsługa plików

• funkcje systemowe: open, close, read, write itp.

• funkcje z biblioteki standardowej: fopen, fclose, fread, fwrite itp.

• pliki specjalne: /dev/null, /dev/zero, /dev/random, /dev/urandom itp.

• Programowanie niskopoziomowe

◦ asemblacja, dezasemblacja, łączenie

◦ podstawowe rozkazy asemblera x86

◦ ABI – integracja z programem w C

◦ współpraca z systemem operacyjnym

◦ debuger

Literatura:

A. Silberschatz, P. B. Galvin, Podstawy systemów operacyjnych

W. Stallings, Organizacja i architektura systemu komputerowego

Efekty uczenia się:

Wiedza - absolwent zna i rozumie:

- teoretyczne podstawy z zakresu architektury systemów komputerowych i systemów operacyjnych (K_W02),

- architekturę współczesnych systemów (reprezentacja danych, architektura procesora, podsystemy wejścia-wyjścia, pamięć, architektury wieloprocesorowe (K_W06),

- zasady działania systemów operacyjnych ze szczególnym uwzględnieniem procesów, współbieżności, szeregowania zadań i zarządzania pamięcią (K_W07).

Umiejętności - absolwent potrafi:

- pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie (K_U02),

- samodzielnie planować i realizować własne uczenie się przez całe życie (K_U09).

Kompetencje społeczne - absolwent jest gotów do:

- krytycznej oceny posiadanej wiedzy i odbieranych treści (K_K01),

- pracy z poszanowaniem uczciwości intelektualnej w działaniach własnych i innych osób; przestrzegania zasad etyki zawodowej i wymagania tego od innych oraz dbałości o dorobek i tradycje zawodu informatyka (K_K02),

- uznawania znaczenia wiedzy w rozwiązywaniu problemów poznawczych i praktycznych oraz wyszukiwania informacji w literaturze oraz zasięgania opinii ekspertów (K_K03).

Metody i kryteria oceniania:

Ocena końcowa z przedmiotu ustalana jest na podstawie łącznej liczby punktów z laboratorium i egzaminu. Szczegółowe zasady oceniania opisane są w kursie przedmiotu na platformie moodle.

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

Okres: 2024-02-19 - 2024-06-16
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Marcin Engel, Marcin Peczarski
Prowadzący grup: Jacek Chrząszcz, Marcin Engel, Janusz Jabłonowski, Marcin Peczarski, Wojciech Przytuła, Inga Rüb, Przemysław Rutka, Marek Sokołowski, Marcin Wrochna, Artur Zaroda
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin

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

Okres: 2025-02-17 - 2025-06-08
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Marcin Engel
Prowadzący grup: Jacek Chrząszcz, Marcin Engel, Janusz Jabłonowski, Marcin Peczarski, Wojciech Przytuła, Przemysław Rutka, Marcin Wrochna, Artur Zaroda
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski, Wydział Fizyki.
ul. Pasteura 5, 02-093 Warszawa tel: +48 22 5532 000 https://www.fuw.edu.pl/ kontakt deklaracja dostępności mapa serwisu USOSweb 7.1.0.0-7 (2024-10-21)