Academic management

University of Oviedo

Uniovi.es | Home | Search | Site Map

| |

Máster Universitario Erasmus Mundus en Transporte Sostenible y Sistemas Eléctricos de Potencia por la Universidad de Oviedo; Instituto Politécnico de Coimbra
EMSTEPS3-1-004
Fundamentos Mecánicos
General description and schedule Teaching Guide

Coordinator/s:

Miguel Riesco Albizu
albizuuniovi.es

Faculty:

Óscar Rodríguez Prieto
rodriguezoscaruniovi.es
(English Group)
Fernando Álvarez García
falvarezuniovi.es
(English Group)
Nahuel Alejandro Costa Cortez
costanahueluniovi.es
(English Group)
Miguel Angel Alonso Gonzalez
alonsomigueluniovi.es
Elías Palacios González
palacioseliasuniovi.es
NESTOR GARCIA FERNANDEZ
nestoruniovi.es
Miguel Riesco Albizu
albizuuniovi.es
(English Group)

Contextualization:

This course belongs to the Information Systems subject, being the first one studied. The remaining courses (Distributed Systems and Internet, System and network administration, Security of computer systems) will be taken in the sixth semester of the degree.

The course will explore the organizational foundations, the basic concepts and services an Operating System must comply with as a key component in any computer system. This will lay the foundations to study other courses.

Requirements:

To properly understand the subject being treated and to study the course in good condition it is required that students follow the recommended route in verification report. Specifically, it is important that the student has previously completed the following courses:

  • Computer Basics
  • Computer Architecture
  • Statistics
  • Computer Electronics Technology
  • Basics of Computers and Networks
  • Data Structures
  • Introduction to Programming
  • Programming Methodology

These courses introduce concepts that will be taken for granted.

Students must have these skills prior to taking this course:

  • Ability to solve math problems that may arise in engineering. Ability to apply knowledge of statistics and optimization.
  • Ability to design, develop, select and evaluate applications and systems, ensuring reliability, safety and quality, according to ethical principles and the laws and regulations.
  • Knowledge and application of basic algorithmic procedures of information technology to design solutions to problems by analyzing the appropriateness and complexity of the proposed algorithms.
  • Knowledge, design and efficient use of data types and structures to solve a problem.
  • Ability to learn, understand and evaluate the structure and architecture of computers and the basic components that comprise them.

Competences and learning results:

Operating Systems course fits into the "Information Systems" subject. This is described on pages 5-66 to 5-72 of the verification report for the Bachelor Degree in Software Computing Engineering.

The skills conferred on that module to this course are:

  • CG-4: Analysis and Synthesis
  • CG-7: Skill in written expression
  • CG-9: Oral communication skills (direct or supported by media)
  • CG-11: Ability for team working
  • Bas.4: Basic knowledge on using and programming computers, operating systems, databases and software for engineering
  • Com.1: Ability to design, develop, select and evaluate applications and systems, ensuring reliability, safety and quality, according to ethical principles and the laws and regulations
  • Com.2: Ability to plan, design, deploy and manage projects, services and systems at all levels, leading its implementation and continuous improvement, and assessing their economic and social impact.
  • Com.10: Knowledge of the features, functionality and structure of operating systems for designing and implementing applications based on their services.
  • Com.14: Knowledge and application of fundamental principles and basic techniques for parallel, concurrent, distributed and real-time programming

 

The learning outcomes of the course are:

  • RA.SI-1. Identify the role of the operating system, distinguishing its relations with the hardware and user applications, and the various functions to be carried out, analyzing their inner design and being able to implement small scale fragments of this basic functionality.
  • RA.SI-3. Design and implement centralized and distributed applications using operating system services.
  • RA.SI-4. Analyze the implications of the use of threads in an application understanding the concerns for resource sharing and using the basic mechanisms of communication and synchronization to solve the possible problems that may arise such sharing.
  • RA.SI-5. Install, configure, and use a user-level computer system properly.
  • RA.SI-6. Understand the issues involved in managing system resources, being able to plan their operation and potential growth.
  • RA.SI-8. Designing secure computer systems and the applications they may include.
  • RA.SI-9. Work in teams for developing group assignments where it is necessary to develop technical documentation and display the results through an oral presentation.
  • RA.SI-10. Manage mind and conceptual maps and other tools of synthesis and abstraction.

With this course the student will acquire knowledge about the parts of an operating system, understanding their operation and how it is done the management of existing resources within the computer system and the importance therein.

The student will work and acquire skills and knowledge of operating systems at three different levels:

  1. User level, by which the student identifies, uses, and differentiates the high-level tools that accompany the operating system.
  2. Application programmer level, which provides students with a direct and global view of the functions that the OS offers through its system call interface.
  3. Designer level, through which the student discovers, develops and matches functions and mechanisms provided by the operating system.

As specific objectives:

  • Understand the need for efficient operating systems on a computer system.
  • Know the various parts that comprise an operating system, how they relate to each other and their environment (hardware and application software).
  • See how it is implemented in a real operating system the resource management.
  • Be able to implement some of the subsystems that make up an operating system.
  • Know the services offered by operating systems to different types of users: user applications, user programmer and system administrator.
  • Knowing both internally and from the user point of view, some of the operating systems used today.

