Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Informatics 1

    A tantárgy neve magyarul / Name of the subject in Hungarian: Informatika 1

    Last updated: 2017. június 22.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Course ID Semester Assessment Credit Tantárgyfélév
    VIIIAB08   4/0/0/f 4  
    3. Course coordinator and department Dr. Pilászy György,
    Web page of the course
    4. Instructors Rácz György
    5. Required knowledge

    Digital design 2


    6. Pre-requisites
    (TargyEredmeny("BMEVIIIAA02" , "jegy" , _ ) >= 2 VAGY
    TargyEredmeny("BMEVIIIA106" , "jegy" , _ ) >= 2 VAGY
    TargyEredmeny("BMEVIIIA108" , "jegy" , _ ) >= 2 )
    ÉS NEM ( TárgyEredmény( "BMEVIIIA202" , "jegy" , _ ) >= 2
    TárgyEredmény("BMEVIIIA202", "FELVETEL", AktualisFelev()) > 0
    TárgyEredmény( "BMEVIIIAB04" , "jegy" , _ ) >= 2
    TárgyEredmény("BMEVIIIAB04", "FELVETEL", AktualisFelev()) > 0)
    ÉS (Training.Code=("5N-A7") VAGY Training.Code=("5N-A7H") VAGY Training.Code=("5NAA7"))

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.


    7. Objectives, learning outcomes and obtained knowledge

    The objective is to provide the students with comprehensive knowledge related to the architecture and functioning principles of computers and their operating systems.

    The knowledge acquired in the framework of the subject allows students to understand the documentation and the functioning of computers and operating systems. They will be also able to carry out installation, configuration and maintenance tasks of such systems.

    8. Synopsis

    Computer Architectures:

    Introduction, overview:

    Typical functional units and block-diagram of computers. The von Neumann principle. Modularity and multiprocessing. Typical properties of CPUs, the hardware-software interface: instruction set, registers, flags, memory map, memory access, interrupt system, I/O system. Features supporting the use of high level languages.

    Increasing performance of computers:

    Increasing instruction execution throughput, concurrent execution inside processors. The pipe-line principle, instruction dependencies, coprocessors. Effect of the number and complexity of instructions on the performance. CISC vs. RISC processors.


    Hierarchical memory organization. Improving memory access speed. Cache organization, mapping policies. Memory interleave technique, burst transmission. Increasing the addressable memory size, virtual memory management.

    Support for multiprogramming operating systems:

    Memory organization, protection features and their implementation. Privilege levels, privileged instructions, system calls, task switching, context switch. Atomic operations.

    I/O handling:

    Polling vs. interrupt driven IO, DMA, dedicated I/O processors. Standardization of I/O peripherals. Magnetic disc drives: storage principle, encoding, track, sector, softsector organization. Other typical peripherals.

    Multiprocessor systems:

    Loosely or tightly coupled systems, physical or logical levels of coupling. Typical implementation of interprocessor communications.

    Bus systems:

    Bus hierarchy levels: device, part, card level busses. Typical bus connected modules and their functions. Addressing modes, logical and geographical addressing, address domains. Bus timing, synchronous, asynchronous, semi synchronous, interlocked, non interlocked, partly interlocked systems. Bus controllers, control policies on multi-master buses. Static or dynamic bus allocation. Bus allocation and deallocation (arbitration) policies. Centralized and decentralized arbitration. Wireless bus interconnects. Important standards.

    Operating Systems:

    Historical overview:

    General features, interfaces. Typical services, hardware requirements, system calls, system software and device drivers. Event driven programming, virtual machine concept, client-server, cloud based architectures. Safety functions, protection features.


    Program execution as a process. Execution more programs concurrently on the same processor. The concept of threads and resources. Coupling between processes: competition or cooperation. Basic cases of process cooperation: common memory or message passing.

    Common memory based cooperation:

    The need for synchronization. Basic cases of synchronization: mutual exclusion, precedence, coincidence. Software implementations. Hardware support with atomic operations. The semaphore. Solving synchronization problems with semaphores. Implementation of a semaphore in a multiprogramming environment.

    Cooperation trough message passing:

    Communication subsystems. Terminology. Synchronous or asynchronous communication, the condition of semantic consistency. Effect of message buffering.

    Deadlock situations:

    The definition and necessary conditions of a deadlock. Modeling resource allocation in multiprogrammed systems, the resource allocation graph. Deadlocks and resource starvation. Deadlock avoidance, detection an handling strategies.

    Multiprogrammed operating systems:

    Basic concepts of multiprogramming, new tasks of the OS. Queuing and state model of tasks. Schedulers. Task contexts, the data structures required to implement multiprogramming.

    CPU scheduling:

    CPU as a special kind of resource. FCFS, SJF, priority based, non preemptive and preemptive time slot based scheduling algorithms. Multilevel scheduling queues. Assessment of different schedulers.

    Memory management:

    Address calculation. Relocatability and problems with reentrant (recursive) code sections. Linking and loading of programs. Object modules, libraries, static, dynamic linking, relocation. Load time or runtime dynamic linking. Problems with memory allocation.

    Virtual memory management:

    Concept of page based virtual memory, the cooperation of hardware-software. Page faults, effective access time. The concept of thrashing. Page fault handling algorithms. Working set, the concept of dynamic local memory management based on the page fault rate.

    Disc management and file systems:

    Tasks of the disc management layer. Improving effectiveness of disc operations. Files and directories as data structures. File models, allocation methods, administration of free space on a disc. Protection mechanisms against data corruption and unauthorized access. Opening and closing files. I/O subsystem, connection of devices, the levels of interfaces. The role of device drivers. Device independent interfaces. Character and block based devices.

    Modern embedded operating systems:

    The effect of low resources on the performance of an OS.

    9. Method of instruction Four hours of lecture weekly
    10. Assessment

    There are two midterm tests during the semester, with 30 points each. The midterm mark is calculated accordingly:

                    0-23 points : 1
                    24-32 points: 2
                    33-41 points: 3
                    42-50 points: 4
                    51-60 points: 5


    There is no exam.

    11. Recaps Both of the midterm tests can be retaken.
    12. Consultations by appointment
    13. References, textbooks and resources

    Michael J. Flynn - Wayne Luk: Computer System Design (Wiley, ISBN 978-0-470-64336-5)

    Van de Goor,A.J.: Computer architecture and design. Addison-Wesley Publishing Company, 1989.

    Wilkinson, B.: Computer architecture, design and performance. Prentice Hall, 1991.

    Abraham Silberschatz, Peter B. Galvin, Greg Gagne: Operating system concepts, 8th edition, Wiley, 2008

    14. Required learning hours and assignment
    Contact hours56
    Preparation for contact hours14
    Preparation for the midterm40
    Homework assignments0
    Home readings10
    Preparation for the exam0
    Total workload120
    15. Syllabus prepared by

    Dr. György Pilászy

    György Rácz