filmeu

Class Operating Systems

  • Presentation

    Presentation

    An operating system (OS) supplies a convenient, efficient and well defined interface between the hardware and application software. The services it provides offer the basic functionality, in any computer system, in which the application software is based.

    Acquiring a solid knowledge about the inner workings of the OS is of vital importance for engineering students that will enter a job market in which the development and the use of computer systems are gradually being reinforced.

    In particular, addressing the way an OS works, what are the main components, how to use its resources and services to develop efficient programs, and how to select an OS for a specific application, this CU supplies methodologies and abilities to think about computer systems, that are very broad and useful even for a career not connected to development.

  • Code

    Code

    ULHT46-2-6305
  • Syllabus

    Syllabus

    1.  Introduction to OS
      1. Objectives and main features
      2. Historic evolution
    2. Computer Architecture
      1. Block diagram of a typical computer
    3. OS architecture
      1. Structure and components
    4. Notions of concurrency and pseudo-parallelism
      1. Processes and threads
    5. Process Management
      1. CPU multiplexing
      2. Scheduling
      3. Interrupts
      4. Dispatcher
    6. Process Synchronization
      1. Cooperation
      2. Shared Data
      3. Critical sections
      4. Mutual exclusion
    7. Inter-process communication
      1. Shared Memory
      2. Mailboxes
      3. Sockets
    8. Memory management
      1. Real mode addressing
      2. Virtual addressing
      3. Algorithms
    9. Input/output management
      1. I/O hardware
      2. The I(O sub-system
    10. File System
      1. Basic concepts
      2. Structure
      3. Allocation methods
      4. Storage devices
    11. Protection and Security
      1. Threats
      2. Prevention
    12. Operating systems for embedded systems
      1. Static environment with limited resources

    In each topic will use examples using reference operating systems: Windows and Linux.

  • Objectives

    Objectives

    After concluding this course the student should:

    • Understand what is an OS and what are their objectives;
    • Understand the main challenges when implementing an OS and be familiar with the mechanisms and algorithms that are typically used;
    • Understand the limitations imposed by the exclusive use of the function libraries offered by the programming languages;
    • Be able to program applications that take advantage of the services offered by the Windows OS (synchronization, inter-process communication, memory management, etc.);
    • Understand multi-threaded application and their importance, and be able to solve basic concurrency problems;
    • Be familiar with the basic structure of the reference OS;
    • Understand the requirements of an OS for embedded systems and the differences to a traditional desktop or smartphone OS.
  • Teaching methodologies and assessment

    Teaching methodologies and assessment

    The teaching methodology is based in theory lectures, in which the topics are exposed, practical classes were practical examples are presented and students solve exercises and ask questions that are discussed, and labs where students perform assignments about topics they've learned.

    The evaluation has a practical component, with a minimum score of 10, resulting from assignments, questionnaires and lab permanent evaluation, and a final written test, with a minimum score of 10. Each component weights 50% in the final mark.

    Students will also have the opportunity to attend the exams in the dates contemplated in the regulations.

    The final approval will be given according to the Regulamento das Unidades Curriculares com Forte Componente Laboratorial, of FE.

    Should there be any doubts concerning any of the evaluation marks, the teacher may conduct an oral evaluation in order to confirm the results.

  • References

    References

    • Silberschatz, A., Galvin, P., e Gagne, G - Operating System Concepts. Ninth Edition, John Wiley and Sons, 2012. ISBN: 9781118063330.
    • A. Tanenbaum, H. Bos - Modern Operating Systems. 4th Edition. Pearson, 2014. ISBN: 9780133591620

     

  • Office Hours

    Office Hours

    Nome do docente  

    Horário de atendimento

    Sala

     

     

     

     

     

     

     

     

     

SINGLE REGISTRATION
Lisboa 2020 Portugal 2020 Small Logo EU small Logo PRR republica 150x50 Logo UE Financed Provedor do Estudante Livro de reclamaões Elogios