Study program / study programs: INFORMATION TECHNOLOGY
Type and level of studies: Undergraduate applied studies
Status: Elective
ECTS credits: 8

Course objective

The objective of the course Computer Systems is to understand the architecture of computer systems as a prerequisite for programming at the hardware level, programming in general, as well as computer administration and maintenance, and understanding the functioning of operating systems. Mastering the fundamental elements of operating systems and becoming acquainted with the most popular operating systems at theoretical and user level (the concept of “operating system” is explained from the aspects of project designer, programmer and user). Understanding how an operating system depends upon hardware and how it uses the architecture of the computer system. Explanation and representation of characteristics and functions using the examples of the widespread operating systems: MS Windows, Linux and Unix.

Course outcome

The course Computer Systems introduces the students to the types of buses, their characteristics, computer’s internal and external memory, the production process of desktop computers at the Comtrade company (the students will work on assembling desktop computers and installing Windows operating system on them), the characteristics and operation of U/I channels and special interface FireWire and InfiniBand, the structure of a processor, the elements inside a processor and the way they function together, processor microoperations and parallel execution of instructions, the operation of the management unit and RISC and CISC processor architecture, superscalar and superpipelined instruction processing, as well as the loading, translation and execution of programs in computer systems, the algorithms of assigning a processor to processes, memory management during process execution through contiguous and noncontiguous allocation, managing UI devices based on their classification, FAT and NTFS system in Windows.

Course content

Theoretical classes

  • The concept of computer system architecture
  • Computer system block diagram
  • Processor block diagram
  • The phases of execution of instructions
  • Registers
  • Data types
  • Instruction format
  • Modes of addressing
  • Instruction set
  • Stack
  • Interrupts
  • Input/output
  • Clock signal
  • Integration level
  • Mosfet
  • Computer system performance
  • Segmentation and paging
  • Pipeline
  • Input/output address space
  • Cache memory
  • Memory access overlapping
  • DMA controller
  • RISC and CISC processor architecture
  • Branch prediction
  • Parallel execution
  • Multithreading
  • Processors (8086, 80286, 80386, 80486, Pentium II, III, IV)
  • DRAM and SRAM memory
  • The characteristics of operating systems (OS)
  • The functions of operating systems
  • Types and classification of operating systems
  • Operating system core
  • Process management function
  • Process allocation algorithms
  • Memory management function
  • Memory allocation techniques
  • input/output device management function
  • Disk, File system management function
  • The description of contemporary file systems
  • Deadlocks

 Practical teaching (computer and lab exercises)

  • The current WIndows operating system
  • OS installation and settings
  • Driver installation
  • Operating systems Unix and Linux: OS installation and settings, file ownership attributes: private, group, others; file execution attributes: read, write, execute; adding new users; work in command environment; work in graphical mode; work with file systems