Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Computers and networks

The course is not on the list Without time-table
Code Completion Credits Range Language
NUCI-PS Z,ZK 6 2P+2C Czech
Course guarantor:
Lecturer:
Tutor:
Supervisor:
Department of Computer Systems
Synopsis:

Students are generally explained the principles of the internal organization and architecture of computer systems. Using simple examples, they will understand how a standard multi-core, vector- and GPU-accelerated computer connected to the Internet processes, stores and sends data in a multi-user operating system. The work at the command-line level penetrates the entire subject and will be explained continuously.

Requirements:
Syllabus of lectures:

1.Processes and threads and their management in the OS, multi-threaded computing and synchronization, examples of producer-consumer problems, scribe-readers, shared counter.

2.Virtualization of main memory by paging, hardware and operating system cooperation, memory management in the OS.

3.Secondary disk memory technologies, file systems and their management in the operating system, examples of simple FAT solutions.

4.Multi-user OS, management and control of user roles and access rights, scripting languages, examples.

5.Structure of single-cycle RISC processor, memory hierarchy, concatenated instruction processing, demonstration of the influence of hidden memories on the calculation speed of the chained processor (examples of codes in C).

6.Superscalar techniques, multi-core processor, vector and GPU acceleration, practical demonstrations (multimedia data processing, raster image transformation).

7.Shared memory, principle of coherence of hidden memories, coherence protocols, synchronization primitives.

8.Computer networks, network protocol hierarchy, Internet structure, IP addressing.

9.Link layer, ethernet technology, network layer. ISO/OSI and TCP/IP model. Switching and routing. Functioning principles of connecting network elements.

10.Transport layer, TCP/IP protocol family (IPv4, IPv6, TCP, UDP). Flow control.

11.DNS system and NAT principle and usage. Application layer, basic protocol principles, network management in OS.

12.Fundamentals of security in computer networks. Administration in OS, demonstration of network application (e.g. simple distributed database).

Syllabus of tutorials:

Exercise content (operating systems):

•LINUX operating system – system installation, system booting, run levels. Command line operation, Interpretation of commands and their parameters. User management in OS LINUX, user role (RBAC).

•Process handling (process and thread display, process states, signals), influence of user/process work on system performance, swapping space.

•File system from user and system administrator perspective. Implementation of file systems on disks. Disk space virtualization. RAID disk arrays. Data backup.

•Scripting languages (bash). OS core, configuration of OS kernel parameters. OS virtualization (chroot, QEMU).

Exercise content (networks):

•Getting acquainted with the network laboratory, configuration of elements, Linux and Cisco IOS.

•Configuring IPv4 addresses (static and dynamic), capturing network traffic, interpreting data capture in the Wireshark environment.

•IPv4 segmentation, static routing, routing table configuration.

•Configuring NAT - static vs dynamic, port mapping.

•Computer network protection policies, firewalls, computer network monitoring applications.

Study Objective:

Teach the student to understand computers as systems with layers (hierarchy) of virtualization over hardware.

Study materials:

Mandatory:

Hennessy J. L., Patterson D. A.: Computer Architecture: A Quantitative Approach (6th Edition). Morgan Kaufmann, 2017. ISBN 978-0128119051.

Howser G.: Computer Networks and the Internet. Springer, 2020. ISBN 978-3-030-34496-2.

Peterson L. L., Davie B. S.: Computer Networks: A Systems Approach (6th Edition). Morgan Kaufmann, 2020. ISBN 978-0-12-818200-0.

Portnoy M.: Virtualization Essentials (2nd Edition). Cybex, 2016. ISBN 978-1119267720.

Shen J. P., Lipasti M. H.: Modern Processor Design. Fundamentals of Superscalar Processors. Waveland Press, 2013. ISBN 978-1478607830.

Shotts W.: The Linux Command Line: A Complete Introduction (2nd Edition). No Starch Press, 2019. ISBN 978-1593279523.

Silberschatz A., Gagne G., Galvin P. B.: Operating System Concepts (10th Edition). Wiley, 2018. ISBN 978-1119456339.

Tanenbaum A.S., Feamster N., Wetherall D. J.: Computer Networks (6th Edition). Pearson, 2021. ISBN 97801355407981.

Recommended:

Li X .- E.: Advanced Design and Implementation of Virtual Machines. CRC Press, 2016. ISBN 978-1466582606.

Stallings W.: Operating Systems: Internals and Design Principles (9th Edition). Pearson, 2017. ISBN 978-0134670959.

Note:
Further information:
nutno doplnit
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2025-01-21
For updated information see http://bilakniha.cvut.cz/en/predmet8163006.html