University of Warsaw - Central Authentication System
Strona główna

Computer architecture and operating systems

General data

Course ID: 1000-212bAKSO
Erasmus code / 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 The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
Course title: Computer architecture and operating systems
Name in Polish: Architektura komputerów i systemy operacyjne
Organizational unit: Faculty of Mathematics, Informatics, and Mechanics
Course groups: Obligatory courses for 1st grade JSIM
Obligatory courses for 1st year Computer Science
ECTS credit allocation (and other scores): 6.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

view allocation of credits
Language: Polish
Type of course:

obligatory courses

Requirements:

Introductory programming 1000-211bWPI

Short description:

Construction and principles of operation of modern computers, low-level programming, application binary interface, the role and tasks of the operating system, techniques for managing basic computer hardware resources: processor, main memory and input-output devices.

Full description: (in Polish)

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

Bibliography: (in Polish)

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

W. Stallings, Organizacja i architektura systemu komputerowego

Learning outcomes: (in Polish)

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).

Assessment methods and assessment criteria: (in Polish)

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.

Classes in period "Summer semester 2023/24" (in progress)

Time span: 2024-02-19 - 2024-06-16
Selected timetable range:
Navigate to timetable
Type of class:
Lab, 30 hours more information
Lecture, 30 hours more information
Coordinators: Marcin Engel, Marcin Peczarski
Group instructors: 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
Students list: (inaccessible to you)
Examination: Examination

Classes in period "Summer semester 2024/25" (future)

Time span: 2025-02-17 - 2025-06-08
Selected timetable range:
Navigate to timetable
Type of class:
Lab, 30 hours more information
Lecture, 30 hours more information
Coordinators: Marcin Engel
Group instructors: Jacek Chrząszcz, Marcin Engel, Janusz Jabłonowski, Marcin Peczarski, Wojciech Przytuła, Przemysław Rutka, Marcin Wrochna, Artur Zaroda
Students list: (inaccessible to you)
Examination: Examination
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)