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

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Operating Systems

    A tantárgy neve magyarul / Name of the subject in Hungarian: Operációs rendszerek

    Last updated: 2017. június 21.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Software Engineering, BSc
    Course ID Semester Assessment Credit Tantárgyfélév
    VIMIAB00 4 3/0/1/v 5  
    3. Course coordinator and department Dr. Mészáros Tamás Csaba,
    Web page of the course http://www.mit.bme.hu/eng/oktatas/targyak/vimiab00/
    4. Instructors

    Tamás  Mészáros PhD,  assistant professor, MIT

    5. Required knowledge Computer architecture, Basic Programing, Programming Techniques
    6. Pre-requisites
    Kötelező:
    (TárgyEredmény( "BMEVIHIAA00" , "aláírás" , _ ) = -1
    VAGY TárgyEredmény( "BMEVIHIAA02" , "aláírás" , _ ) = -1
    VAGY TárgyEredmény( "BMEVIHIA210" , "aláírás" , _ ) = -1 )

    ÉS NEM ( TárgyEredmény( "BMEVIMIA219" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIMIA219", "FELVETEL", AktualisFelev()) > 0
    VAGY
    TárgyEredmény( "BMEVIMIAB03" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIMIAB03", "FELVETEL", AktualisFelev()) > 0 )

    ÉS (Training.Code=("5N-A8") VAGY Training.Code=("5NAA8"))

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

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    7. Objectives, learning outcomes and obtained knowledge

    The subject introduces students to the functions, internal operation, and types of operating systems, and in addition, to the programming model of concurrent, distributed systems. It also demonstrates these concepts using examples, including the task of operating system selection. The lectures and the laboratories, which are inherent part of the subject, concentrates on the relationship of the hardware and the operating system, making possible for student to use operating systems in practical applications.

    8. Synopsis

    1st week: Introduction, the short history of operating systems. Generic introduction to operating systems, types of operating systems, requirements and properties, operating system architectures. Monolithic, modular and microkernel architecture. Relationship of hardware, user, and operating system. Concept of virtual machines.

    2nd week: The history of Windows and UNIX/Linux, their architecture, and fundamental properties. Solving operating system malfunctions using tools provided by Windows or Linux.

    3rn and 4th weeks: Multiprogramming. Theory and practice of CPU scheduling. Basic scheduling algorithms, their properties, complex scheduling algorithms. Multiprocessor scheduling, processor affinity and its consequences. Scheduling in Windows and Linux. Realization of tasks, hardware aspects, processes and threads.

    5th and 6th  weeks: Resource management, shared resources. Re-entrant functions.  Mutual exclusion and critical section. The implementation of  mutual exclusion. Handling shared resources, locking. Sleeplocks and spinlocks. Lock bit, semaphore (binary and counter type), mutex. Typical programming errors committed while implementing mutual exclusion, and techniques to avoid them. Alternatives such as lockless programming, transactional memory, etc. The concept of monitors (Hoare and Mesa semantics).

    7th week: Inter-process communication (IPC). Methods of message passing, message addressing, buffering and implicit synchronization, acknowledgement, value or reference passing, semantic consistency. Mailbox, message queues, signals, remote procedure calls, System V IPC examples.

    8th week: Deadlock and handling of deadlocks. Definition of deadlock in systems with resource contention, conditions , necessary conditions for the existence of deadlocks. Handling time on modern operating systems, hardware and software components of time handling. NTP and IEEE 1588 protocols, and their operating system specific aspects.

    9th and 10th weeks: Storage hierarchy and memory handling. Hierarchy levels and their properties including caches and cache coherency. The fundamental idea of virtual memory and its operation, demand and anticipatory paging, hardware requirements, page replacement strategies and their properties. Global and local memory optimization, trashing and working set, balancing the memory subsystem. Handling memory in Windows.

    11st week: Embedded systems and operating systems. Types of embedded operating systems and their relation to hardware and applications. The fundamental properties and operation of uCOS.

    12nh week: Virtualization. Classification of virtualization techniques. Platform virtualization, CPU, memory and I/O virtualization and their HW support. Virtualization on the x86 HW architecture. Hosted and bare-metal virtualization. Introduction to virtualization solutions and their properties.

    13rd and 14th week: Permanent storage handling, data access and allocation strategies. The concept of the block and the file, file systems. RAID, SAN, NAS technologies in modern operating systems. An introduction to UNIX VFS, its properties, operation, and application.

     Laboratories:

    1. Linux laboratory
    2. Windows laboratory
    3. Embedded operating system laboratory (uCOS or FreeRTOS)
    9. Method of instruction Lectures and laboratories
    10. Assessment
    1. During the semester:
      One mid-term must be written with satisfactory results (40%). All laboratories must be accomplished with a satisfactory results (satisfactory, 2) also to get a signature for the semester. Students are required to write a short test at the beginning of laboratories to show their preparedness with at least 50% results to allowed to be take part on the laboratory. The laboratories are evaluated by the laboratory adviser with a mark. 
    2. During the examination period:
      A two phase written exam is organized. The first part is a jump in test, it must be accomplished with a better than 55% results to consider the second part. The second part must be accomplished with at least 40% results to consider the exam to be passed. For students passing an exam in the year of getting the mark is computed using a weighted average of the mid-term result (20%), the laboratory average results (20%), and the exam result (60%). If the exam is taken in a different semester than the signature acquired only the exam results are taken into account during final mark computation.
    3.   Credits are granted for students successfully passing the exam. Advance exams are not organized from this subject.
    11. Recaps

    During the semester a mid-term exam is organized. The mid-term exam can be repeated on an organized repeated mid-term exam during the semester, and on a 2nd organized repeated mid-term in the repetition period following the semester.

    One laboratory can be repeated during the semester or the repetition period. No signature is given if more than one laboratory must be repeated due to non-presence or unsatisfactory laboratory results.
    12. Consultations Consultations are organized upon the explicit request of students taking into account personal and other resource availabilities.
    13. References, textbooks and resources Silberschatz, Peterson: Operating System Concepts (7th or later edition)
    14. Required learning hours and assignment
    Lectures 56
    Preparation for lectures
     14
    Preparation for mid-term exam
     20
    Personal curriculum processing
     6
    Preparation for exam
     40
    Total 150
    15. Syllabus prepared by
    Name:
    Status:
    Department:
     Tamás Kovácsházy, PhD Associate Professor
    MIT
     Tamás Mészáros
    Master LecturerMIT
    Zoltán Micskei, PhD
    Assistant Professor
    MIT