Contents:

  1. Introduction
    1. Operating System Concept and Functions
    2. OS Booting and Activation
    3. Types of Operating Systems
    4. Components of the OS
    5. Interfaces provided by the OS
    6. Design of the Operating System
    7. Evolution of Operating Systems
  2. Process Management

    1. Process Management Basics
    2. Elements of a Process
    3. Process Lifecycle
    4. Threads (or Lightweight Processes)
    5. Process and Thread Scheduling
  3. Concurrency
    1. Review of Concurrent Programming Concepts
    2. OS role in concurrency Management
    3. Synchronization Mechanisms
    4. Communication Mechanisms
    5. Deadlock
  4. Memory Management
    1. Memory Management Basic Concepts
    2. Memory Allocation Schemes
    3. Physical Memory
    4. Virtual Memory
    5. Virtual Memory Management
  5. Input / Output Management
    1. Introduction to I/O Management
    2. Input/Output Hardware
    3. OS-Device Communication
    4. Input/Output Software
    5. Device Management Examples
  6. File Management
    1. The File Management System
    2. Files
    3. Directories
    4. The File System
    5. Backup and Recovery
  7. Security
    1. Basic Concepts about Computer Security
    2. Security and the Operating System
    3. User authentication
    4. Resource protection
    5. Malware

Methodology and work plan:

We will pose different types of activities to implement active learning and for developing the skills that have been marked on this course. We will use these techniques:

    • Conceptual maps for organizing and structuring knowledge about the OS structure and functioning.
    • Conducting multiple choice assessments through the virtual campus or other means.
    • Problem solving techniques in seminary classes and out-off-class work.
    • Individual development of supervised lab practice to acquire skill in managing the UNIX operating system at user level.
    • Development of a comprehensive design and implementation project, individually and in the laboratory, of a basic-functionality operating system. This system will comprise process, memory and files management. This project will be the realization of the theoretical framework developed in lectures and seminars and will evolve in coordination with them.
    • Development of works in group for improving writing skills, research and synthesis of information. Use of rubrics for technical documentation assessment and peer-to-peer assessment techniques.
    • Oral presentation of a work to acquire skill in oral communication, supported by media.

Exceptionally, if sanitary conditions so require, online teaching activities may be included. In such case, the student will be informed of the changes made.

The tables shown below summarize the contents that will be addressed, sorted by activity type, specifying the number of in-class and out-off-class hours.

 

 

IN-CLASS WORK

OFF-CLASS WORK

Topics

Total Hours

Lecture

In-class practice

Lab practice

Group tutor session

Assessment session

Total

In-group Work

Autonomous work

Total

1. Introduction

31,4

3

1

6

0,2

0,2

10,4

8

10

21

2. Process Management

31,8

4

1

10

0,6

0,4

15,8

 

16

16

3. Concurrency

21,5

2

0

0

0

0,25

3,5

 

8

18

4. Memory Management

25,8

4

2

6

0,6

0,4

11,8

 

16

14

5.I/O Management

17,6

3

1

4

0,3

0,3

8,6

 

12

9

6. File Management

19,7

4

1

2

0,2

0,35

7,7

 

16

12

7. Security

2,2

1

1

0

0,1

0,1

2,2

 

4

0

Total

150

21

7

28

2

2

60

8

82

90

 

Activity summary:

MODALITY

Hours

% (1)

% (2)

Total

In-class

Lectures

21

35,00

14,00

60

In-class practice

7

11,67

4,67

Lab practice

28

46,67

18,67

Group tutor session

2

3,33

1,33

Assessment session

2

3,33

1,33

Off-class

In-group work

8

8,89

5,33

90

Autonomous work

82

91,11

54,67

 

Total

150

 

 

(1) Percentage over in-class hours (or off-class hours, as appropriate).

(2) Percentage over course total hours.

 

Assessment of students learning:

Learning will be assessed through a process of continuous assessment based on:

  1. Theory exam mark (NTC): There will be two exams each one of them with questions of one half of the contents of the course, approximately. These exams can include multiple-choice questions, short answer questions and/or long answer questions,
  2. Individual theory works mark (NTIT): there will be a multiple-choice question set and exercises, to be solve both in-class and out of class. These must be done by the student in an individual way. The average mark of all of them will be NTIT. To be able to calculate this average it is mandatory to get a mark above 3,5 in the 85% of the tests/exercises.
  3. Theory teamwork mark (NTGT): There will be a team group about some subject to be determined and an oral presentation of it.
  4. Laboratory works mark (NPL): It will be assessed depending on the type of each practice. Some of them will be assessed through an exam; others through small projects individually developed and in addition to it, in some cases, the student the student will defend his project in an exam session in which some modifications may be proposed.

We will check all the projects using automatic plagiarism detection tools. For the rest of the assessment activities similar techniques could be used to detect any illegal behavior. The “Reglamento de evaluación de los resultados de aprendizaje y las competencias adquiridas por el alumnado” will be applied in such cases.              

