General information


Subject type: Mandatory

Coordinator: Alfonso Palacios González

Trimester: Second term

Credits: 6

Teaching staff: 

Léonard Janer Garcia

Teaching languages


The documentation of the subject will be mostly in English. Poden haver-hi documents en castellà i català, però l'idioma principal serà anglès.

Therefore, the student must be able to read English correctly.

The main language of the subject will be English, therefore, the student must be able to express himself in this language, to write, read, speak and understand what is communicated to him.

Skills


Basic skills
  • B2_That students know how to apply their knowledge to their job or vocation in a professional way and have the skills they demonstrate by developing and defending arguments and solving problems within their area of ​​study

  • B5_That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy

Specific skills
  • EFB4_Basic knowledge of the use and programming of computers, operating systems, databases and computer programs with application in engineering

  • EFB5_Knowledge of the structure, organization, operation and interconnection of information systems, the fundamentals of their programming and their application for solving engineering problems

Transversal competences
  • T1_That students know a third language, which will be preferably English, with an adequate level of oral and written form, according to the needs of the graduates in each degree

  • T2_That students have the ability to work as members of an interdisciplinary team either as one more member, or performing management tasks in order to contribute to developing projects with pragmatism and a sense of responsibility, making commitments taking into account the available resources

Description


In general, this subject covers the following descriptors specified for the subject to which it belongs (Architecture, Operating Systems and Computer Networks):

1.- Introduction to the support of the architecture to the operating system (virtual memory, TLB)

2.- Firmware programming of a commercial microcomputer for the development of a prototype

3.- Concurrence, entry / exit and buses (survey, interruptions, DMA, I / O type)

4.- Internal structures in the memory hierarchy (disks, main memory, caches, error detection and correction mechanisms)

5.- Introduction to linear and multiprocessor segmented processors

6.- TCP and sockets (protocols, ARQ, flow control, UDP, TCP, API sockets)

7.- Introduction to operating systems (types of operating systems and characteristics, processes, flows, address spaces, execution modes, basic commands)

8.- Interfaces (user libraries, system services)

9.- Process management (system services, planning, flows, context changes, basic support structures) 

10.- Address space management (system services, memory management, virtual memory, swap, thrashing, basic support structures)

11.- Input / output management (system services, buffering, spooling, device independence, basic support structures)

12.- File system (system services, allocation of disk space, types of file systems, basic support structures)

13.- Resource sharing and synchronization (memory, files, mutual exclusion, critical regions, deadly hug)

For the follow-up of the subject the student works with his personal computer (laptop) that will have to take to each and every one of the classes

Learning outcomes


At a general level, this subject contributes to the following learning outcomes specified for the subject to which it belongs (Architecture, Operating Systems and Computer Networks):

1.- Demonstrate knowledge and understanding of essential facts, concepts, principles and theories related to computer science and its reference disciplines

2.- Appropriately use theories, procedures and tools in the professional development of computer engineering in all its areas (specification, design, implementation, deployment, implementation and evaluation of products) so as to demonstrate an understanding of the commitments adopted in design decisions

3.- Evaluate and select hardware and software production platforms for the execution of computer applications and services

4.- Evaluate hardware and software systems according to a certain quality criterion

5.- Determine the factors that have a negative impact on the security and reliability of a system

6.- Design solutions that integrate hardware, software and communications technologies (and ability to develop specific systems software solutions) for distributed systems and ubiquitous computing devices

7.- Development of team projects

8.- Understand and use effectively manuals, product specifications and other technical information written in English

At a more specific level, at the end of the course the student must be able to:

  1. (LO1) Know the main architectures and services of operating systems
  2. (LO2) Use system calls from different operating systems
  3. (LO3) Understand the need for protection mechanisms in multiprocessor and multiprocessor environments.
  4. (LO4) Understand and define the concepts of threads, processes, and relate them
  5. (LO5) Understand different CPU planning mechanisms
  6. (LO6) Apply communication and synchronization mechanisms between processes
  7. (LO7) Understand the different components involved in input and output operations
  8. (LO8) Understand the different file management mechanisms
  9. (LO9) Know different alternatives in order to program scripts to solve recurring problems in the system
  10. (LO10) Understand the communication mechanisms between processes on the Internet with sockets
  11. (LO11) Know the programming language C
  12. (LO12) Know the Python programming language

Working methodology


Guided learning hours include:

  1. Theoretical / practical classes in large groups (the whole class) in which the teacher introduces the contents of the subject and teaching activities are carried out that pursue that the student is an active protagonist in the acquisition of his knowledge.
  2. Activities that are carried out in teams of two people or individually. These practical activities will be carried out both in classes with small groups and in classes with large groups (all students).
  3. Presentations individually and / or in groups of specific topics related to the subject
  4. Writing reports individually and / or in groups of specific topics related to the subject
  5. Execution of projects (in work teams) to work skills, transversal competencies
  6. Problem solving in a given time in the form of challenges to assess the student's ability to cope with everyday market situations 

The final objective is that the student acquires the knowledge of the subject through activities which can be small as more complete projects where the knowledge that is acquired throughout the course takes part. Within the hours of autonomous learning are considered the hours to prepare the theoretical classes, the hours to study and consolidate the acquired knowledge, the hours to prepare the work of the practices and, finally, the hours that the student can dedicate to increase and complement their knowledge on the subject.

Contents


  1. Topic 1: Introduction to Operating Systems
  2. Topic 2: Scripting (Python)
  3. Topic 3: Communication between Processes and Sockets (C)
  4.  Topic 4: Operating Systems

