Checking date: 20/01/2025


Course: 2024/2025

Systems Architecture II
(13423)
Bachelor in Telematics Engineering (Plan: 447 - Estudio: 215)


Coordinating teacher: ESTEVEZ AYRES, IRIA MANUELA

Department assigned to the subject: Telematic Engineering Department

Type: Compulsory
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
Systems programming Systems Architecture I
Objectives
The goal of the course is to enable students to acquire knowledge relative to the fundamental concepts of software systems at the level of the operating system and fundamental concepts on distributed systems. In order to achieve this goal, the student must acquire the following knowledge: - To know the basic structure of an operating system. - To know the software structure based on processes. - To know the mechanisms of communication between processes. - To know the software structure based on threads and the characteristics of multi-threaded (or multi-threaded) applications. - To know the concurrency management mechanisms. - To know memory management mechanisms. - To know the architecture of a distributed system. - To know the basic mechanisms of communication in distributed systems. - To know the typical architecture of a communications middleware and its fundamental components. The specific capacities that will be acquired by the student upon successful completion of the course will be: - To use the basic mechanisms that an operating system offers to support application execution. - To use the concurrency management mechanisms and memory management mechanisms. - To design and implement multi-threaded applications both centralised and distributed and their basic synchronization mechanisms. - To use communication models in distributed systems based on message passing. - To model and deploy a distributed system.
Learning Outcomes
CB1: Students have demonstrated possession and understanding of knowledge in an area of study that builds on the foundation of general secondary education, and is usually at a level that, while relying on advanced textbooks, also includes some aspects that involve knowledge from the cutting edge of their field of study CB2: Students are able to apply their knowledge to their work or vocation in a professional manner and possess the competences usually demonstrated through the development and defence of arguments and problem solving within their field of study. ECRT1: Ability to learn and acquire autonomously the requisite new knowledge for the design, development and utilization of telecommunication systems and services. ECRT13: Ability to differentiate the concepts of network access and transport, circuit switching and packet switching networks, fixed and mobile networks as well as systems and applications of distributed networks, voice services, audio, data, video and interactive services and multimedia. ETEGT6: Ability to design network architectures and telematics services. ETEGT7: Ability to program telematics services and applications in network and distributed systems RA1: Knowledge and Understanding.  Knowledge and understanding of the general fundamentals of engineering, scientific and mathematical principles, as well as those of their branch or specialty, including some knowledge at the forefront of their field. RA3: Design. Graduates will have the ability to make engineering designs according to their level of knowledge and understanding, working as a team. Design encompasses devices, processes, methods and objects, and specifications that are broader than strictly technical, including social awareness, health and safety, environmental and commercial considerations. RA4: Research. Graduates will be able to use appropriate methods to carry out detailed research and studies of technical aspects, commensurate with their level of knowledge. The research involves bibliographic searches, design and execution of experiments, interpretation of data, selection of the best proposal and computer simulation. May require consultation of databases, standards and security procedures. RA5: Applications. Graduates will have the ability to apply their knowledge and understanding to solve problems, conduct research, and design engineering devices or processes. These skills include knowledge, use and limitations of materials, computer models, process engineering, equipment, practical work, technical literature and information sources. They must be aware of all the implications of engineering practice: ethical, environmental, commercial and industrial. RA6: Generic competences. Graduates will have the generic skills necessary for engineering practice, and which are widely applicable. First, to work effectively, both individually and as a team, as well as to communicate effectively. In addition, demonstrate awareness of the responsibility of engineering practice, social and environmental impact, and commitment to professional ethics, responsibility and standards of engineering practice. They must also have knowledge of business and project management practices, as well as risk management and control, and understand their limitations. Finally, have the capacity for continuous learning.
Description of contents: programme
1. Architecture of a software system: centralized and distributed - Fundamental concepts of a distributed system. - Software and hardware aspects 2. The operating system 2.1 Functionality and basic services 2.2 Multiprogramming: processes. 2.3 Inter Process communication mechanisms 2.4 Threads and synchronization 2.5 Memory management. 3. Distributed systems models, algorithms and software 3.1 Distributed system models 3.2 Algorithms for distributed synchronization, election, and transactions 3.3 Consensus algorithms 3.4 Middleware models and distributed programming
Learning activities and methodology
The activities will be the following: - Lectures: study and explanation of the main concepts of the subject through the use of oral presentations by the lecturer and discussions of the main problems and the solutions proposed in the literature. - Exercise classes: sessions where real problems will be presented to the students. The students will analyse these problems and they will propose suitable solutions. - Labs: concrete small scale problems will be presented to the students. They have to propose solutions based on the concepts explained in the lectures and exercise classes and, with the supervision of the lab teacher, they have to implement their solutions.
Assessment System
  • % end-of-term-examination 35
  • % of continuous assessment (assigments, laboratory, practicals...) 65

Calendar of Continuous assessment


Extraordinary call: regulations
Basic Bibliography
  • A. Silberschatz, P. Galvin. Operating System Concepts.. Wiley. 7ª edición..
  • B. Kernighan, D. Ritchie. The C Programming Language. Prentice Hall. 1998
  • Bradford Nichols, Dick Buttlar, Jacqueline Proulx Farrell. Pthreads Programming. O'Reilley. 1996
  • G. F. Coulouris, J. Dollimore, T. Kindberg.. Distributed Systems. Concepts and Design. Adisson Wesley. 4th ed., June 2012. ISBN 0201-61918-0..
  • M. Kerrisk. The Linux Programming Interface. No Starch Press. 2013
  • R. Love.. Linux System Programming. O'Reilley.. 2013.
Additional Bibliography
  • A.S. Tanenbaum, M. Van Steel. Distributed Systems.. Prentice-Hall..
  • Brian W. Kernighan. The UNIX programming environment. Prentice Hall.
  • Brian W. Kernighan, Dennis M. Ritchie. The C programming language. Prentice Hall, 1989.
  • David Butenhof. Programming with POSIX threads. Addison Wesley.
  • Gregorio Fernández. Conceptos básicos de arquitectura y sistemas operativos: Curso de Ordenadores. Madrid, Sistemas y Servicios de Comunicación..
  • S. Oaks, H. Wong. Java Threads.. O`Reilly.

The course syllabus may change due academic events or other reasons.