To overcome this continuous assessment process the requirements are:

  1. Minimum attendance. In order to apply for the laboratory activities mark (NPL) an 80% of minimum attendance is required in laboratory practice sessions.
  2. Minimum marks: It is required to obtain at least 3.5 points (out of 10) in each of the two theory exams, and in all but one of the laboratory practices.

The preliminary score is a weighted sum, computed as follows:

Preliminary score = 0,3 * NCT + 0,1 * NTIT + 0,1 * NTGT + 0,6 * NPL

Provided the above requirements are met and if the student has taken part in assessment activities which weight in the final mark is >=50%, the final grade will be computed as:

Final score = Preliminary score

Otherwise, the student will get the mark of “Not taken”.

If the minimum marks requirement is not met, the final grade will be:

Final score = FAILED, with mark = min(Preliminary score, 4).

Otherwise, the final mark will be “Not sitted”.

Please, notice that there will not be a final assessment in the ordinary call.

July and January final assessment

The NTIT and NTGT will be kept until the Extraordinary Early (January) call of the next academic year. These marks cannot be obtained in any extraordinary call.

In the same way, if NCT or NPL are greater or equal than 4, these marks will be kept until the Extraordinary Early (January) call of the next academic year. In this case, the student must take the exam of the part that does not fulfill this condition, and he can take the exam of the part that fulfills the condition if he wishes to improve his mark (in this case, the student will lose its previous mark and it will be replace by the grade obtained in this exam).

Theory

A unique final exam will be held about the whole theory part of the course.

Laboratory practices

A unique final exam will be held. The student should deliver a unique project covering all the practical exercises developed during the course. Besides, the student will defend this project in an exam session in which some modifications may be proposed.

Calculating the final mark

The final mark will be calculated in the same way than in the ordinary call:

Preliminary score = 0.3 * NCT + 0.1 * NTIT + 0.1 * NTGT + 0.6 * NPL

Provided the minimum mark requirements are met, the final grade will be computed as:

Final score = Preliminary score

If the minimum marks requirement is not met, the final grade will be:

Final score = FAILED, with mark = min(Preliminary score, 4).

Differentiated assessment system

For part-time students enrolled on a differentiated assessment model, the assessment system will be the same, both in regular and extraordinary assessment periods, with the following modifications:

  • Minimum attendance requirements will not apply.
  • They will be required to take the on-site exam for each practice submission.
  • They will be required to sit the theory exams.
  • Teamwork will be performed by distance work with the other group members, and attendance will be required only for the defense.

The specific dates of mandatory attendance will be announced sufficiently in advance once the semester has started.

 

Exceptionally, if sanitary conditions so require, online evaluation methods may be included. In such case, the student will be informed of the changes made.

Resources, bibliography and documentation:

  • Arpaci-Dusseau, Remzi H. Arpaci-Dusseau and Arpaci-Dussea, Andrea C. (2015). Operating Systems: Three Easy Pieces. Available at http://pages.cs.wisc.edu/~remzi/OSTEP/
  • Andrew S. Tanenbaum. Modern Operating Systems 3rd Ed. Pearson Educación. 2009.
  • STALLINGS, William; (2005) Sistemas Operativos. 5ª edición. Pearson Educación. ISBN 84-205-4462-0.
  • STALLINGS, William; (2011) Operating Systems: Internals and Design Principles. 7ª edición. Prentice Hall. ISBN 978-0132309981.
  • CANDELA, Santiago, GARCÍA, Carmelo Rubén, QUESADA, Alexis, SANTANA, Francisco José, SANTOS, José Miguel; (2007) Fundamentos de Sistemas Operativos. Ed. Thomson. ISBN 978-84-9732-547-9.
  • CARRETERO, Jesús, GARCÍA, Félix, MIGUEL, Pedro de, PÉREZ, Fernando; (2007) Sistemas Operativos. Una visión aplicada. 2ª edición. McGraw Hill. ISBN: 978-84-481-5643-5.
  • SILBERSCHATZ, Abraham, GALVIN, Peter B., GAGNE, Greg; (2005) Fundamentos de Sistemas Operativos. 7ª edición. McGraw Hill. ISBN: 0-471-69466-5.
  • SILBERSCHATZ, Abraham, GALVIN, Peter B., GAGNE, Greg; (2010) Operating System Concepts. 8ª edición. John Wiley & Sons. ISBN: 978-0-470-23399-3.
  • NUTT, Gary; (2003) Operating Systems. 3ª edición. Addison Wesley. ISBN: 978-0201773446.
  • NUTT, Gary; (2004) Sistemas Operativos. 3ª edición. Prentice Hall. ISBN: 8478290672.
  • AFZAL, A (1997) Introducción a Unix. Un enfoque práctico. Prentice Hall. ISBN: 84-83220-01-6
  • ANDRÉS, J.L,  ARIAS, J.C. (1994). Libro de prácticas de Unix. Ed. Síntesis. ISBN: 978-8477382621 
  • TACKETT,J., GUNTER. D. (1996) Utilizando Linux 2ª Ed.  Ed. Prentice Hall.  ISBN: 84-89660-55-7