Learning activities


A series of eminently practical activities are made available to students, which are the basis of the learning activities of the subject. These activities will have to be solved by the students, sometimes in a non-contact way, following the instructions of the teachers and / or they will also be worked in class, either as examples in the theory sessions, or in laboratory sessions ( large or small groups). Although some of these activities could be optional (teachers will not individually verify the performance by students), they will be essential to achieve the theoretical and practical knowledge of the subject.

With the aim of gathering evidence of the achievement of the expected learning outcomes, the following activities of an evaluative nature will be carried out, related to the common, transversal and specific competences. The transversal competence associated with the subject of knowledge of the third language is worked from the documentary sources that the students have to consult, and from the subject itself that has English as its vehicle language.

  1. Scripting practices: individual / group tests of practical application of the theoretical concepts and practical procedures of the Subject 2 of the subject (evidence of the results of the learning RA2, RA9, RA12)
  2. Interprocess Communication Practices: individual / group tests of practical application of the theoretical concepts and practical procedures of the Subject 3 of the subject (evidence of the results of the learning RA2, RA4, RA6, RA10, RA11)
  3. Operating Systems Administration Practices: individual / group tests of practical application of the theoretical concepts and practical procedures of the Units 1 and 4 of the subject (evidence of the results of the learning RA1, RA2, RA3, RA5, RA7, RA8)
  4. presentations: individual / group tests of practical application of the theoretical concepts and practical procedures of Themes 1 and 4 of the subject (evidence of the learning results RA1, RA3, RA5, RA7, RA8)
  5. Work in group: individual / group tests of practical application of the theoretical concepts and practical procedures of the Units 1 and 4 of the subject (evidence of the results of the learning RA5, RA8
  6. Written Test: individual / group tests of practical application of the theoretical concepts and practical procedures of the Units 1, 2, 3 and 4 of the subject (evidence of the results of the learning RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, RA10, RA11, RA12)

In relation to the basic competences assigned to the subject, these are covered especially with regard to the aspects that are explained:

  • CB2: problem solving within their area of ​​study.
  • CB5: development of learning skills needed for further studies (autonomous access to documentation, effective work habits)

In relation to the transversal competences associated with the subject, these are covered especially with regard to the aspects that are explained:

  • CT1: knowledge of the English language is worked from the documentary collections that students must consult, since most of them are mostly in English. All the written material of the subject (notes, problem statements, practice statements, ...) are distributed exclusively and only in English. The vehicular language of the subject is English.
  • CT2: working as members of an interdisciplinary team is mostly worked on in practical activities where management and shared responsibility is especially relevant

In relation to the specific competencies associated with the subject, these are covered especially so that the aspects that are explained:

  • EFB4: works in the practical tests associated with the topic IPC and the topic of SCRIPTING, with an important practical component
  • EFB5: works in the practical tests associated with the topic IPC and the topic of SCRIPTING, with an important practical component, but especially in those of communication between processes, focused on the elements of communication between processes in the same or different systems

In relation to the common competencies associated with the subject, these are covered especially so that the aspects that are explained:

  • CIN1: we work mainly on practical tests that involve the development of computer solutions
  • CIN4: works in the activities of the subject of OPERATING SYSTEMS, where functional aspects and specifications are analyzed, and in the activities of continuous evaluation
  • CIN5: works in the activities of the subject of OPERATING SYSTEMS, where functional aspects and specifications are analyzed, and in the activities of continuous evaluation
  • CIN9: work in a transversal way in the written tests of the subject, which work the most theoretical aspects, but also in the practical activities, because in each of them emphasis is placed on aspects of the structure and architecture of the systems
  • CIN10: work in a transversal way in the written tests of the subject, which work the most theoretical aspects, but also in the practical activities, because in each of them emphasis is placed on aspects of the structure and architecture of the systems
  • CIN14: works in the practical tests associated to the subject IPC focused in the elements of communication between processes in the same or different systems

In order to pass (pass) the assessment activities, students must demonstrate:

  • That they have acquired the theoretical knowledge related to the contents of the subject and that their understanding allows them to put them into practice [MECES-2 point a, point c]
  • That they can develop solutions to problems that, although they may be similar to others seen above, present aspects that are new [MECES-2 point f]

Rules for carrying out the activities

  • All activities are required to attend to be evaluated.
  • Activities are mandatory. Activities not performed or not attended are rated as 0.

Evaluation system


1.- Written Test 15%

2.- Activities related to the topic of SCRIPTING 35%

3.- Activities linked to the subject of CPI 35%

4.- Activities linked to the subject of OPERATING SYSTEMS 10%

5.- Continuous evaluation 5%

All grades are required. Written tests can be retrieved

For the written tests, the average of the tests must have a minimum rating of 4,0. If the grade is lower than 4.0 then the final grade of the subject will be that of the written tests.

REFERENCES


Basic

Presentations and notes of the subject in Moodle

www.netacad.com

https://docs.python.org

Complementary

Operating Systems: Three Easy Pieces

Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau

(http://pages.cs.wisc.edu/~remzi/OSTEP/#book-chapters)

Operating System Concepts (9th Edition)

Avi Silberschatz, Peter Baer Galvin, Greg Gagne

John Wiley and Sons, Inc.

ISBN: 978-1-118-0633-0

The C Programming Language (Second Edition)

Brian W. Kernighan and Dennis M. Ritchie

Prentice-Hall

ISBN-13: 978-0131103627